From 193fdb5d997403705cbef6b8db592d60458b003d Mon Sep 17 00:00:00 2001 From: nyyu Date: Mon, 7 Apr 2025 11:46:07 +0200 Subject: [PATCH] feat: liberica-jdk-24-lite --- liberica-jdk-24-lite-bin/.SRCINFO | 36 +++++++++ liberica-jdk-24-lite-bin/PKGBUILD | 81 +++++++++++++++++++ .../liberica-jdk-24-lite.install | 50 ++++++++++++ liberica-jdk-24-lite-bin/update.sh | 6 ++ 4 files changed, 173 insertions(+) create mode 100644 liberica-jdk-24-lite-bin/.SRCINFO create mode 100644 liberica-jdk-24-lite-bin/PKGBUILD create mode 100644 liberica-jdk-24-lite-bin/liberica-jdk-24-lite.install create mode 100755 liberica-jdk-24-lite-bin/update.sh diff --git a/liberica-jdk-24-lite-bin/.SRCINFO b/liberica-jdk-24-lite-bin/.SRCINFO new file mode 100644 index 0000000..75b0e6b --- /dev/null +++ b/liberica-jdk-24-lite-bin/.SRCINFO @@ -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 diff --git a/liberica-jdk-24-lite-bin/PKGBUILD b/liberica-jdk-24-lite-bin/PKGBUILD new file mode 100644 index 0000000..911c502 --- /dev/null +++ b/liberica-jdk-24-lite-bin/PKGBUILD @@ -0,0 +1,81 @@ +# Maintainer: Bacteriostat +# Contributor: Jonathon Fernyhough +# Contributor: Sam Guymer + +# 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" +} diff --git a/liberica-jdk-24-lite-bin/liberica-jdk-24-lite.install b/liberica-jdk-24-lite-bin/liberica-jdk-24-lite.install new file mode 100644 index 0000000..ac71494 --- /dev/null +++ b/liberica-jdk-24-lite-bin/liberica-jdk-24-lite.install @@ -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 +} diff --git a/liberica-jdk-24-lite-bin/update.sh b/liberica-jdk-24-lite-bin/update.sh new file mode 100755 index 0000000..eedb415 --- /dev/null +++ b/liberica-jdk-24-lite-bin/update.sh @@ -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