diff options
Diffstat (limited to 'ipkg/ipkg-0.99.127/depends.patch')
-rw-r--r-- | ipkg/ipkg-0.99.127/depends.patch | 125 |
1 files changed, 0 insertions, 125 deletions
diff --git a/ipkg/ipkg-0.99.127/depends.patch b/ipkg/ipkg-0.99.127/depends.patch deleted file mode 100644 index f31ea8f7bc..0000000000 --- a/ipkg/ipkg-0.99.127/depends.patch +++ /dev/null @@ -1,125 +0,0 @@ -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); |