tis-adoptium-openjdk21-jdk icon

Adoptium OpenJDK 21 JDK

Paquet d'installation silencieuse pour Adoptium OpenJDK 21 JDK

21.0.12.8-6
System and network
System and network

Les paquets PREPROD sont des paquets construits via LUTI. Ils restent généralement 5 jours en PREPROD, après quoi un deuxième scan VirusTotal est effectué pour vérifier que le status n'a pas changé.
Si le paquet réussit ce dernier contrôle, il est promu en PROD et publié sur le store.

  • package: tis-adoptium-openjdk21-jdk
  • name: Adoptium OpenJDK 21 JDK
  • version: 21.0.12.8-6
  • 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: windows
  • impacted_process: java,javaw,java-rmi,jabswitch,jjs
  • architecture: arm64
  • signature_date:
  • size: 168.92 Mo
  • installed_size: 201.56 Mo
  • homepage : https://adoptium.net/

package           : tis-adoptium-openjdk21-jdk
version           : 21.0.12.8-6
architecture      : arm64
section           : base
priority          : optional
name              : Adoptium OpenJDK 21 JDK
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          : PREPROD
locale            : all
target_os         : windows
min_wapt_version  : 2.3
sources           : https://adoptium.net/temurin/releases/?version=21
installed_size    : 201560138
impacted_process  : java,javaw,java-rmi,jabswitch,jjs
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      : e549649f-015c-4373-9d73-0f13e089674f
valid_from        : 
valid_until       : 
forced_install_on : 
changelog         : https://adoptium.net/temurin/release-notes/
min_os_version    : 6.3
max_os_version    : 
icon_sha256sum    : 841c3b8e2f19942f438049a68b7920c2a49eb3997fb991dc6b41f3a8f242d3a3
signer            : test
signer_fingerprint: b82fc8ef4a4475c0f69ac168176c2bfc58f572eb716c4eadd65e4785c155dd8e
signature_date    : 2026-08-21T12:34:01.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         : KQGfcBClxTPCK4w4toFKLgWI3SfhQBx9008xsaEKATrDrksPGwfSAVyVZa5H0Mb9zmmTnGnStcsk9QGkziWOIkhnGpgUO3Km2J70TIpicpy/Cu7MUDg1HbhpVX+NhMScBMMtqulSJ4H15RnBLPO9Tvn1JhKcH7AUtOktRQGe8ixgt4xQMSdgrqgObeaeqAk9uSWyGqQiD6gazgX5j8jvluN5Rh6Mc3M9QTpOGnk3xxDzMgHD2wTXXD8KEz/2IUXM/XAl14m1I3lp/58syfLqJhYa3owV0EuBTohN1NDPM3C9FzS9vmgSSOapralIqxxnYreCgjxvXIzYCvXFG+sz0w==

# -*- coding: utf-8 -*-
from setuphelpers import *


# https://adoptium.net/installation/windows/
properties = "ADDLOCAL=FeatureMain,FeatureEnvironment,FeatureJarFileRunWith,FeatureJavaHome,FeatureOracleJavaSoft"
# properties = "INSTALLLEVEL=1"


def install():
    # Declaring local variables
    openjdk_version = control.get_software_version().split(".")[0]
    bin_contains = f"OpenJDK{openjdk_version}U"

    
    if "x64" in control.architecture:
        bin_name_x64 = glob.glob(f"{bin_contains}*x64*.msi")[0]
        install_msi_if_needed(
            bin_name_x64,
            properties=properties
        )

    if "arm" in control.architecture:
        bin_name_arm = glob.glob(f"{bin_contains}*aarch64*.msi")[0]
        install_msi_if_needed(
            bin_name_arm,
            properties=properties
        )

# -*- coding: utf-8 -*-
from setuphelpers import *
from setupdevhelpers import *
import waptlicences


def update_package():
    # Declaring local variables
    package_updated = False
    proxies = get_proxies()
    if not proxies:
        proxies = get_proxies_from_wapt_console()
    app_name = control.name

    # https://api.adoptium.net/q/swagger-ui/#/Assets/searchReleases
    bin_type = control.package.rsplit("-", 1)[-1]
    openjdk_version = control.get_software_version().split(".")[0]

    update_dict = {
        "windows-x64": f"https://api.adoptium.net/v3/assets/feature_releases/{openjdk_version}/ga?architecture=x64&heap_size=normal&image_type={bin_type}&jvm_impl=hotspot&os=windows",
        "windows-arm64": f"https://api.adoptium.net/v3/assets/feature_releases/{openjdk_version}/ga?architecture=aarch64&heap_size=normal&image_type={bin_type}&jvm_impl=hotspot&os=windows",
        "mac-x64": f"https://api.adoptium.net/v3/assets/feature_releases/{openjdk_version}/ga?architecture=x64&heap_size=normal&image_type={bin_type}&jvm_impl=hotspot&os=mac",
        "mac-arm": f"https://api.adoptium.net/v3/assets/feature_releases/{openjdk_version}/ga?architecture=aarch64&heap_size=normal&image_type={bin_type}&jvm_impl=hotspot&os=mac",
        "linux-x64": f"https://api.adoptium.net/v3/assets/feature_releases/{openjdk_version}/ga?architecture=x64&heap_size=normal&image_type={bin_type}&jvm_impl=hotspot&os=linux",
        "linux-arm64": f"https://api.adoptium.net/v3/assets/feature_releases/{openjdk_version}/ga?architecture=aarch64&heap_size=normal&image_type={bin_type}&jvm_impl=hotspot&os=linux",
    }
    os_type = control.target_os + "-" + ensure_list(control.architecture)[0]

    api_url = update_dict[os_type]

    # Getting latest version information from official API
    print("API used is: %s" % api_url)
    json_load = wgets(api_url, proxies=proxies, as_json=True)[0]
    version = json_load["version_data"]["openjdk_version"].replace("+", ".").replace('-LTS','')
    download_url = json_load["binaries"][0]["installer"]["link"]
    latest_bin = json_load["binaries"][0]["installer"]["name"]
    latest_bin_extension = latest_bin.rsplit('.', 1)[-1]
    architecture = json_load["binaries"][0]['architecture']

    # Downloading latest binaries
    print(f"Latest {app_name} {architecture} version is: {version}")
    print(f"Download URL is: {download_url}")
    if not isfile(latest_bin):
        print(f"Downloading: {latest_bin}")
        wget(download_url, latest_bin, proxies=proxies)
    else:
        print(f"Binary is present: {latest_bin}")
    
    expected_issuers_list = ["Eclipse.org Foundation, Inc.", "Eclipse Foundation"]
    sign_name = waptlicences.check_msi_signature(latest_bin)[0]
    if sign_name != expected_issuers_list[0] and sign_name != expected_issuers_list[1]:
        error(f'Bad issuer {sign_name} != {expected_issuers_list[0]} or {expected_issuers_list[1]}')

    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)})")

    for f in glob.glob(f'*.{latest_bin_extension}'):
        if f != latest_bin:
            remove_file(f)

    control.set_software_version(version)
    control.save_control_to_wapt()

    return package_updated

d056a98175d56cc3c8c8fd37320352a205ccf70d381be05213a557a4b583cbd1 : OpenJDK21U-jdk_aarch64_windows_hotspot_21.0.12_8.msi
01ca7fe94636e5a08fcb73849d3b5df25d51e2c82f4dd1a08f01798b25899819 : WAPT/certificate.crt
24de7c741ed9b1877a746db01aea39d8c4eed8dc8fd9c825f1f9fb071b5dc3fb : WAPT/control
841c3b8e2f19942f438049a68b7920c2a49eb3997fb991dc6b41f3a8f242d3a3 : WAPT/icon.png
4e3285f2a854581deb319804803ea592b6ced71fc5303762c96a9137784a23b1 : luti.json
90c7a17558551e31e4851f9d7e0585d8039e9427391a91a26006a544554487d4 : setup.py
42f09a22d36881a52c189067c798559f6bc3d35dc8a606deb5d190d9c7eed88b : update_package.py