[oe-commits] Saul Wold : rootfs_rpm: Add Multilib prefix to installed_packages list
git at git.openembedded.org
git at git.openembedded.org
Wed Sep 19 17:23:47 UTC 2012
Module: openembedded-core.git
Branch: master
Commit: f72abd80b0cc9d27aad2e31ecb548b4ab0fd8f67
URL: http://git.openembedded.org/?p=openembedded-core.git&a=commit;h=f72abd80b0cc9d27aad2e31ecb548b4ab0fd8f67
Author: Saul Wold <sgw at linux.intel.com>
Date: Wed Sep 19 09:47:06 2012 -0700
rootfs_rpm: Add Multilib prefix to installed_packages list
RPM does not name it's packages with the Multilib prefix,
but the rootfs_rpm class keeps track of the Multilib prefixs
in a list. Use that list to re-attach the prefix for use with
the license bbclass, buildhistory bbclass will also use this
and make it more accurate between multilib and non-multilib.
Use the embedded "Platform" information to ensure we get all
the correct matching.
Signed-off-by: Saul Wold <sgw at linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie at linuxfoundation.org>
---
meta/classes/rootfs_rpm.bbclass | 19 ++++++++++++++-----
1 files changed, 14 insertions(+), 5 deletions(-)
diff --git a/meta/classes/rootfs_rpm.bbclass b/meta/classes/rootfs_rpm.bbclass
index c0207d8..d95ccfa 100644
--- a/meta/classes/rootfs_rpm.bbclass
+++ b/meta/classes/rootfs_rpm.bbclass
@@ -141,12 +141,21 @@ RPM_QUERY_CMD = '${RPM} --root $INSTALL_ROOTFS_RPM -D "_dbpath ${rpmlibdir}" \
-D "__dbi_txn create nofsync private"'
list_installed_packages() {
+ GET_LIST=$(${RPM_QUERY_CMD} -qa --qf "[%{NAME} %{ARCH} %{PACKAGEORIGIN} %{Platform}\n]")
+
+ # Use awk to find the multilib prefix and compare it
+ # with the platform RPM thinks it is part of
+ for prefix in `echo ${MULTILIB_PREFIX_LIST}`; do
+ GET_LIST=$(echo "$GET_LIST" | awk -v prefix="$prefix" '$0 ~ prefix {printf("%s-%s\n", prefix, $0); } $0 !~ prefix {print $0}')
+ done
+
+ # print the info, need to different return counts
if [ "$1" = "arch" ] ; then
- ${RPM_QUERY_CMD} -qa --qf "[%{NAME} %{ARCH}\n]"
- elif [ "$1" = "file" ] ; then
- ${RPM_QUERY_CMD} -qa --qf "[%{NAME} %{PACKAGEORIGIN}\n]"
- else
- ${RPM_QUERY_CMD} -qa --qf "[%{NAME}\n]"
+ echo "$GET_LIST" | awk '{print $1, $2}'
+ elif [ "$1" = "file" ] ; then
+ echo "$GET_LIST" | awk '{print $1, $3}'
+ else
+ echo "$GET_LIST" | awk '{print $1}'
fi
}
More information about the Openembedded-commits
mailing list