7e6a37fe9a
Reorganize patches for better understanding and ensure they are applied in expected order. Another changes: * gnupg is now in recommends (used by apt-key). * x11-repo is now in suggests. * TCSAFLUSH patch is dropped because it is covered by one of NDK patches where TCSAFLUSH value is replaced with TCSANOW.
202 lines
8.0 KiB
Diff
202 lines
8.0 KiB
Diff
diff -uNr apt-1.4.9/apt-pkg/aptconfiguration.cc apt-1.4.9.mod/apt-pkg/aptconfiguration.cc
|
|
--- apt-1.4.9/apt-pkg/aptconfiguration.cc 2019-01-18 12:42:07.000000000 +0200
|
|
+++ apt-1.4.9.mod/apt-pkg/aptconfiguration.cc 2019-11-12 22:10:28.531994919 +0200
|
|
@@ -35,10 +35,10 @@
|
|
// setDefaultConfigurationForCompressors /*{{{*/
|
|
static void setDefaultConfigurationForCompressors() {
|
|
// Set default application paths to check for optional compression types
|
|
- _config->CndSet("Dir::Bin::gzip", "/bin/gzip");
|
|
- _config->CndSet("Dir::Bin::bzip2", "/bin/bzip2");
|
|
- _config->CndSet("Dir::Bin::xz", "/usr/bin/xz");
|
|
- _config->CndSet("Dir::Bin::lz4", "/usr/bin/lz4");
|
|
+ _config->CndSet("Dir::Bin::gzip", "@TERMUX_PREFIX@/bin/gzip");
|
|
+ _config->CndSet("Dir::Bin::bzip2", "@TERMUX_PREFIX@/bin/bzip2");
|
|
+ _config->CndSet("Dir::Bin::xz", "@TERMUX_PREFIX@/bin/xz");
|
|
+ _config->CndSet("Dir::Bin::lz4", "@TERMUX_PREFIX@/bin/lz4");
|
|
if (FileExists(_config->Find("Dir::Bin::xz")) == true) {
|
|
_config->Set("Dir::Bin::lzma", _config->Find("Dir::Bin::xz"));
|
|
_config->Set("APT::Compressor::lzma::Binary", "xz");
|
|
@@ -51,7 +51,7 @@
|
|
_config->Set("APT::Compressor::lzma::UncompressArg::", "-d");
|
|
}
|
|
} else {
|
|
- _config->CndSet("Dir::Bin::lzma", "/usr/bin/lzma");
|
|
+ _config->CndSet("Dir::Bin::lzma", "@TERMUX_PREFIX@/bin/lzma");
|
|
if (_config->Exists("APT::Compressor::lzma::CompressArg") == false) {
|
|
_config->Set("APT::Compressor::lzma::CompressArg::", "--suffix=");
|
|
_config->Set("APT::Compressor::lzma::CompressArg::", "-6");
|
|
diff -uNr apt-1.4.9/apt-pkg/contrib/cdromutl.cc apt-1.4.9.mod/apt-pkg/contrib/cdromutl.cc
|
|
--- apt-1.4.9/apt-pkg/contrib/cdromutl.cc 2019-01-18 12:42:07.000000000 +0200
|
|
+++ apt-1.4.9.mod/apt-pkg/contrib/cdromutl.cc 2019-11-12 22:10:38.788703372 +0200
|
|
@@ -268,7 +268,7 @@
|
|
string FindMountPointForDevice(const char *devnode)
|
|
{
|
|
// this is the order that mount uses as well
|
|
- std::vector<std::string> const mounts = _config->FindVector("Dir::state::MountPoints", "/etc/mtab,/proc/mount");
|
|
+ std::vector<std::string> const mounts = _config->FindVector("Dir::state::MountPoints", "@TERMUX_PREFIX@/etc/mtab,/proc/mount");
|
|
|
|
for (std::vector<std::string>::const_iterator m = mounts.begin(); m != mounts.end(); ++m)
|
|
if (FileExists(*m) == true)
|
|
diff -uNr apt-1.4.9/apt-pkg/contrib/fileutl.cc apt-1.4.9.mod/apt-pkg/contrib/fileutl.cc
|
|
--- apt-1.4.9/apt-pkg/contrib/fileutl.cc 2019-01-18 12:42:07.000000000 +0200
|
|
+++ apt-1.4.9.mod/apt-pkg/contrib/fileutl.cc 2019-11-12 22:12:25.625803839 +0200
|
|
@@ -106,7 +106,7 @@
|
|
_exit(100);
|
|
}
|
|
|
|
- if (chdir("/tmp/") != 0)
|
|
+ if (chdir("@TERMUX_PREFIX@/tmp/") != 0)
|
|
_exit(100);
|
|
|
|
unsigned int Count = 1;
|
|
@@ -2790,10 +2790,10 @@
|
|
struct stat st;
|
|
if (!tmpdir || strlen(tmpdir) == 0 || // tmpdir is set
|
|
stat(tmpdir, &st) != 0 || (st.st_mode & S_IFDIR) == 0) // exists and is directory
|
|
- tmpdir = "/tmp";
|
|
+ tmpdir = "@TERMUX_PREFIX@/tmp";
|
|
else if (geteuid() != 0 && // root can do everything anyway
|
|
faccessat(AT_FDCWD, tmpdir, R_OK | W_OK | X_OK, AT_EACCESS) != 0) // current user has rwx access to directory
|
|
- tmpdir = "/tmp";
|
|
+ tmpdir = "@TERMUX_PREFIX@/tmp";
|
|
|
|
return string(tmpdir);
|
|
}
|
|
@@ -3064,7 +3064,7 @@
|
|
setenv("LOGNAME", pw->pw_name, 1);
|
|
auto const shell = flNotDir(pw->pw_shell);
|
|
if (shell == "false" || shell == "nologin")
|
|
- setenv("SHELL", "/bin/sh", 1);
|
|
+ setenv("SHELL", "@TERMUX_PREFIX@/bin/sh", 1);
|
|
else
|
|
setenv("SHELL", pw->pw_shell, 1);
|
|
auto const apt_setenv_tmp = [](char const * const env) {
|
|
diff -uNr apt-1.4.9/apt-pkg/deb/dpkgpm.cc apt-1.4.9.mod/apt-pkg/deb/dpkgpm.cc
|
|
--- apt-1.4.9/apt-pkg/deb/dpkgpm.cc 2019-01-18 12:42:07.000000000 +0200
|
|
+++ apt-1.4.9.mod/apt-pkg/deb/dpkgpm.cc 2019-11-12 22:18:36.777295457 +0200
|
|
@@ -179,7 +179,7 @@
|
|
so we use the binary from util-linux */
|
|
static bool ionice(int PID)
|
|
{
|
|
- if (!FileExists("/usr/bin/ionice"))
|
|
+ if (!FileExists("@TERMUX_PREFIX@/bin/ionice"))
|
|
return false;
|
|
pid_t Process = ExecFork();
|
|
if (Process == 0)
|
|
@@ -187,7 +187,7 @@
|
|
char buf[32];
|
|
snprintf(buf, sizeof(buf), "-p%d", PID);
|
|
const char *Args[4];
|
|
- Args[0] = "/usr/bin/ionice";
|
|
+ Args[0] = "@TERMUX_PREFIX@/bin/ionice";
|
|
Args[1] = "-c3";
|
|
Args[2] = buf;
|
|
Args[3] = 0;
|
|
@@ -483,7 +483,7 @@
|
|
|
|
debSystem::DpkgChrootDirectory();
|
|
const char *Args[4];
|
|
- Args[0] = "/bin/sh";
|
|
+ Args[0] = "@TERMUX_PREFIX@/bin/sh";
|
|
Args[1] = "-c";
|
|
Args[2] = Opts->Value.c_str();
|
|
Args[3] = 0;
|
|
@@ -2403,11 +2403,13 @@
|
|
fprintf(report, " %s: %s\n", pkgname.c_str(), opstr);
|
|
}
|
|
|
|
+// Android doesn't allow to use dmesg without root.
|
|
+#ifndef __ANDROID__
|
|
// attach dmesg log (to learn about segfaults)
|
|
- if (FileExists("/bin/dmesg"))
|
|
+ if (FileExists("@TERMUX_PREFIX@/bin/dmesg"))
|
|
{
|
|
fprintf(report, "Dmesg:\n");
|
|
- FILE *log = popen("/bin/dmesg","r");
|
|
+ FILE *log = popen("@TERMUX_PREFIX@/bin/dmesg","r");
|
|
if(log != NULL)
|
|
{
|
|
char buf[1024];
|
|
@@ -2416,13 +2418,13 @@
|
|
pclose(log);
|
|
}
|
|
}
|
|
+#endif
|
|
|
|
- // attach df -l log (to learn about filesystem status)
|
|
- if (FileExists("/bin/df"))
|
|
+ // attach df log (to learn about filesystem status)
|
|
+ if (FileExists("@TERMUX_PREFIX@/bin/df"))
|
|
{
|
|
-
|
|
fprintf(report, "Df:\n");
|
|
- FILE *log = popen("/bin/df -l","r");
|
|
+ FILE *log = popen("@TERMUX_PREFIX@/bin/df","r");
|
|
if(log != NULL)
|
|
{
|
|
char buf[1024];
|
|
diff -uNr apt-1.4.9/cmdline/apt-key.in apt-1.4.9.mod/cmdline/apt-key.in
|
|
--- apt-1.4.9/cmdline/apt-key.in 2019-01-18 12:42:07.000000000 +0200
|
|
+++ apt-1.4.9.mod/cmdline/apt-key.in 2019-11-12 22:27:00.015963736 +0200
|
|
@@ -260,7 +260,7 @@
|
|
if accessible_file_exists "$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)"
|
|
if [ -d "$TRUSTEDPARTS" ]; then
|
|
TRUSTEDPARTS="$(readlink -f "$TRUSTEDPARTS")"
|
|
@@ -439,7 +439,7 @@
|
|
merge_all_trusted_keyrings_into_pubring
|
|
FORCED_KEYRING="${GPGHOMEDIR}/forcedkeyid.gpg"
|
|
TRUSTEDFILE="${FORCED_KEYRING}"
|
|
- echo "#!/bin/sh
|
|
+ echo "#!@TERMUX_PREFIX@/bin/sh
|
|
exec sh '($(escape_shell "${GPG}")' --keyring '$(escape_shell "${TRUSTEDFILE}")' \"\$@\"" > "${GPGHOMEDIR}/gpg.1.sh"
|
|
GPG="${GPGHOMEDIR}/gpg.1.sh"
|
|
# ignore error as this "just" means we haven't found the forced keyid and the keyring will be empty
|
|
@@ -451,13 +451,13 @@
|
|
else
|
|
touch "${GPGHOMEDIR}/pubring.gpg" "${GPGHOMEDIR}/pubring.orig.gpg"
|
|
fi
|
|
- echo "#!/bin/sh
|
|
+ echo "#!@TERMUX_PREFIX@/bin/sh
|
|
exec sh '$(escape_shell "${GPG}")' --keyring '$(escape_shell "${GPGHOMEDIR}/pubring.gpg")' \"\$@\"" > "${GPGHOMEDIR}/gpg.1.sh"
|
|
GPG="${GPGHOMEDIR}/gpg.1.sh"
|
|
else
|
|
TRUSTEDFILE="$(dearmor_filename "$FORCED_KEYRING")"
|
|
create_new_keyring "$TRUSTEDFILE"
|
|
- echo "#!/bin/sh
|
|
+ echo "#!@TERMUX_PREFIX@/bin/sh
|
|
exec sh '$(escape_shell "${GPG}")' --keyring '$(escape_shell "${TRUSTEDFILE}")' \"\$@\"" > "${GPGHOMEDIR}/gpg.1.sh"
|
|
GPG="${GPGHOMEDIR}/gpg.1.sh"
|
|
fi
|
|
@@ -542,7 +542,7 @@
|
|
done
|
|
|
|
if [ -z "$TRUSTEDFILE" ]; then
|
|
- TRUSTEDFILE="/etc/apt/trusted.gpg"
|
|
+ TRUSTEDFILE="@TERMUX_PREFIX@/etc/apt/trusted.gpg"
|
|
eval $(apt-config shell TRUSTEDFILE Apt::GPGV::TrustedKeyring)
|
|
eval $(apt-config shell TRUSTEDFILE Dir::Etc::Trusted/f)
|
|
fi
|
|
@@ -612,7 +612,7 @@
|
|
unset TMPDIR
|
|
fi
|
|
fi
|
|
- GPGHOMEDIR="$(mktemp --directory --tmpdir 'apt-key-gpghome.XXXXXXXXXX')"
|
|
+ GPGHOMEDIR="$(mktemp -d -t 'apt-key-gpghome.XXXXXXXXXX')"
|
|
CURRENTTRAP="${CURRENTTRAP} cleanup_gpg_home;"
|
|
trap "${CURRENTTRAP}" 0 HUP INT QUIT ILL ABRT FPE SEGV PIPE TERM
|
|
if [ -z "$GPGHOMEDIR" ]; then
|
|
@@ -654,7 +654,7 @@
|
|
create_gpg_home
|
|
|
|
# now tell gpg that it shouldn't try to maintain this trustdb file
|
|
- echo "#!/bin/sh
|
|
+ echo "#!@TERMUX_PREFIX@/bin/sh
|
|
exec '$(escape_shell "${GPG_EXE}")' --ignore-time-conflict --no-options --no-default-keyring \\
|
|
--homedir '$(escape_shell "${GPGHOMEDIR}")' --no-auto-check-trustdb --trust-model always \"\$@\"" > "${GPGHOMEDIR}/gpg.0.sh"
|
|
GPG_SH="${GPGHOMEDIR}/gpg.0.sh"
|