From 6d0883d177f363607bc8d8dd3689fadbdd45bf6b Mon Sep 17 00:00:00 2001 From: Henrik Grimler Date: Fri, 14 May 2021 11:58:09 +0200 Subject: [PATCH] termux_download_deb: add workaround for download of arch all pkgs Aptly mixes the all debs into the folders for the other arches, unless the all arch is explicitly added. This workaround tries to find the package in the aarch64 Packages file if the all Packages file is not found. --- scripts/build/termux_download_deb.sh | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/scripts/build/termux_download_deb.sh b/scripts/build/termux_download_deb.sh index 183a0dc69..a4e29df12 100755 --- a/scripts/build/termux_download_deb.sh +++ b/scripts/build/termux_download_deb.sh @@ -14,7 +14,21 @@ termux_download_deb() { for idx in $(seq ${#TERMUX_REPO_URL[@]}); do local TERMUX_REPO_NAME=$(echo ${TERMUX_REPO_URL[$idx-1]} | sed -e 's%https://%%g' -e 's%http://%%g' -e 's%/%-%g') local PACKAGE_FILE_PATH="${TERMUX_REPO_NAME}-${TERMUX_REPO_DISTRIBUTION[$idx-1]}-${TERMUX_REPO_COMPONENT[$idx-1]}-Packages" - if [ -f "${TERMUX_COMMON_CACHEDIR}-${PACKAGE_ARCH}/${PACKAGE_FILE_PATH}" ]; then + if [ ! -f "${TERMUX_COMMON_CACHEDIR}-${PACKAGE_ARCH}/${PACKAGE_FILE_PATH}" ] && \ + [ -f "${TERMUX_COMMON_CACHEDIR}-aarch64/${PACKAGE_FILE_PATH}" ]; then + # Packages file for $PACKAGE_ARCH did not + # exist. Could be an aptly mirror where the + # all arch is mixed into the other arches, + # check for package in aarch64 Packages + # instead. + read -d "\n" PKG_PATH PKG_HASH <<<$(./scripts/get_hash_from_file.py "${TERMUX_COMMON_CACHEDIR}-aarch64/$PACKAGE_FILE_PATH" $PACKAGE $VERSION) + if [ -n "$PKG_HASH" ]; then + if [ ! "$TERMUX_QUIET_BUILD" = true ]; then + echo "Found $PACKAGE in ${TERMUX_REPO_URL[$idx-1]}/dists/${TERMUX_REPO_DISTRIBUTION[$idx-1]}" + fi + break + fi + elif [ -f "${TERMUX_COMMON_CACHEDIR}-${PACKAGE_ARCH}/${PACKAGE_FILE_PATH}" ]; then read -d "\n" PKG_PATH PKG_HASH <<<$(./scripts/get_hash_from_file.py "${TERMUX_COMMON_CACHEDIR}-${PACKAGE_ARCH}/$PACKAGE_FILE_PATH" $PACKAGE $VERSION) if [ -n "$PKG_HASH" ]; then if [ ! "$TERMUX_QUIET_BUILD" = true ]; then