diff options
Diffstat (limited to 'ipkg/ipkg-0.99.127')
-rw-r--r-- | ipkg/ipkg-0.99.127/depends.patch | 125 | ||||
-rw-r--r-- | ipkg/ipkg-0.99.127/uninclude-replace.patch | 10 |
2 files changed, 135 insertions, 0 deletions
diff --git a/ipkg/ipkg-0.99.127/depends.patch b/ipkg/ipkg-0.99.127/depends.patch index e69de29bb2..f31ea8f7bc 100644 --- a/ipkg/ipkg-0.99.127/depends.patch +++ b/ipkg/ipkg-0.99.127/depends.patch @@ -0,0 +1,125 @@ +Index: pkg_depends.c +=================================================================== +RCS file: /cvs/familiar/dist/ipkg/C/pkg_depends.c,v +retrieving revision 1.60 +diff -u -r1.60 pkg_depends.c +--- C/pkg_depends.c 10 Mar 2004 21:27:36 -0000 1.60 ++++ C/pkg_depends.c 5 Aug 2004 19:54:40 -0000 +@@ -36,7 +36,7 @@ + static int pkg_installed_and_constraint_satisfied(pkg_t *pkg, void *cdata) + { + depend_t *depend = (depend_t *)cdata; +- if (pkg->state_status == SS_INSTALLED && version_constraints_satisfied(depend, pkg)) ++ if ((pkg->state_status == SS_INSTALLED || pkg->state_status == SS_UNPACKED) && version_constraints_satisfied(depend, pkg)) + return 1; + else + return 0; +@@ -136,13 +136,26 @@ + pkg_scout, + tmp_vec, + &newstuff); +- if (rc == 0 && newstuff == NULL) { +- /* mark this one for installation */ +- ipkg_message(conf, IPKG_NOTICE, "Adding satisfier for greedy dependence: %s\n", pkg_scout->name); +- pkg_vec_insert(unsatisfied, pkg_scout); ++ if (newstuff == NULL) { ++ int i; ++ int ok = 1; ++ for (i = 0; i < rc; i++) { ++ pkg_t *p = tmp_vec->pkgs[i]; ++ if (p->state_want == SW_INSTALL) ++ continue; ++ ipkg_message(conf, IPKG_DEBUG, "not installing %s due to requirement for %s\n", pkg_scout->name, p->name); ++ ok = 0; ++ break; ++ } ++ pkg_vec_free (tmp_vec); ++ if (ok) { ++ /* mark this one for installation */ ++ ipkg_message(conf, IPKG_NOTICE, "Adding satisfier for greedy dependence: %s\n", pkg_scout->name); ++ pkg_vec_insert(unsatisfied, pkg_scout); ++ } + } else { +- if (newstuff) +- free (newstuff); ++ ipkg_message(conf, IPKG_DEBUG, "not installing %s due to broken depends %s\n", pkg_scout->name, newstuff); ++ free (newstuff); + } + } + } +@@ -160,7 +173,7 @@ + pkg_t *satisfying_pkg = + pkg_hash_fetch_best_installation_candidate(conf, satisfying_apkg, + pkg_installed_and_constraint_satisfied, +- dependence_to_satisfy); ++ dependence_to_satisfy, 1); + ipkg_message(conf, IPKG_DEBUG, "%s:%d: satisfying_pkg=%p\n", __FILE__, __LINE__, satisfying_pkg); + if (satisfying_pkg != NULL) { + found = 1; +@@ -178,7 +191,7 @@ + pkg_t *satisfying_pkg = + pkg_hash_fetch_best_installation_candidate(conf, satisfying_apkg, + pkg_constraint_satisfied, +- dependence_to_satisfy); ++ dependence_to_satisfy, 1); + + /* user request overrides package recommendation */ + if (satisfying_pkg != NULL +Index: pkg_hash.c +=================================================================== +RCS file: /cvs/familiar/dist/ipkg/C/pkg_hash.c,v +retrieving revision 1.65 +diff -u -r1.65 pkg_hash.c +--- C/pkg_hash.c 17 Mar 2004 21:17:37 -0000 1.65 ++++ C/pkg_hash.c 5 Aug 2004 19:54:41 -0000 +@@ -113,7 +113,7 @@ + + + pkg_t *pkg_hash_fetch_best_installation_candidate(ipkg_conf_t *conf, abstract_pkg_t *apkg, +- int (*constraint_fcn)(pkg_t *pkg, void *cdata), void *cdata) ++ int (*constraint_fcn)(pkg_t *pkg, void *cdata), void *cdata, int quiet) + { + int i; + int nprovides = 0; +@@ -218,7 +218,7 @@ + } + } + +- if (!held_pkg && !latest_installed_parent && matching_apkgs->len > 1) { ++ if (!held_pkg && !latest_installed_parent && matching_apkgs->len > 1 && !quiet) { + ipkg_message(conf, IPKG_ERROR, "Package=%s, %d matching providers\n", + apkg->name, matching_apkgs->len); + if (conf->verbosity > 1) { +@@ -240,7 +240,6 @@ + } + } + +- done: + nmatching = matching_apkgs->len; + + pkg_vec_free(matching_pkgs); +@@ -284,7 +283,7 @@ + if (!(apkg = abstract_pkg_fetch_by_name(hash, name))) + return NULL; + +- return pkg_hash_fetch_best_installation_candidate(conf, apkg, pkg_name_constraint_fcn, apkg->name); ++ return pkg_hash_fetch_best_installation_candidate(conf, apkg, pkg_name_constraint_fcn, apkg->name, 0); + } + + +Index: pkg_hash.h +=================================================================== +RCS file: /cvs/familiar/dist/ipkg/C/pkg_hash.h,v +retrieving revision 1.19 +diff -u -r1.19 pkg_hash.h +--- C/pkg_hash.h 10 Apr 2003 21:43:51 -0000 1.19 ++++ C/pkg_hash.h 5 Aug 2004 19:54:41 -0000 +@@ -43,7 +43,7 @@ + const char * version); + abstract_pkg_vec_t *pkg_hash_fetch_all_installation_candidates(hash_table_t *hash, const char *name); + pkg_t *pkg_hash_fetch_best_installation_candidate(ipkg_conf_t *conf, abstract_pkg_t *apkg, +- int (*constraint_fcn)(pkg_t *pkg, void *data), void *cdata); ++ int (*constraint_fcn)(pkg_t *pkg, void *data), void *cdata, int quiet); + pkg_t *pkg_hash_fetch_best_installation_candidate_by_name(ipkg_conf_t *conf, const char *name); + pkg_t *pkg_hash_fetch_installed_by_name(hash_table_t *hash, + const char *pkg_name); diff --git a/ipkg/ipkg-0.99.127/uninclude-replace.patch b/ipkg/ipkg-0.99.127/uninclude-replace.patch index e69de29bb2..a3ed2201fd 100644 --- a/ipkg/ipkg-0.99.127/uninclude-replace.patch +++ b/ipkg/ipkg-0.99.127/uninclude-replace.patch @@ -0,0 +1,10 @@ +--- C/includes.h 2003-03-28 19:36:22.000000000 +0000 ++++ C/includes.h 2004-07-28 03:41:11.000000000 +0100 +@@ -48,6 +48,6 @@ + # include <unistd.h> + #endif + +-#include "replace/replace.h" ++//#include "replace/replace.h" + + #endif |