Adoptium OpenJDK 21 JRE
Silent install package for Adoptium OpenJDK 21 JRE
21.0.12.1-5
System and network
System and network
- package: tis-adoptium-openjdk21-jre
- name: Adoptium OpenJDK 21 JRE
- version: 21.0.12.1-5
- categories: System and network
- maintainer: WAPT Team,Tranquil IT,Jimmy PELÉ,Clément BAZIRET
- editor: AdoptOpenJDK
- licence: opensource_free,cpe:/a:gnu:gpl_v2,wapt_public
- locale: all
- target_os: debian_based
- impacted_process: java,jfr,jrunscript,jwebserver,keytool,rmiregistry
- architecture: arm64
- signature_date:
- size: 31.11 Mo
- installed_size: 39.41 Mo
- homepage : https://adoptium.net/
package : tis-adoptium-openjdk21-jre
version : 21.0.12.1-5
architecture : arm64
section : base
priority : optional
name : Adoptium OpenJDK 21 JRE
categories : System and network
maintainer : WAPT Team,Tranquil IT,Jimmy PELÉ,Clément BAZIRET
description : Eclipse Temurin (formerly Adoptium OpenJDK, formerly AdoptOpenJDK) with Hotspot is an open source Java SE build based upon OpenJDK
depends :
conflicts :
maturity : PROD
locale : all
target_os : debian_based
min_wapt_version : 2.5
sources : https://adoptium.net/temurin/releases/?version=21
installed_size : 39407616
impacted_process : java,jfr,jrunscript,jwebserver,keytool,rmiregistry
description_fr : Eclipse Temurin (anciennement Adoptium OpenJDK, anciennement AdoptOpenJDK) avec Hotspot est une version open source de Java SE basée sur OpenJDK
description_pl : Eclipse Temurin (dawniej Adoptium OpenJDK, dawniej AdoptOpenJDK) z Hotspotem to open source'owa kompilacja Java SE oparta na OpenJDK
description_de : Eclipse Temurin (ehemals Adoptium OpenJDK, ehemals AdoptOpenJDK) mit Hotspot ist ein quelloffener Java SE Build, der auf OpenJDK basiert
description_es : Eclipse Temurin (antes Adoptium OpenJDK, antes AdoptOpenJDK) con Hotspot es una compilación de Java SE de código abierto basada en OpenJDK
description_pt : O Eclipse Temurin (anteriormente Adoptium OpenJDK, anteriormente AdoptOpenJDK) com Hotspot é uma compilação Java SE de código aberto baseada no OpenJDK
description_it : Eclipse Temurin (ex Adoptium OpenJDK, ex AdoptOpenJDK) con Hotspot è una build open source di Java SE basata su OpenJDK
description_nl : Eclipse Temurin (voorheen Adoptium OpenJDK, voorheen AdoptOpenJDK) met Hotspot is een open source Java SE build gebaseerd op OpenJDK
description_ru : Eclipse Temurin (ранее Adoptium OpenJDK, ранее AdoptOpenJDK) с Hotspot - это сборка Java SE с открытым исходным кодом, основанная на OpenJDK
audit_schedule :
editor : AdoptOpenJDK
keywords : adopt,open,jdk,adoptopenjdk,java,jre
licence : opensource_free,cpe:/a:gnu:gpl_v2,wapt_public
homepage : https://adoptium.net/
package_uuid : e816f7cd-282f-48c0-b8b2-573fa8225924
valid_from :
valid_until :
forced_install_on :
changelog : https://adoptium.net/temurin/release-notes/
min_os_version : 11
max_os_version :
icon_sha256sum : 841c3b8e2f19942f438049a68b7920c2a49eb3997fb991dc6b41f3a8f242d3a3
signer : Tranquil IT
signer_fingerprint: 8c5127a75392be9cc9afd0dbae1222a673072c308c14d88ab246e23832e8c6bb
signature_date : 2026-09-09T11:02:48.000000
signed_attributes : package,version,architecture,section,priority,name,categories,maintainer,description,depends,conflicts,maturity,locale,target_os,min_wapt_version,sources,installed_size,impacted_process,description_fr,description_pl,description_de,description_es,description_pt,description_it,description_nl,description_ru,audit_schedule,editor,keywords,licence,homepage,package_uuid,valid_from,valid_until,forced_install_on,changelog,min_os_version,max_os_version,icon_sha256sum,signer,signer_fingerprint,signature_date,signed_attributes
signature : wPLACDxHu8HAG/dRQv8G1y0OpQ7thlOzT4VQvbEQ+rv5lENp1RB8kx+qPQG+tIvwoYu/rsa+ZdDRUiB0g9ZbWTCfpI7JP3Q6jMoH+gD7aNuI9sy4a54jOn/LvucfiZNO9RXeDzvc9hlNuVKqkvxUVljlmc/sd0ZoUeZ8jJiyB3ud25HJl5Ksfl+0CBBpM3ExPE2lFX1NsAc0C/rsXh4txqHZ6ImvHlHgI9xr5JGgpYhwxDWM2sjfNkbuVUz6zpyRrq7yBNktNu1D74Mkdj0hMbwK5/+xJvNYMj+kvhstwwCt3fYtBBgNhEXLMNHSb0LIRRDMjwei4pfm4ljq9D71Cw==
# -*- coding: utf-8 -*-
from setuphelpers import *
def install():
bin_name = glob.glob("*.deb")
install_deb(" ".join(bin_name))
def uninstall():
uninstall_apt("temurin-21-jre")
if installed_softwares("adoptium-ca-certificates"):
uninstall_apt("adoptium-ca-certificates")
# -*- coding: utf-8 -*-
from setuphelpers import *
from io import BytesIO
import gzip
import os
import re
class DebianPackagesParser:
def __init__(self, file):
file_text = self.__read_input(file)
file_text = self.__remove_pgp_key(file_text)
packages = file_text.split("\n\n")
self.raw_pkg_info = []
if len(packages[0]):
self.raw_pkg_info = [self.__get_raw_info(pkg) for pkg in packages]
def __read_input(self, input_obj):
"""Ensures valid input type"""
if type(input_obj) is not str:
raise TypeError("input must be string or string path to file")
elif os.path.exists(os.path.abspath(input_obj)):
with open(input_obj, "r", encoding="utf8") as f:
file_text = f.read().strip()
return file_text
else:
return input_obj.strip()
def __remove_pgp_key(self, text):
gpg_regex = re.compile(r"^-----BEGIN PGP PUBLIC KEY BLOCK-----[a-zA-Z\d\n\/.:+= ]+-----END PGP PUBLIC KEY BLOCK-----$", flags=re.MULTILINE)
return re.sub(gpg_regex, '', text)
def __get_raw_info(self, text):
"""Parses a Debian control file and returns raw dictionary"""
split_regex = re.compile(r"^[A-Za-z0-9-]+:\s", flags=re.MULTILINE)
keys = [key[:-2].lower() for key in split_regex.findall(text)]
values = [value.strip() for value in re.split(split_regex, text)[1:]]
if values:
return dict(zip(keys, values))
else:
raise ValueError("file or text don't match Debian Control File schema")
def get_all_dep_version_package(list_package, package_name, all_dep):
"""Recursively get all dependencies of a given package."""
# Get the latest version of the package
last_package = sorted([u for u in list_package if u['package'] == package_name],
key=lambda p: Version(p['version']), reverse=True)
if not last_package:
return # Exit if the package is not found
last_package = last_package[0]
# Add the last package to the dependencies list
if last_package not in all_dep:
all_dep.append(last_package)
# Parse the dependencies
dependencies = last_package.get('depends', '').split(',')
for dep_group in dependencies:
dep_candidates = dep_group.split('|')
# Pick the first available candidate
for dep in dep_candidates:
dep_name = dep.split('(')[0].strip()
# Recursively fetch dependencies for this package
get_all_dep_version_package(list_package, dep_name, all_dep)
def download_all_dependencies(list_package, package_name, urldepot, proxies=None):
"""Download all dependencies of a package."""
all_dep = []
# Fetch all dependencies of the package
get_all_dep_version_package(list_package, package_name, all_dep)
# Create the list of URLs for all dependencies
list_deb = [urldepot + '/' + u['filename'] for u in all_dep]
# Download each dependency
for f in list_deb:
filename = f.split('/')[-1]
if not isfile(filename):
print(f"Download URL is: {f}")
wget(f, filename, proxies=proxies)
else:
print(f"{filename} already exists.")
def get_package_version(input_obj):
parts = input_obj.split(':', 1)
if len(parts) == 2:
epoch, version = parts
else:
epoch, version = 0, parts[0]
for i in "+~":
version = version.split(i)[0]
return epoch, str(Version(version, 4))
def update_package():
# Declaring local variables
package_updated = False
proxies = get_proxies_from_wapt_console()
if not proxies:
proxies = get_proxies()
app_name = control.name
base_url = "https://packages.adoptium.net/artifactory/deb"
dist = "trixie"
arch = "arm64"
package_name = "temurin-21-jre"
# We remove all deb file first
for deb in glob.glob('*.deb'):
remove_file(deb)
urldepot = f"{base_url}/dists/{dist}/main/binary-{arch}/Packages.gz"
print(f"Repo url is {urldepot}")
with gzip.open(BytesIO(wgets(urldepot, proxies=proxies))) as f:
data = f.read().decode('utf-8')
list_package = DebianPackagesParser(data).raw_pkg_info
# Getting latest version of the package
last_package = sorted([u for u in list_package if u['package'] == package_name], key=lambda p: (Version(p['version'])), reverse=True)[0]
epoch, version = get_package_version(last_package['version'])
print(f"Latest {app_name} version is: {version}")
download_all_dependencies(list_package, package_name, base_url, proxies)
# Changing version of the package
if Version(version) > Version(control.get_software_version()):
print(f"Software version updated (from: {control.get_software_version()} to: {Version(version)})")
package_updated = True
else:
print(f"Software version up-to-date ({Version(version)})")
control.set_software_version(version)
control.save_control_to_wapt()
return package_updated
38d056ab130f7bf7c481c12636a4e9959de36561d3dfcbe54c6e3571bc0c1dc3 : WAPT/certificate.crt
8ce25d364143821fc9544d711cdb96f9d9120f77f80a6594b4a2ee8a05e576e1 : WAPT/control
841c3b8e2f19942f438049a68b7920c2a49eb3997fb991dc6b41f3a8f242d3a3 : WAPT/icon.png
bd146cae76f600fedcaf0ca1776cf099b48bcd01fdaa42479c3b1f3dc0d5f2f0 : adoptium-ca-certificates_1.0.6-1_all.deb
7d17764556ebf5427693ba019a76bb75b5db07ea5b8433f10765d21e0e058205 : luti.json
a6bd85f8c137141ff07db0989407c36dcab68464fc2c2e25fdfcd7450d4ac5d3 : setup.py
b36167e4354717016190bdbb986b133b7ee1308f920724ae9d7a5324c0912184 : temurin-21-jre_21.0.12.1.0+1-0_arm64.deb
41974a4e4108df05d86ff93f0bb6204055dc9583191c161860e04625700c7e92 : update_package.py