summaryrefslogtreecommitdiffstats
path: root/meta/classes/rootfs_rpm.bbclass
diff options
context:
space:
mode:
authorPaul Eggleton <paul.eggleton@linux.intel.com>2011-12-22 16:55:57 +0000
committerRichard Purdie <richard.purdie@linuxfoundation.org>2012-01-03 12:12:36 +0000
commit77d845c50ba906011bcc52020c85c34b81bd063a (patch)
treede838fb54dbca1c30d0e925990e818ce1581a2bd /meta/classes/rootfs_rpm.bbclass
parent663c893b084333ea9703079a9b056d74ffa5e2a3 (diff)
downloadpoky-77d845c50ba906011bcc52020c85c34b81bd063a.tar.gz
classes/rootfs_rpm: handle recommends in query functions
Implement list_package_recommends() for rpm, and filter out the "suggests" (RPM's equivalent of recommends) in list_package_depends(). Respectively, these changes fix buildhistory handling of recommends for RPM (so that they are included in the image graphs) and also prevents failures during do_rootfs with buildhistory enabled if a recommend is unsatisfied. (From OE-Core rev: b6787f5d6e181d8c39cce7b050e261d1a1d1b075) 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_rpm.bbclass')
-rw-r--r--meta/classes/rootfs_rpm.bbclass6
1 files changed, 4 insertions, 2 deletions
diff --git a/meta/classes/rootfs_rpm.bbclass b/meta/classes/rootfs_rpm.bbclass
index 5fd45d758c..966b074181 100644
--- a/meta/classes/rootfs_rpm.bbclass
+++ b/meta/classes/rootfs_rpm.bbclass
@@ -174,7 +174,9 @@ get_package_filename() {
174list_package_depends() { 174list_package_depends() {
175 pkglist=`list_installed_packages` 175 pkglist=`list_installed_packages`
176 176
177 for req in `${RPM_QUERY_CMD} -q --qf "[%{REQUIRES}\n]" $1`; do 177 # REQUIRE* lists "soft" requirements (which we know as recommends and RPM refers to
178 # as "suggests") so filter these out with the help of awk
179 for req in `${RPM_QUERY_CMD} -q --qf "[%{REQUIRENAME} %{REQUIREFLAGS}\n]" $1 | awk '{ if( and($2, 0x80000) == 0) print $1 }'`; do
178 if echo "$req" | grep -q "^rpmlib" ; then continue ; fi 180 if echo "$req" | grep -q "^rpmlib" ; then continue ; fi
179 181
180 realpkg="" 182 realpkg=""
@@ -193,7 +195,7 @@ list_package_depends() {
193} 195}
194 196
195list_package_recommends() { 197list_package_recommends() {
196 : 198 ${RPM_QUERY_CMD} -q --suggests $1
197} 199}
198 200
199install_all_locales() { 201install_all_locales() {