diff options
author | William Pitcock <nenolod@dereferenced.org> | 2018-02-21 15:41:41 +0000 |
---|---|---|
committer | William Pitcock <nenolod@dereferenced.org> | 2018-02-21 15:41:41 +0000 |
commit | 983a13457146f206b1097b17cf5321bc478221dd (patch) | |
tree | 17c924fab624334b757f585f6cbf4726f18ca600 /main/apk-tools | |
parent | 0ea445ac0106a6ff0a750ee46f86815a7c55fac4 (diff) | |
download | aports-983a13457146f206b1097b17cf5321bc478221dd.tar.bz2 aports-983a13457146f206b1097b17cf5321bc478221dd.tar.xz |
main/apk-tools: fix apk fetch with single-provider virtuals
Diffstat (limited to 'main/apk-tools')
-rw-r--r-- | main/apk-tools/0001-solver-allow-names-with-only-one-provider-to-be-auto.patch | 57 | ||||
-rw-r--r-- | main/apk-tools/APKBUILD | 6 |
2 files changed, 61 insertions, 2 deletions
diff --git a/main/apk-tools/0001-solver-allow-names-with-only-one-provider-to-be-auto.patch b/main/apk-tools/0001-solver-allow-names-with-only-one-provider-to-be-auto.patch new file mode 100644 index 0000000000..107676e93c --- /dev/null +++ b/main/apk-tools/0001-solver-allow-names-with-only-one-provider-to-be-auto.patch @@ -0,0 +1,57 @@ +From 0dcbd933c8d3d305395a99b7b1690a187ce5ec8c Mon Sep 17 00:00:00 2001 +From: William Pitcock <nenolod@dereferenced.org> +Date: Wed, 21 Feb 2018 15:35:53 +0000 +Subject: [PATCH] solver: allow names with only one provider to be autoselected + regardless of priority + +--- + src/solver.c | 5 +++-- + test/provides.repo | 9 ++++++++- + 2 files changed, 11 insertions(+), 3 deletions(-) + +diff --git a/src/solver.c b/src/solver.c +index 91e5958..d27a7a3 100644 +--- a/src/solver.c ++++ b/src/solver.c +@@ -671,11 +671,12 @@ static void select_package(struct apk_solver_state *ss, struct apk_name *name) + (!p->pkg->ss.iif_triggered || + !p->pkg->ss.tag_ok)) + continue; +- /* Virtual packages without provider_priority cannot be autoselected */ ++ /* Virtual packages without provider_priority cannot be autoselected, ++ * unless there is only one provider */ + if (p->version == &apk_null_blob && + p->pkg->name->auto_select_virtual == 0 && + p->pkg->name->ss.requirers == 0 && +- p->pkg->provider_priority == 0) ++ (p->pkg->provider_priority == 0 && name->providers->num > 1)) + continue; + if (compare_providers(ss, p, &chosen) > 0) + chosen = *p; +diff --git a/test/provides.repo b/test/provides.repo +index 58bd416..358151e 100644 +--- a/test/provides.repo ++++ b/test/provides.repo +@@ -82,7 +82,7 @@ P:conflicted-provider-b + V:0.1 + S:1 + I:1 +-p:conflicted-provider ++p:conflicted-provider conflicted-provider-2 + + C:Q1EyN5AdpAOBJWKMR89ppC66ccccj= + P:conflicted-dep +@@ -104,3 +104,10 @@ V:0.1 + S:1 + I:1 + p:self-provide ++ ++C:Q1EyN5AdpAOBJWKMR89ppC66eeeej= ++P:conflicted-dep-2 ++V:0.1 ++S:1 ++I:1 ++D:conflicted-provider-2 +-- +2.16.1 + diff --git a/main/apk-tools/APKBUILD b/main/apk-tools/APKBUILD index 84ead60f07..8ece4f9eef 100644 --- a/main/apk-tools/APKBUILD +++ b/main/apk-tools/APKBUILD @@ -1,7 +1,7 @@ # Maintainer: Natanael Copa <ncopa@alpinelinux.org> pkgname=apk-tools pkgver=2.9.1 -pkgrel=0 +pkgrel=1 pkgdesc="Alpine Package Keeper - package manager for alpine" subpackages="$pkgname-static" depends= @@ -13,6 +13,7 @@ if [ "$CBUILD" = "$CHOST" ]; then makedepends="$makedepends lua5.2-dev" fi source="http://dev.alpinelinux.org/archive/$pkgname/$pkgname-$pkgver.tar.xz + 0001-solver-allow-names-with-only-one-provider-to-be-auto.patch " url="https://git.alpinelinux.org/cgit/apk-tools/" @@ -82,4 +83,5 @@ luaapk() { mv "$pkgdir"/usr/lib "$subpkgdir"/usr/lib/ } -sha512sums="4ffb8d1716bbb94421b1cc4277beb47d369c429f4c3bf597d08949abb7586d30c4504edf2f775bea3b93614a280c12391b956ca8f914fb0ec27799a4a005a145 apk-tools-2.9.1.tar.xz" +sha512sums="4ffb8d1716bbb94421b1cc4277beb47d369c429f4c3bf597d08949abb7586d30c4504edf2f775bea3b93614a280c12391b956ca8f914fb0ec27799a4a005a145 apk-tools-2.9.1.tar.xz +5ca2d2f2646032ed8f9f86357e986b054045a80ddb944be6a540566ff7092f38591ec8dfc7ac06b9daededa95e86c0e892ead55f9e8907eb318aed76644f7f97 0001-solver-allow-names-with-only-one-provider-to-be-auto.patch" |