From c3736064483d4840e38cb1b8c13d2dd3a26b36aa Mon Sep 17 00:00:00 2001 From: Paul Eggleton Date: Fri, 22 Mar 2013 19:53:52 +0000 Subject: 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]. Signed-off-by: Paul Eggleton Signed-off-by: Richard Purdie --- meta/classes/package_rpm.bbclass | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) (limited to 'meta/classes/package_rpm.bbclass') diff --git a/meta/classes/package_rpm.bbclass b/meta/classes/package_rpm.bbclass index 12b4bfa536..7d67b9685c 100644 --- a/meta/classes/package_rpm.bbclass +++ b/meta/classes/package_rpm.bbclass @@ -1155,3 +1155,20 @@ addtask package_write_rpm before do_package_write after do_packagedata do_packag PACKAGEINDEXES += "[ ! -e ${DEPLOY_DIR_RPM} ] || package_update_index_rpm;" PACKAGEINDEXDEPS += "rpm-native:do_populate_sysroot" PACKAGEINDEXDEPS += "createrepo-native:do_populate_sysroot" + + +RPM_QUERY_CMD = '${RPM} --root $INSTALL_ROOTFS_RPM -D "_dbpath ${rpmlibdir}"' + +list_installed_packages() { + if [ "$1" = "arch" ]; then + ${RPM_QUERY_CMD} -qa --qf "[%{NAME} %{ARCH}\n]" | translate_smart_to_oe arch + elif [ "$1" = "file" ]; then + ${RPM_QUERY_CMD} -qa --qf "[%{NAME} %{ARCH} %{PACKAGEORIGIN}\n]" | translate_smart_to_oe + else + ${RPM_QUERY_CMD} -qa --qf "[%{NAME} %{ARCH}\n]" | translate_smart_to_oe + fi +} + +rootfs_list_installed_depends() { + rpmresolve -t $INSTALL_ROOTFS_RPM/${rpmlibdir} +} -- cgit v1.2.3