From e6239bb81ca475a5420903531a36a4d4eaaca2d7 Mon Sep 17 00:00:00 2001 From: Henrik Grimler Date: Fri, 3 Sep 2021 17:56:57 +0200 Subject: [PATCH] build-package: delete old $PREFIX ealier in build Currently there is a problem building packages that use *-config scripts (for example gnupg), we are creating a /bin/sh->/data/data/com.termux/files/usr/bin/sh symlink so that the shebang for the scripts can be interpreted, but after ecd214881a ("build-package: add new arg -c for "continue build"") the symlink was deleted in termux_step_get_dependencies. --- scripts/build/termux_get_repo_files.sh | 6 ------ .../build/termux_step_setup_build_folders.sh | 20 +++++++++++++++---- 2 files changed, 16 insertions(+), 10 deletions(-) diff --git a/scripts/build/termux_get_repo_files.sh b/scripts/build/termux_get_repo_files.sh index deceacc21..8386acf43 100644 --- a/scripts/build/termux_get_repo_files.sh +++ b/scripts/build/termux_get_repo_files.sh @@ -3,12 +3,6 @@ termux_get_repo_files() { [ "$TERMUX_ON_DEVICE_BUILD" = "true" ] && return if [ "$TERMUX_INSTALL_DEPS" = true ]; then - if [ "$TERMUX_NO_CLEAN" = false ]; then - # Remove all previously extracted/built files from $TERMUX_PREFIX: - rm -rf $TERMUX_PREFIX - rm -f $TERMUX_BUILT_PACKAGES_DIRECTORY/* - fi - 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 RELEASE_FILE=${TERMUX_COMMON_CACHEDIR}/${TERMUX_REPO_NAME}-${TERMUX_REPO_DISTRIBUTION[$idx-1]}-Release diff --git a/scripts/build/termux_step_setup_build_folders.sh b/scripts/build/termux_step_setup_build_folders.sh index b31c0703c..84b4b3c0b 100644 --- a/scripts/build/termux_step_setup_build_folders.sh +++ b/scripts/build/termux_step_setup_build_folders.sh @@ -1,8 +1,19 @@ termux_step_setup_build_folders() { - # Following directories may contain files with read-only permissions which - # makes them undeletable. We need to fix that. + # Following directories may contain files with read-only + # permissions which makes them undeletable. We need to fix + # that. [ -d "$TERMUX_PKG_BUILDDIR" ] && chmod +w -R "$TERMUX_PKG_BUILDDIR" [ -d "$TERMUX_PKG_SRCDIR" ] && chmod +w -R "$TERMUX_PKG_SRCDIR" + if [ "$TERMUX_SKIP_DEPCHECK" = false ] && \ + [ "$TERMUX_INSTALL_DEPS" = true ] && \ + [ "$TERMUX_PKG_METAPACKAGE" = false ] && \ + [ "$TERMUX_NO_CLEAN" = false ] && \ + [ "$TERMUX_ON_DEVICE_BUILD" = false ]; then + # Remove all previously extracted/built files from + # $TERMUX_PREFIX: + rm -rf $TERMUX_PREFIX + rm -f $TERMUX_BUILT_PACKAGES_DIRECTORY/* + fi # Cleanup old build state: rm -Rf "$TERMUX_PKG_BUILDDIR" \ @@ -13,9 +24,10 @@ termux_step_setup_build_folders() { "$TERMUX_PKG_TMPDIR" \ "$TERMUX_PKG_MASSAGEDIR" - # Ensure folders present (but not $TERMUX_PKG_SRCDIR, it will be created in build) + # Ensure folders present (but not $TERMUX_PKG_SRCDIR, it will + # be created in build) mkdir -p "$TERMUX_COMMON_CACHEDIR" \ - "$TERMUX_COMMON_CACHEDIR-$TERMUX_ARCH" \ + "$TERMUX_COMMON_CACHEDIR-$TERMUX_ARCH" \ "$TERMUX_COMMON_CACHEDIR-all" \ "$TERMUX_DEBDIR" \ "$TERMUX_PKG_BUILDDIR" \