summaryrefslogtreecommitdiffstats
path: root/meta/classes/package_deb.bbclass
diff options
context:
space:
mode:
authorPaul Eggleton <paul.eggleton@linux.intel.com>2013-03-22 19:53:52 +0000
committerRichard Purdie <richard.purdie@linuxfoundation.org>2013-03-23 11:41:13 +0000
commit59e48153877269d5eea393ad2f6d1827f74720ac (patch)
tree1fc56600125082af451cf86c0c1347804bad36e7 /meta/classes/package_deb.bbclass
parent9e366e153234114ab3c51e4bb8e3452593f64070 (diff)
downloadpoky-59e48153877269d5eea393ad2f6d1827f74720ac.tar.gz
classes/buildhistory: implement history collection for SDKs
SDKs are constructed in a similar manner to images, and the contents can be influenced by a number of different factors, thus tracking the contents of produced SDKs when buildhistory is enabled can help detect the same kinds of issues as with images. This required adding POPULATE_SDK_POST_HOST_COMMAND and SDK_POSTPROCESS_COMMAND variables so that data collection functions can be injected at the appropriate points in the SDK construction process, as well as moving the list_installed_packages and rootfs_list_installed_depends functions from the rootfs_{rpm,ipk,deb} to the package_{rpm,ipk,deb} classes so they can also be called during do_populate_sdk as well as do_rootfs. Implements [YOCTO #3964]. (From OE-Core rev: c3736064483d4840e38cb1b8c13d2dd3a26b36aa) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/classes/package_deb.bbclass')
-rw-r--r--meta/classes/package_deb.bbclass28
1 files changed, 28 insertions, 0 deletions
diff --git a/meta/classes/package_deb.bbclass b/meta/classes/package_deb.bbclass
index 455919913b..a937b85a61 100644
--- a/meta/classes/package_deb.bbclass
+++ b/meta/classes/package_deb.bbclass
@@ -423,3 +423,31 @@ addtask package_write_deb before do_package_write after do_packagedata do_packag
423PACKAGEINDEXES += "[ ! -e ${DEPLOY_DIR_DEB} ] || package_update_index_deb;" 423PACKAGEINDEXES += "[ ! -e ${DEPLOY_DIR_DEB} ] || package_update_index_deb;"
424PACKAGEINDEXDEPS += "dpkg-native:do_populate_sysroot" 424PACKAGEINDEXDEPS += "dpkg-native:do_populate_sysroot"
425PACKAGEINDEXDEPS += "apt-native:do_populate_sysroot" 425PACKAGEINDEXDEPS += "apt-native:do_populate_sysroot"
426
427
428# This will of course only work after rootfs_deb_do_rootfs or populate_sdk_deb has been called
429DPKG_QUERY_COMMAND = "${STAGING_BINDIR_NATIVE}/dpkg-query --admindir=$INSTALL_ROOTFS_DEB/var/lib/dpkg"
430
431list_installed_packages() {
432 if [ "$1" = "arch" ] ; then
433 # Here we want the PACKAGE_ARCH not the deb architecture
434 ${DPKG_QUERY_COMMAND} -W -f='${Package} ${PackageArch}\n'
435 elif [ "$1" = "file" ] ; then
436 ${DPKG_QUERY_COMMAND} -W -f='${Package} ${Package}_${Version}_${Architecture}.deb\n' | while read pkg pkgfile
437 do
438 fullpath=`find ${DEPLOY_DIR_DEB} -name "$pkgfile" || true`
439 if [ "$fullpath" = "" ] ; then
440 echo "$pkg $pkgfile"
441 else
442 echo "$pkg $fullpath"
443 fi
444 done
445 else
446 ${DPKG_QUERY_COMMAND} -W -f='${Package}\n'
447 fi
448}
449
450rootfs_list_installed_depends() {
451 # Cheat here a little bit by using the opkg query helper util
452 ${DPKG_QUERY_COMMAND} -W -f='Package: ${Package}\nDepends: ${Depends}\nRecommends: ${Recommends}\n\n' | opkg-query-helper.py
453}