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