From 54cb74f98d3114f0b85cfa7a7ca2a4a478b9ef3e Mon Sep 17 00:00:00 2001 From: Fredrik Fornwall Date: Fri, 25 Dec 2015 19:32:51 -0500 Subject: [PATCH] apt: Update to 1.1.6, default disable SRV records By disabling SRV records support in apt by default we work around an issue with HTC devices (fixes #99). --- packages/apt/build.sh | 2 +- packages/apt/cmdline-apt-key.in.patch | 20 ++++++++++---------- packages/apt/connect-use-socklen_t.patch | 12 ------------ packages/apt/methods-connect.cc.patch | 23 +++++++++++++++++++++++ 4 files changed, 34 insertions(+), 23 deletions(-) delete mode 100644 packages/apt/connect-use-socklen_t.patch create mode 100644 packages/apt/methods-connect.cc.patch diff --git a/packages/apt/build.sh b/packages/apt/build.sh index ba258f05..b2ccff53 100644 --- a/packages/apt/build.sh +++ b/packages/apt/build.sh @@ -1,7 +1,7 @@ TERMUX_PKG_HOMEPAGE=https://packages.debian.org/apt TERMUX_PKG_DESCRIPTION="Front-end for the dpkg package manager" TERMUX_PKG_DEPENDS="liblzma, libgnustl, dpkg, gnupg" -TERMUX_PKG_VERSION=1.1.5 +TERMUX_PKG_VERSION=1.1.6 TERMUX_PKG_SRCURL=http://ftp.debian.org/debian/pool/main/a/apt/apt_${TERMUX_PKG_VERSION}.tar.xz TERMUX_PKG_EXTRA_CONFIGURE_ARGS="--host=${TERMUX_ARCH}-linux --disable-rpath acl_cv_rpath=$TERMUX_PREFIX/lib gt_cv_func_CFPreferencesCopyAppValue=no gt_cv_func_CFLocaleCopyCurrent=no ac_cv_c_bigendian=no --no-create" # When ready to drop bz2 support: diff --git a/packages/apt/cmdline-apt-key.in.patch b/packages/apt/cmdline-apt-key.in.patch index 0d07e4f2..3f6a859c 100644 --- a/packages/apt/cmdline-apt-key.in.patch +++ b/packages/apt/cmdline-apt-key.in.patch @@ -1,7 +1,7 @@ -diff -u -r ../apt-1.1.3/cmdline/apt-key.in ./cmdline/apt-key.in ---- ../apt-1.1.3/cmdline/apt-key.in 2015-11-30 03:08:24.000000000 -0500 -+++ ./cmdline/apt-key.in 2015-12-03 21:22:35.231730185 -0500 -@@ -19,10 +19,7 @@ +diff -u -r ../apt-1.1.6/cmdline/apt-key.in ./cmdline/apt-key.in +--- ../apt-1.1.6/cmdline/apt-key.in 2015-12-24 11:14:15.000000000 -0500 ++++ ./cmdline/apt-key.in 2015-12-25 17:58:37.186396718 -0500 +@@ -16,10 +16,7 @@ aptkey_echo() { echo "$@"; } requires_root() { @@ -12,17 +12,17 @@ diff -u -r ../apt-1.1.3/cmdline/apt-key.in ./cmdline/apt-key.in + continue } - get_fingerprints_of_keyring() { -@@ -212,7 +209,7 @@ + command_available() { +@@ -231,7 +228,7 @@ if [ -s "$TRUSTEDFILE" ]; then $ACTION "$TRUSTEDFILE" "$@" fi - local TRUSTEDPARTS="/etc/apt/trusted.gpg.d" + local TRUSTEDPARTS="@TERMUX_PREFIX@/etc/apt/trusted.gpg.d" - eval $(apt-config shell TRUSTEDPARTS Dir::Etc::TrustedParts/d) + eval "$(apt-config shell TRUSTEDPARTS Dir::Etc::TrustedParts/d)" if [ -d "$TRUSTEDPARTS" ]; then # strip / suffix as gpg will double-slash in that case (#665411) -@@ -282,11 +279,11 @@ +@@ -301,11 +298,11 @@ # if a --keyring was given, just use this one if [ -n "$FORCED_KEYRING" ]; then if [ -s "$FORCED_KEYRING" ]; then @@ -36,7 +36,7 @@ diff -u -r ../apt-1.1.3/cmdline/apt-key.in ./cmdline/apt-key.in eval $(apt-config shell TRUSTEDPARTS Dir::Etc::TrustedParts/d) if [ -d "$TRUSTEDPARTS" ]; then # ignore errors mostly for non-existing $TRUSTEDFILE -@@ -297,7 +294,7 @@ +@@ -316,7 +313,7 @@ done } > "$PUBRING" 2>/dev/null elif [ -s "$TRUSTEDFILE" ]; then @@ -45,7 +45,7 @@ diff -u -r ../apt-1.1.3/cmdline/apt-key.in ./cmdline/apt-key.in fi fi -@@ -441,7 +438,7 @@ +@@ -460,7 +457,7 @@ done if [ -z "$TRUSTEDFILE" ]; then diff --git a/packages/apt/connect-use-socklen_t.patch b/packages/apt/connect-use-socklen_t.patch deleted file mode 100644 index 1456c039..00000000 --- a/packages/apt/connect-use-socklen_t.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -u -r ../apt-0.9.16.1/methods/connect.cc ./methods/connect.cc ---- ../apt-0.9.16.1/methods/connect.cc 2014-03-15 17:23:45.000000000 +0100 -+++ ./methods/connect.cc 2014-03-25 01:30:10.924678745 +0100 -@@ -111,7 +111,7 @@ - - // Check the socket for an error condition - unsigned int Err; -- unsigned int Len = sizeof(Err); -+ socklen_t Len = sizeof(Err); - if (getsockopt(Fd,SOL_SOCKET,SO_ERROR,&Err,&Len) != 0) - return _error->Errno("getsockopt",_("Failed")); - diff --git a/packages/apt/methods-connect.cc.patch b/packages/apt/methods-connect.cc.patch new file mode 100644 index 00000000..3275ac8c --- /dev/null +++ b/packages/apt/methods-connect.cc.patch @@ -0,0 +1,23 @@ +diff -u -r ../apt-1.1.5/methods/connect.cc ./methods/connect.cc +--- ../apt-1.1.5/methods/connect.cc 2015-12-14 10:57:32.000000000 -0500 ++++ ./methods/connect.cc 2015-12-25 17:51:38.055723065 -0500 +@@ -114,7 +114,7 @@ + + // Check the socket for an error condition + unsigned int Err; +- unsigned int Len = sizeof(Err); ++ socklen_t Len = sizeof(Err); + if (getsockopt(Fd,SOL_SOCKET,SO_ERROR,&Err,&Len) != 0) + return _error->Errno("getsockopt",_("Failed")); + +@@ -277,7 +277,9 @@ + if(LastHost != Host || LastPort != Port) + { + SrvRecords.clear(); +- if (_config->FindB("Acquire::EnableSrvRecords", true) == true) ++ /* Disable by default in Termux due to it breaking on (some) HTC ++ devices (https://github.com/termux/termux-packages/issues/99). */ ++ if (_config->FindB("Acquire::EnableSrvRecords", false) == true) + GetSrvRecords(Host, DefPort, SrvRecords); + } + // we have no SrvRecords for this host, connect right away -- 2.11.0