abuild: install dependencies from other repos
This commit is contained in:
parent
9a398eac0c
commit
baa554477e
32
abuild.in
32
abuild.in
|
@ -36,6 +36,10 @@ export SOURCE_DATE_EPOCH
|
||||||
|
|
||||||
umask 022
|
umask 022
|
||||||
|
|
||||||
|
shell_escape() {
|
||||||
|
echo \'${1/\'/\'\\\'\'}\'
|
||||||
|
}
|
||||||
|
|
||||||
# run optional log command for remote logging
|
# run optional log command for remote logging
|
||||||
logcmd() {
|
logcmd() {
|
||||||
${ABUILD_LOG_CMD:-true} "$@"
|
${ABUILD_LOG_CMD:-true} "$@"
|
||||||
|
@ -2003,6 +2007,19 @@ get_missing_deps() {
|
||||||
done
|
done
|
||||||
}
|
}
|
||||||
|
|
||||||
|
apk_add_makedeps() {
|
||||||
|
local prefix=$1
|
||||||
|
shift
|
||||||
|
|
||||||
|
local repo_args="--repository $(shell_escape "$REPODEST/$repo")"
|
||||||
|
[ -s "$repo_template" ] && repo_args=$(while read r; do
|
||||||
|
echo --repository "$(shell_escape "$REPODEST/${r##*/}")"
|
||||||
|
done) < "$repo_template"
|
||||||
|
|
||||||
|
eval $SUDO_APK add $apk_opt_wait $repo_args \
|
||||||
|
--virtual .${prefix}depends-$pkgname "\$@" || return
|
||||||
|
}
|
||||||
|
|
||||||
# build and install dependencies
|
# build and install dependencies
|
||||||
builddeps() {
|
builddeps() {
|
||||||
local pkg= i= BUILD_BASE=
|
local pkg= i= BUILD_BASE=
|
||||||
|
@ -2103,7 +2120,6 @@ rootbld() {
|
||||||
mkusers
|
mkusers
|
||||||
|
|
||||||
BUILD_ROOT=$(mktemp -d /var/tmp/abuild.XXXXXXXXXX)
|
BUILD_ROOT=$(mktemp -d /var/tmp/abuild.XXXXXXXXXX)
|
||||||
local aportsgit=${APORTSDIR:-${startdir}}
|
|
||||||
|
|
||||||
mkdir -p "$BUILD_ROOT/proc" "$BUILD_ROOT/etc/apk/keys" \
|
mkdir -p "$BUILD_ROOT/proc" "$BUILD_ROOT/etc/apk/keys" \
|
||||||
"$BUILD_ROOT/$HOME/.abuild" "$BUILD_ROOT/$aportsgit" \
|
"$BUILD_ROOT/$HOME/.abuild" "$BUILD_ROOT/$aportsgit" \
|
||||||
|
@ -2125,7 +2141,6 @@ rootbld() {
|
||||||
buildhost=${gitref/./-}
|
buildhost=${gitref/./-}
|
||||||
fi
|
fi
|
||||||
|
|
||||||
local repo_template=$aportsgit/$repo/.rootbld-repositories
|
|
||||||
[ -s "$repo_template" ] || die "rootbld: $repo_template does not exist"
|
[ -s "$repo_template" ] || die "rootbld: $repo_template does not exist"
|
||||||
(
|
(
|
||||||
for key in $(git config --list --name-only); do
|
for key in $(git config --list --name-only); do
|
||||||
|
@ -2283,14 +2298,12 @@ deps() {
|
||||||
|
|
||||||
local _quiet="$1"
|
local _quiet="$1"
|
||||||
[ -z "$_quiet" ] && msg "Installing for build:$builddeps"
|
[ -z "$_quiet" ] && msg "Installing for build:$builddeps"
|
||||||
$SUDO_APK add $_quiet $apk_opt_wait --repository "$REPODEST/$repo" \
|
apk_add_makedeps make $_quiet $builddeps || return 1
|
||||||
--virtual .makedepends-$pkgname \
|
|
||||||
$builddeps \
|
|
||||||
|| return 1
|
|
||||||
if [ -n "$CBUILDROOT" ]; then
|
if [ -n "$CBUILDROOT" ]; then
|
||||||
[ -z "$_quiet" ] && msg "Installing for host:$hostdeps"
|
[ -z "$_quiet" ] && msg "Installing for host:$hostdeps"
|
||||||
$SUDO_APK add $_quiet --root "$CBUILDROOT" --arch "$CTARGET_ARCH" --repository "$REPODEST/$repo" $apk_opt_wait \
|
apk_add_makedeps host $_quiet --no-scripts \
|
||||||
--no-scripts --virtual .hostdepends-$pkgname $hostdeps || return 1
|
--root "$CBUILDROOT" --arch "$CTARGET_ARCH" $hostdeps \
|
||||||
|
|| return 1
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2477,6 +2490,9 @@ pkgbasedir=${pkgbasedir:-"$startdir/pkg"}
|
||||||
repo=${startdir%/*}
|
repo=${startdir%/*}
|
||||||
repo=${repo##*/}
|
repo=${repo##*/}
|
||||||
|
|
||||||
|
aportsgit=${APORTSDIR:-${startdir}}
|
||||||
|
repo_template=$aportsgit/$repo/.rootbld-repositories
|
||||||
|
|
||||||
SRCDEST=${SRCDEST:-$startdir}
|
SRCDEST=${SRCDEST:-$startdir}
|
||||||
|
|
||||||
BUILD_ROOT=
|
BUILD_ROOT=
|
||||||
|
|
Loading…
Reference in New Issue