diff --git a/gpkg/bash/build.sh b/gpkg/bash/build.sh index 219a23532..048d6375e 100644 --- a/gpkg/bash/build.sh +++ b/gpkg/bash/build.sh @@ -3,7 +3,7 @@ TERMUX_PKG_DESCRIPTION="A sh-compatible shell that incorporates useful features TERMUX_PKG_LICENSE="GPL-3.0" TERMUX_PKG_MAINTAINER="@termux-pacman" _MAIN_VERSION=5.2 -_PATCH_VERSION=15 +_PATCH_VERSION=26 TERMUX_PKG_VERSION=${_MAIN_VERSION}.${_PATCH_VERSION} TERMUX_PKG_SRCURL=https://mirrors.kernel.org/gnu/bash/bash-${_MAIN_VERSION}.tar.gz TERMUX_PKG_SHA256=a139c166df7ff4471c5e0733051642ee5556c1cc8a4a78f145583c5c81ab32fb @@ -18,7 +18,6 @@ TERMUX_PKG_EXTRA_CONFIGURE_ARGS=" --with-installed-readline " TERMUX_PKG_CONFFILES="glibc/etc/bash.bashrc glibc/etc/bash.bash_logout glibc/etc/profile" -TERMUX_PKG_RM_AFTER_INSTALL="share/man/man1/bashbug.1 bin/bashbug" termux_step_pre_configure() { declare -A PATCH_CHECKSUMS @@ -38,6 +37,17 @@ termux_step_pre_configure() { PATCH_CHECKSUMS[013]=094b4fd81bc488a26febba5d799689b64d52a5505b63e8ee854f48d356bc7ce6 PATCH_CHECKSUMS[014]=3ef9246f2906ef1e487a0a3f4c647ae1c289cbd8459caa7db5ce118ef136e624 PATCH_CHECKSUMS[015]=ef73905169db67399a728e238a9413e0d689462cb9b72ab17a05dba51221358a + PATCH_CHECKSUMS[016]=155853bc5bd10e40a9bea369fb6f50a203a7d0358e9e32321be0d9fa21585915 + PATCH_CHECKSUMS[017]=1c48cecbc9b7b4217990580203b7e1de19c4979d0bd2c0e310167df748df2c89 + PATCH_CHECKSUMS[018]=4641dd49dd923b454dd0a346277907090410f5d60a29a2de3b82c98e49aaaa80 + PATCH_CHECKSUMS[019]=325c26860ad4bba8558356c4ab914ac57e7b415dac6f5aae86b9b05ccb7ed282 + PATCH_CHECKSUMS[020]=b6fc252aeb95ce67c9b017d29d81e8a5e285db4bf20d4ec8cdca35892be5c01d + PATCH_CHECKSUMS[021]=8334b88117ad047598f23581aeb0c66c0248cdd77abc3b4e259133aa307650cd + PATCH_CHECKSUMS[022]=78b5230a49594ec30811e72dcd0f56d1089710ec7828621022d08507aa57e470 + PATCH_CHECKSUMS[023]=af905502e2106c8510ba2085aa2b56e64830fc0fdf6ee67ebb459ac11696dcd3 + PATCH_CHECKSUMS[024]=971534490117eb05d97d7fd81f5f9d8daf927b4d581231844ffae485651b02c3 + PATCH_CHECKSUMS[025]=5138f487e7cf71a6323dc81d22419906f1535b89835cc2ff68847e1a35613075 + PATCH_CHECKSUMS[026]=96ee1f549aa0b530521e36bdc0ba7661602cfaee409f7023cac744dd42852eac for PATCH_NUM in $(seq -f '%03g' ${_PATCH_VERSION}); do PATCHFILE=$TERMUX_PKG_CACHEDIR/bash_patch_${PATCH_NUM}.patch diff --git a/gpkg/glibc/build.sh b/gpkg/glibc/build.sh index a10a7f9cb..41a4f1d1a 100644 --- a/gpkg/glibc/build.sh +++ b/gpkg/glibc/build.sh @@ -3,7 +3,7 @@ TERMUX_PKG_DESCRIPTION="GNU C Library" TERMUX_PKG_LICENSE="GPL-3.0, LGPL-3.0" TERMUX_PKG_MAINTAINER="@termux-pacman" TERMUX_PKG_VERSION=2.39 -TERMUX_PKG_REVISION=2 +TERMUX_PKG_REVISION=3 TERMUX_PKG_SRCURL=https://ftp.gnu.org/gnu/libc/glibc-$TERMUX_PKG_VERSION.tar.xz TERMUX_PKG_SHA256=f77bd47cf8170c57365ae7bf86696c118adb3b120d3259c64c502d3dc1e2d926 TERMUX_PKG_DEPENDS="linux-api-headers-glibc" diff --git a/gpkg/glibc/shmctl.c.patch b/gpkg/glibc/shmctl.c.patch index 9518c17c0..2647f0f7f 100644 --- a/gpkg/glibc/shmctl.c.patch +++ b/gpkg/glibc/shmctl.c.patch @@ -1,6 +1,6 @@ ---- glibc-2.39/sysdeps/unix/sysv/linux/shmctl.c 2023-02-01 06:27:45.000000000 +0300 -+++ glibc-2.39/sysdeps/unix/sysv/linux/shmctl.c.patch 2023-06-08 12:43:28.639174307 +0300 -@@ -15,277 +15,76 @@ +--- src/sysdeps/unix/sysv/linux/shmctl.c 2024-04-07 14:20:48.746263018 +0300 ++++ src/sysdeps/unix/sysv/linux/shmctl.c.patch 2024-04-07 14:23:00.096262968 +0300 +@@ -15,277 +15,78 @@ License along with the GNU C Library; if not, see . */ @@ -164,7 +164,9 @@ - { - shmid64_to_kshmid64 (buf, &kshmid); - arg = &kshmid; -- } ++ pthread_mutex_unlock (&mutex); ++ return 0; + } -# ifdef __ASSUME_SYSVIPC_BROKEN_MODE_T - if (cmd == IPC_SET) - arg->shm_perm.mode *= 0x10000U; @@ -186,7 +188,7 @@ - return -1; - } - -- + - int ret = shmctl_syscall (shmid, cmd, arg); - if (ret < 0) - return ret; @@ -215,10 +217,13 @@ -#else /* !IPC_CTL_NEED_TRANSLATION */ - return shmctl_syscall (shmid, cmd, buf); -#endif --} ++ DBG("%s: cmd %d not implemented yet!\n", __PRETTY_FUNCTION__, cmd); ++ errno = EINVAL; ++ return -1; + } -#if __TIMESIZE != 64 -libc_hidden_def (__shmctl64) -- + -static void -shmid_to_shmid64 (struct __shmid64_ds *shm64, const struct shmid_ds *shm) -{ @@ -265,15 +270,13 @@ - { - shmid_to_shmid64 (&shmid64, buf); - buf64 = &shmid64; -+ pthread_mutex_unlock (&mutex); -+ return 0; - } +- } - } - - int ret = __shmctl64 (shmid, cmd, buf64); - if (ret < 0) - return ret; - +- - switch (cmd) - { - case IPC_STAT: @@ -283,10 +286,7 @@ - } - - return ret; -+ DBG("%s: cmd %d not implemented yet!\n", __PRETTY_FUNCTION__, cmd); -+ errno = EINVAL; -+ return -1; - } +-} -#endif - -#ifndef DEFAULT_VERSION @@ -342,3 +342,4 @@ -} -compat_symbol (libc, __old_shmctl, shmctl, GLIBC_2_0); -#endif ++weak_alias (shmctl, __shmctl64) diff --git a/gpkg/libclc/build.sh b/gpkg/libclc/build.sh index 86441d3c3..419d3563c 100644 --- a/gpkg/libclc/build.sh +++ b/gpkg/libclc/build.sh @@ -2,9 +2,9 @@ TERMUX_PKG_HOMEPAGE=https://libclc.llvm.org/ TERMUX_PKG_DESCRIPTION="Library requirements of the OpenCL C programming language" TERMUX_PKG_LICENSE="MIT" TERMUX_PKG_MAINTAINER="@termux-pacman" -TERMUX_PKG_VERSION=17.0.6 +TERMUX_PKG_VERSION=18.1.3 TERMUX_PKG_SRCURL=https://github.com/llvm/llvm-project/releases/download/llvmorg-$TERMUX_PKG_VERSION/libclc-$TERMUX_PKG_VERSION.src.tar.xz -TERMUX_PKG_SHA256=122f641d94d5dfbb3c37534f2b76612fa59d15c36c2a4917369a85eaaca32148 +TERMUX_PKG_SHA256=b117efb9a27ab923e03e565435f30ca8c5c1624d0832a09e32d14c3eb4995a7c TERMUX_PKG_BUILD_DEPENDS="clang-glibc, lld-glibc, python-glibc, spirv-llvm-translator-glibc" TERMUX_PKG_PLATFORM_INDEPENDENT=true diff --git a/gpkg/mesa/build.sh b/gpkg/mesa/build.sh index c875abf5a..7b12743e0 100644 --- a/gpkg/mesa/build.sh +++ b/gpkg/mesa/build.sh @@ -3,9 +3,9 @@ TERMUX_PKG_DESCRIPTION="An open-source implementation of the OpenGL specificatio TERMUX_PKG_LICENSE="MIT" TERMUX_PKG_LICENSE_FILE="docs/license.rst" TERMUX_PKG_MAINTAINER="@termux-pacman" -TERMUX_PKG_VERSION="24.0.3" +TERMUX_PKG_VERSION="24.0.4" TERMUX_PKG_SRCURL="https://archive.mesa3d.org/mesa-${TERMUX_PKG_VERSION}.tar.xz" -TERMUX_PKG_SHA256="77aec9a2a37b7d3596ea1640b3cc53d0b5d9b3b52abed89de07e3717e91bfdbe" +TERMUX_PKG_SHA256="90febd30a098cbcd97ff62ecc3dcf5c93d76f7fa314de944cfce81951ba745f0" TERMUX_PKG_DEPENDS="libglvnd-glibc, gcc-libs-glibc, libdrm-glibc, libllvm-glibc, libexpat-glibc, zlib-glibc, zstd-glibc, libx11-glibc, libxcb-glibc, libxext-glibc, libxfixes-glibc, libxshmfence-glibc, libxxf86vm-glibc, libwayland-glibc, libvdpau-glibc, libomxil-bellagio-glibc, libva-glibc, libxml2-glibc, libelf-glibc, libbz2-glibc, libclc-glibc" TERMUX_PKG_SUGGESTS="mesa-dev-glibc" TERMUX_PKG_BUILD_DEPENDS="llvm-glibc, libwayland-protocols-glibc, xorgproto-glibc, glslang-glibc" diff --git a/gpkg/spirv-headers/build.sh b/gpkg/spirv-headers/build.sh index 02246cfe4..418127816 100755 --- a/gpkg/spirv-headers/build.sh +++ b/gpkg/spirv-headers/build.sh @@ -2,7 +2,7 @@ TERMUX_PKG_HOMEPAGE=https://github.com/KhronosGroup/SPIRV-Headers TERMUX_PKG_DESCRIPTION="SPIR-V Headers" TERMUX_PKG_LICENSE="Apache-2.0" TERMUX_PKG_MAINTAINER="@termux-pacman" -TERMUX_PKG_VERSION="1.3.275.0" +TERMUX_PKG_VERSION="1.3.280.0" TERMUX_PKG_SRCURL=https://github.com/KhronosGroup/SPIRV-Headers/archive/refs/tags/vulkan-sdk-${TERMUX_PKG_VERSION}/spirv-headers-${TERMUX_PKG_VERSION}.tar.gz -TERMUX_PKG_SHA256=d46b261f1fbc5e85022cb2fada9a6facb5b0c9932b45007a77fe05639a605bd1 +TERMUX_PKG_SHA256=a00906b6bddaac1e37192eff2704582f82ce2d971f1aacee4d51d9db33b0f772 TERMUX_PKG_PLATFORM_INDEPENDENT=true diff --git a/gpkg/spirv-llvm-translator/build.sh b/gpkg/spirv-llvm-translator/build.sh index a3990d37d..84667f447 100644 --- a/gpkg/spirv-llvm-translator/build.sh +++ b/gpkg/spirv-llvm-translator/build.sh @@ -3,10 +3,9 @@ TERMUX_PKG_DESCRIPTION="Tool and a library for bi-directional translation betwee TERMUX_PKG_LICENSE="custom" TERMUX_PKG_LICENSE_FILE="LICENSE.TXT" TERMUX_PKG_MAINTAINER="@termux-pacman" -TERMUX_PKG_VERSION=17.0.0 -TERMUX_PKG_REVISION=1 +TERMUX_PKG_VERSION=18.1.0 TERMUX_PKG_SRCURL=https://github.com/KhronosGroup/SPIRV-LLVM-Translator/archive/refs/tags/v${TERMUX_PKG_VERSION}.tar.gz -TERMUX_PKG_SHA256=eba381e1dd99b4ff6c672a28f52755d1adf2d810a97b51e6074ad4fa67937fb2 +TERMUX_PKG_SHA256=78a770eff24d5ffe2798479845adec4b909cbf058ddc55830ea00fa7d2c1698a TERMUX_PKG_DEPENDS="libllvm-glibc, spirv-tools-glibc" TERMUX_PKG_BUILD_DEPENDS="llvm-glibc" TERMUX_PKG_NO_STATICSPLIT=true diff --git a/gpkg/spirv-tools/build.sh b/gpkg/spirv-tools/build.sh index c31a09762..1ede4dd80 100755 --- a/gpkg/spirv-tools/build.sh +++ b/gpkg/spirv-tools/build.sh @@ -2,9 +2,9 @@ TERMUX_PKG_HOMEPAGE=https://github.com/KhronosGroup/SPIRV-Tools TERMUX_PKG_DESCRIPTION="SPIR-V Tools" TERMUX_PKG_LICENSE="Apache-2.0" TERMUX_PKG_MAINTAINER="@termux-pacman" -TERMUX_PKG_VERSION="2023.6" +TERMUX_PKG_VERSION="2024.1" TERMUX_PKG_SRCURL=https://github.com/KhronosGroup/SPIRV-Tools/archive/refs/tags/v${TERMUX_PKG_VERSION}.rc1.tar.gz -TERMUX_PKG_SHA256=750e4bfcaccd636fb04dd912b668a8a6d29940f8f83b7d9a266170b1023a1a89 +TERMUX_PKG_SHA256=793715a2b09b86bbd795101a201724a8fc86fe9619b1ecbaf78677e77a183b92 TERMUX_PKG_DEPENDS="gcc-libs-glibc" TERMUX_PKG_BUILD_DEPENDS="spirv-headers-glibc" TERMUX_PKG_NO_STATICSPLIT=true diff --git a/gpkg/util-linux/build.sh b/gpkg/util-linux/build.sh index 1621db22a..f96e47278 100644 --- a/gpkg/util-linux/build.sh +++ b/gpkg/util-linux/build.sh @@ -9,10 +9,11 @@ Documentation/licenses/COPYING.BSD-3-Clause Documentation/licenses/COPYING.BSD-4-Clause-UC Documentation/licenses/COPYING.ISC" TERMUX_PKG_MAINTAINER="@termux-pacman" -TERMUX_PKG_VERSION=2.39.3 -TERMUX_PKG_SRCURL=https://www.kernel.org/pub/linux/utils/util-linux/v${TERMUX_PKG_VERSION:0:4}/util-linux-${TERMUX_PKG_VERSION}.tar.xz -TERMUX_PKG_SHA256=7b6605e48d1a49f43cc4b4cfc59f313d0dd5402fa40b96810bd572e167dfed0f +TERMUX_PKG_VERSION=2.40 +TERMUX_PKG_SRCURL=https://github.com/util-linux/util-linux/archive/refs/tags/v2.40.zip +TERMUX_PKG_SHA256=9ed02b0ba40948f1127fc2b9f6fb0444e23f6f49e760cfd25735d7b861387f5d TERMUX_PKG_DEPENDS="libcap-ng-glibc, ncurses-glibc, zlib-glibc, libpam-glibc, libsmartcols-glibc, bash-glibc" +TERMUX_PKG_BUILD_DEPENDS="python-glibc" TERMUX_PKG_ESSENTIAL=true TERMUX_PKG_EXTRA_CONFIGURE_ARGS=" -Dlibuser=disabled @@ -32,9 +33,10 @@ TERMUX_PKG_EXTRA_CONFIGURE_ARGS=" -Dbuild-su=disabled -Dbuild-lsmem=disabled -Dbuild-chmem=disabled --Dbuild-python=disabled +-Dpython=$TERMUX_PREFIX/bin/python " termux_step_configure() { + LDFLAGS+=" -lrt" termux_step_configure_meson } diff --git a/gpkg/util-linux/setdirs.patch b/gpkg/util-linux/setdirs.patch index 743f049e0..3df5907b3 100644 --- a/gpkg/util-linux/setdirs.patch +++ b/gpkg/util-linux/setdirs.patch @@ -1,8 +1,8 @@ diff --git a/disk-utils/fsck.c b/disk-utils/fsck.c -index 1b11e82..798528d 100644 +index c63ce1c..fa8c93c 100644 --- a/disk-utils/fsck.c +++ b/disk-utils/fsck.c -@@ -1120,7 +1120,7 @@ static int ignore(struct libmnt_fs *fs) +@@ -1124,7 +1124,7 @@ static int ignore(struct libmnt_fs *fs) * If this is a bind mount, ignore it. */ if (opt_in_list("bind", mnt_fs_get_options(fs))) { @@ -12,7 +12,7 @@ index 1b11e82..798528d 100644 mnt_fs_get_target(fs)); return 1; diff --git a/include/pathnames.h b/include/pathnames.h -index 56f64c3..877e8c8 100644 +index 81fa405..2db093d 100644 --- a/include/pathnames.h +++ b/include/pathnames.h @@ -19,77 +19,69 @@ @@ -131,7 +131,7 @@ index 56f64c3..877e8c8 100644 #define _PATH_PROC_UIDMAP "/proc/self/uid_map" #define _PATH_PROC_GIDMAP "/proc/self/gid_map" #define _PATH_PROC_SETGROUPS "/proc/self/setgroups" -@@ -129,7 +121,7 @@ +@@ -130,7 +122,7 @@ # ifdef MOUNTED /* deprecated */ # define _PATH_MOUNTED MOUNTED # else @@ -140,7 +140,7 @@ index 56f64c3..877e8c8 100644 # endif #endif -@@ -137,7 +129,7 @@ +@@ -138,7 +130,7 @@ # ifdef MNTTAB /* deprecated */ # define _PATH_MNTTAB MNTTAB # else @@ -149,7 +149,7 @@ index 56f64c3..877e8c8 100644 # endif #endif -@@ -148,26 +140,26 @@ +@@ -149,26 +141,26 @@ # define _PATH_DEV "/dev/" #endif @@ -186,7 +186,7 @@ index 56f64c3..877e8c8 100644 #ifdef __ia64__ diff --git a/lib/exec_shell.c b/lib/exec_shell.c -index 6fef6c7..952f8fc 100644 +index 96d3e95..46840a5 100644 --- a/lib/exec_shell.c +++ b/lib/exec_shell.c @@ -28,7 +28,7 @@ @@ -234,10 +234,10 @@ index 9563122..ed34dc9 100644 if (!econf_readFile(&file_l, path, "= \t", "#")) { if (file == NULL) diff --git a/lib/loopdev.c b/lib/loopdev.c -index dd9ead3..c7e0aec 100644 +index c72fb2c..41ef586 100644 --- a/lib/loopdev.c +++ b/lib/loopdev.c -@@ -126,13 +126,13 @@ int loopcxt_set_device(struct loopdev_cxt *lc, const char *device) +@@ -128,13 +128,13 @@ int loopcxt_set_device(struct loopdev_cxt *lc, const char *device) /* set new */ if (device) { if (*device != '/') { @@ -255,10 +255,10 @@ index dd9ead3..c7e0aec 100644 } snprintf(lc->device, sizeof(lc->device), "%s%s", diff --git a/libblkid/src/blkidP.h b/libblkid/src/blkidP.h -index 007cc35..4e7dc96 100644 +index ea7d81b..556356e 100644 --- a/libblkid/src/blkidP.h +++ b/libblkid/src/blkidP.h -@@ -304,15 +304,15 @@ struct blkid_struct_cache +@@ -307,15 +307,15 @@ struct blkid_struct_cache #define BLKID_BIC_FL_CHANGED 0x0004 /* Cache has changed from disk */ /* config file */ @@ -291,7 +291,7 @@ index 772340b..04f673d 100644 fd = mkostemp(name, O_RDWR|O_CREAT|O_EXCL|O_CLOEXEC); if (fd == -1) diff --git a/libfdisk/src/script.c b/libfdisk/src/script.c -index f537a7d..0c99cf0 100644 +index e357fad..82f707c 100644 --- a/libfdisk/src/script.c +++ b/libfdisk/src/script.c @@ -1636,7 +1636,7 @@ int fdisk_apply_script(struct fdisk_context *cxt, struct fdisk_script *dp) @@ -304,7 +304,7 @@ index f537a7d..0c99cf0 100644 struct fdisk_script *dp; struct fdisk_context *cxt; diff --git a/libmount/python/tab.c b/libmount/python/tab.c -index 000bc13..f26aaff 100644 +index d33a1fe..b852108 100644 --- a/libmount/python/tab.c +++ b/libmount/python/tab.c @@ -332,7 +332,7 @@ static PyObject *Table_is_fs_mounted(TableObject *self, PyObject *args, PyObject @@ -335,7 +335,7 @@ index 000bc13..f26aaff 100644 "\n" \ "See also Tab.parser_errcb().\n" \ diff --git a/libmount/src/mountP.h b/libmount/src/mountP.h -index 339e276..d2ee5f9 100644 +index fcc40bf..6917a4f 100644 --- a/libmount/src/mountP.h +++ b/libmount/src/mountP.h @@ -77,7 +77,7 @@ UL_DEBUG_DECLARE_MASK(libmount); @@ -348,10 +348,10 @@ index 339e276..d2ee5f9 100644 #define MNT_PATH_UTAB MNT_RUNTIME_TOPDIR "/mount/utab" /* temporary mount target */ diff --git a/login-utils/last.c b/login-utils/last.c -index 37c6abe..ddbf35a 100644 +index f5a9fec..f279efc 100644 --- a/login-utils/last.c +++ b/login-utils/last.c -@@ -925,7 +925,7 @@ int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) { +@@ -935,7 +935,7 @@ int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) { .tv_usec = 816074 } }; @@ -361,10 +361,10 @@ index 37c6abe..ddbf35a 100644 fd = mkstemp_cloexec(name); diff --git a/login-utils/login.c b/login-utils/login.c -index 74bdf38..437c240 100644 +index c8544f6..5940bdb 100644 --- a/login-utils/login.c +++ b/login-utils/login.c -@@ -1516,7 +1516,7 @@ int main(int argc, char **argv) +@@ -1551,7 +1551,7 @@ int main(int argc, char **argv) char *buff; xasprintf(&buff, "exec %s", pwd->pw_shell); @@ -373,17 +373,8 @@ index 74bdf38..437c240 100644 child_argv[child_argc++] = "-sh"; child_argv[child_argc++] = "-c"; child_argv[child_argc++] = buff; -@@ -1538,7 +1538,7 @@ int main(int argc, char **argv) - - execvp(child_argv[0], child_argv + 1); - -- if (!strcmp(child_argv[0], "/bin/sh")) -+ if (!strcmp(child_argv[0], "@TERMUX_PREFIX@/bin/sh")) - warn(_("couldn't exec shell script")); - else - warn(_("no shell")); diff --git a/login-utils/lslogins.c b/login-utils/lslogins.c -index 76d2812..3d84e8c 100644 +index 217f3f3..35665ba 100644 --- a/login-utils/lslogins.c +++ b/login-utils/lslogins.c @@ -1446,7 +1446,7 @@ static void __attribute__((__noreturn__)) usage(void) @@ -428,10 +419,10 @@ index 9578592..883d4b7 100644 extern int setpwnam (struct passwd *pwd, const char *prefix); diff --git a/login-utils/su-common.c b/login-utils/su-common.c -index b674920..d0c1472 100644 +index 9bc0231..53d069c 100644 --- a/login-utils/su-common.c +++ b/login-utils/su-common.c -@@ -99,8 +99,8 @@ UL_DEBUG_DEFINE_MASKNAMES(su) = UL_DEBUG_EMPTY_MASKNAMES; +@@ -100,8 +100,8 @@ UL_DEBUG_DEFINE_MASKNAMES(su) = UL_DEBUG_EMPTY_MASKNAMES; #define _PATH_LOGINDEFS_SU "default/su" #define _PATH_LOGINDEFS_RUNUSER "default/runuser" #else @@ -442,7 +433,7 @@ index b674920..d0c1472 100644 #endif #define is_pam_failure(_rc) ((_rc) != PAM_SUCCESS) -@@ -874,9 +874,9 @@ static bool is_restricted_shell(const char *shell) +@@ -877,9 +877,9 @@ static bool is_restricted_shell(const char *shell) return false; } #ifdef USE_VENDORDIR @@ -454,20 +445,20 @@ index b674920..d0c1472 100644 #endif return true; } -@@ -896,7 +896,7 @@ static void usage_common(void) +@@ -899,7 +899,7 @@ static void usage_common(void) fputs(_(" --session-command pass a single command to the shell with -c\n" " and do not create a new session\n"), stdout); fputs(_(" -f, --fast pass -f to the shell (for csh or tcsh)\n"), stdout); - fputs(_(" -s, --shell run if /etc/shells allows it\n"), stdout); + fputs(_(" -s, --shell run if @TERMUX_PREFIX@/etc/shells allows it\n"), stdout); fputs(_(" -P, --pty create a new pseudo-terminal\n"), stdout); + fputs(_(" -T, --no-pty do not create a new pseudo-terminal (bad security!)\n"), stdout); - fputs(USAGE_SEPARATOR, stdout); diff --git a/login-utils/sulogin.c b/login-utils/sulogin.c -index 45a558d..308e853 100644 +index 2682c30..64cafd4 100644 --- a/login-utils/sulogin.c +++ b/login-utils/sulogin.c -@@ -813,7 +813,7 @@ static void sushell(struct passwd *pwd) +@@ -890,7 +890,7 @@ static void sushell(struct passwd *pwd, struct console *con) if (pwd->pw_shell[0]) su_shell = pwd->pw_shell; else @@ -476,7 +467,7 @@ index 45a558d..308e853 100644 } if ((p = strrchr(su_shell, '/')) == NULL) p = su_shell; -@@ -863,9 +863,9 @@ static void sushell(struct passwd *pwd) +@@ -939,9 +939,9 @@ static void sushell(struct passwd *pwd, struct console *con) execl(su_shell, shell, (char *)NULL); warn(_("failed to execute %s"), su_shell); @@ -488,9 +479,9 @@ index 45a558d..308e853 100644 + warn(_("failed to execute %s"), "@TERMUX_PREFIX@/bin/sh"); } - static void usage(void) + #ifdef HAVE_LIBSELINUX diff --git a/login-utils/vipw.c b/login-utils/vipw.c -index 5049706..958e044 100644 +index 0c4565b..4c4cc76 100644 --- a/login-utils/vipw.c +++ b/login-utils/vipw.c @@ -127,7 +127,7 @@ static FILE * pw_tmpfile(int lockfd) @@ -503,7 +494,7 @@ index 5049706..958e044 100644 err(EXIT_FAILURE, _("can't open temporary file")); } diff --git a/misc-utils/whereis.c b/misc-utils/whereis.c -index d21b434..108bd15 100644 +index c11efa5..97f1729 100644 --- a/misc-utils/whereis.c +++ b/misc-utils/whereis.c @@ -101,84 +101,18 @@ struct wh_dirlist { @@ -596,7 +587,7 @@ index d21b434..108bd15 100644 }; diff --git a/sys-utils/eject.c b/sys-utils/eject.c -index 6037ddc..b42c189 100644 +index 166d591..c76d1a4 100644 --- a/sys-utils/eject.c +++ b/sys-utils/eject.c @@ -152,7 +152,7 @@ static void __attribute__((__noreturn__)) usage(void) @@ -624,7 +615,7 @@ index 6037ddc..b42c189 100644 case -1: warn( _("unable to fork")); diff --git a/sys-utils/fstrim.c b/sys-utils/fstrim.c -index 96b7d2d..a97977d 100644 +index 446217e..a59a8d4 100644 --- a/sys-utils/fstrim.c +++ b/sys-utils/fstrim.c @@ -294,7 +294,7 @@ static int fstrim_all_from_file(struct fstrim_control *ctl, const char *filename @@ -646,10 +637,10 @@ index 96b7d2d..a97977d 100644 fputs(_(" -o, --offset the offset in bytes to start discarding from\n"), out); fputs(_(" -l, --length the number of bytes to discard\n"), out); diff --git a/sys-utils/mount.c b/sys-utils/mount.c -index dba6fca..fc65790 100644 +index 50e66de..0d9358a 100644 --- a/sys-utils/mount.c +++ b/sys-utils/mount.c -@@ -498,11 +498,11 @@ static void __attribute__((__noreturn__)) usage(void) +@@ -490,7 +490,7 @@ static void __attribute__((__noreturn__)) usage(void) fputs(_(" -c, --no-canonicalize don't canonicalize paths\n"), out); fputs(_(" -f, --fake dry run; skip the mount(2) syscall\n"), out); fputs(_(" -F, --fork fork off for each device (use with -a)\n"), out); @@ -657,6 +648,10 @@ index dba6fca..fc65790 100644 + fputs(_(" -T, --fstab alternative file to @TERMUX_PREFIX@/etc/fstab\n"), out); fputs(_(" -i, --internal-only don't call the mount. helpers\n"), out); fputs(_(" -l, --show-labels show also filesystem labels\n"), out); + fputs(_(" --map-groups ::\n" +@@ -500,7 +500,7 @@ static void __attribute__((__noreturn__)) usage(void) + fputs(_(" --map-users /proc//ns/user\n" + " specify the user namespace for an ID-mapped mount\n"), out); fputs(_(" -m, --mkdir[=] alias to '-o X-mount.mkdir[=]'\n"), out); - fputs(_(" -n, --no-mtab don't write to /etc/mtab\n"), out); + fputs(_(" -n, --no-mtab don't write to @TERMUX_PREFIX@/etc/mtab\n"), out); @@ -664,10 +659,10 @@ index dba6fca..fc65790 100644 " what to do with options loaded from fstab\n"), out); fputs(_(" --options-source \n" diff --git a/sys-utils/setarch.c b/sys-utils/setarch.c -index 1a255e4..2f0e6be 100644 +index 227bc6b..07c6275 100644 --- a/sys-utils/setarch.c +++ b/sys-utils/setarch.c -@@ -471,7 +471,7 @@ int main(int argc, char *argv[]) +@@ -477,7 +477,7 @@ int main(int argc, char *argv[]) /* Don't use ifdef sparc here, we get "Unrecognized architecture" * error message later if necessary */ if (strcmp(arch, "sparc32bash") == 0) { @@ -676,7 +671,7 @@ index 1a255e4..2f0e6be 100644 shell_arg = ""; goto set_arch; } -@@ -594,7 +594,7 @@ set_arch: +@@ -600,7 +600,7 @@ set_arch: verify_arch_domain(doms, target, arch); if (!argc) { @@ -686,10 +681,10 @@ index 1a255e4..2f0e6be 100644 } if (verbose) { diff --git a/sys-utils/setpriv.c b/sys-utils/setpriv.c -index ddc2cc6..34cd0d9 100644 +index 74d3fbe..4a49cfe 100644 --- a/sys-utils/setpriv.c +++ b/sys-utils/setpriv.c -@@ -52,7 +52,7 @@ +@@ -53,7 +53,7 @@ #define SETPRIV_EXIT_PRIVERR 127 /* how we exit when we fail to set privs */ /* The shell to set SHELL env.variable if none is given in the user's passwd entry. */ @@ -699,10 +694,10 @@ index ddc2cc6..34cd0d9 100644 static gid_t get_group(const char *s, const char *err); diff --git a/sys-utils/swapon.c b/sys-utils/swapon.c -index 8735549..54955b8 100644 +index ce499c1..9aa8f66 100644 --- a/sys-utils/swapon.c +++ b/sys-utils/swapon.c -@@ -810,14 +810,14 @@ static void __attribute__((__noreturn__)) usage(void) +@@ -823,14 +823,14 @@ static void __attribute__((__noreturn__)) usage(void) fputs(_("Enable devices and files for paging and swapping.\n"), out); fputs(USAGE_OPTIONS, out); @@ -720,7 +715,7 @@ index 8735549..54955b8 100644 fputs(_(" --noheadings don't print table heading (with --show)\n"), out); fputs(_(" --raw use the raw output format (with --show)\n"), out); diff --git a/sys-utils/umount.c b/sys-utils/umount.c -index e579fb7..84d208e 100644 +index 17e668c..6f90976 100644 --- a/sys-utils/umount.c +++ b/sys-utils/umount.c @@ -96,7 +96,7 @@ static void __attribute__((__noreturn__)) usage(void) @@ -733,10 +728,10 @@ index e579fb7..84d208e 100644 fputs(_(" -O, --test-opts limit the set of filesystems (use with -a)\n"), out); fputs(_(" -R, --recursive recursively unmount a target with all its children\n"), out); diff --git a/tests/helpers/test_mkfds.c b/tests/helpers/test_mkfds.c -index 194c175..772f748 100644 +index 39427ba..4825bf8 100644 --- a/tests/helpers/test_mkfds.c +++ b/tests/helpers/test_mkfds.c -@@ -75,7 +75,7 @@ static void __attribute__((__noreturn__)) usage(FILE *out, int status) +@@ -96,7 +96,7 @@ static void __attribute__((__noreturn__)) usage(FILE *out, int status) fputs("\n", out); fputs("Examples:\n", out); @@ -745,7 +740,7 @@ index 194c175..772f748 100644 program_invocation_short_name); fprintf(out, "Using 3 and 4, make a pipe:\n\n $ %s pipe-no-fork 3 4\n\n", program_invocation_short_name); -@@ -1901,7 +1901,7 @@ static const struct factory factories[] = { +@@ -3277,7 +3277,7 @@ static const struct factory factories[] = { .name = "file", .type = PTYPE_STRING, .desc = "file to be opened", @@ -754,7 +749,7 @@ index 194c175..772f748 100644 }, { .name = "offset", -@@ -2095,7 +2095,7 @@ static const struct factory factories[] = { +@@ -3543,7 +3543,7 @@ static const struct factory factories[] = { .name = "path", .type = PTYPE_STRING, .desc = "path for listening-socket bound to", @@ -763,7 +758,7 @@ index 194c175..772f748 100644 }, { .name = "backlog", -@@ -2142,7 +2142,7 @@ static const struct factory factories[] = { +@@ -3590,7 +3590,7 @@ static const struct factory factories[] = { .name = "path", .type = PTYPE_STRING, .desc = "path for unix non-stream bound to", @@ -772,7 +767,7 @@ index 194c175..772f748 100644 }, { .name = "abstract", -@@ -2171,7 +2171,7 @@ static const struct factory factories[] = { +@@ -3619,7 +3619,7 @@ static const struct factory factories[] = { .name = "path", .type = PTYPE_STRING, .desc = "path for unix non-stream bound to", @@ -782,7 +777,7 @@ index 194c175..772f748 100644 { .name = "abstract", diff --git a/text-utils/pg.c b/text-utils/pg.c -index adb3840..6ba0231 100644 +index 30ed046..93111ba 100644 --- a/text-utils/pg.c +++ b/text-utils/pg.c @@ -1364,7 +1364,7 @@ static void pgfile(FILE *f, const char *name)