From 670fe71dd18ea675f35581db4a61fda137f8bf00 Mon Sep 17 00:00:00 2001 From: Vyacheslav Yurkov Date: Tue, 17 Nov 2020 15:41:20 +0100 Subject: license_image.bbclass: use canonical name for license files When copying license files to the image rootfs, i.e to /usr/share/common-licenses, a canonical name of a license should be used, otherwise duplicated files end up in common-licenses directory. For example, GPL-2.0 license according to conf/license.conf can be referenced in recipes as GPL-2, GPLv2, and GPLv2.0. If a license name is used directly, we end up with three files in the rootfs with the same content. If a canonical name used instead, then each license gets copied only once. Signed-off-by: Vyacheslav Yurkov Signed-off-by: Richard Purdie --- meta/classes/license_image.bbclass | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/meta/classes/license_image.bbclass b/meta/classes/license_image.bbclass index 702e9f9c55..119c8dfc86 100644 --- a/meta/classes/license_image.bbclass +++ b/meta/classes/license_image.bbclass @@ -125,7 +125,6 @@ def write_license_files(d, license_manifest, pkg_dic, rootfs=True): licenses = os.listdir(pkg_license_dir) for lic in licenses: - rootfs_license = os.path.join(rootfs_license_dir, lic) pkg_license = os.path.join(pkg_license_dir, lic) pkg_rootfs_license = os.path.join(pkg_rootfs_license_dir, lic) @@ -144,6 +143,8 @@ def write_license_files(d, license_manifest, pkg_dic, rootfs=True): bad_licenses) == False: continue + # Make sure we use only canonical name for the license file + rootfs_license = os.path.join(rootfs_license_dir, "generic_%s" % generic_lic) if not os.path.exists(rootfs_license): oe.path.copyhardlink(pkg_license, rootfs_license) -- cgit 1.2.3-korg