From: michael.opdenacker@bootlin.com
To: docs@lists.yoctoproject.org
Cc: Michael Opdenacker <michael.opdenacker@bootlin.com>
Subject: [PATCH] [dunfell] ref-manual: document image-specific variant of INCOMPATIBLE_LICENSE
Date: Mon, 31 Jul 2023 20:41:35 +0200 [thread overview]
Message-ID: <20230731184135.56206-1-michael.opdenacker@bootlin.com> (raw)
From: Michael Opdenacker <michael.opdenacker@bootlin.com>
This has been around without being properly documented since 2019 (!!!),
and is nowadays the preferred method for enforcing license restrictions.
Signed-off-by: Alexander Kanavin <alex@linutronix.de
Signed-off-by: Michael Opdenacker <michael.opdenacker@bootlin.com>
---
documentation/ref-manual/ref-images.rst | 17 +++++++++--------
documentation/ref-manual/ref-variables.rst | 11 ++++++++++-
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.
Building an image without GNU General Public License Version 3
(GPLv3), GNU Lesser General Public License Version 3 (LGPLv3), and
the GNU Affero General Public License Version 3 (AGPL-3.0) components
- is only supported for minimal and base images. Furthermore, if you
- are going to build an image using non-GPLv3 and similarly licensed
- components, you must make the following changes in the ``local.conf``
- file before using the BitBake command to build the minimal or base
- image:
- ::
+ is only tested for core-image-minimal image. Furthermore, if you would like to
+ build an image and verify that it does not include GPLv3 and similarly licensed
+ components, you must make the following changes in the image recipe
+ file before using the BitBake command to build the image:
- 1. Comment out the EXTRA_IMAGE_FEATURES line
- 2. Set INCOMPATIBLE_LICENSE = "GPL-3.0 LGPL-3.0 AGPL-3.0"
+ INCOMPATIBLE_LICENSE = "GPL-3.0* LGPL-3.0*"
+ Alternatively, you can adjust ``local.conf`` file, repeating and adjusting the line
+ for all images where the license restriction must apply:
+
+ INCOMPATIBLE_LICENSE_pn-your-image-name = "GPL-3.0* LGPL-3.0*"
From within the ``poky`` Git repository, you can use the following
command 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.
:term:`INCOMPATIBLE_LICENSE`
Specifies a space-separated list of license names (as they would
appear in :term:`LICENSE`) that should be excluded
- from the build. Recipes that provide no alternatives to listed
+ from the build (if set globally), or from an image (if set locally
+ in an image recipe).
+
+ When the variable is set globally, recipes that provide no alternatives to listed
incompatible licenses are not built. Packages that are individually
licensed with the specified incompatible licenses will be deleted.
+ Most of the time this does not allow a feasible build (because it becomes impossible
+ to satisfy build time dependencies), so the recommended way to
+ implement license restrictions is to set the variable in specific
+ image recipes where the restrictions must apply. That way there
+ are no build time restrictions, but the license check is still
+ performed when the image's filesystem is assembled from packages.
.. note::
--
2.34.1
reply other threads:[~2023-07-31 18:41 UTC|newest]
Thread overview: [no followups] expand[flat|nested] mbox.gz Atom feed
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20230731184135.56206-1-michael.opdenacker@bootlin.com \
--to=michael.opdenacker@bootlin.com \
--cc=docs@lists.yoctoproject.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox