diff options
| -rw-r--r-- | meta/classes/license.bbclass | 23 |
1 files changed, 10 insertions, 13 deletions
diff --git a/meta/classes/license.bbclass b/meta/classes/license.bbclass index 54ab123840..7972c79af5 100644 --- a/meta/classes/license.bbclass +++ b/meta/classes/license.bbclass | |||
| @@ -28,6 +28,7 @@ python write_package_manifest() { | |||
| 28 | python license_create_manifest() { | 28 | python license_create_manifest() { |
| 29 | import re | 29 | import re |
| 30 | import oe.packagedata | 30 | import oe.packagedata |
| 31 | from oe.rootfs import image_list_installed_packages | ||
| 31 | 32 | ||
| 32 | bad_licenses = (d.getVar("INCOMPATIBLE_LICENSE", True) or "").split() | 33 | bad_licenses = (d.getVar("INCOMPATIBLE_LICENSE", True) or "").split() |
| 33 | bad_licenses = map(lambda l: canonical_license(d, l), bad_licenses) | 34 | bad_licenses = map(lambda l: canonical_license(d, l), bad_licenses) |
| @@ -38,19 +39,15 @@ python license_create_manifest() { | |||
| 38 | return 0 | 39 | return 0 |
| 39 | 40 | ||
| 40 | pkg_dic = {} | 41 | pkg_dic = {} |
| 41 | package_manifest = os.path.join(d.getVar('LICENSE_DIRECTORY', True), | 42 | for pkg in image_list_installed_packages(d).split("\n"): |
| 42 | d.getVar('IMAGE_NAME', True), 'package.manifest') | 43 | pkg_info = os.path.join(d.getVar('PKGDATA_DIR', True), |
| 43 | with open(package_manifest, "r") as package_file: | 44 | 'runtime-reverse', pkg) |
| 44 | pkg_list = package_file.read().split() | 45 | pkg_name = os.path.basename(os.readlink(pkg_info)) |
| 45 | for pkg in pkg_list: | 46 | |
| 46 | pkg_info = os.path.join(d.getVar('PKGDATA_DIR', True), | 47 | pkg_dic[pkg_name] = oe.packagedata.read_pkgdatafile(pkg_info) |
| 47 | 'runtime-reverse', pkg) | 48 | if not "LICENSE" in pkg_dic[pkg_name].keys(): |
| 48 | pkg_name = os.path.basename(os.readlink(pkg_info)) | 49 | pkg_lic_name = "LICENSE_" + pkg_name |
| 49 | 50 | pkg_dic[pkg_name]["LICENSE"] = pkg_dic[pkg_name][pkg_lic_name] | |
| 50 | pkg_dic[pkg_name] = oe.packagedata.read_pkgdatafile(pkg_info) | ||
| 51 | if not "LICENSE" in pkg_dic[pkg_name].keys(): | ||
| 52 | pkg_lic_name = "LICENSE_" + pkg_name | ||
| 53 | pkg_dic[pkg_name]["LICENSE"] = pkg_dic[pkg_name][pkg_lic_name] | ||
| 54 | 51 | ||
| 55 | license_manifest = os.path.join(d.getVar('LICENSE_DIRECTORY', True), | 52 | license_manifest = os.path.join(d.getVar('LICENSE_DIRECTORY', True), |
| 56 | d.getVar('IMAGE_NAME', True), 'license.manifest') | 53 | d.getVar('IMAGE_NAME', True), 'license.manifest') |
