reverting last update openjdk-17 and openjdk-21 (#160)

This commit is contained in:
Max Ivan
2025-07-13 20:25:25 +03:00
committed by GitHub
parent 05aceb5a69
commit b208b55ffd
20 changed files with 312 additions and 325 deletions

View File

@@ -105,7 +105,7 @@ jobs:
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- name: Clone repository - name: Clone repository
run: git clone https://github.com/termux-pacman/termux-packages.git termux-packages-pacman run: git clone -b "${{ github.head_ref || github.ref_name }}" https://github.com/termux-pacman/termux-packages.git termux-packages-pacman
- name: Get RESULT.* files - name: Get RESULT.* files
uses: actions/download-artifact@v4.1.7 uses: actions/download-artifact@v4.1.7
with: with:
@@ -129,7 +129,8 @@ jobs:
continue continue
fi fi
fi fi
if ! grep -q '^'${BUILD_SOURCE}'$' ../REBUILD-LIST-BUILD && [ $(($(expr $(expr $(date +%s) - $(git log -n 1 --date=format:'%s' --format=%cd -- $(dirname ${BUILD_SOURCE}))) / 3600) > 8)) = 1 ]; then if ! grep -q "^${BUILD_SOURCE}$" ../REBUILD-LIST-BUILD && \
[ $(($(expr $(expr $(date +%s) - $(git log -n 1 --date=format:'%s' --format=%cd -- $(dirname ${BUILD_SOURCE}))) / 3600) > 8)) = 1 ]; then
echo "${BUILD_SOURCE}" >> ../REBUILD-LIST-BUILD echo "${BUILD_SOURCE}" >> ../REBUILD-LIST-BUILD
fi fi
done done
@@ -153,6 +154,7 @@ jobs:
fi fi
curl --header "Authorization: token ${{ secrets.GITHUB_TOKEN }}" -s -X GET -G \ curl --header "Authorization: token ${{ secrets.GITHUB_TOKEN }}" -s -X GET -G \
"https://api.github.com/repos/${{ github.repository }}/issues" -o ../LIST-ISSUES "https://api.github.com/repos/${{ github.repository }}/issues" -o ../LIST-ISSUES
cat ../LIST-ISSUES
} }
# Edit # Edit
@@ -168,10 +170,10 @@ jobs:
list_files=" " list_files=" "
for i in $(git status -s packages root-packages x11-packages | awk '{print $2}'); do for i in $(git status -s packages root-packages x11-packages | awk '{print $2}'); do
dir_sp=(${i//// }) dir_sp=(${i//// })
if ! grep -q " ${dir_sp[0]}/${dir_sp[1]} " <<< "$list_files"; then if ! grep -q " ${dir_sp[0]}/${dir_sp[1]} " <<< "$list_files" && ! grep -q "^${dir_sp[1]}$" ./pkgignore; then
list_files+="${dir_sp[0]}/${dir_sp[1]} " list_files+="${dir_sp[0]}/${dir_sp[1]} "
source_build="${dir_sp[0]}/${dir_sp[1]}/build.sh" source_build="${dir_sp[0]}/${dir_sp[1]}/build.sh"
if grep -q '^'${source_build}'$' ../REBUILD-LIST-BUILD; then if grep -q "^${source_build}$" ../REBUILD-LIST-BUILD; then
sed -i "/^${source_build////'\/'}$/d" ../REBUILD-LIST-BUILD sed -i "/^${source_build////'\/'}$/d" ../REBUILD-LIST-BUILD
fi fi
fi fi
@@ -224,7 +226,7 @@ jobs:
git remote set-url origin "https://termux-pacman-bot:${{ secrets.TOKEN }}@github.com/termux-pacman/termux-packages.git" git remote set-url origin "https://termux-pacman-bot:${{ secrets.TOKEN }}@github.com/termux-pacman/termux-packages.git"
commit "Update system repo" commit "Update system repo"
git add . git add .
git reset packages root-packages x11-packages README.md SECURITY.md repo.json git reset packages root-packages x11-packages README.md SECURITY.md repo.json pkgignore
{ {
git commit -m "Update repo" git commit -m "Update repo"
if [ "${GITHUB_EVENT}" != "pull_request" ]; then if [ "${GITHUB_EVENT}" != "pull_request" ]; then

6
.gitignore vendored
View File

@@ -21,9 +21,3 @@ scripts/.vagrant/
/packages/*/cache /packages/*/cache
/root-packages/*/cache /root-packages/*/cache
/x11-packages/*/cache /x11-packages/*/cache
# Packages not supported for pacman
/packages/root-repo/
/packages/x11-repo/
/packages/tur-repo/
/packages/glibc-repo/

View File

@@ -0,0 +1,26 @@
TERMUX_PKG_HOMEPAGE=https://github.com/termux/glibc-packages
TERMUX_PKG_DESCRIPTION="A package repository containing glibc-based programs and libraries"
TERMUX_PKG_LICENSE="Apache-2.0"
TERMUX_PKG_MAINTAINER="@termux-pacman"
TERMUX_PKG_VERSION=1.0
TERMUX_PKG_AUTO_UPDATE=false
TERMUX_PKG_SKIP_SRC_EXTRACT=true
TERMUX_PKG_PLATFORM_INDEPENDENT=true
termux_step_make_install() {
mkdir -p $TERMUX_PREFIX/etc/apt/sources.list.d
{
echo "# The glibc termux repository, with cloudflare cache"
echo "deb https://packages-cf.termux.dev/apt/termux-glibc/ glibc stable"
echo "# The glibc termux repository, without cloudflare cache"
echo "# deb https://packages.termux.dev/apt/termux-glibc/ glibc stable"
} > $TERMUX_PREFIX/etc/apt/sources.list.d/glibc.list
}
termux_step_create_debscripts() {
[ "$TERMUX_PACKAGE_FORMAT" = "pacman" ] && return 0
echo "#!$TERMUX_PREFIX/bin/sh" > postinst
echo "echo Downloading updated package list ..." >> postinst
echo "apt update" >> postinst
echo "exit 0" >> postinst
}

View File

@@ -3,7 +3,7 @@ TERMUX_PKG_DESCRIPTION="Java development kit and runtime"
TERMUX_PKG_LICENSE="GPL-2.0" TERMUX_PKG_LICENSE="GPL-2.0"
TERMUX_PKG_MAINTAINER="@termux" TERMUX_PKG_MAINTAINER="@termux"
TERMUX_PKG_VERSION="17.0.15" TERMUX_PKG_VERSION="17.0.15"
TERMUX_PKG_REVISION=2 TERMUX_PKG_REVISION=1
TERMUX_PKG_SRCURL=https://github.com/openjdk/jdk17u/archive/refs/tags/jdk-${TERMUX_PKG_VERSION}-ga.tar.gz TERMUX_PKG_SRCURL=https://github.com/openjdk/jdk17u/archive/refs/tags/jdk-${TERMUX_PKG_VERSION}-ga.tar.gz
TERMUX_PKG_SHA256=ae623441d95d0563690f85edad765a12fc89bbb89ed1877ec5cf677a5ae4fbd7 TERMUX_PKG_SHA256=ae623441d95d0563690f85edad765a12fc89bbb89ed1877ec5cf677a5ae4fbd7
TERMUX_PKG_AUTO_UPDATE=true TERMUX_PKG_AUTO_UPDATE=true
@@ -55,7 +55,7 @@ termux_step_pre_configure() {
termux_step_configure() { termux_step_configure() {
local jdk_ldflags="-L${TERMUX_PREFIX}/lib \ local jdk_ldflags="-L${TERMUX_PREFIX}/lib \
-Wl,-rpath=$TERMUX_PREFIX/lib/jvm/java-17-openjdk/lib \ -Wl,-rpath=$TERMUX_PREFIX/lib/jvm/java-21-openjdk/lib \
-Wl,-rpath=${TERMUX_PREFIX}/lib -Wl,--enable-new-dtags" -Wl,-rpath=${TERMUX_PREFIX}/lib -Wl,--enable-new-dtags"
bash ./configure \ bash ./configure \
--disable-precompiled-headers \ --disable-precompiled-headers \
@@ -122,102 +122,21 @@ termux_step_post_make_install() {
for manpage in *.1; do for manpage in *.1; do
gzip "$manpage" gzip "$manpage"
done done
# Make sure that our alternatives file is up to date.
binaries="$(find $TERMUX_PREFIX/lib/jvm/java-17-openjdk/bin -executable -type f | xargs -I{} basename "{}" | xargs echo)"
manpages="$(find $TERMUX_PREFIX/lib/jvm/java-17-openjdk/man/man1 -name "*.1.gz" | xargs -I{} basename "{}" | xargs echo)"
local failure=false
for binary in $binaries; do
grep -q "lib/jvm/java-17-openjdk/bin/${binary}$" "$TERMUX_PKG_BUILDER_DIR"/openjdk-17.alternatives || {
echo "ERROR: Missing entry for binary: $binary in openjdk-17.alternatives"
failure=true
}
done
for manpage in $manpages; do
grep -q "lib/jvm/java-17-openjdk/man/man1/${manpage}$" "$TERMUX_PKG_BUILDER_DIR"/openjdk-17.alternatives || {
echo "ERROR: Missing entry for manpage: $manpage in openjdk-17.alternatives"
failure=true
}
done
if [[ "$failure" = true ]]; then
termux_error_exit "ERROR: openjdk-17.alternatives is not up to date, please update it."
fi
} }
termux_step_create_debscripts() { termux_step_create_debscripts() {
# For older versions of openjdk-17 and openjdk-21, we used to provide different alternatives for each binary and manpage. binaries="$(find $TERMUX_PREFIX/lib/jvm/java-17-openjdk/bin -executable -type f | xargs -I{} basename "{}" | xargs echo)"
# This script removes those alternatives if the user is upgrading from an older version. manpages="$(find $TERMUX_PREFIX/lib/jvm/java-17-openjdk/man/man1 -name "*.1.gz" | xargs -I{} basename "{}" | xargs echo)"
#
# Using slaves for all binaries and manpages makes it much easier to switch between different versions of openjdk. for hook in postinst prerm; do
local old_alternatives=( sed -e "s|@TERMUX_PREFIX@|${TERMUX_PREFIX}|g" \
java-profile -e "s|@binaries@|${binaries}|g" \
jar -e "s|@manpages@|${manpages}|g" \
jarsigner "$TERMUX_PKG_BUILDER_DIR/hooks/$TERMUX_PACKAGE_FORMAT/$hook.in" > $hook
java chmod 700 $hook
javac
javadoc
javap
jcmd
jconsole
jdb
jdeprscan
jdeps
jfr
jhsdb
jimage
jinfo
jlink
jmap
jmod
jpackage
jps
jrunscript
jshell
jstack
jstat
jstatd
jwebserver
keytool
rmiregistry
serialver
jar.1.gz
jarsigner.1.gz
java.1.gz
javac.1.gz
javadoc.1.gz
javap.1.gz
jcmd.1.gz
jconsole.1.gz
jdb.1.gz
jdeprscan.1.gz
jdeps.1.gz
jfr.1.gz
jhsdb.1.gz
jinfo.1.gz
jlink.1.gz
jmap.1.gz
jmod.1.gz
jpackage.1.gz
jps.1.gz
jrunscript.1.gz
jshell.1.gz
jstack.1.gz
jstat.1.gz
jstatd.1.gz
jwebserver.1.gz
keytool.1.gz
rmiregistry.1.gz
serialver.1.gz
)
echo 'if [ "$#" = "3" ] && dpkg --compare-versions "$2" le "17.0.15-1"; then' > ./preinst
echo ' echo "Removing older alternatives for openjdk-21 and openjdk-17"' >> ./preinst
echo ' echo "This may take a while if mandoc package is installed, please wait..."' >> ./preinst
echo ' echo "Newer versions of openjdk-21 and openjdk-17 change how alternatives are handled."' >> ./preinst
echo ' echo "Instead of having different alternatives for each manpage and binary, now you can switch java versions much easily using \"update-alternatives --config java\""' >> ./preinst
echo ' echo "This should switch all java binaries, manpages, and bash profile for java in a single command instead of switching everything manually"' >> ./preinst
for alternative in "${old_alternatives[@]}"; do
echo " update-alternatives --remove-all ${alternative} || :" >> ./preinst
done done
echo 'fi' >> ./preinst
if [ "$TERMUX_PACKAGE_FORMAT" = "pacman" ]; then
echo "post_install" > postupg
fi
} }

View File

@@ -0,0 +1,18 @@
#!@TERMUX_PREFIX@/bin/sh
if [ "$1" = "configure" ] || [ "$1" = "abort-upgrade" ]; then
if [ -x "@TERMUX_PREFIX@/bin/update-alternatives" ]; then
update-alternatives --install @TERMUX_PREFIX@/etc/profile.d/java.sh java-profile @TERMUX_PREFIX@/lib/jvm/java-17-openjdk/etc/profile.d/java.sh 40
for tool in @binaries@; do
update-alternatives --install \
@TERMUX_PREFIX@/bin/$tool $tool \
@TERMUX_PREFIX@/lib/jvm/java-17-openjdk/bin/$tool 40
done
for manpage in @manpages@; do
update-alternatives --install \
@TERMUX_PREFIX@/share/man/man1/$manpage $manpage \
@TERMUX_PREFIX@/lib/jvm/java-17-openjdk/man/man1/$manpage 60
done
fi
fi

View File

@@ -0,0 +1,14 @@
#!@TERMUX_PREFIX@/bin/sh
if [ "$1" != "upgrade" ]; then
if [ -x "@TERMUX_PREFIX@/bin/update-alternatives" ]; then
update-alternatives --remove java-profile @TERMUX_PREFIX@/lib/jvm/java-17-openjdk/etc/profile.d/java.sh
for tool in @binaries@; do
update-alternatives --remove $tool @TERMUX_PREFIX@/lib/jvm/java-17-openjdk/bin/$tool
done
for manpage in @manpages@; do
update-alternatives --remove $manpage @TERMUX_PREFIX@/lib/jvm/java-17-openjdk/man/man1/$manpage
done
fi
fi

View File

@@ -0,0 +1,25 @@
#!@TERMUX_PREFIX@/bin/sh
if [ -f @TERMUX_PREFIX@/etc/profile.d/java.sh ]; then
raelpath=$(readlink @TERMUX_PREFIX@/etc/profile.d/java.sh)
sp_raelpath=(${raelpath//// })
if [ "${sp_raelpath[-4]}" != "java-17-openjdk" ]; then
echo "==> Attention, the commands will be reconfigured to openjdk-17. If you want to stay on \"${sp_raelpath[-4]}\" then reinstall the package"
fi
fi
echo "==> Setting up the openjdk-17 package..."
for i in @binaries@; do
ln -sfr "@TERMUX_PREFIX@/lib/jvm/java-17-openjdk/bin/${i}" "@TERMUX_PREFIX@/bin/${i}"
done
mkdir -p @TERMUX_PREFIX@/share/man/man1
for i in @manpages@; do
ln -sfr "@TERMUX_PREFIX@/lib/jvm/java-17-openjdk/man/man1/${i}" "@TERMUX_PREFIX@/share/man/man1/${i}"
done
mkdir -p @TERMUX_PREFIX@/etc/profile.d
ln -sfr @TERMUX_PREFIX@/lib/jvm/java-17-openjdk/etc/profile.d/java.sh @TERMUX_PREFIX@/etc/profile.d/java.sh
echo "==> Done"

View File

@@ -0,0 +1,19 @@
#!@TERMUX_PREFIX@/bin/sh
if [ -f @TERMUX_PREFIX@/etc/profile.d/java.sh ]; then
raelpath=$(readlink @TERMUX_PREFIX@/etc/profile.d/java.sh)
sp_raelpath=(${raelpath//// })
if [ "${sp_raelpath[-4]}" != "java-17-openjdk" ]; then
return
fi
fi
for i in @binaries@; do
rm "@TERMUX_PREFIX@/bin/${i}"
done
for i in @manpages@; do
rm "@TERMUX_PREFIX@/share/man/man1/${i}"
done
rm @TERMUX_PREFIX@/etc/profile.d/java.sh

View File

@@ -1,62 +0,0 @@
Name: java
Link: bin/java
Alternative: lib/jvm/java-17-openjdk/bin/java
Dependents:
etc/profile.d/java.sh java-profile lib/jvm/java-17-openjdk/etc/profile.d/java.sh
bin/jar jar lib/jvm/java-17-openjdk/bin/jar
bin/jarsigner jarsigner lib/jvm/java-17-openjdk/bin/jarsigner
bin/javac javac lib/jvm/java-17-openjdk/bin/javac
bin/javadoc javadoc lib/jvm/java-17-openjdk/bin/javadoc
bin/javap javap lib/jvm/java-17-openjdk/bin/javap
bin/jcmd jcmd lib/jvm/java-17-openjdk/bin/jcmd
bin/jconsole jconsole lib/jvm/java-17-openjdk/bin/jconsole
bin/jdb jdb lib/jvm/java-17-openjdk/bin/jdb
bin/jdeprscan jdeprscan lib/jvm/java-17-openjdk/bin/jdeprscan
bin/jdeps jdeps lib/jvm/java-17-openjdk/bin/jdeps
bin/jfr jfr lib/jvm/java-17-openjdk/bin/jfr
bin/jhsdb jhsdb lib/jvm/java-17-openjdk/bin/jhsdb
bin/jimage jimage lib/jvm/java-17-openjdk/bin/jimage
bin/jinfo jinfo lib/jvm/java-17-openjdk/bin/jinfo
bin/jlink jlink lib/jvm/java-17-openjdk/bin/jlink
bin/jmap jmap lib/jvm/java-17-openjdk/bin/jmap
bin/jmod jmod lib/jvm/java-17-openjdk/bin/jmod
bin/jpackage jpackage lib/jvm/java-17-openjdk/bin/jpackage
bin/jps jps lib/jvm/java-17-openjdk/bin/jps
bin/jrunscript jrunscript lib/jvm/java-17-openjdk/bin/jrunscript
bin/jshell jshell lib/jvm/java-17-openjdk/bin/jshell
bin/jstack jstack lib/jvm/java-17-openjdk/bin/jstack
bin/jstat jstat lib/jvm/java-17-openjdk/bin/jstat
bin/jstatd jstatd lib/jvm/java-17-openjdk/bin/jstatd
bin/keytool keytool lib/jvm/java-17-openjdk/bin/keytool
bin/rmiregistry rmiregistry lib/jvm/java-17-openjdk/bin/rmiregistry
bin/serialver serialver lib/jvm/java-17-openjdk/bin/serialver
share/man/man1/jar.1.gz jar.1.gz lib/jvm/java-17-openjdk/man/man1/jar.1.gz
share/man/man1/jarsigner.1.gz jarsigner.1.gz lib/jvm/java-17-openjdk/man/man1/jarsigner.1.gz
share/man/man1/java.1.gz java.1.gz lib/jvm/java-17-openjdk/man/man1/java.1.gz
share/man/man1/javac.1.gz javac.1.gz lib/jvm/java-17-openjdk/man/man1/javac.1.gz
share/man/man1/javadoc.1.gz javadoc.1.gz lib/jvm/java-17-openjdk/man/man1/javadoc.1.gz
share/man/man1/javap.1.gz javap.1.gz lib/jvm/java-17-openjdk/man/man1/javap.1.gz
share/man/man1/jcmd.1.gz jcmd.1.gz lib/jvm/java-17-openjdk/man/man1/jcmd.1.gz
share/man/man1/jconsole.1.gz jconsole.1.gz lib/jvm/java-17-openjdk/man/man1/jconsole.1.gz
share/man/man1/jdb.1.gz jdb.1.gz lib/jvm/java-17-openjdk/man/man1/jdb.1.gz
share/man/man1/jdeprscan.1.gz jdeprscan.1.gz lib/jvm/java-17-openjdk/man/man1/jdeprscan.1.gz
share/man/man1/jdeps.1.gz jdeps.1.gz lib/jvm/java-17-openjdk/man/man1/jdeps.1.gz
share/man/man1/jfr.1.gz jfr.1.gz lib/jvm/java-17-openjdk/man/man1/jfr.1.gz
share/man/man1/jhsdb.1.gz jhsdb.1.gz lib/jvm/java-17-openjdk/man/man1/jhsdb.1.gz
share/man/man1/jinfo.1.gz jinfo.1.gz lib/jvm/java-17-openjdk/man/man1/jinfo.1.gz
share/man/man1/jlink.1.gz jlink.1.gz lib/jvm/java-17-openjdk/man/man1/jlink.1.gz
share/man/man1/jmap.1.gz jmap.1.gz lib/jvm/java-17-openjdk/man/man1/jmap.1.gz
share/man/man1/jmod.1.gz jmod.1.gz lib/jvm/java-17-openjdk/man/man1/jmod.1.gz
share/man/man1/jpackage.1.gz jpackage.1.gz lib/jvm/java-17-openjdk/man/man1/jpackage.1.gz
share/man/man1/jps.1.gz jps.1.gz lib/jvm/java-17-openjdk/man/man1/jps.1.gz
share/man/man1/jrunscript.1.gz jrunscript.1.gz lib/jvm/java-17-openjdk/man/man1/jrunscript.1.gz
share/man/man1/jshell.1.gz jshell.1.gz lib/jvm/java-17-openjdk/man/man1/jshell.1.gz
share/man/man1/jstack.1.gz jstack.1.gz lib/jvm/java-17-openjdk/man/man1/jstack.1.gz
share/man/man1/jstat.1.gz jstat.1.gz lib/jvm/java-17-openjdk/man/man1/jstat.1.gz
share/man/man1/jstatd.1.gz jstatd.1.gz lib/jvm/java-17-openjdk/man/man1/jstatd.1.gz
share/man/man1/keytool.1.gz keytool.1.gz lib/jvm/java-17-openjdk/man/man1/keytool.1.gz
share/man/man1/rmiregistry.1.gz rmiregistry.1.gz lib/jvm/java-17-openjdk/man/man1/rmiregistry.1.gz
share/man/man1/serialver.1.gz serialver.1.gz lib/jvm/java-17-openjdk/man/man1/serialver.1.gz
Priority: 40
# vim: ft=raml

View File

@@ -3,7 +3,7 @@ TERMUX_PKG_DESCRIPTION="Java development kit and runtime"
TERMUX_PKG_LICENSE="GPL-2.0" TERMUX_PKG_LICENSE="GPL-2.0"
TERMUX_PKG_MAINTAINER="@termux" TERMUX_PKG_MAINTAINER="@termux"
TERMUX_PKG_VERSION="21.0.7" TERMUX_PKG_VERSION="21.0.7"
TERMUX_PKG_REVISION=3 TERMUX_PKG_REVISION=2
TERMUX_PKG_SRCURL=https://github.com/openjdk/jdk21u/archive/refs/tags/jdk-${TERMUX_PKG_VERSION}-ga.tar.gz TERMUX_PKG_SRCURL=https://github.com/openjdk/jdk21u/archive/refs/tags/jdk-${TERMUX_PKG_VERSION}-ga.tar.gz
TERMUX_PKG_SHA256=d8637e7d6fece0757b7fada49d32d0b3334a15a110445acef8cfea64b4672ca2 TERMUX_PKG_SHA256=d8637e7d6fece0757b7fada49d32d0b3334a15a110445acef8cfea64b4672ca2
TERMUX_PKG_AUTO_UPDATE=true TERMUX_PKG_AUTO_UPDATE=true
@@ -124,99 +124,21 @@ termux_step_post_make_install() {
for manpage in *.1; do for manpage in *.1; do
gzip "$manpage" gzip "$manpage"
done done
# Make sure that our alternatives file is up to date.
binaries="$(find $TERMUX_PREFIX/lib/jvm/java-21-openjdk/bin -executable -type f | xargs -I{} basename "{}" | xargs echo)"
manpages="$(find $TERMUX_PREFIX/lib/jvm/java-21-openjdk/man/man1 -name "*.1.gz" | xargs -I{} basename "{}" | xargs echo)"
local failure=false
for binary in $binaries; do
grep -q "lib/jvm/java-21-openjdk/bin/${binary}$" "$TERMUX_PKG_BUILDER_DIR"/openjdk-21.alternatives || {
echo "ERROR: Missing entry for binary: $binary in openjdk-21.alternatives"
failure=true
}
done
for manpage in $manpages; do
grep -q "lib/jvm/java-21-openjdk/man/man1/${manpage}$" "$TERMUX_PKG_BUILDER_DIR"/openjdk-21.alternatives || {
echo "ERROR: Missing entry for manpage: $manpage in openjdk-21.alternatives"
failure=true
}
done
if [[ "$failure" = true ]]; then
termux_error_exit "ERROR: openjdk-21.alternatives is not up to date, please update it."
fi
} }
termux_step_create_debscripts() { termux_step_create_debscripts() {
local old_alternatives=( binaries="$(find $TERMUX_PREFIX/lib/jvm/java-21-openjdk/bin -executable -type f | xargs -I{} basename "{}" | xargs echo)"
java-profile manpages="$(find $TERMUX_PREFIX/lib/jvm/java-21-openjdk/man/man1 -name "*.1.gz" | xargs -I{} basename "{}" | xargs echo)"
jar
jarsigner for hook in postinst prerm; do
java sed -e "s|@TERMUX_PREFIX@|${TERMUX_PREFIX}|g" \
javac -e "s|@binaries@|${binaries}|g" \
javadoc -e "s|@manpages@|${manpages}|g" \
javap "$TERMUX_PKG_BUILDER_DIR/hooks/$TERMUX_PACKAGE_FORMAT/$hook.in" > $hook
jcmd chmod 700 $hook
jconsole
jdb
jdeprscan
jdeps
jfr
jhsdb
jimage
jinfo
jlink
jmap
jmod
jpackage
jps
jrunscript
jshell
jstack
jstat
jstatd
jwebserver
keytool
rmiregistry
serialver
jar.1.gz
jarsigner.1.gz
java.1.gz
javac.1.gz
javadoc.1.gz
javap.1.gz
jcmd.1.gz
jconsole.1.gz
jdb.1.gz
jdeprscan.1.gz
jdeps.1.gz
jfr.1.gz
jhsdb.1.gz
jinfo.1.gz
jlink.1.gz
jmap.1.gz
jmod.1.gz
jpackage.1.gz
jps.1.gz
jrunscript.1.gz
jshell.1.gz
jstack.1.gz
jstat.1.gz
jstatd.1.gz
jwebserver.1.gz
keytool.1.gz
rmiregistry.1.gz
serialver.1.gz
)
# For older versions
echo 'if [ "$#" = "3" ] && dpkg --compare-versions "$2" le "21.0.7-2"; then' > ./preinst
echo ' echo "Removing older alternatives for openjdk-21 and openjdk-17"' >> ./preinst
echo ' echo "This may take a while if mandoc package is installed, please wait..."' >> ./preinst
echo ' echo "Newer versions of openjdk-21 and openjdk-17 change how alternatives are handled."' >> ./preinst
echo ' echo "Instead of having different alternatives for each manpage and binary, now you can switch java versions much easily using \"update-alternatives --config java\""' >> ./preinst
echo ' echo "This should switch all java binaries, manpages, and bash profile for java in a single command instead of switching everything manually"' >> ./preinst
for alternative in "${old_alternatives[@]}"; do
echo " update-alternatives --remove-all ${alternative} || :" >> ./preinst
done done
echo 'fi' >> ./preinst
if [ "$TERMUX_PACKAGE_FORMAT" = "pacman" ]; then
echo "post_install" > postupg
fi
} }

View File

@@ -0,0 +1,18 @@
#!@TERMUX_PREFIX@/bin/sh
if [ "$1" = "configure" ] || [ "$1" = "abort-upgrade" ]; then
if [ -x "@TERMUX_PREFIX@/bin/update-alternatives" ]; then
update-alternatives --install @TERMUX_PREFIX@/etc/profile.d/java.sh java-profile @TERMUX_PREFIX@/lib/jvm/java-21-openjdk/etc/profile.d/java.sh 40
for tool in @binaries@; do
update-alternatives --install \
@TERMUX_PREFIX@/bin/$tool $tool \
@TERMUX_PREFIX@/lib/jvm/java-21-openjdk/bin/$tool 40
done
for manpage in @manpages@; do
update-alternatives --install \
@TERMUX_PREFIX@/share/man/man1/$manpage $manpage \
@TERMUX_PREFIX@/lib/jvm/java-21-openjdk/man/man1/$manpage 60
done
fi
fi

View File

@@ -0,0 +1,14 @@
#!@TERMUX_PREFIX@/bin/sh
if [ "$1" != "upgrade" ]; then
if [ -x "@TERMUX_PREFIX@/bin/update-alternatives" ]; then
update-alternatives --remove java-profile @TERMUX_PREFIX@/lib/jvm/java-21-openjdk/etc/profile.d/java.sh
for tool in @binaries@; do
update-alternatives --remove $tool @TERMUX_PREFIX@/lib/jvm/java-21-openjdk/bin/$tool
done
for manpage in @manpages@; do
update-alternatives --remove $manpage @TERMUX_PREFIX@/lib/jvm/java-21-openjdk/man/man1/$manpage
done
fi
fi

View File

@@ -0,0 +1,25 @@
#!@TERMUX_PREFIX@/bin/sh
if [ -f @TERMUX_PREFIX@/etc/profile.d/java.sh ]; then
raelpath=$(readlink @TERMUX_PREFIX@/etc/profile.d/java.sh)
sp_raelpath=(${raelpath//// })
if [ "${sp_raelpath[-4]}" != "java-21-openjdk" ]; then
echo "==> Attention, the commands will be reconfigured to openjdk-21. If you want to stay on \"${sp_raelpath[-4]}\" then reinstall the package"
fi
fi
echo "==> Setting up the openjdk-21 package..."
for i in @binaries@; do
ln -sfr "@TERMUX_PREFIX@/lib/jvm/java-21-openjdk/bin/${i}" "@TERMUX_PREFIX@/bin/${i}"
done
mkdir -p @TERMUX_PREFIX@/share/man/man1
for i in @manpages@; do
ln -sfr "@TERMUX_PREFIX@/lib/jvm/java-21-openjdk/man/man1/${i}" "@TERMUX_PREFIX@/share/man/man1/${i}"
done
mkdir -p @TERMUX_PREFIX@/etc/profile.d
ln -sfr @TERMUX_PREFIX@/lib/jvm/java-21-openjdk/etc/profile.d/java.sh @TERMUX_PREFIX@/etc/profile.d/java.sh
echo "==> Done"

View File

@@ -0,0 +1,19 @@
#!@TERMUX_PREFIX@/bin/sh
if [ -f @TERMUX_PREFIX@/etc/profile.d/java.sh ]; then
raelpath=$(readlink @TERMUX_PREFIX@/etc/profile.d/java.sh)
sp_raelpath=(${raelpath//// })
if [ "${sp_raelpath[-4]}" != "java-21-openjdk" ]; then
return
fi
fi
for i in @binaries@; do
rm "@TERMUX_PREFIX@/bin/${i}"
done
for i in @manpages@; do
rm "@TERMUX_PREFIX@/share/man/man1/${i}"
done
rm @TERMUX_PREFIX@/etc/profile.d/java.sh

View File

@@ -1,64 +0,0 @@
Name: java
Link: bin/java
Alternative: lib/jvm/java-21-openjdk/bin/java
Dependents:
etc/profile.d/java.sh java-profile lib/jvm/java-21-openjdk/etc/profile.d/java.sh
bin/jar jar lib/jvm/java-21-openjdk/bin/jar
bin/jarsigner jarsigner lib/jvm/java-21-openjdk/bin/jarsigner
bin/javac javac lib/jvm/java-21-openjdk/bin/javac
bin/javadoc javadoc lib/jvm/java-21-openjdk/bin/javadoc
bin/javap javap lib/jvm/java-21-openjdk/bin/javap
bin/jcmd jcmd lib/jvm/java-21-openjdk/bin/jcmd
bin/jconsole jconsole lib/jvm/java-21-openjdk/bin/jconsole
bin/jdb jdb lib/jvm/java-21-openjdk/bin/jdb
bin/jdeprscan jdeprscan lib/jvm/java-21-openjdk/bin/jdeprscan
bin/jdeps jdeps lib/jvm/java-21-openjdk/bin/jdeps
bin/jfr jfr lib/jvm/java-21-openjdk/bin/jfr
bin/jhsdb jhsdb lib/jvm/java-21-openjdk/bin/jhsdb
bin/jimage jimage lib/jvm/java-21-openjdk/bin/jimage
bin/jinfo jinfo lib/jvm/java-21-openjdk/bin/jinfo
bin/jlink jlink lib/jvm/java-21-openjdk/bin/jlink
bin/jmap jmap lib/jvm/java-21-openjdk/bin/jmap
bin/jmod jmod lib/jvm/java-21-openjdk/bin/jmod
bin/jpackage jpackage lib/jvm/java-21-openjdk/bin/jpackage
bin/jps jps lib/jvm/java-21-openjdk/bin/jps
bin/jrunscript jrunscript lib/jvm/java-21-openjdk/bin/jrunscript
bin/jshell jshell lib/jvm/java-21-openjdk/bin/jshell
bin/jstack jstack lib/jvm/java-21-openjdk/bin/jstack
bin/jstat jstat lib/jvm/java-21-openjdk/bin/jstat
bin/jstatd jstatd lib/jvm/java-21-openjdk/bin/jstatd
bin/jwebserver jwebserver lib/jvm/java-21-openjdk/bin/jwebserver
bin/keytool keytool lib/jvm/java-21-openjdk/bin/keytool
bin/rmiregistry rmiregistry lib/jvm/java-21-openjdk/bin/rmiregistry
bin/serialver serialver lib/jvm/java-21-openjdk/bin/serialver
share/man/man1/jar.1.gz jar.1.gz lib/jvm/java-21-openjdk/man/man1/jar.1.gz
share/man/man1/jarsigner.1.gz jarsigner.1.gz lib/jvm/java-21-openjdk/man/man1/jarsigner.1.gz
share/man/man1/java.1.gz java.1.gz lib/jvm/java-21-openjdk/man/man1/java.1.gz
share/man/man1/javac.1.gz javac.1.gz lib/jvm/java-21-openjdk/man/man1/javac.1.gz
share/man/man1/javadoc.1.gz javadoc.1.gz lib/jvm/java-21-openjdk/man/man1/javadoc.1.gz
share/man/man1/javap.1.gz javap.1.gz lib/jvm/java-21-openjdk/man/man1/javap.1.gz
share/man/man1/jcmd.1.gz jcmd.1.gz lib/jvm/java-21-openjdk/man/man1/jcmd.1.gz
share/man/man1/jconsole.1.gz jconsole.1.gz lib/jvm/java-21-openjdk/man/man1/jconsole.1.gz
share/man/man1/jdb.1.gz jdb.1.gz lib/jvm/java-21-openjdk/man/man1/jdb.1.gz
share/man/man1/jdeprscan.1.gz jdeprscan.1.gz lib/jvm/java-21-openjdk/man/man1/jdeprscan.1.gz
share/man/man1/jdeps.1.gz jdeps.1.gz lib/jvm/java-21-openjdk/man/man1/jdeps.1.gz
share/man/man1/jfr.1.gz jfr.1.gz lib/jvm/java-21-openjdk/man/man1/jfr.1.gz
share/man/man1/jhsdb.1.gz jhsdb.1.gz lib/jvm/java-21-openjdk/man/man1/jhsdb.1.gz
share/man/man1/jinfo.1.gz jinfo.1.gz lib/jvm/java-21-openjdk/man/man1/jinfo.1.gz
share/man/man1/jlink.1.gz jlink.1.gz lib/jvm/java-21-openjdk/man/man1/jlink.1.gz
share/man/man1/jmap.1.gz jmap.1.gz lib/jvm/java-21-openjdk/man/man1/jmap.1.gz
share/man/man1/jmod.1.gz jmod.1.gz lib/jvm/java-21-openjdk/man/man1/jmod.1.gz
share/man/man1/jpackage.1.gz jpackage.1.gz lib/jvm/java-21-openjdk/man/man1/jpackage.1.gz
share/man/man1/jps.1.gz jps.1.gz lib/jvm/java-21-openjdk/man/man1/jps.1.gz
share/man/man1/jrunscript.1.gz jrunscript.1.gz lib/jvm/java-21-openjdk/man/man1/jrunscript.1.gz
share/man/man1/jshell.1.gz jshell.1.gz lib/jvm/java-21-openjdk/man/man1/jshell.1.gz
share/man/man1/jstack.1.gz jstack.1.gz lib/jvm/java-21-openjdk/man/man1/jstack.1.gz
share/man/man1/jstat.1.gz jstat.1.gz lib/jvm/java-21-openjdk/man/man1/jstat.1.gz
share/man/man1/jstatd.1.gz jstatd.1.gz lib/jvm/java-21-openjdk/man/man1/jstatd.1.gz
share/man/man1/jwebserver.1.gz jwebserver.1.gz lib/jvm/java-21-openjdk/man/man1/jwebserver.1.gz
share/man/man1/keytool.1.gz keytool.1.gz lib/jvm/java-21-openjdk/man/man1/keytool.1.gz
share/man/man1/rmiregistry.1.gz rmiregistry.1.gz lib/jvm/java-21-openjdk/man/man1/rmiregistry.1.gz
share/man/man1/serialver.1.gz serialver.1.gz lib/jvm/java-21-openjdk/man/man1/serialver.1.gz
Priority: 60 # default
# vim: ft=raml

View File

@@ -0,0 +1,34 @@
TERMUX_PKG_HOMEPAGE=https://github.com/termux/termux-root-packages
TERMUX_PKG_DESCRIPTION="Package repository containing programs for rooted devices"
TERMUX_PKG_LICENSE="Apache-2.0"
TERMUX_PKG_MAINTAINER="Henrik Grimler @Grimler91"
TERMUX_PKG_VERSION=2.4
TERMUX_PKG_REVISION=2
TERMUX_PKG_AUTO_UPDATE=false
TERMUX_PKG_DEPENDS="termux-keyring"
TERMUX_PKG_SKIP_SRC_EXTRACT=true
TERMUX_PKG_PLATFORM_INDEPENDENT=true
termux_step_make_install() {
mkdir -p $TERMUX_PREFIX/etc/apt/sources.list.d
{
echo "# The root termux repository, with cloudflare cache"
echo "deb https://packages-cf.termux.dev/apt/termux-root/ root stable"
echo "# The root termux repository, without cloudflare cache"
echo "# deb https://packages.termux.dev/apt/termux-root/ root stable"
} > $TERMUX_PREFIX/etc/apt/sources.list.d/root.list
}
termux_step_create_debscripts() {
[ "$TERMUX_PACKAGE_FORMAT" = "pacman" ] && return 0
cat <<- EOF > ./postinst
#!$TERMUX_PREFIX/bin/sh
echo "Downloading updated package list ..."
if [ -d "$TERMUX_PREFIX/etc/termux/chosen_mirrors" ] || [ -f "$TERMUX_PREFIX/etc/termux/chosen_mirrors" ]; then
pkg --check-mirror update
else
apt update
fi
exit 0
EOF
}

View File

@@ -0,0 +1,24 @@
TERMUX_PKG_HOMEPAGE=https://github.com/termux-user-repository/tur
TERMUX_PKG_DESCRIPTION="A single and trusted place for all unofficial/less popular termux packages"
TERMUX_PKG_LICENSE="Apache-2.0"
TERMUX_PKG_MAINTAINER="@termux-user-repository"
TERMUX_PKG_VERSION=1.0.1
TERMUX_PKG_AUTO_UPDATE=false
TERMUX_PKG_SKIP_SRC_EXTRACT=true
TERMUX_PKG_PLATFORM_INDEPENDENT=true
termux_step_make_install() {
mkdir -p $TERMUX_PREFIX/etc/apt/sources.list.d
echo "deb https://tur.kcubeterm.com tur-packages tur tur-on-device tur-continuous" > $TERMUX_PREFIX/etc/apt/sources.list.d/tur.list
## tur gpg key
mkdir -p $TERMUX_PREFIX/etc/apt/trusted.gpg.d
install -Dm600 $TERMUX_PKG_BUILDER_DIR/tur.gpg $TERMUX_PREFIX/etc/apt/trusted.gpg.d/
}
termux_step_create_debscripts() {
[ "$TERMUX_PACKAGE_FORMAT" = "pacman" ] && return 0
echo "#!$TERMUX_PREFIX/bin/sh" > postinst
echo "echo Downloading updated package list ..." >> postinst
echo "apt update" >> postinst
echo "exit 0" >> postinst
}

BIN
packages/tur-repo/tur.gpg Normal file

Binary file not shown.

View File

@@ -0,0 +1,34 @@
TERMUX_PKG_HOMEPAGE=https://github.com/termux/x11-packages
TERMUX_PKG_DESCRIPTION="Package repository containing X11 programs and libraries"
TERMUX_PKG_LICENSE="Apache-2.0"
TERMUX_PKG_MAINTAINER="@termux"
TERMUX_PKG_VERSION=8.4
TERMUX_PKG_REVISION=1
TERMUX_PKG_AUTO_UPDATE=false
TERMUX_PKG_DEPENDS="termux-keyring"
TERMUX_PKG_SKIP_SRC_EXTRACT=true
TERMUX_PKG_PLATFORM_INDEPENDENT=true
termux_step_make_install() {
mkdir -p $TERMUX_PREFIX/etc/apt/sources.list.d
{
echo "# The x11 termux repository, with cloudflare cache"
echo "deb https://packages-cf.termux.dev/apt/termux-x11/ x11 main"
echo "# The x11 termux repository, without cloudflare cache"
echo "# deb https://packages.termux.dev/apt/termux-x11/ x11 main"
} > $TERMUX_PREFIX/etc/apt/sources.list.d/x11.list
}
termux_step_create_debscripts() {
[ "$TERMUX_PACKAGE_FORMAT" = "pacman" ] && return 0
cat <<- EOF > ./postinst
#!$TERMUX_PREFIX/bin/sh
echo "Downloading updated package list ..."
if [ -d "$TERMUX_PREFIX/etc/termux/chosen_mirrors" ] || [ -f "$TERMUX_PREFIX/etc/termux/chosen_mirrors" ]; then
pkg --check-mirror update
else
apt update
fi
exit 0
EOF
}

6
pkgignore Normal file
View File

@@ -0,0 +1,6 @@
openjdk-17
openjdk-21
root-repo
x11-repo
tur-repo
glibc-repo