diff --git a/scripts/bootstrap.sh b/scripts/bootstrap.sh index e18c88b58758b19511d29e267167911f46dd0c8a..1b596686ed000440dc5fac3ce4002a131ed12f68 100755 --- a/scripts/bootstrap.sh +++ b/scripts/bootstrap.sh @@ -91,9 +91,8 @@ CTARGET=$TARGET_ARCH BOOTSTRAP=nobase APKBUILD=$(apkbuildname build-base) abuild msg "Cross building base system" -# add implicit target prerequisite packages -apk info --quiet --installed --root "$CBUILDROOT" libgcc libstdc++ musl-dev || \ - ${SUDO_APK} --root "$CBUILDROOT" add --repository "$REPODEST/main" libgcc libstdc++ musl-dev +# Implicit dependencies for early targets +EXTRADEPENDS_TARGET="libgcc libstdc++ musl-dev" # ordered cross-build for PKG in fortify-headers linux-headers musl libc-dev pkgconf zlib \ @@ -108,18 +107,17 @@ for PKG in fortify-headers linux-headers musl libc-dev pkgconf zlib \ community/go libffi community/ghc \ $KERNEL_PKG ; do + EXTRADEPENDS_TARGET="$EXTRADEPENDS_TARGET" \ CHOST=$TARGET_ARCH BOOTSTRAP=bootimage APKBUILD=$(apkbuildname $PKG) abuild -r case "$PKG" in - fortify-headers | libc-dev | build-base) - # headers packages which are implicit but mandatory dependency - apk info --quiet --installed --root "$CBUILDROOT" $PKG || \ - ${SUDO_APK} --update --root "$CBUILDROOT" --repository "$REPODEST/main" add $PKG + fortify-headers | libc-dev) + # Additional implicit dependencies once built + EXTRADEPENDS_TARGET="$EXTRADEPENDS_TARGET $PKG" ;; - musl | gcc) - # target libraries rebuilt, force upgrade - [ "$(apk upgrade --root "$CBUILDROOT" --repository "$REPODEST/main" --available --simulate | wc -l)" -gt 1 ] && - ${SUDO_APK} upgrade --root "$CBUILDROOT" --repository "$REPODEST/main" --available + build-base) + # After build-base, that alone is sufficient dependency in the target + EXTRADEPENDS_TARGET="$PKG" ;; esac done