diff options
author | Vyacheslav Yurkov <Vyacheslav.Yurkov@bruker.com> | 2020-11-17 15:41:20 +0100 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2020-12-09 23:49:01 +0000 |
commit | f7971e8af6810ac4b80a764feb48b353208d3822 (patch) | |
tree | d00f2c1a66fc8c38ec537e63166a643662d765a8 /meta/classes | |
parent | 6f5623d5e979221c1714c5c2f138cd7ca7af283a (diff) | |
download | poky-f7971e8af6810ac4b80a764feb48b353208d3822.tar.gz |
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.
(From OE-Core rev: d31fd6a2fc2334a20d4fd1bcfe5964c462d1bb98)
Signed-off-by: Vyacheslav Yurkov <Vyacheslav.Yurkov@bruker.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 670fe71dd18ea675f35581db4a61fda137f8bf00)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/classes')
-rw-r--r-- | meta/classes/license_image.bbclass | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/meta/classes/license_image.bbclass b/meta/classes/license_image.bbclass index a8c72da3cb..acd8126f68 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): | |||
125 | 125 | ||
126 | licenses = os.listdir(pkg_license_dir) | 126 | licenses = os.listdir(pkg_license_dir) |
127 | for lic in licenses: | 127 | for lic in licenses: |
128 | rootfs_license = os.path.join(rootfs_license_dir, lic) | ||
129 | pkg_license = os.path.join(pkg_license_dir, lic) | 128 | pkg_license = os.path.join(pkg_license_dir, lic) |
130 | pkg_rootfs_license = os.path.join(pkg_rootfs_license_dir, lic) | 129 | pkg_rootfs_license = os.path.join(pkg_rootfs_license_dir, lic) |
131 | 130 | ||
@@ -144,6 +143,8 @@ def write_license_files(d, license_manifest, pkg_dic, rootfs=True): | |||
144 | bad_licenses) == False: | 143 | bad_licenses) == False: |
145 | continue | 144 | continue |
146 | 145 | ||
146 | # Make sure we use only canonical name for the license file | ||
147 | rootfs_license = os.path.join(rootfs_license_dir, "generic_%s" % generic_lic) | ||
147 | if not os.path.exists(rootfs_license): | 148 | if not os.path.exists(rootfs_license): |
148 | oe.path.copyhardlink(pkg_license, rootfs_license) | 149 | oe.path.copyhardlink(pkg_license, rootfs_license) |
149 | 150 | ||