: ${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
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
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