summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--packages/ipkg/ipkg-0.99.163/.mtn2git_empty0
-rw-r--r--packages/ipkg/ipkg-0.99.163/patch-ipkg-localfilename29
-rw-r--r--packages/ipkg/ipkg_0.99.163.bb4
3 files changed, 31 insertions, 2 deletions
diff --git a/packages/ipkg/ipkg-0.99.163/.mtn2git_empty b/packages/ipkg/ipkg-0.99.163/.mtn2git_empty
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/packages/ipkg/ipkg-0.99.163/.mtn2git_empty
diff --git a/packages/ipkg/ipkg-0.99.163/patch-ipkg-localfilename b/packages/ipkg/ipkg-0.99.163/patch-ipkg-localfilename
new file mode 100644
index 0000000000..41f17fd954
--- /dev/null
+++ b/packages/ipkg/ipkg-0.99.163/patch-ipkg-localfilename
@@ -0,0 +1,29 @@
+--- ipkg-0.99.163.orig/ipkg_download.c Thu Apr 20 20:18:29 2006
++++ ipkg-0.99.163/ipkg_download.c Thu Jan 18 05:54:52 2007
+@@ -108,6 +108,7 @@
+ {
+ int err;
+ char *url;
++ char *filename;
+
+ if (pkg->src == NULL) {
+ ipkg_message(conf,IPKG_ERROR, "ERROR: Package %s (parent %s) is not available from any configured src.\n",
+@@ -117,11 +118,16 @@
+
+ sprintf_alloc(&url, "%s/%s", pkg->src->value, pkg->filename);
+
+- /* XXX: BUG: The pkg->filename might be something like
++ /* The pkg->filename might be something like
+ "../../foo.ipk". While this is correct, and exactly what we
+ want to use to construct url above, here we actually need to
+ use just the filename part, without any directory. */
+- sprintf_alloc(&pkg->local_filename, "%s/%s", dir, pkg->filename);
++ filename = strrchr(pkg->filename, '/');
++ if(NULL == filename)
++ filename = pkg->filename;
++ else
++ filename++;
++ sprintf_alloc(&pkg->local_filename, "%s/%s", dir, filename);
+
+ err = ipkg_download(conf, url, pkg->local_filename);
+ free(url);
diff --git a/packages/ipkg/ipkg_0.99.163.bb b/packages/ipkg/ipkg_0.99.163.bb
index 02509aa962..c2ac30e653 100644
--- a/packages/ipkg/ipkg_0.99.163.bb
+++ b/packages/ipkg/ipkg_0.99.163.bb
@@ -4,8 +4,8 @@ PR = "r1"
S = "${WORKDIR}/ipkg-${PV}"
SRC_URI = "http://www.handhelds.org/pub/packages/ipkg/ipkg-${PV}.tar.gz \
- file://terse.patch;patch=1"
-
+ file://terse.patch;patch=1 \
+ file://patch-ipkg-localfilename;patch=0"
do_stage() {
oe_libinstall -so libipkg ${STAGING_LIBDIR}