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.6cvs.bb b/openembedded/packages/ipkg-utils/ipkg-link_1.6+cvs20050404.bb similarity index 67% rename from openembedded/packages/ipkg-utils/ipkg-link_1.6cvs.bb rename to openembedded/packages/ipkg-utils/ipkg-link_1.6+cvs20050404.bb index 94f749cf62..35e5ba1086 100644 --- a/openembedded/packages/ipkg-utils/ipkg-link_1.6cvs.bb +++ b/openembedded/packages/ipkg-utils/ipkg-link_1.6+cvs20050404.bb @@ -2,11 +2,12 @@ SECTION = "base" DESCRIPTION = "Itsy Package Manager utilities link script" LICENSE = "GPL" CONFLICTS = "ipkg-utils" -PV_append = "${SRCDATE}" -PR = "r1" +SRCDATE = "20050404" +PR = "r4" + +SRC_URI = "${HANDHELDS_CVS};module=ipkg-utils \ + file://link-vfat-libs.patch;patch=1" -SRC_URI = "${HANDHELDS_CVS};module=ipkg-utils" - S = "${WORKDIR}/ipkg-utils" do_compile() { 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.6cvs.bb b/openembedded/packages/ipkg-utils/ipkg-utils-native_1.6+cvs20050404.bb similarity index 56% rename from openembedded/packages/ipkg-utils/ipkg-utils-native_1.6cvs.bb rename to openembedded/packages/ipkg-utils/ipkg-utils-native_1.6+cvs20050404.bb index 7b66751614..ab8f4d63e0 100644 --- a/openembedded/packages/ipkg-utils/ipkg-utils-native_1.6cvs.bb +++ b/openembedded/packages/ipkg-utils/ipkg-utils-native_1.6+cvs20050404.bb @@ -1,9 +1,13 @@ -SECTION = "base" include ipkg-utils_${PV}.bb -PR = "r4" -inherit native -DEPENDS = "" +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 diff --git a/openembedded/packages/ipkg-utils/ipkg-utils_1.6cvs.bb b/openembedded/packages/ipkg-utils/ipkg-utils_1.6+cvs20050404.bb similarity index 88% rename from openembedded/packages/ipkg-utils/ipkg-utils_1.6cvs.bb rename to openembedded/packages/ipkg-utils/ipkg-utils_1.6+cvs20050404.bb index 059ce8cb58..12ed042f15 100644 --- a/openembedded/packages/ipkg-utils/ipkg-utils_1.6cvs.bb +++ b/openembedded/packages/ipkg-utils/ipkg-utils_1.6+cvs20050404.bb @@ -1,16 +1,14 @@ DESCRIPTION = "Itsy Package Manager utilities" -DEPENDS = "" SECTION = "base" PRIORITY = "optional" -MAINTAINER = "Chris Larson " LICENSE = "GPL" CONFLICTS = "ipkg-link" RDEPENDS = "python" -PV_append = "${SRCDATE}" -PR = "r9" +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"