[oe] [PATCH] rootfs_ipk.bbclass: fix BAD_RECOMMENDATIONS

Denys Dmytriyenko denis at denix.org
Wed Feb 24 20:52:52 UTC 2010


New opkg requires full and correct package name, version, revision and
architecture to be specified when requiring de-installation of a package.
Collect that info from opkg-info.

Signed-off-by: Denys Dmytriyenko <denis at denix.org>
---
 classes/rootfs_ipk.bbclass |   15 +++++++++------
 1 files changed, 9 insertions(+), 6 deletions(-)

diff --git a/classes/rootfs_ipk.bbclass b/classes/rootfs_ipk.bbclass
index 38d6121..c32e4e3 100644
--- a/classes/rootfs_ipk.bbclass
+++ b/classes/rootfs_ipk.bbclass
@@ -36,16 +36,19 @@ fakeroot rootfs_ipk_do_rootfs () {
 	mkdir -p ${IMAGE_ROOTFS}${libdir}/opkg/
 
 	STATUS=${IMAGE_ROOTFS}${libdir}/opkg/status
+
+	opkg-cl ${IPKG_ARGS} update
+
 	# prime the status file with bits that we don't want
 	for i in ${BAD_RECOMMENDATIONS}; do
-		echo "Package: $i" >> $STATUS
-		echo "Architecture: ${TARGET_ARCH}" >> $STATUS
-		echo "Status: deinstall ok not-installed" >> $STATUS
-		echo >> $STATUS
+		infln="`opkg-cl ${IPKG_ARGS} info $i | grep -e '^Package:' -e '^Architecture:' -e '^Version:'`"
+		if [ ! -z "$infln" ]; then
+			echo "$infln" >> $STATUS
+			echo "Status: deinstall ok not-installed" >> $STATUS
+			echo >> $STATUS
+		fi
 	done
 
-	opkg-cl ${IPKG_ARGS} update
-
 	# Uclibc builds don't provide this stuff...
 	if [ x${TARGET_OS} = "xlinux" ] || [ x${TARGET_OS} = "xlinux-gnueabi" ] ; then 
 		if [ ! -z "${LINGUAS_INSTALL}" ]; then
-- 
1.6.3.3





More information about the Openembedded-devel mailing list