From 5f3d79f3195e24dde7169971343f4db03847a02e Mon Sep 17 00:00:00 2001
From: Chris Larson <kergoth@openedhand.com>
Date: Thu, 13 Jul 2006 09:13:21 +0000
Subject: poky: ipkg-utils update from upstream OE.  Locks down to a specific
 cvs version rather than floating, which seems to fix some issues with root
 filesystem population in the build.

git-svn-id: https://svn.o-hand.com/repos/poky/trunk@512 311d38ba-8fff-0310-9ca6-ca027cbcb966
---
 .../ipkg-utils/ipkg-link/link-vfat-libs.patch      | 34 +++++++++++++++++++++
 .../ipkg-utils/ipkg-link_1.6+cvs20050404.bb        | 20 +++++++++++++
 .../packages/ipkg-utils/ipkg-link_1.6cvs.bb        | 19 ------------
 .../ipkg-utils-native/ipkg-utils-fix.patch         | 17 +++++++++++
 .../ipkg-utils-native_1.6+cvs20050404.bb           | 16 ++++++++++
 .../ipkg-utils/ipkg-utils-native_1.6cvs.bb         | 12 --------
 .../ipkg-utils/ipkg-utils_1.6+cvs20050404.bb       | 33 ++++++++++++++++++++
 .../packages/ipkg-utils/ipkg-utils_1.6cvs.bb       | 35 ----------------------
 8 files changed, 120 insertions(+), 66 deletions(-)
 create mode 100644 openembedded/packages/ipkg-utils/ipkg-link/link-vfat-libs.patch
 create mode 100644 openembedded/packages/ipkg-utils/ipkg-link_1.6+cvs20050404.bb
 delete mode 100644 openembedded/packages/ipkg-utils/ipkg-link_1.6cvs.bb
 create mode 100644 openembedded/packages/ipkg-utils/ipkg-utils-native/ipkg-utils-fix.patch
 create mode 100644 openembedded/packages/ipkg-utils/ipkg-utils-native_1.6+cvs20050404.bb
 delete mode 100644 openembedded/packages/ipkg-utils/ipkg-utils-native_1.6cvs.bb
 create mode 100644 openembedded/packages/ipkg-utils/ipkg-utils_1.6+cvs20050404.bb
 delete mode 100644 openembedded/packages/ipkg-utils/ipkg-utils_1.6cvs.bb

diff --git a/openembedded/packages/ipkg-utils/ipkg-link/link-vfat-libs.patch b/openembedded/packages/ipkg-utils/ipkg-link/link-vfat-libs.patch
new file mode 100644
index 0000000000..7f495f9f4c
--- /dev/null
+++ b/openembedded/packages/ipkg-utils/ipkg-link/link-vfat-libs.patch
@@ -0,0 +1,34 @@
+--- ipkg-utils/ipkg-link.orig	2006-04-05 00:08:28.518992136 +0200
++++ ipkg-utils/ipkg-link	2006-04-05 00:08:40.399186072 +0200
+@@ -58,6 +58,31 @@
+ 				`ln -s "$PREFIX$line" "$line"`
+ 			fi
+ 		fi
++		
++		# The next function checks whether the _source_ file (ie: /media/card/something)
++		# does actually exist. If it doesn't, it could by a library symlink (ie: libsomething.0.1 -> libsomething.0)
++		# Since VFAT & friends do not support symlinks, these library links would not exist after installation
++		# and trying to symlink them into the rootfs with ipkg-link results in unconnected symlinks in the rootfs.
++		# So we use the real lib file in /media/card/whatever and create all needed symlinks in the rootfs
++		# using the real file as source.
++                               
++		if [ ! -e "$PREFIX$line" ]; then
++			if ( echo "$line" | grep -q "lib" ) ; then
++				libsearchfile=$(echo $line | sed -e "s#[a-z0-9/.]*/##g")
++				libfoundfiles=$(find $PREFIX -name "$libsearchfile*")
++                      
++				for liblinkfile in $libfoundfiles; do
++					echo "Linking $line to $liblinkfile"
++					# link will be pointing to nowhere
++					if test -L $line; then
++						rm -f $line
++					fi
++				ln -s $liblinkfile $line 
++	                      done
++			else
++				echo "WARNING: Source file [$PREFIX$line] is missing!"
++			fi
++                fi
+ 	done
+ }
+ 
diff --git a/openembedded/packages/ipkg-utils/ipkg-link_1.6+cvs20050404.bb b/openembedded/packages/ipkg-utils/ipkg-link_1.6+cvs20050404.bb
new file mode 100644
index 0000000000..35e5ba1086
--- /dev/null
+++ b/openembedded/packages/ipkg-utils/ipkg-link_1.6+cvs20050404.bb
@@ -0,0 +1,20 @@
+SECTION = "base"
+DESCRIPTION = "Itsy Package Manager utilities link script"
+LICENSE = "GPL"
+CONFLICTS = "ipkg-utils"
+SRCDATE = "20050404"
+PR = "r4"
+
+SRC_URI = "${HANDHELDS_CVS};module=ipkg-utils \
+	   file://link-vfat-libs.patch;patch=1"
+
+S = "${WORKDIR}/ipkg-utils"
+
+do_compile() {
+	:
+}
+
+do_install() {
+	install -d ${D}${bindir}
+	install -m 0755 ipkg-link ${D}${bindir}
+}
diff --git a/openembedded/packages/ipkg-utils/ipkg-link_1.6cvs.bb b/openembedded/packages/ipkg-utils/ipkg-link_1.6cvs.bb
deleted file mode 100644
index 94f749cf62..0000000000
--- a/openembedded/packages/ipkg-utils/ipkg-link_1.6cvs.bb
+++ /dev/null
@@ -1,19 +0,0 @@
-SECTION = "base"
-DESCRIPTION = "Itsy Package Manager utilities link script"
-LICENSE = "GPL"
-CONFLICTS = "ipkg-utils"
-PV_append = "${SRCDATE}"
-PR = "r1"
-
-SRC_URI = "${HANDHELDS_CVS};module=ipkg-utils"
-	   	   
-S = "${WORKDIR}/ipkg-utils"
-
-do_compile() {
-	:
-}
-
-do_install() {
-	install -d ${D}${bindir}
-	install -m 0755 ipkg-link ${D}${bindir}
-}
diff --git a/openembedded/packages/ipkg-utils/ipkg-utils-native/ipkg-utils-fix.patch b/openembedded/packages/ipkg-utils/ipkg-utils-native/ipkg-utils-fix.patch
new file mode 100644
index 0000000000..a9e6fc4d05
--- /dev/null
+++ b/openembedded/packages/ipkg-utils/ipkg-utils-native/ipkg-utils-fix.patch
@@ -0,0 +1,17 @@
+--- ../../../work/i686-linux/ipkg-utils-native-1.6+cvs20050404-r6/ipkg-utils/ipkg.py	2005-01-08 19:08:52.000000000 +0100
++++ ipkg-utils/ipkg.py	2006-06-29 12:52:58.466446000 +0200
+@@ -150,11 +150,11 @@
+             stat = os.stat(fn)
+             self.size = stat[ST_SIZE]
+             self.filename = os.path.basename(fn)
+-	    ## sys.stderr.write("  extracting control.tar.gz from %s\n"% (fn,)) 
++	    sys.stderr.write("  extracting control.tar.gz from %s\n"% (fn,)) 
+             if self.isdeb:
+-                control = os.popen("ar p "+fn+" control.tar.gz | tar xfzO - '*control'","r")
++                control = os.popen("ar p "+fn+" control.tar.gz | tar xfzO - './control'","r")
+             else:
+-                control = os.popen("tar xfzO "+fn+" '*control.tar.gz' | tar xfzO - '*control'","r")
++                control = os.popen("tar xfzO "+fn+" 'control.tar.gz' | tar xfzO - './control'","r")
+             line = control.readline()
+             while 1:
+                 if not line: break
diff --git a/openembedded/packages/ipkg-utils/ipkg-utils-native_1.6+cvs20050404.bb b/openembedded/packages/ipkg-utils/ipkg-utils-native_1.6+cvs20050404.bb
new file mode 100644
index 0000000000..ab8f4d63e0
--- /dev/null
+++ b/openembedded/packages/ipkg-utils/ipkg-utils-native_1.6+cvs20050404.bb
@@ -0,0 +1,16 @@
+include ipkg-utils_${PV}.bb
+SRC_URI += "file://ipkg-utils-fix.patch;patch=1"
+
+RDEPENDS = ""
+PR = "r7"
+
+inherit native
+
+# Avoid circular dependencies from package_ipk.bbclass
+PACKAGES = ""
+
+do_stage() {
+        for i in ${INSTALL}; do
+                install -m 0755 $i ${STAGING_BINDIR}
+        done
+}
diff --git a/openembedded/packages/ipkg-utils/ipkg-utils-native_1.6cvs.bb b/openembedded/packages/ipkg-utils/ipkg-utils-native_1.6cvs.bb
deleted file mode 100644
index 7b66751614..0000000000
--- a/openembedded/packages/ipkg-utils/ipkg-utils-native_1.6cvs.bb
+++ /dev/null
@@ -1,12 +0,0 @@
-SECTION = "base"
-include ipkg-utils_${PV}.bb
-PR = "r4"
-inherit native
-DEPENDS = ""
-RDEPENDS = ""
-
-do_stage() {
-        for i in ${INSTALL}; do
-                install -m 0755 $i ${STAGING_BINDIR}
-        done
-}
diff --git a/openembedded/packages/ipkg-utils/ipkg-utils_1.6+cvs20050404.bb b/openembedded/packages/ipkg-utils/ipkg-utils_1.6+cvs20050404.bb
new file mode 100644
index 0000000000..12ed042f15
--- /dev/null
+++ b/openembedded/packages/ipkg-utils/ipkg-utils_1.6+cvs20050404.bb
@@ -0,0 +1,33 @@
+DESCRIPTION = "Itsy Package Manager utilities"
+SECTION = "base"
+PRIORITY = "optional"
+LICENSE = "GPL"
+CONFLICTS = "ipkg-link"
+RDEPENDS = "python"
+SRCDATE = "20050404"
+PR = "r11"
+
+SRC_URI = "${HANDHELDS_CVS};module=ipkg-utils"
+
+S = "${WORKDIR}/ipkg-utils"
+
+INSTALL = "ipkg-build ipkg-deb-unbuild ipkg-unbuild ipkg-compare-versions ipkg-upload ipkg-make-index ipkg-link ipkg.py"
+
+do_compile() {
+	oe_runmake ipkg-compare-versions
+}
+
+do_install() {
+	install -d ${D}${bindir}
+	for i in ${INSTALL}
+	do
+		install -m 0755 $i ${D}${bindir}
+	done
+}
+
+#FIXME: ipkg-utils is not allowed to have packages or else a ipkg-native -> ipkg-utils -> ipkg-utils
+#       recursive dependency is triggered. This has been fixed by installing the ipkg-link script in
+#       a dedicated package.
+#PACKAGES_prepend = "ipkg-link "
+#FILES_ipkg-link = "${bindir}/ipkg-link"
+
diff --git a/openembedded/packages/ipkg-utils/ipkg-utils_1.6cvs.bb b/openembedded/packages/ipkg-utils/ipkg-utils_1.6cvs.bb
deleted file mode 100644
index 059ce8cb58..0000000000
--- a/openembedded/packages/ipkg-utils/ipkg-utils_1.6cvs.bb
+++ /dev/null
@@ -1,35 +0,0 @@
-DESCRIPTION = "Itsy Package Manager utilities"
-DEPENDS = ""
-SECTION = "base"
-PRIORITY = "optional"
-MAINTAINER = "Chris Larson <kergoth@handhelds.org>"
-LICENSE = "GPL"
-CONFLICTS = "ipkg-link"
-RDEPENDS = "python"
-PV_append = "${SRCDATE}"
-PR = "r9"
-
-SRC_URI = "${HANDHELDS_CVS};module=ipkg-utils"
-	   
-S = "${WORKDIR}/ipkg-utils"
-
-INSTALL = "ipkg-build ipkg-deb-unbuild ipkg-unbuild ipkg-compare-versions ipkg-upload ipkg-make-index ipkg-link ipkg.py"
-
-do_compile() {
-	oe_runmake ipkg-compare-versions
-}
-
-do_install() {
-	install -d ${D}${bindir}
-	for i in ${INSTALL}
-	do
-		install -m 0755 $i ${D}${bindir}
-	done
-}
-
-#FIXME: ipkg-utils is not allowed to have packages or else a ipkg-native -> ipkg-utils -> ipkg-utils
-#       recursive dependency is triggered. This has been fixed by installing the ipkg-link script in
-#       a dedicated package.
-#PACKAGES_prepend = "ipkg-link "
-#FILES_ipkg-link = "${bindir}/ipkg-link"
-
-- 
cgit v1.2.3