diff options
author | Marcin Juszkiewicz <hrw@openembedded.org> | 2007-08-09 08:41:19 +0000 |
---|---|---|
committer | Marcin Juszkiewicz <hrw@openembedded.org> | 2007-08-09 08:41:19 +0000 |
commit | 9d829ed05c295df608b4fc108eb1c628fd06fd39 (patch) | |
tree | c1b27cfe4498f8abef1a61325922906f3e6a32ff /packages/ipkg | |
parent | 1434b204e16e87b7f59f074f3036d5dcbcf0116f (diff) | |
parent | 6ccac10beeaaa02a86081bd6179fd57c208ad6b1 (diff) |
merge of '76e1e69496801009ea0aa69c84f76e858978ab99'
and 'db976a98427dd6a195e2cf167e225de2d0206aea'
Diffstat (limited to 'packages/ipkg')
21 files changed, 367 insertions, 72 deletions
diff --git a/packages/ipkg/files/1-pkg-parse--Optimize-inefficient-parsing.patch b/packages/ipkg/files/1-pkg-parse--Optimize-inefficient-parsing.patch new file mode 100644 index 0000000000..e7632b11d1 --- /dev/null +++ b/packages/ipkg/files/1-pkg-parse--Optimize-inefficient-parsing.patch @@ -0,0 +1,227 @@ +# HG changeset patch +# User pfalcon@localhost +# Date 1178334771 0 +# Node ID e4c99830ba0d55813e1774bd6d41039ca640d6a6 +# Parent d324eba24e79a0a86df7978f0511e4632a2732c7 +pkg_parse: Optimize inefficient parsing. + +Instead of expensively probing all fields in row, dispatch based on the +first letter of the field. Tests show ~12 times reduction in number of calls +to low-level parsing functions. + +diff -r d324eba24e79 -r e4c99830ba0d pkg_parse.c +--- a/pkg_parse.c Fri May 04 23:22:33 2007 +0000 ++++ b/pkg_parse.c Sat May 05 03:12:51 2007 +0000 +@@ -241,87 +241,116 @@ int pkg_parse_raw(pkg_t *pkg, char ***ra + + for (lines = *raw; *lines; lines++) { + /* fprintf(stderr, "PARSING %s\n", *lines);*/ +- if(isGenericFieldType("Package:", *lines)) +- pkg->name = parseGenericFieldType("Package", *lines); +- else if(isGenericFieldType("Architecture:", *lines)) +- pkg->architecture = parseGenericFieldType("Architecture", *lines); +- else if(isGenericFieldType("Filename:", *lines)) +- pkg->filename = parseGenericFieldType("Filename", *lines); +- else if(isGenericFieldType("Section:", *lines)) +- pkg->section = parseGenericFieldType("Section", *lines); +- else if(isGenericFieldType("MD5sum:", *lines)) +- pkg->md5sum = parseGenericFieldType("MD5sum", *lines); +- /* The old ipkg wrote out status files with the wrong case for MD5sum, +- let's parse it either way */ +- else if(isGenericFieldType("MD5Sum:", *lines)) +- pkg->md5sum = parseGenericFieldType("MD5Sum", *lines); +- else if(isGenericFieldType("Size:", *lines)) +- pkg->size = parseGenericFieldType("Size", *lines); +- else if(isGenericFieldType("Source:", *lines)) +- pkg->source = parseGenericFieldType("Source", *lines); +- else if(isGenericFieldType("Installed-Size:", *lines)) +- pkg->installed_size = parseGenericFieldType("Installed-Size", *lines); +- else if(isGenericFieldType("Installed-Time:", *lines)) { +- char *time_str = parseGenericFieldType("Installed-Time", *lines); +- pkg->installed_time = strtoul(time_str, NULL, 0); +- } else if(isGenericFieldType("Priority:", *lines)) +- pkg->priority = parseGenericFieldType("Priority", *lines); +- else if(isGenericFieldType("Essential:", *lines)) { +- char *essential_value; +- essential_value = parseGenericFieldType("Essential", *lines); +- if (strcmp(essential_value, "yes") == 0) { +- pkg->essential = 1; +- } +- free(essential_value); +- } +- else if(isGenericFieldType("Status", *lines)) +- parseStatus(pkg, *lines); +- else if(isGenericFieldType("Version", *lines)) +- parseVersion(pkg, *lines); +- else if(isGenericFieldType("Maintainer", *lines)) +- pkg->maintainer = parseGenericFieldType("Maintainer", *lines); +- else if(isGenericFieldType("Conffiles", *lines)){ +- parseConffiles(pkg, *lines); +- reading_conffiles = 1; +- } +- else if(isGenericFieldType("Description", *lines)) { +- pkg->description = parseGenericFieldType("Description", *lines); +- reading_conffiles = 0; +- reading_description = 1; +- } +- +- else if(isGenericFieldType("Provides", *lines)){ ++ switch (**lines) { ++ case 'P': ++ if(isGenericFieldType("Package:", *lines)) ++ pkg->name = parseGenericFieldType("Package", *lines); ++ else if(isGenericFieldType("Priority:", *lines)) ++ pkg->priority = parseGenericFieldType("Priority", *lines); ++ else if(isGenericFieldType("Provides", *lines)){ + /* Here we add the internal_use to align the off by one problem between provides_str and provides */ +- provide = (char * ) malloc(strlen(*lines)+ 35 ); /* Preparing the space for the new ipkg_internal_use_only */ +- if ( alterProvidesLine(*lines,provide) ){ +- return EINVAL; +- } +- pkg->provides_str = parseDependsString( provide, &pkg->provides_count); ++ provide = (char * ) malloc(strlen(*lines)+ 35 ); /* Preparing the space for the new ipkg_internal_use_only */ ++ if ( alterProvidesLine(*lines,provide) ){ ++ return EINVAL; ++ } ++ pkg->provides_str = parseDependsString( provide, &pkg->provides_count); + /* Let's try to hack a bit here. + The idea is that if a package has no Provides, we would add one generic, to permit the check of dependencies + in alot of other places. We will remove it before writing down the status database */ +- pkg_false_provides=0; +- free(provide); +- } +- +- else if(isGenericFieldType("Depends", *lines)) +- pkg->depends_str = parseDependsString(*lines, &pkg->depends_count); +- else if(isGenericFieldType("Pre-Depends", *lines)) +- pkg->pre_depends_str = parseDependsString(*lines, &pkg->pre_depends_count); +- else if(isGenericFieldType("Recommends", *lines)) +- pkg->recommends_str = parseDependsString(*lines, &pkg->recommends_count); +- else if(isGenericFieldType("Suggests", *lines)) +- pkg->suggests_str = parseDependsString(*lines, &pkg->suggests_count); +- /* Abhaya: support for conflicts */ +- else if(isGenericFieldType("Conflicts", *lines)) +- pkg->conflicts_str = parseDependsString(*lines, &pkg->conflicts_count); +- else if(isGenericFieldType("Replaces", *lines)) +- pkg->replaces_str = parseDependsString(*lines, &pkg->replaces_count); +- else if(line_is_blank(*lines)) { +- lines++; +- break; +- } +- else if(**lines == ' '){ ++ pkg_false_provides=0; ++ free(provide); ++ } ++ else if(isGenericFieldType("Pre-Depends", *lines)) ++ pkg->pre_depends_str = parseDependsString(*lines, &pkg->pre_depends_count); ++ break; ++ ++ case 'A': ++ if(isGenericFieldType("Architecture:", *lines)) ++ pkg->architecture = parseGenericFieldType("Architecture", *lines); ++ break; ++ ++ case 'F': ++ if(isGenericFieldType("Filename:", *lines)) ++ pkg->filename = parseGenericFieldType("Filename", *lines); ++ break; ++ ++ case 'S': ++ if(isGenericFieldType("Section:", *lines)) ++ pkg->section = parseGenericFieldType("Section", *lines); ++ else if(isGenericFieldType("Size:", *lines)) ++ pkg->size = parseGenericFieldType("Size", *lines); ++ else if(isGenericFieldType("Source:", *lines)) ++ pkg->source = parseGenericFieldType("Source", *lines); ++ else if(isGenericFieldType("Status", *lines)) ++ parseStatus(pkg, *lines); ++ else if(isGenericFieldType("Suggests", *lines)) ++ pkg->suggests_str = parseDependsString(*lines, &pkg->suggests_count); ++ break; ++ ++ case 'M': ++ if(isGenericFieldType("MD5sum:", *lines)) ++ pkg->md5sum = parseGenericFieldType("MD5sum", *lines); ++ /* The old ipkg wrote out status files with the wrong case for MD5sum, ++ let's parse it either way */ ++ else if(isGenericFieldType("MD5Sum:", *lines)) ++ pkg->md5sum = parseGenericFieldType("MD5Sum", *lines); ++ else if(isGenericFieldType("Maintainer", *lines)) ++ pkg->maintainer = parseGenericFieldType("Maintainer", *lines); ++ break; ++ ++ case 'I': ++ if(isGenericFieldType("Installed-Size:", *lines)) ++ pkg->installed_size = parseGenericFieldType("Installed-Size", *lines); ++ else if(isGenericFieldType("Installed-Time:", *lines)) { ++ char *time_str = parseGenericFieldType("Installed-Time", *lines); ++ pkg->installed_time = strtoul(time_str, NULL, 0); ++ } ++ break; ++ ++ case 'E': ++ if(isGenericFieldType("Essential:", *lines)) { ++ char *essential_value; ++ essential_value = parseGenericFieldType("Essential", *lines); ++ if (strcmp(essential_value, "yes") == 0) { ++ pkg->essential = 1; ++ } ++ free(essential_value); ++ } ++ break; ++ ++ case 'V': ++ if(isGenericFieldType("Version", *lines)) ++ parseVersion(pkg, *lines); ++ break; ++ ++ case 'C': ++ if(isGenericFieldType("Conffiles", *lines)){ ++ parseConffiles(pkg, *lines); ++ reading_conffiles = 1; ++ } ++ else if(isGenericFieldType("Conflicts", *lines)) ++ pkg->conflicts_str = parseDependsString(*lines, &pkg->conflicts_count); ++ break; ++ ++ case 'D': ++ if(isGenericFieldType("Description", *lines)) { ++ pkg->description = parseGenericFieldType("Description", *lines); ++ reading_conffiles = 0; ++ reading_description = 1; ++ } ++ else if(isGenericFieldType("Depends", *lines)) ++ pkg->depends_str = parseDependsString(*lines, &pkg->depends_count); ++ break; ++ ++ case 'R': ++ if(isGenericFieldType("Recommends", *lines)) ++ pkg->recommends_str = parseDependsString(*lines, &pkg->recommends_count); ++ else if(isGenericFieldType("Replaces", *lines)) ++ pkg->replaces_str = parseDependsString(*lines, &pkg->replaces_count); ++ ++ break; ++ ++ case ' ': + if(reading_description) { + /* we already know it's not blank, so the rest of description */ + pkg->description = realloc(pkg->description, +@@ -332,8 +361,18 @@ int pkg_parse_raw(pkg_t *pkg, char ***ra + } + else if(reading_conffiles) + parseConffiles(pkg, *lines); ++ ++ break; ++ ++ default: ++ if(line_is_blank(*lines)) { ++ lines++; ++ goto out; ++ } + } + } ++out:; ++ + *raw = lines; + /* If the ipk has not a Provides line, we insert our false line */ + if ( pkg_false_provides==1) diff --git a/packages/ipkg/files/2-pkg-vec--Optimize-gross-inefficiency.patch b/packages/ipkg/files/2-pkg-vec--Optimize-gross-inefficiency.patch new file mode 100644 index 0000000000..3c5cac49dc --- /dev/null +++ b/packages/ipkg/files/2-pkg-vec--Optimize-gross-inefficiency.patch @@ -0,0 +1,65 @@ +# HG changeset patch +# User pfalcon@localhost +# Date 1178812057 0 +# Node ID eff4450fdea2f8210a4fc927bd35ae2562d2eced +# Parent e4c99830ba0d55813e1774bd6d41039ca640d6a6 +pkg_vec: Optimize gross inefficiency. + +This module tries to implement *unique* vector (without duplicating +objects), and does this by iterating thru all already existing elements. +Thus, complexity of adding N elements was O(N^2). However, there're no grave +reasons to do uniqueness at all: +1. First of all, if feeds are correct, there won't be duplicates. +2. Then, even if there will be, there won't be serious problems like +segfaults. +3. Finally, for quite a few operations vectors is constructed from a +hashtable, thus uniqueness is guaranteed (which reduces possible cases of +non-uniqueness to values of Depends: and friends). + +All an all, remove dup check, and make ipkg work order of magnitude faster +on a feed with few thousands of packages. + +diff -r e4c99830ba0d -r eff4450fdea2 pkg_vec.c +--- a/pkg_vec.c Sat May 05 03:12:51 2007 +0000 ++++ b/pkg_vec.c Thu May 10 15:47:37 2007 +0000 +@@ -104,6 +104,7 @@ void pkg_vec_insert(pkg_vec_t *vec, cons + int i; + int found = 0; + ++#if 0 + /* look for a duplicate pkg by name, version, and architecture */ + for (i = 0; i < vec->len; i++) + if ((strcmp(pkg->name, vec->pkgs[i]->name) == 0) +@@ -112,6 +113,7 @@ void pkg_vec_insert(pkg_vec_t *vec, cons + found = 1; + break; + } ++#endif + + /* we didn't find one, add it */ + if(!found){ +@@ -191,6 +193,7 @@ void abstract_pkg_vec_insert(abstract_pk + { + int i; + ++#if 0 + /* look for a duplicate pkg by name */ + for(i = 0; i < vec->len; i++) + if (strcmp(pkg->name, vec->pkgs[i]->name) == 0) +@@ -198,12 +201,15 @@ void abstract_pkg_vec_insert(abstract_pk + + /* we didn't find one, add it */ + if(i == vec->len){ ++#endif + vec->pkgs = + (abstract_pkg_t **) + realloc(vec->pkgs, (vec->len + 1) * sizeof(abstract_pkg_t *)); + vec->pkgs[vec->len] = pkg; + vec->len++; +- } ++#if 0 ++ } ++#endif + } + + abstract_pkg_t * abstract_pkg_vec_get(abstract_pkg_vec_t *vec, int i) diff --git a/packages/ipkg/files/is-processing.patch b/packages/ipkg/files/is-processing.patch index 779933ba1c..45ede41668 100644 --- a/packages/ipkg/files/is-processing.patch +++ b/packages/ipkg/files/is-processing.patch @@ -1,6 +1,6 @@ diff -Nur ipkg-0.99.163.orig/ipkg_install.c ipkg-0.99.163/ipkg_install.c --- ipkg-0.99.163.orig/ipkg_install.c 2006-03-30 21:50:24.000000000 +0800 -+++ ipkg-0.99.163/ipkg_install.c 2006-08-10 09:30:40.000000000 +0800 ++++ ipkg-0.99.163/ipkg_install.c 2007-03-15 08:01:20.000000000 +0800 @@ -211,6 +211,7 @@ anyone ever wants to make a nice libipkg. */ @@ -9,9 +9,35 @@ diff -Nur ipkg-0.99.163.orig/ipkg_install.c ipkg-0.99.163/ipkg_install.c return ipkg_install_pkg(conf, new,0); } +diff -Nur ipkg-0.99.163.orig/libbb/unzip.c ipkg-0.99.163/libbb/unzip.c +--- ipkg-0.99.163.orig/libbb/unzip.c 2006-02-06 16:13:02.000000000 +0800 ++++ ipkg-0.99.163/libbb/unzip.c 2007-03-15 08:03:45.000000000 +0800 +@@ -1028,13 +1028,15 @@ + */ + extern void gz_close(int gunzip_pid) + { +- if (kill(gunzip_pid, SIGTERM) == -1) { +- error_msg_and_die("*** Couldnt kill old gunzip process *** aborting"); +- } ++ if (kill(gunzip_pid, 0) == 0) { ++ if (kill(gunzip_pid, SIGTERM) == -1) { ++ error_msg_and_die("*** Couldnt kill old gunzip process *** aborting"); ++ } + +- if (waitpid(gunzip_pid, NULL, 0) == -1) { +- printf("Couldnt wait ?"); ++ if (waitpid(gunzip_pid, NULL, 0) == -1) { ++ printf("Couldnt wait ?"); ++ } + } +- free(window); +- free(crc_table); ++ free(window); ++ free(crc_table); + } diff -Nur ipkg-0.99.163.orig/pkg.c ipkg-0.99.163/pkg.c --- ipkg-0.99.163.orig/pkg.c 2006-04-21 04:29:28.000000000 +0800 -+++ ipkg-0.99.163/pkg.c 2006-08-10 09:35:06.000000000 +0800 ++++ ipkg-0.99.163/pkg.c 2007-03-20 15:11:32.845064480 +0800 @@ -33,6 +33,7 @@ #include "xsystem.h" #include "ipkg_conf.h" @@ -98,7 +124,32 @@ diff -Nur ipkg-0.99.163.orig/pkg.c ipkg-0.99.163/pkg.c } } else if (strcasecmp(field, "MD5sum") == 0) { /* MD5sum */ -@@ -1016,6 +1049,12 @@ +@@ -871,6 +904,24 @@ + } + temp[0]='\0'; + snprintf(temp, (strlen(pkg->size)+8), "Size: %s\n", pkg->size); ++ } else { ++ if ( pkg->local_filename ) { ++ struct stat buf; ++ memset(&buf, 0, sizeof(struct stat)); ++ ++ if ( stat(pkg->local_filename, &buf) == 0 ) { ++ ++ sprintf_alloc(&pkg->size, "%d", buf.st_size); ++ temp = (char *)realloc(temp, strlen(pkg->size)+8); ++ if ( temp == NULL ){ ++ fprintf(stderr, "%s: out of memory\n", __FUNCTION__); ++ return NULL; ++ } ++ temp[0]='\0'; ++ snprintf(temp, (strlen(pkg->size)+8), "Size: %s\n", pkg->size); ++ } ++ } ++ + } + } else if (strcasecmp(field, "Source") == 0) { + /* Source */ +@@ -1016,6 +1067,12 @@ pkg_print_field(pkg, file, "Essential"); /* @@@@ should be removed in future release. */ pkg_print_field(pkg, file, "Architecture"); pkg_print_field(pkg, file, "Conffiles"); @@ -113,7 +164,7 @@ diff -Nur ipkg-0.99.163.orig/pkg.c ipkg-0.99.163/pkg.c } diff -Nur ipkg-0.99.163.orig/pkg.h ipkg-0.99.163/pkg.h --- ipkg-0.99.163.orig/pkg.h 2006-05-30 16:31:08.000000000 +0800 -+++ ipkg-0.99.163/pkg.h 2006-08-10 09:19:14.000000000 +0800 ++++ ipkg-0.99.163/pkg.h 2007-03-15 08:01:20.000000000 +0800 @@ -176,6 +176,10 @@ int arch_priority; /* Adding this flag, to "force" ipkg to choose a "provided_by_hand" package, if there are multiple choice */ @@ -125,3 +176,4 @@ diff -Nur ipkg-0.99.163.orig/pkg.h ipkg-0.99.163/pkg.h }; pkg_t *pkg_new(void); +
diff --git a/packages/ipkg/ipkg-0.99.153/fix-bug1393.patch b/packages/ipkg/ipkg-0.99.153/fix-bug1393.patch deleted file mode 100644 index 86af6b1d8e..0000000000 --- a/packages/ipkg/ipkg-0.99.153/fix-bug1393.patch +++ /dev/null @@ -1,19 +0,0 @@ -patch added into upstream bugzilla: -http://handhelds.org/~bugzilla/show_bug.cgi?id=1393 -Index: pkg_hash.c -=================================================================== -RCS file: /cvs/familiar/dist/ipkg/C/pkg_hash.c,v -retrieving revision 1.71 -diff -u -r1.71 pkg_hash.c ---- C/pkg_hash.c 29 Jul 2005 20:19:39 -0000 1.71 -+++ C/pkg_hash.c 2 Sep 2005 13:23:08 -0000 -@@ -216,7 +216,8 @@ - pkg_t *maybe = vec->pkgs[i]; - ipkg_message(conf, IPKG_DEBUG, " %s arch=%s arch_priority=%d \n", - maybe->name, maybe->architecture, maybe->arch_priority); -- if (maybe->arch_priority > 0) { -+ if ((maybe->arch_priority > 0) -+ && ((constraint_fcn == NULL) || constraint_fcn(maybe, cdata))) { - max_count++; - abstract_pkg_vec_insert(matching_apkgs, maybe->parent); - pkg_vec_insert(matching_pkgs, maybe); diff --git a/packages/ipkg/ipkg-0.99.155/upgrade-message-garbage.patch b/packages/ipkg/ipkg-0.99.155/upgrade-message-garbage.patch deleted file mode 100644 index 6e79f79341..0000000000 --- a/packages/ipkg/ipkg-0.99.155/upgrade-message-garbage.patch +++ /dev/null @@ -1,14 +0,0 @@ -Prevent the output of spurious extra characters from -the stack. This patch is in the manner of the rest of -the code, there is no good reason for this. - ---- C/ipkg_install.c 1970-01-01 00:00:00.000000000 +0000 -+++ C/ipkg_install.c 1970-01-01 00:00:00.000000000 +0000 -@@ -723,6 +723,7 @@ static int ipkg_install_check_downgrade( - return rc; - } else { - char message_out[15] ; -+ memset(message_out,'\x0',15); - if ( message ) - strncpy( message_out,"Upgrading ",strlen("Upgrading ") ); - else diff --git a/packages/ipkg/ipkg-collateral.bb b/packages/ipkg/ipkg-collateral.bb index ec45a10e2d..244d29d08a 100644 --- a/packages/ipkg/ipkg-collateral.bb +++ b/packages/ipkg/ipkg-collateral.bb @@ -1,8 +1,8 @@ DESCRIPTION = "ipkg configuration files" SECTION = "base" LICENSE = "MIT" -PR = "r5" -PACKAGE_ARCH = "all" +PR = "r7" +PACKAGE_ARCH = "${MACHINE_ARCH}" SRC_URI = " \ file://ipkg.conf.comments \ diff --git a/packages/ipkg/ipkg-0.99.153/.mtn2git_empty b/packages/ipkg/ipkg-collateral/oplinux-uclibc/.mtn2git_empty index e69de29bb2..e69de29bb2 100644 --- a/packages/ipkg/ipkg-0.99.153/.mtn2git_empty +++ b/packages/ipkg/ipkg-collateral/oplinux-uclibc/.mtn2git_empty diff --git a/packages/ipkg/ipkg-collateral/oplinux-uclibc/dest b/packages/ipkg/ipkg-collateral/oplinux-uclibc/dest new file mode 100644 index 0000000000..b786746b63 --- /dev/null +++ b/packages/ipkg/ipkg-collateral/oplinux-uclibc/dest @@ -0,0 +1,3 @@ +dest root / +dest ram /tmp +dest smbfs /tmp/smbfs diff --git a/packages/ipkg/ipkg-0.99.155/.mtn2git_empty b/packages/ipkg/ipkg-collateral/oplinux/.mtn2git_empty index e69de29bb2..e69de29bb2 100644 --- a/packages/ipkg/ipkg-0.99.155/.mtn2git_empty +++ b/packages/ipkg/ipkg-collateral/oplinux/.mtn2git_empty diff --git a/packages/ipkg/ipkg-collateral/oplinux/dest b/packages/ipkg/ipkg-collateral/oplinux/dest new file mode 100644 index 0000000000..b786746b63 --- /dev/null +++ b/packages/ipkg/ipkg-collateral/oplinux/dest @@ -0,0 +1,3 @@ +dest root / +dest ram /tmp +dest smbfs /tmp/smbfs diff --git a/packages/ipkg/ipkg-native_0.99.152.bb b/packages/ipkg/ipkg-native_0.99.152.bb deleted file mode 100644 index f2deb33fba..0000000000 --- a/packages/ipkg/ipkg-native_0.99.152.bb +++ /dev/null @@ -1,3 +0,0 @@ -require ipkg_${PV}.bb -require ipkg-native.inc -PR = "r1" diff --git a/packages/ipkg/ipkg-native_0.99.153.bb b/packages/ipkg/ipkg-native_0.99.153.bb deleted file mode 100644 index f2deb33fba..0000000000 --- a/packages/ipkg/ipkg-native_0.99.153.bb +++ /dev/null @@ -1,3 +0,0 @@ -require ipkg_${PV}.bb -require ipkg-native.inc -PR = "r1" diff --git a/packages/ipkg/ipkg-native_0.99.154.bb b/packages/ipkg/ipkg-native_0.99.154.bb deleted file mode 100644 index f2deb33fba..0000000000 --- a/packages/ipkg/ipkg-native_0.99.154.bb +++ /dev/null @@ -1,3 +0,0 @@ -require ipkg_${PV}.bb -require ipkg-native.inc -PR = "r1" diff --git a/packages/ipkg/ipkg-native_0.99.159.bb b/packages/ipkg/ipkg-native_0.99.159.bb deleted file mode 100644 index f2deb33fba..0000000000 --- a/packages/ipkg/ipkg-native_0.99.159.bb +++ /dev/null @@ -1,3 +0,0 @@ -require ipkg_${PV}.bb -require ipkg-native.inc -PR = "r1" diff --git a/packages/ipkg/ipkg-native_0.99.163.bb b/packages/ipkg/ipkg-native_0.99.163.bb index bf060f89fe..13609c9037 100644 --- a/packages/ipkg/ipkg-native_0.99.163.bb +++ b/packages/ipkg/ipkg-native_0.99.163.bb @@ -2,9 +2,13 @@ S = "${WORKDIR}/ipkg-${PV}" #require ipkg_${PV}.bb require ipkg-native.inc -PR = "r1" +PR = "r2" inherit autotools pkgconfig native -SRC_URI = "http://www.handhelds.org/pub/packages/ipkg/ipkg-${PV}.tar.gz" +SRC_URI = "http://www.handhelds.org/pub/packages/ipkg/ipkg-${PV}.tar.gz \ + file://is-processing.patch;patch=1 \ + file://1-pkg-parse--Optimize-inefficient-parsing.patch;patch=1 \ + file://2-pkg-vec--Optimize-gross-inefficiency.patch;patch=1 \ + " diff --git a/packages/ipkg/ipkg_0.99.152.bb b/packages/ipkg/ipkg_0.99.152.bb deleted file mode 100644 index 0d10a29c3f..0000000000 --- a/packages/ipkg/ipkg_0.99.152.bb +++ /dev/null @@ -1,2 +0,0 @@ -require ipkg.inc -PR = "r3" diff --git a/packages/ipkg/ipkg_0.99.153.bb b/packages/ipkg/ipkg_0.99.153.bb deleted file mode 100644 index 5852b6afc4..0000000000 --- a/packages/ipkg/ipkg_0.99.153.bb +++ /dev/null @@ -1,8 +0,0 @@ -DEFAULT_PREFERENCE = "-1" - -require ipkg.inc - -PR = "r4" - -SRC_URI += "file://fix-bug1393.patch;patch=1" - diff --git a/packages/ipkg/ipkg_0.99.154.bb b/packages/ipkg/ipkg_0.99.154.bb deleted file mode 100644 index 20a1996658..0000000000 --- a/packages/ipkg/ipkg_0.99.154.bb +++ /dev/null @@ -1,2 +0,0 @@ -require ipkg.inc -PR = "r4" diff --git a/packages/ipkg/ipkg_0.99.155.bb b/packages/ipkg/ipkg_0.99.155.bb deleted file mode 100644 index e5ff6dc4c2..0000000000 --- a/packages/ipkg/ipkg_0.99.155.bb +++ /dev/null @@ -1,3 +0,0 @@ -require ipkg.inc -PR = "r2" -SRC_URI += "file://upgrade-message-garbage.patch;patch=1" diff --git a/packages/ipkg/ipkg_0.99.159.bb b/packages/ipkg/ipkg_0.99.159.bb deleted file mode 100644 index 8455050622..0000000000 --- a/packages/ipkg/ipkg_0.99.159.bb +++ /dev/null @@ -1,2 +0,0 @@ -require ipkg.inc -PR = "r1" diff --git a/packages/ipkg/ipkg_0.99.163.bb b/packages/ipkg/ipkg_0.99.163.bb index de3562d603..c5972a7c53 100644 --- a/packages/ipkg/ipkg_0.99.163.bb +++ b/packages/ipkg/ipkg_0.99.163.bb @@ -1,11 +1,14 @@ include ipkg.inc -PR = "r2" +PR = "r4" S = "${WORKDIR}/ipkg-${PV}" SRC_URI = "http://www.handhelds.org/pub/packages/ipkg/ipkg-${PV}.tar.gz \ file://terse.patch;patch=1 \ - file://is-processing.patch;patch=1" + file://is-processing.patch;patch=1 \ + file://1-pkg-parse--Optimize-inefficient-parsing.patch;patch=1 \ + file://2-pkg-vec--Optimize-gross-inefficiency.patch;patch=1 \ + " do_stage() { oe_libinstall -so libipkg ${STAGING_LIBDIR} |