diff options
-rw-r--r-- | main/apk-tools/0001-lua-fix-compile-error.patch | 25 | ||||
-rw-r--r-- | main/apk-tools/0002-solver-fix-regression-from-calculate-branch-minimum-.patch | 102 | ||||
-rw-r--r-- | main/apk-tools/APKBUILD | 10 |
3 files changed, 3 insertions, 134 deletions
diff --git a/main/apk-tools/0001-lua-fix-compile-error.patch b/main/apk-tools/0001-lua-fix-compile-error.patch deleted file mode 100644 index 54059f1de..000000000 --- a/main/apk-tools/0001-lua-fix-compile-error.patch +++ /dev/null @@ -1,25 +0,0 @@ -From 00fd7b07f12a18615da1ad32b915787f72074dfa Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Timo=20Ter=C3=A4s?= <timo.teras@iki.fi> -Date: Tue, 17 Jan 2012 15:59:01 +0200 -Subject: [PATCH 1/2] lua: fix compile error - ---- - src/lua-apk.c | 2 +- - 1 files changed, 1 insertions(+), 1 deletions(-) - -diff --git a/src/lua-apk.c b/src/lua-apk.c -index 6fbd1cf..45488c2 100644 ---- a/src/lua-apk.c -+++ b/src/lua-apk.c -@@ -208,7 +208,7 @@ static int Papk_exists(lua_State *L) - apk_blob_t blob = APK_BLOB_STR(depstr); - apk_blob_pull_dep(&blob, db, &dep); - -- if (APK_BLOB_IS_NULL(blob) || b.len > 0) -+ if (APK_BLOB_IS_NULL(blob) || blob.len > 0) - goto ret_nil; - - name = dep.name; --- -1.7.7.3 - diff --git a/main/apk-tools/0002-solver-fix-regression-from-calculate-branch-minimum-.patch b/main/apk-tools/0002-solver-fix-regression-from-calculate-branch-minimum-.patch deleted file mode 100644 index f5975055e..000000000 --- a/main/apk-tools/0002-solver-fix-regression-from-calculate-branch-minimum-.patch +++ /dev/null @@ -1,102 +0,0 @@ -From 0f895650996a2565c0dc59d3c94f861145b42c05 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Timo=20Ter=C3=A4s?= <timo.teras@iki.fi> -Date: Fri, 20 Jan 2012 10:39:00 +0200 -Subject: [PATCH 2/2] solver: fix regression from "calculate branch minimum - penalty early" - -Forgot to reset per-name penalty when it got locked by apply_decision. -This also fine tunes compare_package_preference() to always prefer -packages specified on command line speeding up calculation certain -complicated solutions. ---- - src/solver.c | 28 +++++++++++++++++++++------- - test/error2.expect | 3 +-- - 2 files changed, 22 insertions(+), 9 deletions(-) - -diff --git a/src/solver.c b/src/solver.c -index 76edeba..ba98ca6 100644 ---- a/src/solver.c -+++ b/src/solver.c -@@ -325,6 +325,12 @@ static int compare_package_preference(unsigned short solver_flags, - struct apk_package *pkgA, - struct apk_package *pkgB) - { -+ /* specified on command line directly */ -+ if (pkgA->filename && !pkgB->filename) -+ return 1; -+ if (pkgB->filename && !pkgA->filename) -+ return -1; -+ - if (solver_flags & APK_SOLVERF_PREFER_TAG) { - /* preferred repository pinning */ - if ((pkgA->repos & preferred_repos) && !(pkgB->repos & preferred_repos)) -@@ -333,11 +339,11 @@ static int compare_package_preference(unsigned short solver_flags, - return -1; - } else { - /* preferred repository pinning */ -- if ((pkgA->ipkg || pkgA->filename || (pkgA->repos & preferred_repos)) && -- !(pkgB->ipkg || pkgB->filename || (pkgB->repos & preferred_repos))) -+ if ((pkgA->ipkg || (pkgA->repos & preferred_repos)) && -+ !(pkgB->ipkg || (pkgB->repos & preferred_repos))) - return 1; -- if ((pkgB->ipkg || pkgA->filename || (pkgB->repos & preferred_repos)) && -- !(pkgA->ipkg || pkgB->filename || (pkgA->repos & preferred_repos))) -+ if ((pkgB->ipkg || (pkgB->repos & preferred_repos)) && -+ !(pkgA->ipkg || (pkgA->repos & preferred_repos))) - return -1; - } - -@@ -504,9 +510,6 @@ static int update_name_state(struct apk_solver_state *ss, struct apk_name *name) - dbg_printf("%s: deleted from unsolved: %d requirers, %d install_ifs, %d options, %d skipped\n", - name->name, ns->requirers, ns->install_ifs, options, skipped_options); - } else { -- dbg_printf("%s: added to unsolved: %d requirers, %d install_ifs, %d options (next topology %d)\n", -- name->name, ns->requirers, ns->install_ifs, options, -- best_topology); - if (!list_hashed(&ns->unsolved_list)) - list_add(&ns->unsolved_list, &ss->unsolved_list_head); - if (!ns->locked) { -@@ -517,6 +520,11 @@ static int update_name_state(struct apk_solver_state *ss, struct apk_name *name) - .unsatisfiable = preferred_ps->conflicts, - .preference = get_preference(ss, preferred_pkg, FALSE), - }; -+ dbg_printf("%s: min.penalty for name {%d, %d} from pkg " PKG_VER_FMT "\n", -+ name->name, -+ ns->minimum_penalty.unsatisfiable, -+ ns->minimum_penalty.preference, -+ PKG_VER_PRINTF(preferred_pkg)); - } else { - ns->minimum_penalty = (struct apk_score) { - .unsatisfiable = ns->requirers, -@@ -525,6 +533,9 @@ static int update_name_state(struct apk_solver_state *ss, struct apk_name *name) - } - addscore(&ss->minimum_penalty, &ns->minimum_penalty); - } -+ dbg_printf("%s: added to unsolved: %d requirers, %d install_ifs, %d options (next topology %d)\n", -+ name->name, ns->requirers, ns->install_ifs, options, -+ best_topology); - } - - return options + skipped_options; -@@ -568,6 +579,9 @@ static void apply_decision(struct apk_solver_state *ss, - (ps->flags & APK_PKGSTF_INSTALL) ? "INSTALL" : "NO_INSTALL"); - - if (ps->flags & APK_PKGSTF_INSTALL) { -+ subscore(&ss->minimum_penalty, &ns->minimum_penalty); -+ ns->minimum_penalty = (struct apk_score) { 0, 0 }; -+ - ss->assigned_names++; - ss->score.unsatisfiable += ps->conflicts; - ss->score.preference += get_preference(ss, pkg, FALSE); -diff --git a/test/error2.expect b/test/error2.expect -index 65d0093..7faac5e 100644 ---- a/test/error2.expect -+++ b/test/error2.expect -@@ -1,3 +1,2 @@ --2 unsatisfiable dependencies (solution with 4 names) -+1 unsatisfiable dependencies (solution with 4 names) - world: d<1.5 --b-1: d<2.0 --- -1.7.7.3 - diff --git a/main/apk-tools/APKBUILD b/main/apk-tools/APKBUILD index fc00bdb28..4312ccbfb 100644 --- a/main/apk-tools/APKBUILD +++ b/main/apk-tools/APKBUILD @@ -1,14 +1,12 @@ # Maintainer: Natanael Copa <ncopa@alpinelinux.org> pkgname=apk-tools -pkgver=2.2.3 -pkgrel=1 +pkgver=2.2.4 +pkgrel=0 pkgdesc="Alpine Package Keeper - package manager for alpine" subpackages="$pkgname-static lua-apk:luaapk" depends= makedepends="zlib-dev openssl-dev lua-dev" source="http://git.alpinelinux.org/cgit/$pkgname/snapshot/$pkgname-$pkgver.tar.bz2 - 0001-lua-fix-compile-error.patch - 0002-solver-fix-regression-from-calculate-branch-minimum-.patch " url="http://git.alpinelinux.org/cgit/apk-tools/" @@ -56,6 +54,4 @@ luaapk() { mv "$pkgdir"/usr/lib "$subpkgdir"/usr/lib/ } -md5sums="31dcb57491d08ea69f0d041aad94e865 apk-tools-2.2.3.tar.bz2 -752832872f52178f76b596e8a33f5918 0001-lua-fix-compile-error.patch -b527744735a2e74e3772ca51b2ef7699 0002-solver-fix-regression-from-calculate-branch-minimum-.patch" +md5sums="62dcd3a18f8018d72146b6725cee338a apk-tools-2.2.4.tar.bz2" |