Skip to content

Commit

Permalink
JDK22 installer spec files for JREs
Browse files Browse the repository at this point in the history
Signed-off-by: Adam Farley <[email protected]>
  • Loading branch information
adamfarley committed Mar 12, 2024
1 parent 9900577 commit 88e2e43
Show file tree
Hide file tree
Showing 11 changed files with 575 additions and 1 deletion.
2 changes: 1 addition & 1 deletion linux/jdk/suse/src/main/packaging/build.sh
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ echo "DEBUG: building Suse arch ${buildArch} with version ${buildVersion}"
# Build specified target or build all
if [ "${buildArch}" != "all" ]; then
targets=${buildArch}
elif [ "${buildVersion}" = "21" ]; then
elif [ ${buildVersion} -gt 20 ]; then
targets="x86_64 aarch64 ppc64le"
else
targets="x86_64 ppc64le aarch64 armv7hl s390x"
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
temurin-22-jre (22.0.0.0.0+0-0) STABLE; urgency=medium

* Eclipse Temurin 22.0.0.0.0+0-0 release.

-- Eclipse Adoptium Package Maintainers <[email protected]> Wed, 20 Mar 2024 00:00:00 +0000
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
11
65 changes: 65 additions & 0 deletions linux/jre/debian/src/main/packaging/temurin/22/debian/control
Original file line number Diff line number Diff line change
@@ -0,0 +1,65 @@
Source: temurin-22-jre
Section: java
Priority: optional
Maintainer: Eclipse Adoptium Package Maintainers <[email protected]>
Build-Depends: debhelper (>= 11), lsb-release

Package: temurin-22-jre
Architecture: amd64 arm64 ppc64el s390x
Depends: adoptium-ca-certificates,
java-common,
libasound2,
libc6,
libfontconfig1,
libfreetype6,
libx11-6,
libxext6,
libxi6,
libxrender1,
libxtst6,
zlib1g
Recommends: fonts-dejavu-core,
fonts-dejavu-extra
Provides: java-runtime,
java-runtime-headless,
java10-runtime,
java11-runtime,
java12-runtime,
java13-runtime,
java14-runtime,
java15-runtime,
java16-runtime,
java17-runtime,
java18-runtime,
java19-runtime,
java2-runtime,
java20-runtime,
java21-runtime,
java22-runtime,
java5-runtime,
java6-runtime,
java7-runtime,
java8-runtime,
java9-runtime,
java10-runtime-headless,
java11-runtime-headless,
java12-runtime-headless,
java13-runtime-headless,
java14-runtime-headless,
java15-runtime-headless,
java16-runtime-headless,
java17-runtime-headless,
java18-runtime-headless,
java19-runtime-headless,
java2-runtime-headless,
java20-runtime-headless,
java21-runtime-headless,
java22-runtime-headless,
java5-runtime-headless,
java6-runtime-headless,
java7-runtime-headless,
java8-runtime-headless,
java9-runtime-headless
Description: Eclipse Temurin 22 JRE
Eclipse Temurin JRE is an OpenJDK-based runtime environment to execute
Java applications and services.
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/

Files: *
Copyright: Oracle and/or its affiliates
License: GPL-2.0+CE
11 changes: 11 additions & 0 deletions linux/jre/debian/src/main/packaging/temurin/22/debian/jinfo.in
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
name=@pkg_alias@
alias=@pkg_alias@
priority=@priority@
section=contrib

hl java /usr/lib/jvm/@jvm_dir@/bin/java
hl jfr /usr/lib/jvm/@jvm_dir@/bin/jfr
hl jrunscript /usr/lib/jvm/@jvm_dir@/bin/jrunscript
jdkhl jwebserver /usr/lib/jvm/@jvm_dir@/bin/jwebserver
hl keytool /usr/lib/jvm/@jvm_dir@/bin/keytool
hl rmiregistry /usr/lib/jvm/@jvm_dir@/bin/rmiregistry
42 changes: 42 additions & 0 deletions linux/jre/debian/src/main/packaging/temurin/22/debian/postinst.in
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
#!/bin/sh
set -eu

priority="@priority@"
jdk_base_dir="/usr/lib/jvm/@jvm_dir@"
tools="@jvm_tools@"

case "$1" in
configure)
for tool in $tools; do
for tool_path in "$jdk_base_dir/bin/$tool" "$jdk_base_dir/lib/$tool"; do
if [ ! -e "$tool_path" ]; then
continue
fi

slave=""
tool_man_path="$jdk_base_dir/man/man1/$tool.1"
if [ -e "$tool_man_path" ]; then
slave="--slave /usr/share/man/man1/$tool.1 $tool.1 $tool_man_path"
fi

update-alternatives \
--install \
"/usr/bin/$tool" \
"$tool" \
"$tool_path" \
"$priority" \
$slave
done
done
;;

abort-upgrade | abort-remove | abort-deconfigure)
# Nothing to do
;;
*)
echo "postinst called with unknown argument \`$1'" >&2
exit 1
;;
esac

exit 0
28 changes: 28 additions & 0 deletions linux/jre/debian/src/main/packaging/temurin/22/debian/prerm.in
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
#!/bin/sh
set -eu

jdk_base_dir="/usr/lib/jvm/@jvm_dir@"
tools="@jvm_tools@"

case "$1" in
purge)
# Nothing to do
;;
remove | upgrade | failed-upgrade | abort-install | abort-upgrade | disappear | deconfigure)
for tool in $tools; do
for tool_path in "$jdk_base_dir/bin/$tool" "$jdk_base_dir/lib/$tool"; do
if [ ! -e "$tool_path" ]; then
continue
fi

update-alternatives --remove "$tool" "$tool_path"
done
done
;;
*)
echo "prerm called with unknown argument \`$1'" >&2
exit 1
;;
esac

exit 0
69 changes: 69 additions & 0 deletions linux/jre/debian/src/main/packaging/temurin/22/debian/rules
Original file line number Diff line number Diff line change
@@ -0,0 +1,69 @@
#!/usr/bin/make -f

pkg_name = temurin-22-jre
priority = 2212
jvm_tools = java jfr jrunscript jwebserver keytool rmiregistry
amd64_tarball_url = https://github.com/adoptium/temurin22-binaries/releases/download/jdk-22.0.0%2B0/OpenJDK22U-jre_x64_linux_hotspot_22.0.0_0.tar.gz
amd64_checksum = 51141204fe01a9f9dd74eab621d5eca7511eac67315c9975dbde5f2625bdca55
arm64_tarball_url = https://github.com/adoptium/temurin22-binaries/releases/download/jdk-22.0.0%2B0/OpenJDK22U-jre_aarch64_linux_hotspot_22.0.0_0.tar.gz
arm64_checksum = 64c78854184c92a4da5cda571c8e357043bfaf03a03434eef58550cc3410d8a4
ppc64el_tarball_url = https://github.com/adoptium/temurin22-binaries/releases/download/jdk-22.0.0%2B0/OpenJDK22U-jre_ppc64le_linux_hotspot_22.0.0_0.tar.gz
ppc64el_checksum = caaf48e50787b80b810dc08ee91bd4ffe0d0696bd14906a92f05bf8c14aabb22
s390x_tarball_url = https://github.com/adoptium/temurin22-binaries/releases/download/jdk-22.0.0%2B0/OpenJDK22U-jre_s390x_linux_hotspot_22.0.0_0.tar.gz
s390x_checksum = ff8191fa5b23a175932e7f4fab10a6e8df61fd71b6529c7d21451c81e82f8d55

d = debian/$(pkg_name)
jvm_home = usr/lib/jvm
jvm_dir = $(pkg_name)-$(DEB_HOST_ARCH)
pkg_alias = $(pkg_name)-$(DEB_HOST_ARCH)

%:
dh $@

override_dh_auto_clean:
override_dh_auto_test:
override_dh_auto_build:
override_dh_strip:
override_dh_auto_install:
# Download and verify checksum of JRE
wget --progress=dot:mega -O jre.tar.gz $($(DEB_HOST_ARCH)_tarball_url)
echo '$($(DEB_HOST_ARCH)_checksum) jre.tar.gz' > jre.tar.gz.sha256.txt
sha256sum -c jre.tar.gz.sha256.txt

# Substitute variables.
sed \
-e 's/@pkg_alias@/$(pkg_alias)/g' \
-e 's/@jvm_dir@/$(jvm_dir)/g' \
-e 's/@priority@/$(priority)/g' \
-e 's/@jvm_tools@/$(jvm_tools)/g' \
debian/jinfo.in > debian/jinfo

sed \
-e 's/@pkg_alias@/$(pkg_alias)/g' \
-e 's/@jvm_dir@/$(jvm_dir)/g' \
-e 's/@priority@/$(priority)/g' \
-e 's/@jvm_tools@/$(jvm_tools)/g' \
debian/postinst.in > debian/postinst

sed \
-e 's/@pkg_alias@/$(pkg_alias)/g' \
-e 's/@jvm_dir@/$(jvm_dir)/g' \
-e 's/@priority@/$(priority)/g' \
-e 's/@jvm_tools@/$(jvm_tools)/g' \
debian/prerm.in > debian/prerm

# Unpack JRE.
dh_installdirs \
$(jvm_home) \
$(jvm_home)/$(jvm_dir)
tar --strip-components=1 -C "$(d)/$(jvm_home)/$(jvm_dir)" -xf jre.tar.gz

# Add jinfo file (alternatives support).
cp debian/jinfo "$(d)/$(jvm_home)/.$(pkg_alias).jinfo"

# Replace bundled cacerts and redirect to adoptium-ca-certificates.
rm -f "$(d)/$(jvm_home)/$(jvm_dir)/lib/security/cacerts"
ln -s /etc/ssl/certs/adoptium/cacerts "$(d)/$(jvm_home)/$(jvm_dir)/lib/security/cacerts"

override_dh_gencontrol:
dh_gencontrol --
Loading

0 comments on commit 88e2e43

Please sign in to comment.