abuild: support for overriding apk binary
so we can do: APK=apk.static abuild ....
This commit is contained in:
parent
f4e9b5d3a9
commit
f795040b6b
29
abuild.in
29
abuild.in
|
@ -20,6 +20,7 @@ abuild_path=$(readlink -f $0)
|
||||||
BUILD_BASE="build-base"
|
BUILD_BASE="build-base"
|
||||||
SUDO=${SUDO:-"sudo"}
|
SUDO=${SUDO:-"sudo"}
|
||||||
FAKEROOT=${FAKEROOT:-"fakeroot"}
|
FAKEROOT=${FAKEROOT:-"fakeroot"}
|
||||||
|
APK=${APK:-apk}
|
||||||
|
|
||||||
# read config
|
# read config
|
||||||
ABUILD_CONF=${ABUILD_CONF:-"$sysconfdir/abuild.conf"}
|
ABUILD_CONF=${ABUILD_CONF:-"$sysconfdir/abuild.conf"}
|
||||||
|
@ -69,7 +70,7 @@ set_xterm_title() {
|
||||||
cleanup() {
|
cleanup() {
|
||||||
set_xterm_title ""
|
set_xterm_title ""
|
||||||
if [ -z "$install_after" ] && [ -n "$uninstall_after" ]; then
|
if [ -z "$install_after" ] && [ -n "$uninstall_after" ]; then
|
||||||
$SUDO apk del $uninstall_after
|
$SUDO $APK del $uninstall_after
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -87,7 +88,7 @@ sanitycheck() {
|
||||||
[ -z "${pkgname##* *}" ] && die "pkgname contains spaces"
|
[ -z "${pkgname##* *}" ] && die "pkgname contains spaces"
|
||||||
[ -z "$pkgver" ] && die "Missing pkgver in APKBUILD"
|
[ -z "$pkgver" ] && die "Missing pkgver in APKBUILD"
|
||||||
if [ "$pkgver" != "volatile" ] && [ -z "$nodeps" ]; then
|
if [ "$pkgver" != "volatile" ] && [ -z "$nodeps" ]; then
|
||||||
apk version --check -q "$pkgver" ||\
|
$APK version --check -q "$pkgver" ||\
|
||||||
die "$pkgver is not a valid version"
|
die "$pkgver is not a valid version"
|
||||||
fi
|
fi
|
||||||
[ -z "$pkgrel" ] && warning "Missing pkgrel in APKBUILD. Using pkgrel=0"
|
[ -z "$pkgrel" ] && warning "Missing pkgrel in APKBUILD. Using pkgrel=0"
|
||||||
|
@ -476,7 +477,7 @@ trace_apk_deps() {
|
||||||
done
|
done
|
||||||
# check apk db if not provided by a subpackage
|
# check apk db if not provided by a subpackage
|
||||||
if [ -z "$found" ]; then
|
if [ -z "$found" ]; then
|
||||||
found=$(apk info -q -W /lib/$i /usr/lib/$i)
|
found=$($APK info -q -W /lib/$i /usr/lib/$i)
|
||||||
fi
|
fi
|
||||||
if [ -z "$found" ]; then
|
if [ -z "$found" ]; then
|
||||||
error "Could not find dependency for $i"
|
error "Could not find dependency for $i"
|
||||||
|
@ -562,7 +563,7 @@ apkcache() {
|
||||||
if [ -f APKINDEX.tar.gz ]; then
|
if [ -f APKINDEX.tar.gz ]; then
|
||||||
oldindex="--index APKINDEX.tar.gz"
|
oldindex="--index APKINDEX.tar.gz"
|
||||||
fi
|
fi
|
||||||
apk index $oldindex --output APKINDEX.tar.gz.unsigned \
|
$APK index $oldindex --output APKINDEX.tar.gz.unsigned \
|
||||||
--description "$repo $(cd $startdir && git describe)" \
|
--description "$repo $(cd $startdir && git describe)" \
|
||||||
*.apk || exit 1
|
*.apk || exit 1
|
||||||
msg "Signing the index..."
|
msg "Signing the index..."
|
||||||
|
@ -768,7 +769,7 @@ deptrace() {
|
||||||
( depparse_aports
|
( depparse_aports
|
||||||
if [ -z "$upgrade" ]; then
|
if [ -z "$upgrade" ]; then
|
||||||
# list installed pkgs and prefix with 'i '
|
# list installed pkgs and prefix with 'i '
|
||||||
apk info -q | sort | sed 's/^/i /'
|
$APK info -q | sort | sed 's/^/i /'
|
||||||
fi
|
fi
|
||||||
) | awk -v pkgs="$deps" '
|
) | awk -v pkgs="$deps" '
|
||||||
|
|
||||||
|
@ -807,7 +808,7 @@ builddeps() {
|
||||||
subpackages_has ${i%[<>=]*} || deps="$deps $i"
|
subpackages_has ${i%[<>=]*} || deps="$deps $i"
|
||||||
done
|
done
|
||||||
|
|
||||||
installed_deps=$(apk info -e $deps)
|
installed_deps=$($APK info -e $deps)
|
||||||
# find which deps are missing
|
# find which deps are missing
|
||||||
for i in $deps; do
|
for i in $deps; do
|
||||||
if [ "${i#\!}" != "$i" ]; then
|
if [ "${i#\!}" != "$i" ]; then
|
||||||
|
@ -828,10 +829,10 @@ builddeps() {
|
||||||
if [ -n "$install_deps" ] && [ -z "$recursive" ]; then
|
if [ -n "$install_deps" ] && [ -z "$recursive" ]; then
|
||||||
# make a --simluate run first to detect missing deps
|
# make a --simluate run first to detect missing deps
|
||||||
# apk-tools --virtual is no goot at reporting those.
|
# apk-tools --virtual is no goot at reporting those.
|
||||||
$SUDO apk add --repository "$apkcache" \
|
$SUDO $APK add --repository "$apkcache" \
|
||||||
--wait 30 \
|
--wait 30 \
|
||||||
--simulate --quiet $deps || return 1
|
--simulate --quiet $deps || return 1
|
||||||
$SUDO apk add --repository "$apkcache" \
|
$SUDO $APK add --repository "$apkcache" \
|
||||||
--wait 30 \
|
--wait 30 \
|
||||||
--virtual .makedepends-$pkgname $deps \
|
--virtual .makedepends-$pkgname $deps \
|
||||||
&& return 0
|
&& return 0
|
||||||
|
@ -841,7 +842,7 @@ builddeps() {
|
||||||
|
|
||||||
# find dependencies that are installed but missing in repo.
|
# find dependencies that are installed but missing in repo.
|
||||||
for i in $deps; do
|
for i in $deps; do
|
||||||
local m=$(apk search --repository "$apkcache" ${i%[<>=]*})
|
local m=$($APK search --repository "$apkcache" ${i%[<>=]*})
|
||||||
if [ -z "$m" ]; then
|
if [ -z "$m" ]; then
|
||||||
missing="$missing $i"
|
missing="$missing $i"
|
||||||
fi
|
fi
|
||||||
|
@ -856,7 +857,7 @@ builddeps() {
|
||||||
cd "$dir" && $0 -k -r apkcache || return 1
|
cd "$dir" && $0 -k -r apkcache || return 1
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
$SUDO apk add -u --repository "$apkcache" \
|
$SUDO $APK add -u --repository "$apkcache" \
|
||||||
--wait 30 \
|
--wait 30 \
|
||||||
--virtual .makedepends-$pkgname $deps
|
--virtual .makedepends-$pkgname $deps
|
||||||
}
|
}
|
||||||
|
@ -963,24 +964,24 @@ post_add() {
|
||||||
die "$1 is not built by this APKBUILD"
|
die "$1 is not built by this APKBUILD"
|
||||||
fi
|
fi
|
||||||
# recursively install dependencies that are provided by this APKBUILD
|
# recursively install dependencies that are provided by this APKBUILD
|
||||||
deps=$(apk index "$pkgf" 2>/dev/null | awk -F: '$1=="D" { print $2 }')
|
deps=$($APK index "$pkgf" 2>/dev/null | awk -F: '$1=="D" { print $2 }')
|
||||||
for i in $deps; do
|
for i in $deps; do
|
||||||
if subpackages_has $i || [ "$i" = "$pkgname" ]; then
|
if subpackages_has $i || [ "$i" = "$pkgname" ]; then
|
||||||
post_add $i || return 1
|
post_add $i || return 1
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
$SUDO apk add --wait 30 -u "$pkgf" || die "Failed to install $1"
|
$SUDO $APK add --wait 30 -u "$pkgf" || die "Failed to install $1"
|
||||||
}
|
}
|
||||||
|
|
||||||
installdeps() {
|
installdeps() {
|
||||||
local deps i
|
local deps i
|
||||||
sudo apk add --wait 30 --repository "$apkcache" \
|
sudo $APK add --wait 30 --repository "$apkcache" \
|
||||||
--virtual .makedepends-$pkgname \
|
--virtual .makedepends-$pkgname \
|
||||||
$makedepends
|
$makedepends
|
||||||
}
|
}
|
||||||
|
|
||||||
uninstalldeps (){
|
uninstalldeps (){
|
||||||
sudo apk del .makedepends-$pkgname
|
sudo $APK del .makedepends-$pkgname
|
||||||
}
|
}
|
||||||
|
|
||||||
all() {
|
all() {
|
||||||
|
|
Loading…
Reference in New Issue