termux-packages/packages/pacman/util.c.patch

33 lines
1.2 KiB
Diff

diff -uNr pacman-6.0.0/lib/libalpm/util.c pacman-termux/lib/libalpm/util.c
--- pacman-6.0.0/lib/libalpm/util.c 2021-05-20 06:38:45.948119900 +0300
+++ pacman-termux/lib/libalpm/util.c 2021-10-04 16:00:39.000000000 +0300
@@ -650,10 +650,6 @@
}
/* use fprintf instead of _alpm_log to send output through the parent */
- if(chroot(handle->root) != 0) {
- fprintf(stderr, _("could not change the root directory (%s)\n"), strerror(errno));
- exit(1);
- }
if(chdir("/") != 0) {
fprintf(stderr, _("could not change directory to %s (%s)\n"),
"/", strerror(errno));
@@ -669,7 +665,7 @@
/* this code runs for the parent only (wait on the child) */
int status;
char obuf[PIPE_BUF]; /* writes <= PIPE_BUF are guaranteed atomic */
- char ibuf[LINE_MAX];
+ char ibuf[PATH_MAX];
ssize_t olen = 0, ilen = 0;
nfds_t nfds = 2;
struct pollfd fds[2], *child2parent = &(fds[0]), *parent2child = &(fds[1]);
@@ -897,7 +893,7 @@
if((tmpdir = getenv("TMPDIR")) && stat(tmpdir, &buf) && S_ISDIR(buf.st_mode)) {
/* TMPDIR was good, we can use it */
} else {
- tmpdir = "/tmp";
+ tmpdir = "@TERMUX_PREFIX@/tmp";
}
alpm_option_add_cachedir(handle, tmpdir);
cachedir = handle->cachedirs->prev->data;