From efadf4f8b5c6c8af851d440ed4b5c0e8f2b7731c Mon Sep 17 00:00:00 2001 From: Robert Kirkman Date: Fri, 28 Feb 2025 23:00:30 -0600 Subject: [PATCH] bionic-host: rename to aosp-libs, bump to 9.0.0-r76, add aosp-utils subpackage, revbump revdeps --- .github/workflows/package_updates.yml | 2 + .github/workflows/packages.yml | 2 + packages/aosp-libs/aosp-utils.subpackage.sh | 161 +++++++++++++ packages/{bionic-host => aosp-libs}/build.sh | 65 +++-- .../{bionic-host => aosp-libs}/default.xml | 20 +- .../toybox-enable-su-disable-selinux.patch | 227 ++++++++++++++++++ packages/bionic-host/LICENSE.txt | 9 - packages/bionic-host/disable-jdk.patch | 25 -- packages/bionic-host/no-undefined-deps.patch | 71 ------ packages/pypy/build.sh | 4 +- packages/pypy3/build.sh | 4 +- packages/pypy3/termux.py.in | 2 +- scripts/big-pkgs.list | 2 +- 13 files changed, 459 insertions(+), 135 deletions(-) create mode 100644 packages/aosp-libs/aosp-utils.subpackage.sh rename packages/{bionic-host => aosp-libs}/build.sh (58%) rename packages/{bionic-host => aosp-libs}/default.xml (76%) create mode 100644 packages/aosp-libs/toybox-enable-su-disable-selinux.patch delete mode 100644 packages/bionic-host/LICENSE.txt delete mode 100644 packages/bionic-host/disable-jdk.patch delete mode 100644 packages/bionic-host/no-undefined-deps.patch diff --git a/.github/workflows/package_updates.yml b/.github/workflows/package_updates.yml index e280d4a4e087029..4febe0efc9f513b 100644 --- a/.github/workflows/package_updates.yml +++ b/.github/workflows/package_updates.yml @@ -137,6 +137,8 @@ jobs: with: fetch-depth: 0 token: ${{ secrets.TERMUXBOT2_TOKEN }} + - name: Set process id limit for 32-bit builds depending on aosp-libs + run: echo 65535 | sudo tee /proc/sys/kernel/pid_max - name: Free additional disk space run: | sudo apt purge -yq $(dpkg -l | grep '^ii' | awk '{ print $2 }' | grep -P '(aspnetcore|cabal-|dotnet-|ghc-|libmono|mongodb-|mysql-|php)') \ diff --git a/.github/workflows/packages.yml b/.github/workflows/packages.yml index 2617e8ce645462d..b520f62f75e846c 100644 --- a/.github/workflows/packages.yml +++ b/.github/workflows/packages.yml @@ -37,6 +37,8 @@ jobs: uses: actions/checkout@v4 with: fetch-depth: 1000 + - name: Set process id limit for 32-bit builds depending on aosp-libs + run: echo 65535 | sudo tee /proc/sys/kernel/pid_max - name: Gather build summary id: build-info env: diff --git a/packages/aosp-libs/aosp-utils.subpackage.sh b/packages/aosp-libs/aosp-utils.subpackage.sh new file mode 100644 index 000000000000000..062e66ac6b865e7 --- /dev/null +++ b/packages/aosp-libs/aosp-utils.subpackage.sh @@ -0,0 +1,161 @@ +TERMUX_SUBPKG_DESCRIPTION="AOSP-based mksh, toybox and iputils for termux-docker" +# It doesn't seem trivial to "wildcard" include most files in the bin folder +# while excluding linker, debuggerd and crash_dump, which belong in the +# main package. +TERMUX_SUBPKG_INCLUDE=" +opt/aosp/bin/arping +opt/aosp/bin/ping +opt/aosp/bin/ping6 +opt/aosp/bin/tracepath +opt/aosp/bin/tracepath6 +opt/aosp/bin/traceroute6 +opt/aosp/bin/sh +opt/aosp/etc/mkshrc +opt/aosp/bin/toybox +opt/aosp/bin/acpi +opt/aosp/bin/base64 +opt/aosp/bin/basename +opt/aosp/bin/blockdev +opt/aosp/bin/cal +opt/aosp/bin/cat +opt/aosp/bin/chgrp +opt/aosp/bin/chmod +opt/aosp/bin/chown +opt/aosp/bin/chroot +opt/aosp/bin/chrt +opt/aosp/bin/cksum +opt/aosp/bin/clear +opt/aosp/bin/cmp +opt/aosp/bin/comm +opt/aosp/bin/cp +opt/aosp/bin/cpio +opt/aosp/bin/cut +opt/aosp/bin/date +opt/aosp/bin/df +opt/aosp/bin/diff +opt/aosp/bin/dirname +opt/aosp/bin/dmesg +opt/aosp/bin/dos2unix +opt/aosp/bin/du +opt/aosp/bin/echo +opt/aosp/bin/env +opt/aosp/bin/expand +opt/aosp/bin/expr +opt/aosp/bin/fallocate +opt/aosp/bin/false +opt/aosp/bin/file +opt/aosp/bin/find +opt/aosp/bin/flock +opt/aosp/bin/fmt +opt/aosp/bin/free +opt/aosp/bin/groups +opt/aosp/bin/gunzip +opt/aosp/bin/gzip +opt/aosp/bin/head +opt/aosp/bin/hostname +opt/aosp/bin/hwclock +opt/aosp/bin/id +opt/aosp/bin/ifconfig +opt/aosp/bin/inotifyd +opt/aosp/bin/insmod +opt/aosp/bin/ionice +opt/aosp/bin/iorenice +opt/aosp/bin/kill +opt/aosp/bin/killall +opt/aosp/bin/ln +opt/aosp/bin/log +opt/aosp/bin/logname +opt/aosp/bin/losetup +opt/aosp/bin/ls +opt/aosp/bin/lsmod +opt/aosp/bin/lsof +opt/aosp/bin/lspci +opt/aosp/bin/lsusb +opt/aosp/bin/md5sum +opt/aosp/bin/microcom +opt/aosp/bin/mkdir +opt/aosp/bin/mkfifo +opt/aosp/bin/mknod +opt/aosp/bin/mkswap +opt/aosp/bin/mktemp +opt/aosp/bin/modinfo +opt/aosp/bin/modprobe +opt/aosp/bin/more +opt/aosp/bin/mount +opt/aosp/bin/mountpoint +opt/aosp/bin/mv +opt/aosp/bin/netstat +opt/aosp/bin/nice +opt/aosp/bin/nl +opt/aosp/bin/nohup +opt/aosp/bin/od +opt/aosp/bin/paste +opt/aosp/bin/patch +opt/aosp/bin/pgrep +opt/aosp/bin/pidof +opt/aosp/bin/pkill +opt/aosp/bin/pmap +opt/aosp/bin/printenv +opt/aosp/bin/printf +opt/aosp/bin/ps +opt/aosp/bin/pwd +opt/aosp/bin/readlink +opt/aosp/bin/realpath +opt/aosp/bin/renice +opt/aosp/bin/rm +opt/aosp/bin/rmdir +opt/aosp/bin/rmmod +opt/aosp/bin/sed +opt/aosp/bin/sendevent +opt/aosp/bin/seq +opt/aosp/bin/setprop +opt/aosp/bin/setsid +opt/aosp/bin/sha1sum +opt/aosp/bin/sha224sum +opt/aosp/bin/sha256sum +opt/aosp/bin/sha384sum +opt/aosp/bin/sha512sum +opt/aosp/bin/sleep +opt/aosp/bin/sort +opt/aosp/bin/split +opt/aosp/bin/start +opt/aosp/bin/stat +opt/aosp/bin/stop +opt/aosp/bin/strings +opt/aosp/bin/stty +opt/aosp/bin/su +opt/aosp/bin/swapoff +opt/aosp/bin/swapon +opt/aosp/bin/sync +opt/aosp/bin/sysctl +opt/aosp/bin/tac +opt/aosp/bin/tail +opt/aosp/bin/tar +opt/aosp/bin/taskset +opt/aosp/bin/tee +opt/aosp/bin/time +opt/aosp/bin/timeout +opt/aosp/bin/top +opt/aosp/bin/touch +opt/aosp/bin/tr +opt/aosp/bin/true +opt/aosp/bin/truncate +opt/aosp/bin/tty +opt/aosp/bin/ulimit +opt/aosp/bin/umount +opt/aosp/bin/uname +opt/aosp/bin/uniq +opt/aosp/bin/unix2dos +opt/aosp/bin/uptime +opt/aosp/bin/usleep +opt/aosp/bin/uudecode +opt/aosp/bin/uuencode +opt/aosp/bin/vmstat +opt/aosp/bin/wc +opt/aosp/bin/which +opt/aosp/bin/whoami +opt/aosp/bin/xargs +opt/aosp/bin/xxd +opt/aosp/bin/yes +opt/aosp/bin/zcat +" diff --git a/packages/bionic-host/build.sh b/packages/aosp-libs/build.sh similarity index 58% rename from packages/bionic-host/build.sh rename to packages/aosp-libs/build.sh index d46b9c7d8271124..5237f9051b3458f 100644 --- a/packages/bionic-host/build.sh +++ b/packages/aosp-libs/build.sh @@ -1,15 +1,27 @@ -TERMUX_PKG_HOMEPAGE=https://android.googlesource.com/platform/bionic/ -TERMUX_PKG_DESCRIPTION="bionic libc, libm, libdl and dynamic linker for ubuntu host" -TERMUX_PKG_LICENSE="BSD 3-Clause" +TERMUX_PKG_HOMEPAGE=https://source.android.com/ +TERMUX_PKG_DESCRIPTION="bionic libc, libicuuc, liblzma, zlib, and boringssl for package builder and termux-docker" +TERMUX_PKG_LICENSE="BSD 3-Clause, Apache-2.0, ZLIB, Public Domain, BSD 2-Clause, OpenSSL, MirOS, BSD" +TERMUX_PKG_LICENSE_FILE=" +bionic/libc/NOTICE +system/core/NOTICE +external/zlib/NOTICE +external/lzma/NOTICE +external/icu/NOTICE +external/boringssl/NOTICE +external/mksh/NOTICE +external/toybox/NOTICE +external/iputils/NOTICE +" TERMUX_PKG_MAINTAINER="@termux" -TERMUX_PKG_VERSION="8.0.0-r51" -TERMUX_PKG_REVISION=5 -TERMUX_PKG_SHA256=6b42a86fc2ec58f86862a8f09a5465af0758ce24f2ca8c3cabb3bb6a81d96525 +TERMUX_PKG_VERSION="9.0.0-r76" TERMUX_PKG_AUTO_UPDATE=false TERMUX_PKG_BUILD_IN_SRC=true +TERMUX_PKG_HOSTBUILD=true TERMUX_PKG_SKIP_SRC_EXTRACT=true # Should be handled by AOSP build system so I am disable it here. TERMUX_PKG_UNDEF_SYMBOLS_FILES="all" +TERMUX_PKG_BREAKS="bionic-host" +TERMUX_PKG_REPLACES="bionic-host" # Function to obtain the .deb URL obtain_deb_url() { @@ -52,8 +64,6 @@ termux_step_get_source() { mkdir -p "${TERMUX_PKG_SRCDIR}/prefix" cd "${TERMUX_PKG_SRCDIR}" || termux_error_exit "Couldn't enter source code directory: ${TERMUX_PKG_SRCDIR}" - cp -f "${TERMUX_PKG_BUILDER_DIR}/LICENSE.txt" "${TERMUX_PKG_SRCDIR}/LICENSE.txt" - local URL DEB_NAME for i in libtinfo5 libncurses5 openssh-client; do URL="$(obtain_deb_url "$i")" @@ -76,16 +86,34 @@ termux_step_get_source() { -u https://android.googlesource.com/platform/manifest \ -b main -m "${TERMUX_PKG_BUILDER_DIR}/default.xml" <<< 'n' "${TERMUX_PKG_CACHEDIR}"/repo sync -c -j32 +} - sed -i '1s|.*|\#!'"${TERMUX_PKG_SRCDIR}"'/prebuilts/python/linux-x86/2.7.5/bin/python2|' "${TERMUX_PKG_SRCDIR}/bionic/libc/fs_config_generator.py" - sed -i '1s|.*|\#!'"${TERMUX_PKG_SRCDIR}"'/prebuilts/python/linux-x86/2.7.5/bin/python2|' "${TERMUX_PKG_SRCDIR}/external/clang/clang-version-inc.py" - sed -i '/selinux/d' "${TERMUX_PKG_SRCDIR}/system/core/debuggerd/Android.bp" - sed -i '/selinux/d' "${TERMUX_PKG_SRCDIR}/system/core/debuggerd/crash_dump.cpp" - sed -i '/selinux/d' "${TERMUX_PKG_SRCDIR}/system/core/debuggerd/debuggerd.cpp" +termux_step_host_build() { + # Correctly-functioning Python 2 seems to be a mandatory build dependency, + # but using the prebuilt Python 2 from AOSP seemed to result in this error, + # in AOSP 9.0.0 but not in AOSP 8.0.0 or 8.1.0: + # /home/builder/.termux-build/termux-aosp/src/prebuilts/python/linux-x86/2.7.5/bin/python2: + # can't decompress data; zlib not available + # which only went away when I recompiled Python 2. + PYTHON2_WORKDIR="${TERMUX_PKG_TMPDIR}/python2" + PYTHON2_INSTALLDIR="${TERMUX_PKG_HOSTBUILD_DIR}/python2" + mkdir -p "${PYTHON2_WORKDIR}" "${PYTHON2_INSTALLDIR}" + termux_download https://www.python.org/ftp/python/2.7.18/Python-2.7.18.tar.xz \ + "${TERMUX_PKG_CACHEDIR}/python2.tar.xz" \ + b62c0e7937551d0cc02b8fd5cb0f544f9405bafc9a54d3808ed4594812edef43 + tar xf "${TERMUX_PKG_CACHEDIR}/python2.tar.xz" --strip-components=1 -C "${PYTHON2_WORKDIR}" + pushd "${PYTHON2_WORKDIR}" + ./configure --prefix="${PYTHON2_INSTALLDIR}" + make install + popd + export PATH="${PYTHON2_INSTALLDIR}/bin:${PATH}" + python2 -m ensurepip + pip2 install --upgrade setuptools pip } termux_step_configure() { - : + # for adding python 2 to $PATH on subsequent builds when termux_step_host_build() has already run + export PATH="${TERMUX_PKG_HOSTBUILD_DIR}/python2/bin:${PATH}" } termux_step_make() { @@ -94,12 +122,13 @@ termux_step_make() { cd ${TERMUX_PKG_SRCDIR} source build/envsetup.sh; lunch aosp_${_ARCH}-eng; - make JAVA_NOT_REQUIRED=true linker libc libm libdl libicuuc debuggerd crash_dump + export ALLOW_MISSING_DEPENDENCIES=true + make linker libc libm libdl libicuuc debuggerd crash_dump + make toybox sh mkshrc ping ping6 tracepath tracepath6 traceroute6 arping " } termux_step_make_install() { - mkdir -p "${TERMUX_PREFIX}/opt/bionic-host/usr/icu" - cp "${TERMUX_PKG_SRCDIR}/external/icu/icu4c/source/stubdata/icudt58l.dat" "${TERMUX_PREFIX}/opt/bionic-host/usr/icu/" - cp -r "${TERMUX_PKG_SRCDIR}"/out/target/product/generic*/system/* "${TERMUX_PREFIX}/opt/bionic-host/" + mkdir -p "${TERMUX_PREFIX}/opt/aosp/" + cp -r "${TERMUX_PKG_SRCDIR}"/out/target/product/generic*/system/* "${TERMUX_PREFIX}/opt/aosp/" } diff --git a/packages/bionic-host/default.xml b/packages/aosp-libs/default.xml similarity index 76% rename from packages/bionic-host/default.xml rename to packages/aosp-libs/default.xml index f4aff2514b448d5..6b72e1505d0d1ac 100644 --- a/packages/bionic-host/default.xml +++ b/packages/aosp-libs/default.xml @@ -1,10 +1,11 @@ + - + - + @@ -15,15 +16,18 @@ - + + + + @@ -31,21 +35,25 @@ + + + + - + + - - + diff --git a/packages/aosp-libs/toybox-enable-su-disable-selinux.patch b/packages/aosp-libs/toybox-enable-su-disable-selinux.patch new file mode 100644 index 000000000000000..febc04d3cbc7aed --- /dev/null +++ b/packages/aosp-libs/toybox-enable-su-disable-selinux.patch @@ -0,0 +1,227 @@ +Enables su, disables use of su by non-root users, +and disables selinux, getenforce, load_policy, restorecon, runcon, setenforce and chcon. + +Plus, these commits cherry-picked and slightly rewritten, mainly noted here to serve as documentation +of landley's strong implication that this su implementation is probably intended for compatibility with Android, +making it the closest possible thing to an "official" implementation of su on Android there is. +https://github.com/landley/toybox/commit/0bb61e3aefc32940d8578eb174bf6e39dca17c35 +https://github.com/landley/toybox/commit/20eb4585a140a4bcd7901d4892a3222ff9f0d122 + +--- a/external/toybox/Android.mk ++++ b/external/toybox/Android.mk +@@ -65,13 +65,8 @@ common_SRC_FILES := \ + lib/portability.c \ + lib/xwrap.c \ + main.c \ +- toys/android/getenforce.c \ +- toys/android/load_policy.c \ + toys/android/log.c \ +- toys/android/restorecon.c \ +- toys/android/runcon.c \ + toys/android/sendevent.c \ +- toys/android/setenforce.c \ + toys/android/setprop.c \ + toys/android/start.c \ + toys/lsb/dmesg.c \ +@@ -83,6 +78,7 @@ common_SRC_FILES := \ + toys/lsb/mount.c \ + toys/lsb/pidof.c \ + toys/lsb/seq.c \ ++ toys/lsb/su.c \ + toys/lsb/sync.c \ + toys/lsb/umount.c \ + toys/net/ifconfig.c \ +@@ -95,7 +91,6 @@ common_SRC_FILES := \ + toys/other/base64.c \ + toys/other/blkid.c \ + toys/other/blockdev.c \ +- toys/other/chcon.c \ + toys/other/chroot.c \ + toys/other/chrt.c \ + toys/other/clear.c \ +@@ -234,7 +229,7 @@ common_CFLAGS := \ + -ffunction-sections -fdata-sections \ + -fno-asynchronous-unwind-tables \ + +-toybox_libraries := liblog libselinux libcutils libcrypto libz ++toybox_libraries := liblog libcutils libcrypto libz + + common_CFLAGS += -DTOYBOX_VENDOR=\"-android\" + +@@ -251,7 +246,6 @@ ALL_TOOLS := \ + blockdev \ + cal \ + cat \ +- chcon \ + chgrp \ + chmod \ + chown \ +@@ -282,7 +276,6 @@ ALL_TOOLS := \ + flock \ + fmt \ + free \ +- getenforce \ + groups \ + gunzip \ + gzip \ +@@ -297,7 +290,6 @@ ALL_TOOLS := \ + iorenice \ + kill \ + killall \ +- load_policy \ + ln \ + log \ + logname \ +@@ -338,15 +330,12 @@ ALL_TOOLS := \ + readlink \ + realpath \ + renice \ +- restorecon \ + rm \ + rmdir \ + rmmod \ +- runcon \ + sed \ + sendevent \ + seq \ +- setenforce \ + setprop \ + setsid \ + sha1sum \ +@@ -361,6 +350,7 @@ ALL_TOOLS := \ + stat \ + stop \ + strings \ ++ su \ + stty \ + swapoff \ + swapon \ +--- a/external/toybox/generated/config.h ++++ b/external/toybox/generated/config.h +@@ -36,8 +36,8 @@ + #define USE_TOYBOX_ANDROID_SCHEDPOLICY(...) __VA_ARGS__ + #define CFG_TOYBOX_PEDANTIC_ARGS 0 + #define USE_TOYBOX_PEDANTIC_ARGS(...) +-#define CFG_TOYBOX_SELINUX 1 +-#define USE_TOYBOX_SELINUX(...) __VA_ARGS__ ++#define CFG_TOYBOX_SELINUX 0 ++#define USE_TOYBOX_SELINUX(...) + #define CFG_TOYBOX_SHADOW 0 + #define USE_TOYBOX_SHADOW(...) + #define CFG_TOYBOX_SMACK 0 +@@ -84,8 +84,8 @@ + #define USE_CD(...) + #define CFG_CHATTR 1 + #define USE_CHATTR(...) __VA_ARGS__ +-#define CFG_CHCON 1 +-#define USE_CHCON(...) __VA_ARGS__ ++#define CFG_CHCON 0 ++#define USE_CHCON(...) + #define CFG_CHGRP 1 + #define USE_CHGRP(...) __VA_ARGS__ + #define CFG_CHMOD 1 +@@ -206,8 +206,8 @@ + #define USE_FTPGET(...) + #define CFG_FTPPUT 0 + #define USE_FTPPUT(...) +-#define CFG_GETENFORCE 1 +-#define USE_GETENFORCE(...) __VA_ARGS__ ++#define CFG_GETENFORCE 0 ++#define USE_GETENFORCE(...) + #define CFG_GETFATTR 1 + #define USE_GETFATTR(...) __VA_ARGS__ + #define CFG_GETPROP 0 +@@ -288,8 +288,8 @@ + #define USE_LINK(...) + #define CFG_LN 1 + #define USE_LN(...) __VA_ARGS__ +-#define CFG_LOAD_POLICY 1 +-#define USE_LOAD_POLICY(...) __VA_ARGS__ ++#define CFG_LOAD_POLICY 0 ++#define USE_LOAD_POLICY(...) + #define CFG_LOGGER 0 + #define USE_LOGGER(...) + #define CFG_LOGIN 0 +@@ -440,8 +440,8 @@ + #define USE_RENICE(...) __VA_ARGS__ + #define CFG_RESET 0 + #define USE_RESET(...) +-#define CFG_RESTORECON 1 +-#define USE_RESTORECON(...) __VA_ARGS__ ++#define CFG_RESTORECON 0 ++#define USE_RESTORECON(...) + #define CFG_REV 1 + #define USE_REV(...) __VA_ARGS__ + #define CFG_RFKILL 1 +@@ -454,16 +454,16 @@ + #define USE_RM(...) __VA_ARGS__ + #define CFG_ROUTE 0 + #define USE_ROUTE(...) +-#define CFG_RUNCON 1 +-#define USE_RUNCON(...) __VA_ARGS__ ++#define CFG_RUNCON 0 ++#define USE_RUNCON(...) + #define CFG_SED 1 + #define USE_SED(...) __VA_ARGS__ + #define CFG_SENDEVENT 1 + #define USE_SENDEVENT(...) __VA_ARGS__ + #define CFG_SEQ 1 + #define USE_SEQ(...) __VA_ARGS__ +-#define CFG_SETENFORCE 1 +-#define USE_SETENFORCE(...) __VA_ARGS__ ++#define CFG_SETENFORCE 0 ++#define USE_SETENFORCE(...) + #define CFG_SETFATTR 1 + #define USE_SETFATTR(...) __VA_ARGS__ + #define CFG_SETPROP 1 +@@ -510,8 +510,8 @@ + #define USE_STRINGS(...) __VA_ARGS__ + #define CFG_STTY 1 + #define USE_STTY(...) __VA_ARGS__ +-#define CFG_SU 0 +-#define USE_SU(...) ++#define CFG_SU 1 ++#define USE_SU(...) __VA_ARGS__ + #define CFG_SULOGIN 0 + #define USE_SULOGIN(...) + #define CFG_SWAPOFF 1 +--- a/external/toybox/toys/lsb/su.c ++++ b/external/toybox/toys/lsb/su.c +@@ -41,9 +41,8 @@ static char *snapshot_env(char *name) + + void su_main() + { +- char *name, *passhash = 0, **argu, **argv; ++ char *name, **argu, **argv; + struct passwd *up; +- struct spwd *shp; + + if (*toys.optargs && !strcmp("-", *toys.optargs)) { + toys.optflags |= FLAG_l; +@@ -53,13 +52,22 @@ void su_main() + if (*toys.optargs) name = *(toys.optargs++); + else name = "root"; + +- if (!(shp = getspnam(name))) perror_exit("no '%s'", name); + if (getuid()) { +- if (*shp->sp_pwdp != '$') goto deny; ++ // /etc/shadow does not exist on android, so this su implementation can ++ // only be successfully called by root (getuid() returning 0) ++ /* ++ if (!(shadow = get_userline("/etc/shadow", name))) ++ perror_exit("no '%s'", name); ++ if (*shadow[1] != '$') goto deny; + if (read_password(toybuf, sizeof(toybuf), "Password: ")) goto deny; +- passhash = crypt(toybuf, shp->sp_pwdp); ++ passhash = crypt(toybuf, shadow[1]); ++ if (!passhash || strcmp(passhash, shadow[1])) name = 0; + memset(toybuf, 0, sizeof(toybuf)); +- if (!passhash || strcmp(passhash, shp->sp_pwdp)) goto deny; ++ memset(shadow[1], 0, strlen(shadow[1])); ++ if (passhash) memset(passhash, 0, strlen(passhash)); ++ if (!name) goto deny; ++ */ ++ goto deny; + } + + up = xgetpwnam(name); diff --git a/packages/bionic-host/LICENSE.txt b/packages/bionic-host/LICENSE.txt deleted file mode 100644 index 29e2e38e1745c69..000000000000000 --- a/packages/bionic-host/LICENSE.txt +++ /dev/null @@ -1,9 +0,0 @@ -Copyright (c) 2013, Google Inc. -All rights reserved. - -Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: - -Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. -Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. -Neither the name of Google Inc. nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/packages/bionic-host/disable-jdk.patch b/packages/bionic-host/disable-jdk.patch deleted file mode 100644 index c450c3b0ffd269a..000000000000000 --- a/packages/bionic-host/disable-jdk.patch +++ /dev/null @@ -1,25 +0,0 @@ -+++ a/build/make/core/config.mk -@@ -654,23 +654,6 @@ - - COLUMN:= column - --# We may not have the right JAVA_HOME/PATH set up yet when this is run from envsetup.sh. --ifneq ($(CALLED_FROM_SETUP),true) --HOST_JDK_TOOLS_JAR:= $(shell $(BUILD_SYSTEM)/find-jdk-tools-jar.sh) -- --ifneq ($(HOST_JDK_TOOLS_JAR),) --ifeq ($(wildcard $(HOST_JDK_TOOLS_JAR)),) --$(error Error: could not find jdk tools.jar at $(HOST_JDK_TOOLS_JAR), please check if your JDK was installed correctly) --endif --endif -- --# Is the host JDK 64-bit version? --HOST_JDK_IS_64BIT_VERSION := --ifneq ($(filter 64-Bit, $(shell java -version 2>&1)),) --HOST_JDK_IS_64BIT_VERSION := true --endif --endif # CALLED_FROM_SETUP not true -- - # It's called md5 on Mac OS and md5sum on Linux - ifeq ($(HOST_OS),darwin) - MD5SUM:=md5 -q diff --git a/packages/bionic-host/no-undefined-deps.patch b/packages/bionic-host/no-undefined-deps.patch deleted file mode 100644 index f3e3e485d47ef83..000000000000000 --- a/packages/bionic-host/no-undefined-deps.patch +++ /dev/null @@ -1,71 +0,0 @@ -+++ a/build/blueprint/context.go -@@ -1209,7 +1209,7 @@ - return nil - } - return []error{&BlueprintError{ -- Err: fmt.Errorf("%q depends on undefined module %q", -+ Err: fmt.Errorf("%q 1depends on undefined module %q", - module.Name(), depName), - Pos: module.pos, - }} -@@ -1286,15 +1286,8 @@ - - possibleDeps := c.modulesFromName(depName) - if possibleDeps == nil { -- if c.allowMissingDependencies { -- module.missingDeps = append(module.missingDeps, depName) -- return nil -- } -- return []error{&BlueprintError{ -- Err: fmt.Errorf("%q depends on undefined module %q", -- module.Name(), depName), -- Pos: module.pos, -- }} -+ module.missingDeps = append(module.missingDeps, depName) -+ return nil - } - - // We can't just append variant.Variant to module.dependencyVariants.variantName and -@@ -1996,19 +1989,6 @@ - return true - } - -- if module.missingDeps != nil && !mctx.handledMissingDeps { -- var errs []error -- for _, depName := range module.missingDeps { -- errs = append(errs, &BlueprintError{ -- Err: fmt.Errorf("%q depends on undefined module %q", -- module.Name(), depName), -- Pos: module.pos, -- }) -- } -- errsCh <- errs -- return true -- } -- - depsCh <- mctx.ninjaFileDeps - - newErrs := c.processLocalBuildActions(&module.actionDefs, -+++ a/build/soong/android/paths.go 2023-11-08 07:59:01.069137952 +020 -@@ -360,11 +360,6 @@ - return ret - } - -- if exists, _, err := ctx.Fs().Exists(ret.String()); err != nil { -- reportPathError(ctx, "%s: %s", ret, err.Error()) -- } else if !exists { -- reportPathError(ctx, "source path %s does not exist", ret) -- } - return ret - } - -+++ a/build/blueprint/module_ctx.go -@@ -488,7 +488,7 @@ - } - - func (m *moduleContext) GetMissingDependencies() []string { -- m.handledMissingDeps = true -+ m.handledMissingDeps = false - return m.module.missingDeps - } - diff --git a/packages/pypy/build.sh b/packages/pypy/build.sh index 4db84144f8df3bd..a28174584de4279 100644 --- a/packages/pypy/build.sh +++ b/packages/pypy/build.sh @@ -4,6 +4,7 @@ TERMUX_PKG_LICENSE="MIT" TERMUX_PKG_MAINTAINER="@licy183" _MAJOR_VERSION=2.7 TERMUX_PKG_VERSION="7.3.19" +TERMUX_PKG_REVISION=1 TERMUX_PKG_SRCURL=( https://downloads.python.org/pypy/pypy$_MAJOR_VERSION-v$TERMUX_PKG_VERSION-src.tar.bz2 https://downloads.python.org/pypy/pypy2.7-v$TERMUX_PKG_VERSION-linux64.tar.bz2 @@ -16,7 +17,7 @@ TERMUX_PKG_SHA256=( ) TERMUX_PKG_AUTO_UPDATE=true TERMUX_PKG_DEPENDS="gdbm, libandroid-posix-semaphore, libandroid-support, libbz2, libcrypt, libexpat, libffi, liblzma, libsqlite, ncurses, ncurses-ui-libs, openssl, zlib" -TERMUX_PKG_BUILD_DEPENDS="bionic-host, tk, xorgproto" +TERMUX_PKG_BUILD_DEPENDS="aosp-libs, tk, xorgproto" TERMUX_PKG_RECOMMENDS="clang, make, pkg-config" TERMUX_PKG_SUGGESTS="pypy-tkinter" TERMUX_PKG_BUILD_IN_SRC=true @@ -92,7 +93,6 @@ termux_step_make() { -b $HOME -b $TERMUX_PKG_TMPDIR -b /proc -b /dev -b /sys --b $TERMUX_PREFIX/opt/bionic-host:/system -w $TERMUX_PKG_TMPDIR -r / " diff --git a/packages/pypy3/build.sh b/packages/pypy3/build.sh index 62301cb259f9e17..f7fadc5a3efb84c 100644 --- a/packages/pypy3/build.sh +++ b/packages/pypy3/build.sh @@ -4,11 +4,11 @@ TERMUX_PKG_LICENSE="MIT" TERMUX_PKG_MAINTAINER="@licy183" _MAJOR_VERSION=3.9 TERMUX_PKG_VERSION=7.3.15 -TERMUX_PKG_REVISION=3 +TERMUX_PKG_REVISION=4 TERMUX_PKG_SRCURL=https://downloads.python.org/pypy/pypy$_MAJOR_VERSION-v$TERMUX_PKG_VERSION-src.tar.bz2 TERMUX_PKG_SHA256=6bb9537d85aa7ad13c0aad2e41ff7fd55080bc9b4d1361b8f502df51db816e18 TERMUX_PKG_DEPENDS="gdbm, libandroid-posix-semaphore, libandroid-support, libbz2, libcrypt, libexpat, libffi, liblzma, libsqlite, ncurses, ncurses-ui-libs, openssl, zlib" -TERMUX_PKG_BUILD_DEPENDS="bionic-host, clang, make, pkg-config, python2, tk, xorgproto" +TERMUX_PKG_BUILD_DEPENDS="aosp-libs, coreutils, clang, make, pkg-config, python2, tk, xorgproto" TERMUX_PKG_RECOMMENDS="clang, make, pkg-config" TERMUX_PKG_SUGGESTS="pypy3-tkinter" TERMUX_PKG_BUILD_IN_SRC=true diff --git a/packages/pypy3/termux.py.in b/packages/pypy3/termux.py.in index be5014b4189fa51..5bf9a282f889fed 100644 --- a/packages/pypy3/termux.py.in +++ b/packages/pypy3/termux.py.in @@ -11,7 +11,7 @@ if PROOT_TARGET == None: PROOT_TARGET_ARGS = PROOT_TARGET.split() def _update_target_rootfs_path(flag): - if ("-I@TERMUX_PREFIX@" in flag) or ("-L@TERMUX_PREFIX@" in flag): + if ("-isystem@TERMUX_PREFIX@" in flag) or ("-L@TERMUX_PREFIX@" in flag): return flag.replace("@TERMUX_PREFIX@", "/target-termux-rootfs/@TERMUX_PREFIX@") return flag diff --git a/scripts/big-pkgs.list b/scripts/big-pkgs.list index 4db6312095e1b5b..ed3996aaee1ee4e 100644 --- a/scripts/big-pkgs.list +++ b/scripts/big-pkgs.list @@ -1,5 +1,5 @@ angle-android -bionic-host +aosp-libs carbonyl-host-tools carbonyl clvk