diff options
author | Paul Eggleton <paul.eggleton@linux.intel.com> | 2012-07-23 07:59:11 +0100 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2012-07-29 10:16:15 +0100 |
commit | 20ad566d609bccdadf871dab1bc31a0e243f8710 (patch) | |
tree | faea9496677371ab81ea2704183c01ce54d088df /meta/classes/rootfs_deb.bbclass | |
parent | 98b0f956e7d16c2791cc00dbb75187b886e4cbcd (diff) | |
download | poky-20ad566d609bccdadf871dab1bc31a0e243f8710.tar.gz |
buildhistory: improve performance of image info collection
Reduce the number of calls to the packaging tool, especially in the case
of rpm, using helper utilities to gather the required information more
efficiently where possible.
(From OE-Core rev: d0b8a98c5b46c305afd389fc862b3bf0c6f1eaab)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/classes/rootfs_deb.bbclass')
-rw-r--r-- | meta/classes/rootfs_deb.bbclass | 28 |
1 files changed, 13 insertions, 15 deletions
diff --git a/meta/classes/rootfs_deb.bbclass b/meta/classes/rootfs_deb.bbclass index a002b1ec02..750a8ca082 100644 --- a/meta/classes/rootfs_deb.bbclass +++ b/meta/classes/rootfs_deb.bbclass | |||
@@ -96,26 +96,24 @@ list_installed_packages() { | |||
96 | if [ "$1" = "arch" ] ; then | 96 | if [ "$1" = "arch" ] ; then |
97 | # Here we want the PACKAGE_ARCH not the deb architecture | 97 | # Here we want the PACKAGE_ARCH not the deb architecture |
98 | ${DPKG_QUERY_COMMAND} -W -f='${Package} ${PackageArch}\n' | 98 | ${DPKG_QUERY_COMMAND} -W -f='${Package} ${PackageArch}\n' |
99 | elif [ "$1" = "file" ] ; then | ||
100 | ${DPKG_QUERY_COMMAND} -W -f='${Package} ${Package}_${Version}_${Architecture}.deb\n' | while read pkg pkgfile | ||
101 | do | ||
102 | fullpath=`find ${DEPLOY_DIR_DEB} -name "$pkgfile" || true` | ||
103 | if [ "$fullpath" = "" ] ; then | ||
104 | echo "$pkg $pkgfile" | ||
105 | else | ||
106 | echo "$pkg $fullpath" | ||
107 | fi | ||
108 | done | ||
99 | else | 109 | else |
100 | ${DPKG_QUERY_COMMAND} -W -f='${Package}\n' | 110 | ${DPKG_QUERY_COMMAND} -W -f='${Package}\n' |
101 | fi | 111 | fi |
102 | } | 112 | } |
103 | 113 | ||
104 | get_package_filename() { | 114 | rootfs_list_installed_depends() { |
105 | fullname=`find ${DEPLOY_DIR_DEB} -name "$1_*.deb" || true` | 115 | # Cheat here a little bit by using the opkg query helper util |
106 | if [ "$fullname" = "" ] ; then | 116 | ${DPKG_QUERY_COMMAND} -W -f='Package: ${Package}\nDepends: ${Depends}\nRecommends: ${Recommends}\n\n' | opkg-query-helper.py |
107 | echo $name | ||
108 | else | ||
109 | echo $fullname | ||
110 | fi | ||
111 | } | ||
112 | |||
113 | list_package_depends() { | ||
114 | ${DPKG_QUERY_COMMAND} -s $1 | grep ^Depends | sed -e 's/^Depends: //' -e 's/,//g' -e 's:([=<>]* [^ )]*)::g' | ||
115 | } | ||
116 | |||
117 | list_package_recommends() { | ||
118 | ${DPKG_QUERY_COMMAND} -s $1 | grep ^Recommends | sed -e 's/^Recommends: //' -e 's/,//g' -e 's:([=<>]* [^ )]*)::g' | ||
119 | } | 117 | } |
120 | 118 | ||
121 | rootfs_install_packages() { | 119 | rootfs_install_packages() { |