extra/java17-openjdk to 17.0.10.u7-3

This commit is contained in:
Kevin Mihelich 2024-04-06 14:25:01 +00:00
parent 276038b835
commit 5b58cc69c2
2 changed files with 202 additions and 51 deletions

View file

@ -1,9 +1,9 @@
pkgbase = java17-openjdk
pkgver = 17.0.10.u7
pkgrel = 1
pkgrel = 3
url = https://openjdk.java.net/
arch = x86_64
license = custom
license = LicenseRef-Java
makedepends = java-environment=17
makedepends = cpio
makedepends = unzip
@ -29,7 +29,6 @@ pkgbase = java17-openjdk
makedepends = harfbuzz
makedepends = gcc-libs
makedepends = glibc
options = !lto
source = https://github.com/openjdk/jdk17u/archive/jdk-17.0.10+7.tar.gz
source = freedesktop-java.desktop
source = freedesktop-jconsole.desktop
@ -59,7 +58,9 @@ pkgname = jre17-openjdk-headless
optdepends = java-rhino: for some JavaScript support
provides = java-runtime-headless=17
provides = java-runtime-headless-openjdk=17
provides = jre17-openjdk-headless=17.0.10.u7-1
provides = jre17-openjdk-headless=17.0.10.u7-3
conflicts = jdk17-openjdk
conflicts = jre17-openjdk
backup = etc/java17-openjdk/logging.properties
backup = etc/java17-openjdk/management/jmxremote.access
backup = etc/java17-openjdk/management/jmxremote.password.template
@ -78,38 +79,118 @@ pkgname = jre17-openjdk-headless
pkgname = jre17-openjdk
pkgdesc = OpenJDK Java 17 full runtime environment
install = install_jre-openjdk.sh
depends = jre17-openjdk-headless=17.0.10.u7-1
depends = giflib
depends = libgif.so
depends = java-runtime-common>=3
depends = ca-certificates-utils
depends = nss
depends = libjpeg-turbo
depends = libjpeg.so
depends = lcms2
depends = liblcms2.so
depends = libnet
depends = freetype2
depends = libfreetype.so
depends = harfbuzz
depends = libharfbuzz.so
depends = glibc
depends = gcc-libs
depends = giflib
depends = libgif.so
depends = libpng
optdepends = alsa-lib: for basic sound support
optdepends = gtk2: for the Gtk+ 2 look and feel - desktop usage
optdepends = gtk3: for the Gtk+ 3 look and feel - desktop usage
provides = java-runtime=17
provides = java-runtime-openjdk=17
provides = jre17-openjdk=17.0.10.u7-1
provides = jre17-openjdk=17.0.10.u7-3
provides = java-runtime-headless=17
provides = java-runtime-headless-openjdk=17
provides = jre17-openjdk-headless=17.0.10.u7-3
conflicts = jdk17-openjdk
conflicts = jre17-openjdk-headless
backup = etc/java17-openjdk/logging.properties
backup = etc/java17-openjdk/management/jmxremote.access
backup = etc/java17-openjdk/management/jmxremote.password.template
backup = etc/java17-openjdk/management/management.properties
backup = etc/java17-openjdk/net.properties
backup = etc/java17-openjdk/security/java.policy
backup = etc/java17-openjdk/security/java.security
backup = etc/java17-openjdk/security/policy/README.txt
backup = etc/java17-openjdk/security/policy/limited/default_US_export.policy
backup = etc/java17-openjdk/security/policy/limited/default_local.policy
backup = etc/java17-openjdk/security/policy/limited/exempt_local.policy
backup = etc/java17-openjdk/security/policy/unlimited/default_US_export.policy
backup = etc/java17-openjdk/security/policy/unlimited/default_local.policy
backup = etc/java17-openjdk/sound.properties
pkgname = jdk17-openjdk
pkgdesc = OpenJDK Java 17 development kit
install = install_jdk-openjdk.sh
depends = jre17-openjdk=17.0.10.u7-1
depends = java-runtime-common>=3
depends = ca-certificates-utils
depends = nss
depends = libjpeg-turbo
depends = libjpeg.so
depends = lcms2
depends = liblcms2.so
depends = libnet
depends = freetype2
depends = libfreetype.so
depends = harfbuzz
depends = libharfbuzz.so
depends = glibc
depends = gcc-libs
depends = java-environment-common=3
depends = hicolor-icon-theme
depends = libelf
depends = glibc
depends = gcc-libs
depends = libgif.so
depends = libpng
depends = ca-certificates-utils
depends = nss
depends = libjpeg-turbo
depends = libjpeg.so
depends = lcms2
depends = liblcms2.so
depends = libnet
depends = freetype2
depends = libfreetype.so
depends = harfbuzz
depends = libharfbuzz.so
optdepends = java-rhino: for some JavaScript support
optdepends = alsa-lib: for basic sound support
optdepends = gtk2: for the Gtk+ 2 look and feel - desktop usage
optdepends = gtk3: for the Gtk+ 3 look and feel - desktop usage
provides = java-environment=17
provides = java-environment-openjdk=17
provides = jdk17-openjdk=17.0.10.u7-1
provides = jdk17-openjdk=17.0.10.u7-3
provides = java-runtime=17
provides = java-runtime-openjdk=17
provides = jre17-openjdk=17.0.10.u7-3
provides = java-runtime-headless=17
provides = java-runtime-headless-openjdk=17
provides = jre17-openjdk-headless=17.0.10.u7-3
conflicts = jre17-openjdk
conflicts = jre17-openjdk-headless
backup = etc/java17-openjdk/logging.properties
backup = etc/java17-openjdk/management/jmxremote.access
backup = etc/java17-openjdk/management/jmxremote.password.template
backup = etc/java17-openjdk/management/management.properties
backup = etc/java17-openjdk/net.properties
backup = etc/java17-openjdk/security/java.policy
backup = etc/java17-openjdk/security/java.security
backup = etc/java17-openjdk/security/policy/README.txt
backup = etc/java17-openjdk/security/policy/limited/default_US_export.policy
backup = etc/java17-openjdk/security/policy/limited/default_local.policy
backup = etc/java17-openjdk/security/policy/limited/exempt_local.policy
backup = etc/java17-openjdk/security/policy/unlimited/default_US_export.policy
backup = etc/java17-openjdk/security/policy/unlimited/default_local.policy
backup = etc/java17-openjdk/sound.properties
pkgname = openjdk17-src
pkgdesc = OpenJDK Java 17 sources
depends = jdk17-openjdk=17.0.10.u7-1
provides = openjdk17-src=17.0.10.u7-1
depends = jdk17-openjdk=17.0.10.u7-3
provides = openjdk17-src=17.0.10.u7-3
pkgname = openjdk17-doc
pkgdesc = OpenJDK Java 17 documentation
depends = jdk17-openjdk=17.0.10.u7-1
provides = openjdk17-doc=17.0.10.u7-1
depends = jdk17-openjdk=17.0.10.u7-3
provides = openjdk17-doc=17.0.10.u7-3

View file

@ -13,6 +13,7 @@
# TODO add test, see about packaging jtreg and using it here
pkgbase=java17-openjdk
pkgname=('jre17-openjdk-headless' 'jre17-openjdk' 'jdk17-openjdk' 'openjdk17-src')
_majorver=17
@ -20,18 +21,16 @@ _minorver=0
_securityver=10
_updatever=7
pkgver=${_majorver}.${_minorver}.${_securityver}.u${_updatever}
#pkgver=${_majorver}.u${_updatever}
pkgrel=1
_git_tag=jdk-${_majorver}.${_minorver}.${_securityver}+${_updatever}
#_git_tag=jdk-${_majorver}+${_updatever}
pkgrel=3
_git_tag=jdk-${_majorver}.${_minorver}.${_securityver}+${_updatever}
arch=('x86_64')
url='https://openjdk.java.net/'
license=('custom')
license=('LicenseRef-Java')
makedepends=('java-environment=17' 'cpio' 'unzip' 'zip' 'libelf' 'libcups' 'libx11'
'libxrender' 'libxtst' 'libxt' 'libxext' 'libxrandr' 'alsa-lib'
'graphviz' 'freetype2' 'libjpeg-turbo' 'giflib' 'libpng' 'lcms2'
'libnet' 'bash' 'harfbuzz' 'gcc-libs' 'glibc')
options=(!lto)
source=(https://github.com/openjdk/jdk${_majorver}u/archive/${_git_tag}.tar.gz
freedesktop-java.desktop
freedesktop-jconsole.desktop
@ -61,6 +60,10 @@ _nonheadless=(lib/libawt_xawt.so
lib/libjsound.so
lib/libsplashscreen.so)
_commondeps=('java-runtime-common>=3' 'ca-certificates-utils' 'nss' 'libjpeg-turbo' 'libjpeg.so'
'lcms2' 'liblcms2.so' 'libnet' 'freetype2' 'libfreetype.so' 'harfbuzz' 'libharfbuzz.so'
'glibc' 'gcc-libs')
build() {
cd ${_jdkdir}
@ -109,6 +112,13 @@ build() {
_variants='server'
fi
if check_option "lto" "y"; then
jvm_features="zgc,shenandoahgc,link-time-opt"
else
jvm_features="zgc,shenandoahgc"
fi
bash configure \
--with-version-build="${_updatever}" \
--with-version-pre="" \
@ -132,7 +142,7 @@ build() {
make images legacy-jre-image
# https://bugs.openjdk.java.net/browse/JDK-8173610
find "../${_imgdir}" -iname '*.so' -exec chmod +x {} \;
find "${srcdir}/${_imgdir}" -iname '*.so' -exec chmod +x {} \;
}
check() {
@ -143,11 +153,10 @@ check() {
package_jre17-openjdk-headless() {
pkgdesc="OpenJDK Java ${_majorver} headless runtime environment"
depends=('java-runtime-common>=3' 'ca-certificates-utils' 'nss' 'libjpeg-turbo' 'libjpeg.so'
'lcms2' 'liblcms2.so' 'libnet' 'freetype2' 'libfreetype.so' 'harfbuzz' 'libharfbuzz.so'
'glibc' 'gcc-libs')
depends=("${_commondeps[@]}")
optdepends=('java-rhino: for some JavaScript support')
provides=("java-runtime-headless=${_majorver}" "java-runtime-headless-openjdk=${_majorver}" "jre${_majorver}-openjdk-headless=${pkgver}-${pkgrel}")
conflicts=("jdk17-openjdk" "jre17-openjdk")
backup=(etc/${pkgbase}/logging.properties
etc/${pkgbase}/management/jmxremote.access
etc/${pkgbase}/management/jmxremote.password.template
@ -175,9 +184,6 @@ package_jre17-openjdk-headless() {
rm "${pkgdir}${_jvmdir}/${f}"
done
cp ../jdk/release "${pkgdir}${_jvmdir}"
cp ../jdk/lib/modules "${pkgdir}${_jvmdir}/lib"
# Conf
install -dm 755 "${pkgdir}/etc"
cp -r conf "${pkgdir}/etc/${pkgbase}"
@ -204,69 +210,133 @@ package_jre17-openjdk-headless() {
package_jre17-openjdk() {
pkgdesc="OpenJDK Java ${_majorver} full runtime environment"
depends=("jre${_majorver}-openjdk-headless=${pkgver}-${pkgrel}" 'giflib' 'libgif.so'
'glibc' 'gcc-libs' 'libpng')
depends=("${_commondeps[@]}" 'giflib' 'libgif.so' 'libpng')
optdepends=('alsa-lib: for basic sound support'
'gtk2: for the Gtk+ 2 look and feel - desktop usage'
'gtk3: for the Gtk+ 3 look and feel - desktop usage')
provides=("java-runtime=${_majorver}" "java-runtime-openjdk=${_majorver}" "jre${_majorver}-openjdk=${pkgver}-${pkgrel}")
provides=("java-runtime=${_majorver}" "java-runtime-openjdk=${_majorver}" "jre${_majorver}-openjdk=${pkgver}-${pkgrel}"
"java-runtime-headless=${_majorver}" "java-runtime-headless-openjdk=${_majorver}" "jre${_majorver}-openjdk-headless=${pkgver}-${pkgrel}")
conflicts=("jdk17-openjdk" "jre17-openjdk-headless")
backup=(etc/${pkgbase}/logging.properties
etc/${pkgbase}/management/jmxremote.access
etc/${pkgbase}/management/jmxremote.password.template
etc/${pkgbase}/management/management.properties
etc/${pkgbase}/net.properties
etc/${pkgbase}/security/java.policy
etc/${pkgbase}/security/java.security
etc/${pkgbase}/security/policy/README.txt
etc/${pkgbase}/security/policy/limited/default_US_export.policy
etc/${pkgbase}/security/policy/limited/default_local.policy
etc/${pkgbase}/security/policy/limited/exempt_local.policy
etc/${pkgbase}/security/policy/unlimited/default_US_export.policy
etc/${pkgbase}/security/policy/unlimited/default_local.policy
etc/${pkgbase}/sound.properties)
install=install_jre-openjdk.sh
cd ${_imgdir}/jre
install -dm 755 "${pkgdir}${_jvmdir}"
cp -a bin lib \
"${pkgdir}${_jvmdir}"
for f in "${_nonheadless[@]}"; do
install -Dm 755 ${f} "${pkgdir}${_jvmdir}/${f}"
done
# Licenses
# Conf
install -dm 755 "${pkgdir}/etc"
cp -r conf "${pkgdir}/etc/${pkgbase}"
ln -s /etc/${pkgbase} "${pkgdir}/${_jvmdir}/conf"
# Legal
install -dm 755 "${pkgdir}/usr/share/licenses"
cp -r legal "${pkgdir}/usr/share/licenses/${pkgbase}"
ln -s ${pkgbase} "${pkgdir}/usr/share/licenses/${pkgname}"
ln -s /usr/share/licenses/${pkgbase} "${pkgdir}/${_jvmdir}/legal"
# Man pages
for f in bin/*; do
f=$(basename "${f}")
_man=../jdk/man/man1/"${f}.1"
test -f "${_man}" && install -Dm 644 "${_man}" "${pkgdir}/usr/share/man/man1/${f}-openjdk${_majorver}.1"
done
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"
# Desktop files
for f in java; do
install -Dm 644 \
"${srcdir}/freedesktop-${f}.desktop" \
"${pkgdir}/usr/share/applications/${f}-${pkgbase}.desktop"
done
}
package_jdk17-openjdk() {
pkgdesc="OpenJDK Java ${_majorver} development kit"
depends=("jre${_majorver}-openjdk=${pkgver}-${pkgrel}" 'java-environment-common=3'
'hicolor-icon-theme' 'libelf' 'glibc' 'gcc-libs')
provides=("java-environment=${_majorver}" "java-environment-openjdk=${_majorver}" "jdk${_majorver}-openjdk=${pkgver}-${pkgrel}")
depends=("${_commondeps[@]}" 'java-environment-common=3'
'hicolor-icon-theme' 'libelf' 'libgif.so' 'libpng'
'ca-certificates-utils' 'nss' 'libjpeg-turbo' 'libjpeg.so'
'lcms2' 'liblcms2.so' 'libnet' 'freetype2' 'libfreetype.so' 'harfbuzz'
'libharfbuzz.so')
optdepends=('java-rhino: for some JavaScript support'
'alsa-lib: for basic sound support'
'gtk2: for the Gtk+ 2 look and feel - desktop usage'
'gtk3: for the Gtk+ 3 look and feel - desktop usage')
provides=("java-environment=${_majorver}" "java-environment-openjdk=${_majorver}" "jdk${_majorver}-openjdk=${pkgver}-${pkgrel}"
"java-runtime=${_majorver}" "java-runtime-openjdk=${_majorver}" "jre${_majorver}-openjdk=${pkgver}-${pkgrel}"
"java-runtime-headless=${_majorver}" "java-runtime-headless-openjdk=${_majorver}" "jre${_majorver}-openjdk-headless=${pkgver}-${pkgrel}")
conflicts=("jre17-openjdk" "jre17-openjdk-headless")
backup=(etc/${pkgbase}/logging.properties
etc/${pkgbase}/management/jmxremote.access
etc/${pkgbase}/management/jmxremote.password.template
etc/${pkgbase}/management/management.properties
etc/${pkgbase}/net.properties
etc/${pkgbase}/security/java.policy
etc/${pkgbase}/security/java.security
etc/${pkgbase}/security/policy/README.txt
etc/${pkgbase}/security/policy/limited/default_US_export.policy
etc/${pkgbase}/security/policy/limited/default_local.policy
etc/${pkgbase}/security/policy/limited/exempt_local.policy
etc/${pkgbase}/security/policy/unlimited/default_US_export.policy
etc/${pkgbase}/security/policy/unlimited/default_local.policy
etc/${pkgbase}/sound.properties)
install=install_jdk-openjdk.sh
cd ${_imgdir}/jdk
install -dm 755 "${pkgdir}${_jvmdir}"
cp -a bin demo include jmods lib \
cp -a bin demo include jmods lib release\
"${pkgdir}${_jvmdir}"
rm "${pkgdir}${_jvmdir}/lib/src.zip"
# Remove files held by JRE
pushd ../jre
for d in bin lib; do
find ${d} ! -type d -exec rm "${pkgdir}${_jvmdir}/{}" \;
done
popd
find "${pkgdir}${_jvmdir}/lib" -type d -empty -delete
# Conf files all belong to JRE
# Conf
install -dm 755 "${pkgdir}/etc"
cp -r conf "${pkgdir}/etc/${pkgbase}"
ln -s /etc/${pkgbase} "${pkgdir}/${_jvmdir}/conf"
# Legal
install -dm 755 "${pkgdir}/usr/share/licenses"
cp -r legal "${pkgdir}/usr/share/licenses/${pkgbase}"
pushd ../jre/legal
find . ! -type d -exec rm "${pkgdir}/usr/share/licenses/${pkgbase}/{}" \;
popd
find "${pkgdir}/usr/share/licenses" -type d -empty -delete
ln -s ${pkgbase} "${pkgdir}/usr/share/licenses/${pkgname}"
ln -s /usr/share/licenses/${pkgbase} "${pkgdir}/${_jvmdir}/legal"
# Man pages
for f in bin/*; do
f=$(basename "${f}")
_man=man/man1/"${f}.1"
test -f "../jre/bin/${f}" && continue
_man=../jdk/man/man1/"${f}.1"
test -f "${_man}" && install -Dm 644 "${_man}" "${pkgdir}/usr/share/man/man1/${f}-openjdk${_majorver}.1"
done
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"
# Icons
for s in 16 24 32 48; do