Sonnenuntergang

JEP 381: Entfernung der Ports für Solaris und SPARC
Keine Kommentare

Es wird düster für das Betriebssystem Solaris: Mit JEP 381 wurde der Ausbau der entsprechenden Ports für Solaris und SPARC durchgeführt. Überraschend kommt das, aus vielerlei Gründen, nicht gerade. Unter anderem deswegen, weil der Ausbau bereits seit rund einem Jahr geplant war…

Das Betriebssystem Solaris stammt noch aus den Beständen von Sun Microsystems und ist mittlerweile nicht mehr wirklich zeitgemäß. Entsprechend wenig überraschend war daher der Wunsch von Oracle, die Ports für Solaris/SPARC, Solaris/x64 und Linux/SPARC mit JEP 362 als deprecated zu markieren. Der nächste Schritt, sie endgültig loszuwerden, ist nun mit JEP 381 im JDK 15 gekommen. Es sei allerdings angemerkt, dass alte Java-Versionen (bis einschließlich JDK 14) auf alten Systemen allerdings unverändert laufen sollen, inklusive der entsprechenden Ports. Ziel des Ganzen ist es, sich um andere Features kümmern zu können. Die folgenden Änderungen wurden vorgenommen:

  • Entfernung der folgenden Verzeichnisse:
    • src/hotspot/cpu/sparc
    • src/hotspot/os/solaris
    • src/hotspot/os_cpu/solaris
    • src/hotspot/os_cpu/linux_sparc
    • src/hotspot/os_cpu/solaris_x86
    • src/java.base/solaris
    • src/java.desktop/solaris
    • src/jdk.attach/solaris
    • src/jdk.crypto.cryptoki/solaris
    • src/jdk.crypto.ucrypto/solaris
    • src/jdk.management/solaris
    • src/jdk.net/solaris
  • Entfernung oder Anpassung des C/C++-Codes mit den folgendenden Präprozessor-Definitionen und -Makros:
    • SPARC, __sparc__, __sparc, __sparcv9
    • SOLARIS, __solaris__
    • SPARC_ONLY, NOT_SPARC
    • SOLARIS_ONLY, NOT_SOLARIS
    • SOLARIS_MUTATOR_LIBTHREAD
    • SPARC_WORKS
  • Entfernung oder Anpassung von Java-Code, der auf Solaris oder SunOS prüft:
    • System.getProperty(“os.name”).contains(“Solaris”)
    • System.getProperty(“os.name”).startsWith("SunOS")
  • Entfernung von spezifisch auf Solaris ausgelegten Features:
    • Der OracleUcrypto Provider im Modul jdk.crypto.ucrypto
    • Die Socket-Option jdk.net.SocketFlow im Modul jdk.net
  • Entfernung oder Anpassung der Logik des Build-Systems in Bezug auf Solaris, SPARC und Oracle Studio, insb. die folgenden Werte und Variablen:
    • OPENJDK_{BUILD,TARGET}_OS = Solaris
    • OPENJDK_{BUILD,TARGET}_CPU_ARCH = sparc
    • TOOLCHAIN_TYPE = solstudio
    • is{Build,Target}Os = solaris
    • is{Build,Target}Cpu = sparcv9
  • Entfernung oder Anpassung von Tests, die lediglich für Solaris oder SPARC relevant sind, bzw. nur auf einem dieser Systeme ausgeführt werden:
    • jtreg-Tests, die
      • @requires os.family == "solaris"
      • @requires os.arch == "sparc"
      • @requires os.arch == "sparcv9"
      • und @requires (vm.simpleArch == "sparcv9") nutzen
    • Die Testbibliothek-Methoden Platform.isSolaris() bzw. Platform.isSparc() und die Methoden selbst.

Darüber hinaus wurden alle Problemlisten aufgeräumt, die noch Solaris und SPARC erwähnen, genau wie alle Erwähnungen der Betriebssysteme Solaris und SPARC aus Kommentaren im Quellcode entfernt wurden. Manche dieser Referenzierungen können allerdings auch später noch wichtig sein, weshalb hier besondere Vorsicht geboten war. Entfernt wurde auch sämtliche Logik in der JIB-Konfigurationsdatei, die mit Solaris oder SPARC zusammenhängt und unter make/devkit die Devkit-Creator-Skripte von Solaris.

Weitere Informationen zu diesem Java Enhancement Proposal gibt es wie immer im offiziellen JEP 381.

Unsere Redaktion empfiehlt:

Relevante Beiträge

Abonnieren
Benachrichtige mich bei
guest
0 Comments
Inline Feedbacks
View all comments
X
- Gib Deinen Standort ein -
- or -