[OE-core] [RFC] Delete populate-lic task for native packages

Konrad Scherer konrad.scherer at windriver.com
Fri Feb 21 15:41:35 UTC 2014


From: Konrad Scherer <Konrad.Scherer at windriver.com>

Hello,

I am working on distributing native sstate files to our customers and
have ran into a few issues. Here is my workflow

    cd <buildarea>
    mkdir downloads
    git clone git://git.yoctoproject.org/poky
    source poky/oe-init-build-env mybuild
    echo 'DL_DIR ?= "<buildarea>/downloads"' >> conf/local.conf
    bitbake -c fetchall core-image-minimal
    bitbake core-image-minimal

    cd <buildarea>
    source poky/oe-init-build-env mybuild2
    cp <buildarea>/mybuild/conf/local.conf conf/local.conf
    mkdir sstate-cache
    cp -r <buildarea>/mybuild/sstate-cache/Ubuntu-12.04 sstate-cache
    bitbake core-image-minimal
    
The populate-sysroot sstate packages are used but the fetch, unpack,
patch and populate-lic tasks are still run for all the native
packages. I would like to avoid this unnecessary work. Since oe-core
commit 3d59d0bed756f64d0092caa3892239c779c4a341 the populate-lic task
is arch invariant and the sstate files for populate-lic are no longer
stored with the native populate-sysroot sstate files. This makes
distribution a little more complicated.

I also noticed that after a full build the sstate-cache contains 2
populate-lic sstate files; one for the native package and the other
for the package with only the checksum different. Since a full build
will contain the license tarball for all the packages, it is necessary
to have both?

To me the solution is to remove the populate-lic task from all native
packages and the attached patch does that. But I understand that any
change involving licensing must be considered carefully. If that is
not possible, then distributing the native sstate will also require
distributing the populate-lic sstate files. Does anyone have a better
solution?

Thanks

-- 
Konrad Scherer, MTS, Linux Products Group, Wind River


More information about the Openembedded-core mailing list