diff options
author | Kristoffer Ericson <kristoffer_e1@hotmail.com> | 2007-01-29 22:12:00 +0000 |
---|---|---|
committer | Kristoffer Ericson <kristoffer_e1@hotmail.com> | 2007-01-29 22:12:00 +0000 |
commit | 5906817681897d07050ad9c128984c20362aae31 (patch) | |
tree | 40ad5a58a1a9f37ecd417d1ae6dc7556a1399b77 /packages | |
parent | af748babde67c02ed56134e5aecf16ec474d762e (diff) |
ipkg/ipkg-0.99.163/patch-ipkg-localfilename : Addition of patch
* This patch fixes one of many bugs in ipkg, involving
localfilename. Submitted by Alexandre Orlov <axorlov@gmail.com>
from the Jlime dev team. Confirmed working.
* Applied patch to ipkg_0.99.163.bb
Diffstat (limited to 'packages')
-rw-r--r-- | packages/ipkg/ipkg-0.99.163/.mtn2git_empty | 0 | ||||
-rw-r--r-- | packages/ipkg/ipkg-0.99.163/patch-ipkg-localfilename | 29 | ||||
-rw-r--r-- | packages/ipkg/ipkg_0.99.163.bb | 4 |
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} |