From patchwork Fri Dec 9 17:34:42 2011 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: [1/1] classes/rootfs_deb: implement query functions for buildhistory Date: Fri, 09 Dec 2011 17:34:42 -0000 From: Paul Eggleton X-Patchwork-Id: 16577 Message-Id: <2d2d1743ef68945a58a377e5787b955b3e0e1a84.1323451977.git.paul.eggleton@linux.intel.com> To: openembedded-core@lists.openembedded.org Implement the functions required for buildhistory to be able to query installed packages, get dependencies etc. for deb-based images. Signed-off-by: Paul Eggleton --- meta/classes/rootfs_deb.bbclass | 23 +++++++++++++++++++++++ 1 files changed, 23 insertions(+), 0 deletions(-) diff --git a/meta/classes/rootfs_deb.bbclass b/meta/classes/rootfs_deb.bbclass index bab8e1e..bef055c 100644 --- a/meta/classes/rootfs_deb.bbclass +++ b/meta/classes/rootfs_deb.bbclass @@ -81,3 +81,26 @@ remove_packaging_data_files() { rm -rf ${IMAGE_ROOTFS}${opkglibdir} rm -rf ${IMAGE_ROOTFS}/usr/dpkg/ } + +DPKG_QUERY_COMMAND = "${STAGING_BINDIR_NATIVE}/dpkg --admindir=${IMAGE_ROOTFS}/var/lib/dpkg" + +list_installed_packages() { + ${DPKG_QUERY_COMMAND} -l | grep ^ii | awk '{ print $2 }' +} + +get_package_filename() { + fullname=`find ${DEPLOY_DIR_DEB} -name "$1_*.deb" || true` + if [ "$fullname" = "" ] ; then + echo $name + else + echo $fullname + fi +} + +list_package_depends() { + ${DPKG_QUERY_COMMAND} -s $1 | grep ^Depends | sed -e 's/^Depends: //' -e 's/,//g' -e 's:([=<>]* [0-9a-zA-Z.~\-]*)::g' +} + +list_package_recommends() { + ${DPKG_QUERY_COMMAND} -s $1 | grep ^Recommends | sed -e 's/^Recommends: //' -e 's/,//g' -e 's:([=<>]* [0-9a-zA-Z.~\-]*)::g' +}