abuild: fix dep-scanning when sub and main pkg's arch differs

Force dependency scanning when main pkg has noarch but subpackage
overrides it. We need to save the arch setting set in split func for
later if it differs from main pkg's arch in a temp file because the
splitfunc runs in a subprocess.

fixes #4491
This commit is contained in:
Natanael Copa 2015-08-10 07:52:45 +00:00
parent 3020891009
commit b8b4929245
1 changed files with 7 additions and 1 deletions

View File

@ -690,6 +690,7 @@ pre_split() {
# the subpackages should not inherit those form main package
provides=""
install_if=""
apkbuild_arch="$arch"
}
prepare_subpackages() {
@ -796,6 +797,11 @@ prepare_metafiles() {
# parch="noarch"
# fi
# save arch incase subpackages set it different than main pkg
if [ "${apkbuild_arch:-$arch}" != "$arch" ]; then
echo "$arch" > "$controldir"/.arch
fi
echo "# Generated by $(basename $0) $program_version" >"$pkginfo"
if [ -n "$FAKEROOTKEY" ]; then
echo "# using $($FAKEROOT -v)" >> "$pkginfo"
@ -1115,7 +1121,7 @@ scan_shared_objects() {
local name="$1" controldir="$2" datadir="$3"
local opt= i=
if [ "$arch" = "noarch" ]; then
if [ "$arch" = "noarch" ] && ! [ -e "$controldir"/.arch ]; then
return 0
fi