X-Git-Url: https://git.distorted.org.uk/~mdw/termux-packages/blobdiff_plain/3f300a10fc7d4d34642f80368bb02f2898f7fb8a..0acb75f864ad53ee8d36d9c19ebf2f6cbeaa42a2:/build-package.sh diff --git a/build-package.sh b/build-package.sh index c6fe7f71..eb9a59ac 100755 --- a/build-package.sh +++ b/build-package.sh @@ -260,6 +260,7 @@ TERMUX_PKG_KEEP_STATIC_LIBRARIES="false" TERMUX_PKG_KEEP_HEADER_FILES="false" TERMUX_PKG_ESSENTIAL="" TERMUX_PKG_CONFLICTS="" # https://www.debian.org/doc/debian-policy/ch-relationships.html#s-conflicts +TERMUX_PKG_REPLACES="" TERMUX_PKG_CONFFILES="" TERMUX_PKG_INCLUDE_IN_DEVPACKAGE="" TERMUX_PKG_DEVPACKAGE_DEPENDS="" @@ -554,23 +555,23 @@ termux_step_massage () { # .. move over sbin to bin for file in sbin/*; do if test -f $file; then mv $file bin/; fi; done - # file(1) may fail for certain unusual files, so disable pipefail - set +e +o pipefail - # Remove world permissions and add write permissions: - find . -exec chmod u+w,o-rwx \{\} \; - # .. strip binaries (setting them as writeable first) + # Remove world permissions and add write permissions. + # The -f flag is used to suppress warnings about dangling symlinks (such + # as ones to /system/... which may not exist on the build machine): + find . -exec chmod -f u+w,o-rwx \{\} \; if [ "$TERMUX_DEBUG" = "" ]; then - find . -type f | xargs file | grep -E "(executable|shared object)" | grep ELF | cut -f 1 -d : | xargs $STRIP --strip-unneeded --preserve-dates -R '.gnu.version*' + # Strip binaries. file(1) may fail for certain unusual files, so disable pipefail. + set +e +o pipefail + find . -type f | xargs -r file | grep -E "(executable|shared object)" | grep ELF | cut -f 1 -d : | \ + xargs -r $STRIP --strip-unneeded --preserve-dates -R '.gnu.version*' + set -e -o pipefail + # Remove DT_ entries which the android 5.1 linker warns about: + find . -type f -print0 | xargs -r -0 $TERMUX_ELF_CLEANER fi # Fix shebang paths: for file in `find -L . -type f`; do head -c 100 $file | grep -E "^#\!.*\\/bin\\/.*" | grep -q -E -v "^#\! ?\\/system" && sed --follow-symlinks -i -E "1 s@^#\!(.*)/bin/(.*)@#\!$TERMUX_PREFIX/bin/\2@" $file done - set -e -o pipefail - # Remove DT_ entries which the android 5.1 linker warns about: - if [ "$TERMUX_DEBUG" = "" ]; then - find . -type f -print0 | xargs -0 $TERMUX_ELF_CLEANER - fi test ! -z "$TERMUX_PKG_RM_AFTER_INSTALL" && rm -Rf $TERMUX_PKG_RM_AFTER_INSTALL @@ -687,7 +688,7 @@ termux_setup_golang () { exit 1 fi - local TERMUX_GO_VERSION=go1.6.2 + local TERMUX_GO_VERSION=go1.7 local TERMUX_GO_PLATFORM=linux-amd64 test `uname` = "Darwin" && TERMUX_GO_PLATFORM=darwin-amd64 @@ -837,6 +838,7 @@ HERE test ! -z "$TERMUX_PKG_DEPENDS" && echo "Depends: $TERMUX_PKG_DEPENDS" >> DEBIAN/control test ! -z "$TERMUX_PKG_ESSENTIAL" && echo "Essential: yes" >> DEBIAN/control test ! -z "$TERMUX_PKG_CONFLICTS" && echo "Conflicts: $TERMUX_PKG_CONFLICTS" >> DEBIAN/control +test ! -z "$TERMUX_PKG_REPLACES" && echo "Replaces: $TERMUX_PKG_REPLACES" >> DEBIAN/control # Create DEBIAN/conffiles (see https://www.debian.org/doc/debian-policy/ap-pkg-conffiles.html): for f in $TERMUX_PKG_CONFFILES; do echo $TERMUX_PREFIX/$f >> DEBIAN/conffiles; done