diff options
author | Paul Eggleton <paul.eggleton@linux.intel.com> | 2011-12-22 16:55:57 +0000 |
---|---|---|
committer | Saul Wold <sgw@linux.intel.com> | 2012-01-02 20:26:05 -0800 |
commit | b6787f5d6e181d8c39cce7b050e261d1a1d1b075 (patch) | |
tree | 1953705bf7956989938d9d855864b0961ca0c855 /meta/classes | |
parent | c8c9a17ae2603ccb34641d4188850a18e6ce6096 (diff) | |
download | openembedded-core-b6787f5d6e181d8c39cce7b050e261d1a1d1b075.tar.gz openembedded-core-b6787f5d6e181d8c39cce7b050e261d1a1d1b075.tar.bz2 openembedded-core-b6787f5d6e181d8c39cce7b050e261d1a1d1b075.tar.xz openembedded-core-b6787f5d6e181d8c39cce7b050e261d1a1d1b075.zip |
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.
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Diffstat (limited to 'meta/classes')
-rw-r--r-- | meta/classes/rootfs_rpm.bbclass | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/meta/classes/rootfs_rpm.bbclass b/meta/classes/rootfs_rpm.bbclass index 5fd45d758..966b07418 100644 --- a/meta/classes/rootfs_rpm.bbclass +++ b/meta/classes/rootfs_rpm.bbclass @@ -174,7 +174,9 @@ get_package_filename() { list_package_depends() { pkglist=`list_installed_packages` - for req in `${RPM_QUERY_CMD} -q --qf "[%{REQUIRES}\n]" $1`; do + # REQUIRE* lists "soft" requirements (which we know as recommends and RPM refers to + # as "suggests") so filter these out with the help of awk + for req in `${RPM_QUERY_CMD} -q --qf "[%{REQUIRENAME} %{REQUIREFLAGS}\n]" $1 | awk '{ if( and($2, 0x80000) == 0) print $1 }'`; do if echo "$req" | grep -q "^rpmlib" ; then continue ; fi realpkg="" @@ -193,7 +195,7 @@ list_package_depends() { } list_package_recommends() { - : + ${RPM_QUERY_CMD} -q --suggests $1 } install_all_locales() { |