Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

bionic-host: rename to aosp-libs, bump to 9.0.0-r76, add aosp-utils subpackage, revbump revdeps #22906

Open
wants to merge 1 commit into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions .github/workflows/package_updates.yml
Original file line number Diff line number Diff line change
Expand Up @@ -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)') \
Expand Down
2 changes: 2 additions & 0 deletions .github/workflows/packages.yml
Original file line number Diff line number Diff line change
Expand Up @@ -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:
Expand Down
File renamed without changes.
161 changes: 161 additions & 0 deletions packages/aosp-libs/aosp-utils.subpackage.sh
Original file line number Diff line number Diff line change
@@ -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
"
50 changes: 35 additions & 15 deletions packages/bionic-host/build.sh → packages/aosp-libs/build.sh
Original file line number Diff line number Diff line change
@@ -1,15 +1,16 @@
TERMUX_PKG_HOMEPAGE=https://android.googlesource.com/platform/bionic/
TERMUX_PKG_DESCRIPTION="bionic libc, libm, libdl and dynamic linker for ubuntu host"
TERMUX_PKG_HOMEPAGE=https://source.android.com/
TERMUX_PKG_DESCRIPTION="bionic libc, libm, libdl, zlib, liblzma, libicuuc, dynamic linker and debugger for package builder and termux-docker"
TERMUX_PKG_LICENSE="BSD 3-Clause"
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() {
Expand Down Expand Up @@ -76,16 +77,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() {
Expand All @@ -94,12 +113,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/"
}
Original file line number Diff line number Diff line change
@@ -1,10 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--This XML file is based on this one: https://android.googlesource.com/platform/manifest/+/refs/heads/android-9.0.0_r61/default.xml -->
<manifest>

<remote name="aosp" fetch=".." review="https://android-review.googlesource.com/" />
<default revision="refs/tags/android-8.0.0_r51" remote="aosp" sync-j="4" />
<default revision="refs/tags/android-security-9.0.0_r76" remote="aosp" sync-j="4" />

<project path="build/make" name="platform/build" groups="pdk" >
<project path="build/make" name="platform/build" groups="pdk">
<copyfile src="core/root.mk" dest="Makefile" />
<linkfile src="CleanSpec.mk" dest="build/CleanSpec.mk" />
<linkfile src="buildspec.mk.default" dest="build/buildspec.mk.default" />
Expand All @@ -15,37 +16,44 @@
</project>
<project path="build/blueprint" name="platform/build/blueprint" groups="pdk,tradefed" />
<project path="build/kati" name="platform/build/kati" groups="pdk,tradefed" />
<project path="build/soong" name="platform/build/soong" groups="pdk,tradefed" >
<project path="build/soong" name="platform/build/soong" groups="pdk,tradefed">
<linkfile src="root.bp" dest="Android.bp" />
<linkfile src="bootstrap.bash" dest="bootstrap.bash" />
</project>
<project path="art" name="platform/art" groups="pdk" />
<project path="bionic" name="platform/bionic" groups="pdk" />
<project path="external/boringssl" name="platform/external/boringssl" groups="pdk" />
<project path="external/clang" name="platform/external/clang" groups="pdk" />
<project path="external/compiler-rt" name="platform/external/compiler-rt" groups="pdk" />
<project path="external/elfutils" name="platform/external/elfutils" groups="pdk" />
<project path="external/icu" name="platform/external/icu" groups="pdk" />
<project path="external/iputils" name="platform/external/iputils" groups="pdk" />
<project path="external/jemalloc" name="platform/external/jemalloc" groups="pdk" />
<project path="external/libcxx" name="platform/external/libcxx" groups="pdk" />
<project path="external/libcxxabi" name="platform/external/libcxxabi" groups="pdk" />
<project path="external/libunwind" name="platform/external/libunwind" groups="pdk" />
<project path="external/libunwind_llvm" name="platform/external/libunwind_llvm" groups="pdk" />
<project path="external/llvm" name="platform/external/llvm" groups="pdk" />
<project path="external/lzma" name="platform/external/lzma" groups="pdk" />
<project path="external/mksh" name="platform/external/mksh" groups="pdk" />
<project path="external/safe-iop" name="platform/external/safe-iop" groups="pdk" />
<project path="external/toybox" name="platform/external/toybox" groups="pdk" />
<project path="external/valgrind" name="platform/external/valgrind" groups="pdk" />
<project path="external/vixl" name="platform/external/vixl" groups="pdk" />
<project path="external/zlib" name="platform/external/zlib" groups="pdk" />
<project path="kernel/tests" name="kernel/tests" />
<project path="libnativehelper" name="platform/libnativehelper" groups="pdk" />
<project path="prebuilts/build-tools" name="platform/prebuilts/build-tools" groups="pdk" clone-depth="1" />
<project path="prebuilts/clang-tools" name="platform/prebuilts/clang-tools" groups="pdk" clone-depth="1" />
<project path="prebuilts/clang/host/linux-x86" name="platform/prebuilts/clang/host/linux-x86" groups="pdk" clone-depth="1" />
<project path="prebuilts/gcc/linux-x86/aarch64/aarch64-linux-android-4.9" name="platform/prebuilts/gcc/linux-x86/aarch64/aarch64-linux-android-4.9" groups="pdk,linux,arm" clone-depth="1" />
<project path="prebuilts/gcc/linux-x86/arm/arm-eabi-4.8" name="platform/prebuilts/gcc/linux-x86/arm/arm-eabi-4.8" groups="pdk,linux,arm" clone-depth="1" />
<project path="prebuilts/gcc/linux-x86/arm/arm-linux-androideabi-4.9" name="platform/prebuilts/gcc/linux-x86/arm/arm-linux-androideabi-4.9" groups="pdk,linux,arm" clone-depth="1" />
<project path="prebuilts/gcc/linux-x86/host/x86_64-linux-glibc2.15-4.8" name="platform/prebuilts/gcc/linux-x86/host/x86_64-linux-glibc2.15-4.8" groups="pdk,linux" clone-depth="1" />
<project path="prebuilts/gcc/linux-x86/x86/x86_64-linux-android-4.9" name="platform/prebuilts/gcc/linux-x86/x86/x86_64-linux-android-4.9" groups="pdk,linux,x86" clone-depth="1" />
<project path="prebuilts/go/linux-x86" name="platform/prebuilts/go/linux-x86" groups="linux,pdk,tradefed" clone-depth="1" />
<project path="prebuilts/misc" name="platform/prebuilts/misc" groups="pdk" clone-depth="1" />
<project path="prebuilts/ndk" name="platform/prebuilts/ndk" groups="pdk" clone-depth="1" />
<project path="prebuilts/python/linux-x86/2.7.5" name="platform/prebuilts/python/linux-x86/2.7.5" groups="linux,pdk,pdk-cw-fs,pdk-fs" clone-depth="1" />
<project path="prebuilts/sdk" name="platform/prebuilts/sdk" groups="pdk" clone-depth="1" />
<project path="prebuilts/tools" name="platform/prebuilts/tools" groups="pdk,tools" clone-depth="1" />
<project path="system/core" name="platform/system/core" groups="pdk" />
<project path="system/timezone" name="platform/system/timezone" groups="pdk" />
</manifest>
Loading