diff options
-rw-r--r-- | .SRCINFO | 55 | ||||
-rw-r--r-- | PKGBUILD | 104 | ||||
-rw-r--r-- | freedesktop-java.desktop | 9 | ||||
-rw-r--r-- | freedesktop-jconsole.desktop | 8 | ||||
-rw-r--r-- | freedesktop-jshell.desktop | 8 | ||||
-rw-r--r-- | install_jdk21-temurin.sh | 50 |
6 files changed, 234 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO new file mode 100644 index 000000000000..da7137cf3554 --- /dev/null +++ b/.SRCINFO @@ -0,0 +1,55 @@ +pkgbase = jdk21-temurin + pkgdesc = Temurin 21 (OpenJDK 21 Java binaries by Adoptium, formerly AdoptOpenJDK) + pkgver = 21.0.2.u13 + pkgrel = 1 + url = https://adoptium.net/ + install = install_jdk21-temurin.sh + arch = x86_64 + license = custom + depends = java-runtime-common>=3 + depends = java-environment-common + depends = ca-certificates-utils + depends = desktop-file-utils + depends = libxrender + depends = libxtst + depends = alsa-lib + optdepends = gtk2: for the Gtk+ 2 look and feel + optdepends = gtk3: for the Gtk+ 3 look and feel + provides = java-runtime-headless=21 + provides = java-runtime-headless-openjdk=21 + provides = jre21-openjdk-headless=21.0.2.u13 + provides = java-runtime=21 + provides = java-runtime-openjdk=21 + provides = jre21-openjdk=21.0.2.u13 + provides = java-environment=21 + provides = java-environment-openjdk=21 + provides = jdk21-openjdk=21.0.2.u13 + provides = jdk-openjdk=21.0.2.u13 + provides = openjdk21-src=21.0.2.u13 + provides = openjdk-src=21.0.2.u13 + options = !strip + backup = etc/java-21-temurin/logging.properties + backup = etc/java-21-temurin/management/jmxremote.access + backup = etc/java-21-temurin/management/jmxremote.password.template + backup = etc/java-21-temurin/management/management.properties + backup = etc/java-21-temurin/net.properties + backup = etc/java-21-temurin/sdp/sdp.conf.template + backup = etc/java-21-temurin/security/java.policy + backup = etc/java-21-temurin/security/java.security + backup = etc/java-21-temurin/security/policy/limited/default_local.policy + backup = etc/java-21-temurin/security/policy/limited/default_US_export.policy + backup = etc/java-21-temurin/security/policy/limited/exempt_local.policy + backup = etc/java-21-temurin/security/policy/README.txt + backup = etc/java-21-temurin/security/policy/unlimited/default_local.policy + backup = etc/java-21-temurin/security/policy/unlimited/default_US_export.policy + backup = etc/java-21-temurin/sound.properties + source = https://github.com/adoptium/temurin21-binaries/releases/download/jdk-21.0.2%2B13/OpenJDK21U-jdk_x64_linux_hotspot_21.0.2_13.tar.gz + source = freedesktop-java.desktop + source = freedesktop-jconsole.desktop + source = freedesktop-jshell.desktop + sha256sums = 454bebb2c9fe48d981341461ffb6bf1017c7b7c6e15c6b0c29b959194ba3aaa5 + sha256sums = 23ced5efdb3381e6318af1acb343c714b2d9aacdb4666fee05dc58cd254b2d07 + sha256sums = ef7f6465272608a35615665f8e4b0837b43b4db7bf22f8eb7cecdd6170b5b2ee + sha256sums = 166b128e025404e7b4048c5b3c958e080a13a98f84b6faa9cfe11530f553e287 + +pkgname = jdk21-temurin diff --git a/PKGBUILD b/PKGBUILD new file mode 100644 index 000000000000..df9dc2b2eb07 --- /dev/null +++ b/PKGBUILD @@ -0,0 +1,104 @@ +# Maintainer: Michael Lass <bevan@bi-co.net> + +# This PKGBUILD heavily borrows from java-openjdk in [extra] maintained by: +# Levente Polyak <anthraxx[at]archlinux[dot]org> +# Guillaume ALAUX <guillaume@archlinux.org> + +# This PKGBUILD is maintained on github: +# https://github.com/michaellass/AUR + +_majorver=21 +_completever=21.0.2 +_updatever=13 +pkgrel=1 +pkgver=${_completever}.u${_updatever} +_tag_ver=${_completever}+${_updatever} +_versuffix=U + +pkgname=jdk21-temurin +pkgdesc="Temurin ${_majorver} (OpenJDK ${_majorver} Java binaries by Adoptium, formerly AdoptOpenJDK)" +arch=('x86_64') +url='https://adoptium.net/' +license=('custom') + +depends=('java-runtime-common>=3' 'java-environment-common' 'ca-certificates-utils' 'desktop-file-utils' 'libxrender' 'libxtst' 'alsa-lib') +optdepends=('gtk2: for the Gtk+ 2 look and feel' + 'gtk3: for the Gtk+ 3 look and feel') +provides=("java-runtime-headless=${_majorver}" + "java-runtime-headless-openjdk=${_majorver}" + "jre${_majorver}-openjdk-headless=${pkgver}" + "java-runtime=${_majorver}" + "java-runtime-openjdk=${_majorver}" + "jre${_majorver}-openjdk=${pkgver}" + "java-environment=${_majorver}" + "java-environment-openjdk=${_majorver}" + "jdk${_majorver}-openjdk=${pkgver}" + "jdk-openjdk=${pkgver}" + "openjdk${_majorver}-src=${pkgver}" + "openjdk-src=${pkgver}") +backup=(etc/java-${_majorver}-temurin/logging.properties + etc/java-${_majorver}-temurin/management/jmxremote.access + etc/java-${_majorver}-temurin/management/jmxremote.password.template + etc/java-${_majorver}-temurin/management/management.properties + etc/java-${_majorver}-temurin/net.properties + etc/java-${_majorver}-temurin/sdp/sdp.conf.template + etc/java-${_majorver}-temurin/security/java.policy + etc/java-${_majorver}-temurin/security/java.security + etc/java-${_majorver}-temurin/security/policy/limited/default_local.policy + etc/java-${_majorver}-temurin/security/policy/limited/default_US_export.policy + etc/java-${_majorver}-temurin/security/policy/limited/exempt_local.policy + etc/java-${_majorver}-temurin/security/policy/README.txt + etc/java-${_majorver}-temurin/security/policy/unlimited/default_local.policy + etc/java-${_majorver}-temurin/security/policy/unlimited/default_US_export.policy + etc/java-${_majorver}-temurin/sound.properties) +install=install_jdk${_majorver}-temurin.sh +options=(!strip) + +source=(https://github.com/adoptium/temurin${_majorver}-binaries/releases/download/jdk-${_tag_ver/+/%2B}/OpenJDK${_majorver}${_versuffix}-jdk_x64_linux_hotspot_${_tag_ver/+/_}.tar.gz + freedesktop-java.desktop + freedesktop-jconsole.desktop + freedesktop-jshell.desktop) +sha256sums=('454bebb2c9fe48d981341461ffb6bf1017c7b7c6e15c6b0c29b959194ba3aaa5' + '23ced5efdb3381e6318af1acb343c714b2d9aacdb4666fee05dc58cd254b2d07' + 'ef7f6465272608a35615665f8e4b0837b43b4db7bf22f8eb7cecdd6170b5b2ee' + '166b128e025404e7b4048c5b3c958e080a13a98f84b6faa9cfe11530f553e287') + +_jvmdir=/usr/lib/jvm/java-${_majorver}-temurin +_jdkdir=jdk-${_tag_ver} + +package() { + + install -dm 755 "${pkgdir}${_jvmdir}" + cp -a "${srcdir}/${_jdkdir}"/* "${pkgdir}${_jvmdir}" + + cd "${pkgdir}${_jvmdir}" + + # Conf + install -dm 755 "${pkgdir}/etc" + mv conf "${pkgdir}/etc/java-${_majorver}-temurin" + ln -sf /etc/java-${_majorver}-temurin conf + + # Legal + install -dm 755 "${pkgdir}/usr/share/licenses" + mv legal "${pkgdir}/usr/share/licenses/${pkgname}" + ln -sf /usr/share/licenses/${pkgname} legal + + # Man pages + for f in man/man1/*; do + install -Dm 644 "${f}" "${pkgdir}/usr/share/${f/\.1/-temurin${_majorver}.1}" + done + rm -rf man + ln -sf /usr/share/man man + + # Link JKS keystore from ca-certificates-utils + rm -f lib/security/cacerts + ln -sf /etc/ssl/certs/java/cacerts lib/security/cacerts + + # Desktop files + for f in jconsole java jshell; do + install -Dm 644 \ + "${srcdir}/freedesktop-${f}.desktop" \ + "${pkgdir}/usr/share/applications/${f}-${pkgname}.desktop" + done + +} diff --git a/freedesktop-java.desktop b/freedesktop-java.desktop new file mode 100644 index 000000000000..7df5f0d5750f --- /dev/null +++ b/freedesktop-java.desktop @@ -0,0 +1,9 @@ +[Desktop Entry] +Name=Temurin Java 21 Runtime +Comment=Temurin Java 21 Runtime +Keywords=java;runtime +Exec=/usr/lib/jvm/java-21-temurin/bin/java -jar +Terminal=false +Type=Application +MimeType=application/x-java-archive;application/java-archive;application/x-jar; +NoDisplay=true diff --git a/freedesktop-jconsole.desktop b/freedesktop-jconsole.desktop new file mode 100644 index 000000000000..74fb22ca27cd --- /dev/null +++ b/freedesktop-jconsole.desktop @@ -0,0 +1,8 @@ +[Desktop Entry] +Name=Temurin Java 21 Console +Comment=Temurin Java 21 Monitoring & Management Console +Keywords=java;console;monitoring +Exec=/usr/lib/jvm/java-21-temurin/bin/jconsole +Terminal=false +Type=Application +Categories=Application;System; diff --git a/freedesktop-jshell.desktop b/freedesktop-jshell.desktop new file mode 100644 index 000000000000..6da68f5e9bc3 --- /dev/null +++ b/freedesktop-jshell.desktop @@ -0,0 +1,8 @@ +[Desktop Entry] +Name=Temurin Java 21 Shell +Comment=Temurin Java 21 Shell +Keywords=java;shell +Exec=/usr/lib/jvm/java-21-temurin/bin/jshell +Terminal=true +Type=Application +Categories=Application;System; diff --git a/install_jdk21-temurin.sh b/install_jdk21-temurin.sh new file mode 100644 index 000000000000..ebb7c528333a --- /dev/null +++ b/install_jdk21-temurin.sh @@ -0,0 +1,50 @@ +THIS_JDK='java-21-temurin' + +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 + "") + /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}" ]; 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 + # Check JRE is still available + if [ -x /usr/lib/jvm/${THIS_JDK}/bin/java ]; then + /usr/bin/archlinux-java unset + fi + fi +} |