COPY_LIC_DIRS, COPY_LIC_MANIFEST and firmware upgrades


Bryan Evenson
 

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

Join {yocto@lists.yoctoproject.org to automatically receive all group messages.