diff --git a/documentation/dev-manual/dev-manual-common-tasks.xml b/documentation/dev-manual/dev-manual-common-tasks.xml index f0836e8b1d..eaf840d4d1 100644 --- a/documentation/dev-manual/dev-manual-common-tasks.xml +++ b/documentation/dev-manual/dev-manual-common-tasks.xml @@ -9941,6 +9941,28 @@ Adding these statements to the configuration file ensures that the licenses collected during package generation are included on your image. + + Setting all three variables to "1" results in the + image having two copies of the same license file. + One copy resides in + /usr/share/common-licenses and + the other resides in + /usr/share/license. + + The reason for this behavior is because + COPY_LIC_DIRS + and + COPY_LIC_MANIFEST + add a copy of the license when the image is built but do not + offer a path for adding licenses for newly installed packages + to an image. + LICENSE_CREATE_PACKAGE + adds a separate package and an upgrade path for adding + licenses to an image. + + + + As the source archiver has already archived the original unmodified source that contains the license files, you would have already met the requirements for inclusion diff --git a/documentation/ref-manual/ref-variables.xml b/documentation/ref-manual/ref-variables.xml index 0b2c426b68..3d68dd6ac2 100644 --- a/documentation/ref-manual/ref-variables.xml +++ b/documentation/ref-manual/ref-variables.xml @@ -2354,7 +2354,20 @@ /usr/share/common-licenses, for each package. The license files are placed - in directories within the image itself. + in directories within the image itself during build time. + + The COPY_LIC_DIRS does not + offer a path for adding licenses for newly installed + packages to an image, which might be most suitable + for read-only filesystems that cannot be upgraded. + See the + LICENSE_CREATE_PACKAGE + variable for additional information. + You can also reference the + "Providing License Text" + section in the Yocto Project Development Manual for + information on providing license text. + @@ -2369,7 +2382,20 @@ If set to "1", the OpenEmbedded build system copies the license manifest for the image to /usr/share/common-licenses/license.manifest - within the image itself. + within the image itself during build time. + + The COPY_LIC_MANIFEST does not + offer a path for adding licenses for newly installed + packages to an image, which might be most suitable + for read-only filesystems that cannot be upgraded. + See the + LICENSE_CREATE_PACKAGE + variable for additional information. + You can also reference the + "Providing License Text" + section in the Yocto Project Development Manual for + information on providing license text. + @@ -7179,6 +7205,49 @@ recipes-graphics/xorg-font/font-alias_1.0.3.bb:PR = "${INC_PR}.3" + LICENSE_CREATE_PACKAGE + + LICENSE_CREATE_PACKAGE[doc] = "Creates an extra package (i.e. ${PN}-lic) for each recipe and adds that package to the RRECOMMENDS+${PN}." + + + + + Setting LICENSE_CREATE_PACKAGE + to "1" causes the OpenEmbedded build system to create + an extra package (i.e. + ${PN}-lic) + for each recipe and to add those packages to the + RRECOMMENDS_${PN}. + + + + The ${PN}-lic package installs a + directory in /usr/share/licenses + named ${PN}, which is the recipe's + base name, and installs files in that directory that + contain license and copyright information (i.e. copies of + the appropriate license files from + meta/common-licenses that match the + licenses specified in the + LICENSE + variable of the recipe metadata and copies of files marked + in + LIC_FILES_CHKSUM + as containing license text). + + + + For related information on providing license text, see the + COPY_LIC_DIRS + variable, the + COPY_LIC_MANIFEST + variable, and the + "Providing License Text" + section in the Yocto Project Development Manual. + + + + LICENSE_FLAGS LICENSE_FLAGS[doc] = "Specifies additional flags for a recipe you must whitelist through LICENSE_FLAGS_WHITELIST in order to allow the recipe to be built."