diff options
author | Natanael Copa <ncopa@alpinelinux.org> | 2019-02-22 14:42:47 +0000 |
---|---|---|
committer | Natanael Copa <ncopa@alpinelinux.org> | 2019-02-22 14:42:47 +0000 |
commit | 715b4a332048238d5f4784bdaa8f128859e755a0 (patch) | |
tree | beec0b4b92aab5e9eba516be4139794e463e26a7 /main/abuild | |
parent | 066c79a8439cbfddb94a4ff6158a443926af22b0 (diff) | |
download | aports-715b4a332048238d5f4784bdaa8f128859e755a0.tar.bz2 aports-715b4a332048238d5f4784bdaa8f128859e755a0.tar.xz |
main/abuild: backport support for pcprefix
ref #9959
Diffstat (limited to 'main/abuild')
-rw-r--r-- | main/abuild/0001-abuild-add-support-for-pkg-config-prefix-pcprefix.patch | 69 | ||||
-rw-r--r-- | main/abuild/APKBUILD | 6 |
2 files changed, 73 insertions, 2 deletions
diff --git a/main/abuild/0001-abuild-add-support-for-pkg-config-prefix-pcprefix.patch b/main/abuild/0001-abuild-add-support-for-pkg-config-prefix-pcprefix.patch new file mode 100644 index 0000000000..f043421bca --- /dev/null +++ b/main/abuild/0001-abuild-add-support-for-pkg-config-prefix-pcprefix.patch @@ -0,0 +1,69 @@ +From 376ccc5bd695e792768a679409fbb428defe0770 Mon Sep 17 00:00:00 2001 +From: Natanael Copa <ncopa@alpinelinux.org> +Date: Fri, 22 Feb 2019 13:57:08 +0000 +Subject: [PATCH] abuild: add support for pkg-config prefix pcprefix + +Fix issue when two -dev packages provides same pkg-config wil but with +different versions. For example libressl-dev and openssl-dev both ships +libssl.pc and libcrypto.pc, which resulted in automatic provides of +pc:libssl and pc:libcrypto. + +apk would end up picking libressl-dev over openssl-dev for packages that +had automatic pc:libssl depends (for example libssl2-dev), when +openssl-dev was the one that was used during build. + +To fix this we add support for a pcprefix so we can set +pcprefix="libressl:" in libressl APKBUILD which makes libressl-dev +provide pc:libressl:libssl. This is similar to what we do with +sonameprefix. + +We do not yet automatically detect when the prefixed variant should be +used so for now we will have to explicitly add libressl-dev. + +ref #9959 +--- + abuild.in | 14 ++++++++++++-- + 1 file changed, 12 insertions(+), 2 deletions(-) + +diff --git a/abuild.in b/abuild.in +index cd3383b..d03e35f 100644 +--- a/abuild.in ++++ b/abuild.in +@@ -1067,7 +1067,7 @@ prepare_pkgconfig_provides() { + local f=${i##*/} + local v=$(PKG_CONFIG_PATH="$dir"/usr/lib/pkgconfig PKG_CONFIG_MAXIMUM_TRAVERSE_DEPTH=1 pkg-config \ + --modversion ${f%.pc}) +- echo "${f%.pc}=${v:-0}" >> "$controldir"/.provides-pc ++ echo "$pcprefix${f%.pc}=${v:-0}" >> "$controldir"/.provides-pc + done + } + +@@ -1175,6 +1175,11 @@ subpkg_provides_so() { + grep -q -w "^$1" "$pkgbasedir"/.control.*/.provides-so 2>/dev/null + } + ++subpkg_provides_prefixed_pc() { ++ [ -n "$pcprefix" ] && grep -q -w "^$pcprefix$1" \ ++ "$pkgbasedir"/.control.*/.provides-pc 2>/dev/null ++} ++ + subpkg_provides_pc() { + grep -q -w "^${1%%[<>=]*}" "$pkgbasedir"/.control.*/.provides-pc \ + 2>/dev/null +@@ -1243,7 +1248,12 @@ trace_apk_deps() { + + # pkg-config depends + for i in $(sort -u "$dir"/.needs-pc 2>/dev/null); do +- if subpkg_provides_pc "$i" \ ++ # first check if its provided by same apkbuild ++ grep -q -w "^$pcprefix$i" "$dir"/.provides-pc 2>/dev/null && continue ++ ++ if subpkg_provides_prefixed_pc "$i"; then ++ autodeps="$autodeps pc:$pcprefix$i" ++ elif subpkg_provides_pc "$i" \ + || $APK $apkroot info --quiet --installed "pc:$i"; then + local provider=$(apk $apkroot search --quiet "pc:$i") + if list_has "$provider" $depends_dev; then +-- +2.20.1 + diff --git a/main/abuild/APKBUILD b/main/abuild/APKBUILD index 173e51b9af..b50e6a9df6 100644 --- a/main/abuild/APKBUILD +++ b/main/abuild/APKBUILD @@ -2,7 +2,7 @@ pkgname=abuild pkgver=3.3.0 _ver=${pkgver%_git*} -pkgrel=0 +pkgrel=1 pkgdesc="Script to build Alpine Packages" url="https://git.alpinelinux.org/cgit/abuild/" arch="all" @@ -21,6 +21,7 @@ subpackages="apkbuild-cpan:cpan:noarch apkbuild-gem-resolver:gems:noarch options="suid !check" pkggroups="abuild" source="https://dev.alpinelinux.org/archive/abuild/abuild-$_ver.tar.xz + 0001-abuild-add-support-for-pkg-config-prefix-pcprefix.patch " builddir="$srcdir/$pkgname-$_ver" @@ -68,4 +69,5 @@ _rootbld() { mkdir -p "$subpkgdir" } -sha512sums="c109a63107a0816117d781c1d3e664dd8d36648b0dc46a9e61d720c9813d50134cd8db4b282a8d27e546b5bd544296088c6d1b6996b230304d5db009f4ba4d52 abuild-3.3.0.tar.xz" +sha512sums="c109a63107a0816117d781c1d3e664dd8d36648b0dc46a9e61d720c9813d50134cd8db4b282a8d27e546b5bd544296088c6d1b6996b230304d5db009f4ba4d52 abuild-3.3.0.tar.xz +fc33c946b969b6f862c85582f7ec63cea2fa47d1d13dd10374c7376f297926bea2e0864509235b1c7118d6dc759ca5cfc6487612877f97568f9294e6c67fb86c 0001-abuild-add-support-for-pkg-config-prefix-pcprefix.patch" |