[yocto] COPY_LIC_DIRS, COPY_LIC_MANIFEST and firmware upgrades

Bryan Evenson bevenson at melinkcorp.com
Mon Nov 2 09:13:48 PST 2015


All,

I'm on poky/dizzy-1.7.2 and I've been using COPY_LIC_DIRS and COPY_LIC_MANIFEST to include the license text on my image.  I noticed something about the way it operates and I'm wondering if it's a problem when it comes to Free and Open Source Software compliance.

If I build an image with COPY_LIC_MANIFEST and COPY_LIC_DIRS both set to 1, then the image is generated with the directory /usr/share/common-licenses that include all the licenses for all the packages in the image.  There is also /usr/share/common-licenses/license.manifest which summarizes all the licenses in the directory.  Let's call this starting point image version A.

Later on in development I add package "foo-extra" to the image.  I add "foo-extra" to the RDEPENDS list for package "foo" which now needs the new package for proper operation.  The built image now includes in /usr/share/common-licenses/foo-extra the license for the new package.  We'll call this image version B.

If I ship a product that was burned with image verison A then it has all the licenses for all the packages that were installed in the image.  Likewise, if I ship a product that was burned with image version B then it has all the licenses for all the packages that were installed in the image.  However, if a product ships with image version A and then is upgraded to image version B then package "foo-extra" is installed due to dependencies but the license for "foo-extra" is not included in the upgrade.  The /usr/share/common-licenses directory is not tied to any package, so firmware upgrade does not add, modify or remove any of the licenses in /usr/share/common-licenses.

Is this a problem when it comes to FOSS compliance?  If so, is there a suggested way of including the new licenses for firmware upgrades?

Thanks,
Bryan



More information about the yocto mailing list