X-Git-Url: https://git.distorted.org.uk/~mdw/termux-packages/blobdiff_plain/23d4b8b520f690f1d7ce473c861ea4cc73639646..2f5fc7139bbc33428d9c323f52ee8d263c5588f1:/build-package.sh?ds=sidebyside diff --git a/build-package.sh b/build-package.sh index a0dd449f..e6f253d4 100755 --- a/build-package.sh +++ b/build-package.sh @@ -18,19 +18,24 @@ test -f $HOME/.termuxrc && . $HOME/.termuxrc : ${TERMUX_API_LEVEL:="21"} : ${TERMUX_ANDROID_BUILD_TOOLS_VERSION:="24.0.1"} : ${TERMUX_NDK_VERSION:="13"} +: ${TERMUX_IS_DISABLED:=""} # Handle command-line arguments: show_usage () { - echo "Usage: ./build-package.sh [-a ARCH] PACKAGE" - echo "Build a package." - echo "" + echo "Usage: ./build-package.sh [-a ARCH] [-d] [-D] PACKAGE" + echo "Build a package by creating a .deb file in the debs/ folder." + echo " -a The architecture to build for: aarch64(default), arm, i686, x86_64 or all." + echo " -d Build with debug symbols." + echo " -D Build a disabled package in disabled-packages/." exit 1 } -while getopts :a:h option +while getopts :a:hd:D option do case "$option" in a) TERMUX_ARCH="$OPTARG";; h) show_usage;; + d) TERMUX_DEBUG=true;; + D) TERMUX_IS_DISABLED=true;; ?) echo "./build-package.sh: illegal option -$OPTARG"; exit 1;; esac done @@ -58,7 +63,11 @@ if [[ $1 == *"/"* ]]; then export TERMUX_PKG_BUILDER_DIR=`realpath $1` else # Package name: - export TERMUX_PKG_BUILDER_DIR=$TERMUX_SCRIPTDIR/packages/$TERMUX_PKG_NAME + if [ -n "$TERMUX_IS_DISABLED" ]; then + export TERMUX_PKG_BUILDER_DIR=$TERMUX_SCRIPTDIR/disabled-packages/$TERMUX_PKG_NAME + else + export TERMUX_PKG_BUILDER_DIR=$TERMUX_SCRIPTDIR/packages/$TERMUX_PKG_NAME + fi fi TERMUX_PKG_BUILDER_SCRIPT=$TERMUX_PKG_BUILDER_DIR/build.sh if test ! -f $TERMUX_PKG_BUILDER_SCRIPT; then @@ -164,12 +173,16 @@ termux_download() { TRYMAX=6 for try in $(seq 1 $TRYMAX); do if curl -L --fail --retry 2 -o "$TMPFILE" "$URL"; then + local ACTUAL_CHECKSUM=`sha256sum $TMPFILE | cut -f 1 -d ' '` if [ $# = 3 ]; then # Optional checksum argument: - echo $3 "$TMPFILE" | sha256sum --check --strict --quiet + local EXPECTED=$3 + if [ $EXPECTED != $ACTUAL_CHECKSUM ]; then + >&2 printf "Wrong checksum for $URL:\nExpected: $EXPECTED\nActual: $ACTUAL_CHECKSUM\n" + exit 1 + fi else - echo "Note: No checksum of file" - sha256sum $TMPFILE + printf "No validation of checksum for $URL:\nActual: $ACTUAL_CHECKSUM\n" fi mv "$TMPFILE" "$DESTINATION" return