summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichael Opdenacker <michael.opdenacker@bootlin.com>2023-07-31 20:39:55 +0200
committerSteve Sakoman <steve@sakoman.com>2023-08-02 04:46:16 -1000
commitaa5a1adb6018b84edceec9414a1259c428e8e48e (patch)
tree2722875f9910759c584315479162990423afe4e8
parentdf86cc15d0a39d8d85747f7acc2c887cccfd9fa7 (diff)
downloadpoky-aa5a1adb6018b84edceec9414a1259c428e8e48e.tar.gz
ref-manual: document image-specific variant of INCOMPATIBLE_LICENSE
This has been around without being properly documented since 2019 (!!!), and is nowadays the preferred method for enforcing license restrictions. (From yocto-docs rev: 7a67426330decf108b8f152c3cb6cd6d167c98e4) Signed-off-by: Alexander Kanavin <alex@linutronix.de Signed-off-by: Michael Opdenacker <michael.opdenacker@bootlin.com> Signed-off-by: Steve Sakoman <steve@sakoman.com>
-rw-r--r--documentation/ref-manual/ref-images.rst17
-rw-r--r--documentation/ref-manual/ref-variables.rst11
2 files changed, 19 insertions, 9 deletions
diff --git a/documentation/ref-manual/ref-images.rst b/documentation/ref-manual/ref-images.rst
index 56ec8562f8..70feadf1ff 100644
--- a/documentation/ref-manual/ref-images.rst
+++ b/documentation/ref-manual/ref-images.rst
@@ -14,16 +14,17 @@ image you want.
14 Building an image without GNU General Public License Version 3 14 Building an image without GNU General Public License Version 3
15 (GPLv3), GNU Lesser General Public License Version 3 (LGPLv3), and 15 (GPLv3), GNU Lesser General Public License Version 3 (LGPLv3), and
16 the GNU Affero General Public License Version 3 (AGPL-3.0) components 16 the GNU Affero General Public License Version 3 (AGPL-3.0) components
17 is only supported for minimal and base images. Furthermore, if you 17 is only tested for core-image-minimal image. Furthermore, if you would like to
18 are going to build an image using non-GPLv3 and similarly licensed 18 build an image and verify that it does not include GPLv3 and similarly licensed
19 components, you must make the following changes in the ``local.conf`` 19 components, you must make the following changes in the image recipe
20 file before using the BitBake command to build the minimal or base 20 file before using the BitBake command to build the image:
21 image:
22 ::
23 21
24 1. Comment out the EXTRA_IMAGE_FEATURES line 22 INCOMPATIBLE_LICENSE = "GPL-3.0* LGPL-3.0*"
25 2. Set INCOMPATIBLE_LICENSE = "GPL-3.0 LGPL-3.0 AGPL-3.0"
26 23
24 Alternatively, you can adjust ``local.conf`` file, repeating and adjusting the line
25 for all images where the license restriction must apply:
26
27 INCOMPATIBLE_LICENSE_pn-your-image-name = "GPL-3.0* LGPL-3.0*"
27 28
28From within the ``poky`` Git repository, you can use the following 29From within the ``poky`` Git repository, you can use the following
29command to display the list of directories within the :term:`Source Directory` 30command to display the list of directories within the :term:`Source Directory`
diff --git a/documentation/ref-manual/ref-variables.rst b/documentation/ref-manual/ref-variables.rst
index f582bc72ea..227c81fc39 100644
--- a/documentation/ref-manual/ref-variables.rst
+++ b/documentation/ref-manual/ref-variables.rst
@@ -3337,9 +3337,18 @@ system and gives an overview of their function and contents.
3337 :term:`INCOMPATIBLE_LICENSE` 3337 :term:`INCOMPATIBLE_LICENSE`
3338 Specifies a space-separated list of license names (as they would 3338 Specifies a space-separated list of license names (as they would
3339 appear in :term:`LICENSE`) that should be excluded 3339 appear in :term:`LICENSE`) that should be excluded
3340 from the build. Recipes that provide no alternatives to listed 3340 from the build (if set globally), or from an image (if set locally
3341 in an image recipe).
3342
3343 When the variable is set globally, recipes that provide no alternatives to listed
3341 incompatible licenses are not built. Packages that are individually 3344 incompatible licenses are not built. Packages that are individually
3342 licensed with the specified incompatible licenses will be deleted. 3345 licensed with the specified incompatible licenses will be deleted.
3346 Most of the time this does not allow a feasible build (because it becomes impossible
3347 to satisfy build time dependencies), so the recommended way to
3348 implement license restrictions is to set the variable in specific
3349 image recipes where the restrictions must apply. That way there
3350 are no build time restrictions, but the license check is still
3351 performed when the image's filesystem is assembled from packages.
3343 3352
3344 .. note:: 3353 .. note::
3345 3354