diff --git a/build-package.sh b/build-package.sh index f739d5b82..c7aabc91d 100755 --- a/build-package.sh +++ b/build-package.sh @@ -432,8 +432,14 @@ termux_step_handle_buildarch() { termux_extract_dep_info() { package=$1 ( + # Reset TERMUX_PKG_PLATFORM_INDEPENDENT and TERMUX_PKG_REVISION since these aren't + # mandatory in a build.sh. Otherwise these will equal the main package's values for + # deps that should have the default values + TERMUX_PKG_PLATFORM_INDEPENDENT="" + TERMUX_PKG_REVISION="0" + source $package/build.sh - if [ "$TERMUX_PKG_PLATFORM_INDEPENDENT" = "yes" ]; then + if [ "$TERMUX_PKG_PLATFORM_INDEPENDENT" = yes ]; then TERMUX_ARCH=all fi if [ ! "$TERMUX_PKG_REVISION" = 0 ]; then @@ -448,14 +454,15 @@ termux_install_dep_deb() { local package_arch=$2 local version=$3 local deb_file=${package}_${version}_${package_arch}.deb + # TODO: download InRelease, Packages files and check signature and hash ( cd ${TERMUX_COMMON_CACHEDIR}-${package_arch} # TODO: allow for specifying several repos in TERMUX_REPO_URL curl --fail -LO $TERMUX_REPO_URL/binary-${package_arch}/${deb_file} 2>/dev/null \ - && echo "Extracting $package..." && ar x ${deb_file} data.tar.xz \ - && tar xf data.tar.xz --no-overwrite-dir -C / - ) || ( echo "Download of $package from $TERMUX_REPO_URL failed, building instead" \ - && ./build-package.sh -a $TERMUX_ARCH -s "$package" ) + && if [ ! "$TERMUX_QUIET_BUILD" = true ]; then echo "Extracting $package..."; fi \ + && ar x ${deb_file} data.tar.xz && tar xf data.tar.xz --no-overwrite-dir -C / + # TODO: this implementation is buggy if the `ar x` or `tar xf + ) } # Source the package build script and start building. No to be overridden by packages.