feat: liberica-jdk-24-lite
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful

This commit is contained in:
nyyu 2025-04-07 11:46:07 +02:00
parent 3d103cc98b
commit 193fdb5d99
4 changed files with 173 additions and 0 deletions

View file

@ -0,0 +1,36 @@
pkgbase = liberica-jdk-24-lite-bin
pkgdesc = BellSoft builds of OpenJDK are fully certified and 100% open source Java Development Kits (JDKs) for all Java development and production workloads. Lite version has compressed modules.
pkgver = 24+37
pkgrel = 1
url = https://bell-sw.com/
install = liberica-jdk-24-lite.install
arch = x86_64
license = custom
depends = java-runtime-common>=3
depends = ca-certificates-utils
provides = java-environment=24
provides = java-environment-openjdk=24
provides = java-runtime-headless=24
provides = java-runtime-headless-openjdk=24
provides = java-runtime=24
provides = java-runtime-openjdk=24
provides = liberica-jdk-24-bin=24+37
provides = liberica-jre-24-bin=24+37
backup = etc/liberica-jdk-24-lite/logging.properties
backup = etc/liberica-jdk-24-lite/management/jmxremote.access
backup = etc/liberica-jdk-24-lite/management/jmxremote.password.template
backup = etc/liberica-jdk-24-lite/management/management.properties
backup = etc/liberica-jdk-24-lite/net.properties
backup = etc/liberica-jdk-24-lite/security/java.policy
backup = etc/liberica-jdk-24-lite/security/java.security
backup = etc/liberica-jdk-24-lite/security/policy/README.txt
backup = etc/liberica-jdk-24-lite/security/policy/limited/default_US_export.policy
backup = etc/liberica-jdk-24-lite/security/policy/limited/default_local.policy
backup = etc/liberica-jdk-24-lite/security/policy/limited/exempt_local.policy
backup = etc/liberica-jdk-24-lite/security/policy/unlimited/default_US_export.policy
backup = etc/liberica-jdk-24-lite/security/policy/unlimited/default_local.policy
backup = etc/liberica-jdk-24-lite/sound.properties
source_x86_64 = https://download.bell-sw.com/java/24+37/bellsoft-jdk24+37-linux-amd64-lite.tar.gz
sha1sums_x86_64 = 35ecbe3ff1ea8ff740f69d53ed250ccbd5de9664
pkgname = liberica-jdk-24-lite-bin

View file

@ -0,0 +1,81 @@
# Maintainer: Bacteriostat <dev dot bacteriostat at aleeas dot com>
# Contributor: Jonathon Fernyhough <jonathon"m2x+dev>
# Contributor: Sam Guymer <sam at guymer dot me>
# This PKGBUILD adapted from zulu-11-bin
_jdkname=liberica-jdk-24-lite
pkgname="${_jdkname}-bin"
_java_ver=24
pkgver=24+37
pkgrel=1
pkgdesc='BellSoft builds of OpenJDK are fully certified and 100% open source Java Development Kits (JDKs) for all Java development and production workloads. Lite version has compressed modules.'
arch=(x86_64)
url='https://bell-sw.com/'
license=('custom')
depends=('java-runtime-common>=3' 'ca-certificates-utils')
provides=(
"java-environment=$_java_ver"
"java-environment-openjdk=$_java_ver"
"java-runtime-headless=$_java_ver"
"java-runtime-headless-openjdk=$_java_ver"
"java-runtime=$_java_ver"
"java-runtime-openjdk=$_java_ver"
"liberica-jdk-24-bin=$pkgver"
"liberica-jre-24-bin=$pkgver"
)
install=$_jdkname.install
backup=(etc/${_jdkname}/logging.properties
etc/${_jdkname}/management/jmxremote.access
etc/${_jdkname}/management/jmxremote.password.template
etc/${_jdkname}/management/management.properties
etc/${_jdkname}/net.properties
etc/${_jdkname}/security/java.policy
etc/${_jdkname}/security/java.security
etc/${_jdkname}/security/policy/README.txt
etc/${_jdkname}/security/policy/limited/default_US_export.policy
etc/${_jdkname}/security/policy/limited/default_local.policy
etc/${_jdkname}/security/policy/limited/exempt_local.policy
etc/${_jdkname}/security/policy/unlimited/default_US_export.policy
etc/${_jdkname}/security/policy/unlimited/default_local.policy
etc/${_jdkname}/sound.properties)
source_x86_64=(https://download.bell-sw.com/java/$pkgver/bellsoft-jdk$pkgver-linux-amd64-lite.tar.gz)
# Upstream-provided
sha1sums_x86_64=('35ecbe3ff1ea8ff740f69d53ed250ccbd5de9664')
_jvmdir="/usr/lib/jvm/${_jdkname}"
package() {
cd jdk-${pkgver/+*/}-lite
install -dm 755 "${pkgdir}/${_jvmdir}"
cp -a . "${pkgdir}/${_jvmdir}/"
# copied from java11-openjdk
# Conf
install -dm 755 "${pkgdir}/etc"
cp -r conf "${pkgdir}/etc/${_jdkname}"
rm -rf "${pkgdir}/${_jvmdir}/conf"
ln -s "/etc/${_jdkname}" "${pkgdir}/${_jvmdir}/conf"
# Legal
install -dm 755 "${pkgdir}/usr/share/licenses"
cp -r legal "${pkgdir}/usr/share/licenses/${_jdkname}"
rm -rf "${pkgdir}/${_jvmdir}/legal"
ln -s "/usr/share/licenses/${_jdkname}" "${pkgdir}/${_jvmdir}/legal"
# Man pages
#for f in man/man1/* man/ja/man1/*; do
# install -Dm 644 "${f}" "${pkgdir}/usr/share/${f/\.1/-$_jdkname.1}"
#done
#rm -rf "${pkgdir}/${_jvmdir}/man"
#ln -s /usr/share/man "${pkgdir}/${_jvmdir}/man"
# Link JKS keystore from ca-certificates-utils
rm -f "${pkgdir}/${_jvmdir}/lib/security/cacerts"
ln -sf /etc/ssl/certs/java/cacerts "${pkgdir}/${_jvmdir}/lib/security/cacerts"
}

View file

@ -0,0 +1,50 @@
THIS_JDK='liberica-jdk-24-lite'
fix_default() {
if [ ! -x /usr/bin/java ]; then
/usr/bin/archlinux-java unset
echo ""
else
/usr/bin/archlinux-java get
fi
}
post_install() {
default=$(fix_default)
case ${default} in
"" | ${THIS_JDK}/jre)
/usr/bin/archlinux-java set ${THIS_JDK}
;;
${THIS_JDK})
# Nothing
;;
*)
echo "Default Java environment is already set to '${default}'"
echo "See 'archlinux-java help' to change it"
;;
esac
if [ ! -f /etc/ssl/certs/java/cacerts ]; then
/usr/bin/update-ca-trust
fi
}
post_upgrade() {
default=$(fix_default)
if [ -z "${default}" -o "x${default}" = "x${THIS_JDK}/jre" ]; then
/usr/bin/archlinux-java set ${THIS_JDK}
fi
if [ ! -f /etc/ssl/certs/java/cacerts ]; then
/usr/bin/update-ca-trust
fi
}
pre_remove() {
if [ "x$(fix_default)" = "x${THIS_JDK}" ]; then
/usr/bin/archlinux-java unset
if [ -x /usr/lib/jvm/${THIS_JDK}/jre/bin/java ]; then
/usr/bin/archlinux-java set ${THIS_JDK}/jre
fi
fi
}

View file

@ -0,0 +1,6 @@
#!/bin/sh
. ../.util.sh
ver=$(curl -Ls https://api.bell-sw.com/v1/liberica/releases/ | jq -r '.[] | select(.latest == true and .os == "linux" and .packageType == "tar.gz" and .architecture == "x86" and .bundleType == "jdk-lite" and .bitness == 64 and .latestInFeatureVersion == true) | .version')
echo "${ver}" | grep -Eq "^(\w|\+|\.)+$" && sed -i "s/pkgver=.*/pkgver=${ver}/" PKGBUILD