]> code.ossystems Code Review - openembedded-core.git/commitdiff
licence_image: Add lic-pkgs IMAGE_FEATURE
authorMike Crowe <mac@mcrowe.com>
Mon, 12 Jul 2021 15:35:58 +0000 (16:35 +0100)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Tue, 13 Jul 2021 13:24:48 +0000 (14:24 +0100)
Installing license packages is similar to installing -dev or -dbg
packages, so let's invent a "lic-pkgs" IMAGE_FEATURE that does so and
document it in core-image.bbclass.

This image feature only works if LICENSE_CREATE_PACKAGE is set, so
refuse to generate an image if the lic-pkgs feature is enabled without
LICENSE_CREATE_PACKAGE.

Signed-off-by: Mike Crowe <mac@mcrowe.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
meta/classes/core-image.bbclass
meta/classes/license_image.bbclass

index d81f68bd2e83017e38f3e52cc4d0790e061ee6e5..84fd3eeb3842b1f36c7204f5d05fa8cc85035ac2 100644 (file)
@@ -31,6 +31,8 @@
 #   - post-install-logging
 # - dev-pkgs            - development packages (headers, etc.) for all installed packages in the rootfs
 # - dbg-pkgs            - debug symbol packages for all installed packages in the rootfs
+# - lic-pkgs            - license packages for all installed pacakges in the rootfs, requires
+#                         LICENSE_CREATE_PACKAGE="1" to be set when building packages too
 # - doc-pkgs            - documentation packages for all installed packages in the rootfs
 # - bash-completion-pkgs - bash-completion packages for recipes using bash-completion bbclass
 # - ptest-pkgs          - ptest packages for all ptest-enabled recipes
index 73cebb4d55e4f27e603b023da906733a8673ef76..5dbec288a43b4f9c163901150a8ce9278d69f281 100644 (file)
@@ -1,5 +1,15 @@
 ROOTFS_LICENSE_DIR = "${IMAGE_ROOTFS}/usr/share/common-licenses"
 
+# This requires LICENSE_CREATE_PACKAGE=1 to work too
+COMPLEMENTARY_GLOB[lic-pkgs] = "*-lic"
+
+python() {
+    if not oe.data.typed_value('LICENSE_CREATE_PACKAGE', d):
+        features = set(oe.data.typed_value('IMAGE_FEATURES', d))
+        if 'lic-pkgs' in features:
+            bb.error("'lic-pkgs' in IMAGE_FEATURES but LICENSE_CREATE_PACKAGE not enabled to generate -lic packages")
+}
+
 python write_package_manifest() {
     # Get list of installed packages
     license_image_dir = d.expand('${LICENSE_DIRECTORY}/${IMAGE_NAME}')