summaryrefslogtreecommitdiffstats
path: root/meta/classes/buildhistory.bbclass
diff options
context:
space:
mode:
authorAndres Beltran <abeltran@linux.microsoft.com>2021-10-05 00:34:15 +0000
committerRichard Purdie <richard.purdie@linuxfoundation.org>2021-10-14 11:22:18 +0100
commitf3518bcdab10ea3bd193bbb1b8a57ad9f751db63 (patch)
tree51077bcafc2b84b469a4c8c906883fa4621e2111 /meta/classes/buildhistory.bbclass
parent433201369e3d8336335d052eea32fe64e811f6e6 (diff)
downloadpoky-f3518bcdab10ea3bd193bbb1b8a57ad9f751db63.tar.gz
buildhistory: Fix package output files for SDKs
Currently, installed packages are listed for images in image-info.txt, but not for SDKs in sdk-info.txt. Add TOOLCHAIN_HOST_TASK and TOOLCHAIN_TARGET_TASK to the output variables in sdk-info.txt. Moreover, package output files for the SDK host are empty because PKGDATA_DIR defaults to the target directory. Fix this bug and create a new variable called PKGDATA_DIR_SDK which stores the correct path for the SDK host package data. (From OE-Core rev: 82e6172c1df378dff4e503aa878501c08937b5bb) Signed-off-by: Andres Beltran <abeltran@linux.microsoft.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/classes/buildhistory.bbclass')
-rw-r--r--meta/classes/buildhistory.bbclass21
1 files changed, 16 insertions, 5 deletions
diff --git a/meta/classes/buildhistory.bbclass b/meta/classes/buildhistory.bbclass
index a613306270..7c44fec2d1 100644
--- a/meta/classes/buildhistory.bbclass
+++ b/meta/classes/buildhistory.bbclass
@@ -442,11 +442,16 @@ def buildhistory_list_installed(d, rootfs_type="image"):
442 else: 442 else:
443 pkgs = sdk_list_installed_packages(d, rootfs_type == "sdk_target") 443 pkgs = sdk_list_installed_packages(d, rootfs_type == "sdk_target")
444 444
445 if rootfs_type == "sdk_host":
446 pkgdata_dir = d.getVar('PKGDATA_DIR_SDK')
447 else:
448 pkgdata_dir = d.getVar('PKGDATA_DIR')
449
445 for output_type, output_file in process_list: 450 for output_type, output_file in process_list:
446 output_file_full = os.path.join(d.getVar('WORKDIR'), output_file) 451 output_file_full = os.path.join(d.getVar('WORKDIR'), output_file)
447 452
448 with open(output_file_full, 'w') as output: 453 with open(output_file_full, 'w') as output:
449 output.write(format_pkg_list(pkgs, output_type, d.getVar('PKGDATA_DIR'))) 454 output.write(format_pkg_list(pkgs, output_type, pkgdata_dir))
450 455
451python buildhistory_list_installed_image() { 456python buildhistory_list_installed_image() {
452 buildhistory_list_installed(d) 457 buildhistory_list_installed(d)
@@ -496,13 +501,19 @@ buildhistory_get_installed() {
496 echo "}" >> $1/depends.dot 501 echo "}" >> $1/depends.dot
497 rm $1/depends.tmp 502 rm $1/depends.tmp
498 503
504 # Set correct pkgdatadir
505 pkgdatadir=${PKGDATA_DIR}
506 if [ "$2" == "sdk" ] && [ "$3" == "host" ]; then
507 pkgdatadir="${PKGDATA_DIR_SDK}"
508 fi
509
499 # Produce installed package sizes list 510 # Produce installed package sizes list
500 oe-pkgdata-util -p ${PKGDATA_DIR} read-value "PKGSIZE" -n -f $pkgcache > $1/installed-package-sizes.tmp 511 oe-pkgdata-util -p $pkgdatadir read-value "PKGSIZE" -n -f $pkgcache > $1/installed-package-sizes.tmp
501 cat $1/installed-package-sizes.tmp | awk '{print $2 "\tKiB\t" $1}' | sort -n -r > $1/installed-package-sizes.txt 512 cat $1/installed-package-sizes.tmp | awk '{print $2 "\tKiB\t" $1}' | sort -n -r > $1/installed-package-sizes.txt
502 rm $1/installed-package-sizes.tmp 513 rm $1/installed-package-sizes.tmp
503 514
504 # Produce package info: runtime_name, buildtime_name, recipe, version, size 515 # Produce package info: runtime_name, buildtime_name, recipe, version, size
505 oe-pkgdata-util -p ${PKGDATA_DIR} read-value "PACKAGE,PN,PV,PKGSIZE" -n -f $pkgcache > $1/installed-package-info.tmp 516 oe-pkgdata-util -p $pkgdatadir read-value "PACKAGE,PN,PV,PKGSIZE" -n -f $pkgcache > $1/installed-package-info.tmp
506 cat $1/installed-package-info.tmp | sort -n -r -k 5 > $1/installed-package-info.txt 517 cat $1/installed-package-info.tmp | sort -n -r -k 5 > $1/installed-package-info.txt
507 rm $1/installed-package-info.tmp 518 rm $1/installed-package-info.tmp
508 519
@@ -542,7 +553,7 @@ buildhistory_get_sdk_installed() {
542 return 553 return
543 fi 554 fi
544 555
545 buildhistory_get_installed ${BUILDHISTORY_DIR_SDK}/$1 sdk 556 buildhistory_get_installed ${BUILDHISTORY_DIR_SDK}/$1 sdk $1
546} 557}
547 558
548buildhistory_get_sdk_installed_host() { 559buildhistory_get_sdk_installed_host() {
@@ -773,7 +784,7 @@ def buildhistory_get_imagevars(d):
773def buildhistory_get_sdkvars(d): 784def buildhistory_get_sdkvars(d):
774 if d.getVar('BB_WORKERCONTEXT') != '1': 785 if d.getVar('BB_WORKERCONTEXT') != '1':
775 return "" 786 return ""
776 sdkvars = "DISTRO DISTRO_VERSION SDK_NAME SDK_VERSION SDKMACHINE SDKIMAGE_FEATURES BAD_RECOMMENDATIONS NO_RECOMMENDATIONS PACKAGE_EXCLUDE" 787 sdkvars = "DISTRO DISTRO_VERSION SDK_NAME SDK_VERSION SDKMACHINE SDKIMAGE_FEATURES TOOLCHAIN_HOST_TASK TOOLCHAIN_TARGET_TASK BAD_RECOMMENDATIONS NO_RECOMMENDATIONS PACKAGE_EXCLUDE"
777 if d.getVar('BB_CURRENTTASK') == 'populate_sdk_ext': 788 if d.getVar('BB_CURRENTTASK') == 'populate_sdk_ext':
778 # Extensible SDK uses some additional variables 789 # Extensible SDK uses some additional variables
779 sdkvars += " SDK_LOCAL_CONF_WHITELIST SDK_LOCAL_CONF_BLACKLIST SDK_INHERIT_BLACKLIST SDK_UPDATE_URL SDK_EXT_TYPE SDK_RECRDEP_TASKS SDK_INCLUDE_PKGDATA SDK_INCLUDE_TOOLCHAIN" 790 sdkvars += " SDK_LOCAL_CONF_WHITELIST SDK_LOCAL_CONF_BLACKLIST SDK_INHERIT_BLACKLIST SDK_UPDATE_URL SDK_EXT_TYPE SDK_RECRDEP_TASKS SDK_INCLUDE_PKGDATA SDK_INCLUDE_TOOLCHAIN"