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. (From OE-Core rev: f72abd80b0cc9d27aad2e31ecb548b4ab0fd8f67) Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
parent
7cab823d21
commit
1c0f73b071
|
@ -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
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue