X-Git-Url: https://git.distorted.org.uk/~mdw/termux-packages/blobdiff_plain/0c3f26971d46812e69d620d2c39e001f83447ef7..a3abe928018b57ef1ce84a51381841a3f6a0e937:/build-package.sh diff --git a/build-package.sh b/build-package.sh index 13791fa6..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 @@ -523,7 +536,7 @@ termux_setup_golang () { exit 1 fi - local TERMUX_GO_VERSION=go1.7.1 + local TERMUX_GO_VERSION=go1.7.3 local TERMUX_GO_PLATFORM=linux-amd64 test `uname` = "Darwin" && TERMUX_GO_PLATFORM=darwin-amd64 @@ -812,7 +825,7 @@ termux_step_post_massage # Create data tarball containing files to package: cd $TERMUX_PKG_MASSAGEDIR -if [ "`find . -type f`" = "" ]; then +if [ -z "${TERMUX_PKG_METAPACKAGE+x}" -a "`find . -type f`" = "" ]; then echo "ERROR: No files in package" exit 1 fi