summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNatanael Copa <ncopa@alpinelinux.org>2015-06-11 11:56:04 +0000
committerNatanael Copa <ncopa@alpinelinux.org>2015-06-11 11:56:04 +0000
commit0e58eeff8089c8c148c20a5e239d618095ec434f (patch)
treec1be051b87c5d61cf3e567f7bbc5c516cfc3e27d
parent563409ed82164663e08835ed07584337ce601773 (diff)
downloadabuild-0e58eeff8089c8c148c20a5e239d618095ec434f.tar.bz2
abuild-0e58eeff8089c8c148c20a5e239d618095ec434f.tar.xz
abuild: fix provides and install_if in subpackages
we need to clear provides set in global scope before splitting the subpackages so the subpackage does not inherit main packages' provides. But at the same time, we must not clear the provides/install_if set in the splitfunction itself.
-rw-r--r--abuild.in16
1 files changed, 10 insertions, 6 deletions
diff --git a/abuild.in b/abuild.in
index cb069f2..dc72d79 100644
--- a/abuild.in
+++ b/abuild.in
@@ -683,6 +683,15 @@ postcheck() {
return 0
}
+pre_split() {
+ if [ -z "$subpkgname" ]; then
+ return 0
+ fi
+ # the subpackages should not inherit those form main package
+ provides=""
+ install_if=""
+}
+
prepare_subpackages() {
local i
cd "$startdir"
@@ -692,7 +701,7 @@ prepare_subpackages() {
msg "Running split function $func..."
local dir="$pkgbasedir/${i%:*}" name="${i%:*}"
( subpkgdir="$dir" subpkgname="$name" \
- $0 $func prepare_package \
+ $0 pre_split $func prepare_package \
&& postcheck "$dir" "$name" ) || return 1
done
postcheck "$pkgdir" "$pkgname" || return 1
@@ -947,11 +956,6 @@ archcheck() {
prepare_package() {
msg "Preparing ${subpkgname:+sub}package ${subpkgname:-$pkgname}..."
- if [ -n "$subpkgname" ]; then
- # the subpackages should not inherit those
- provides=""
- install_if=""
- fi
stripbin
prepare_metafiles \
&& prepare_trace_rpaths \