diff --git a/.gitignore b/.gitignore
deleted file mode 100644
index 29ee5dd..0000000
--- a/.gitignore
+++ /dev/null
@@ -1,2 +0,0 @@
-/systemtap_3.2_tapsets_hg-icedtea8-9d464368e06d.tar.xz
-/tapsets-icedtea-6.0.0pre00-c848b93a8598.tar.xz
diff --git a/CheckVendor.java b/CheckVendor.java
deleted file mode 100644
index 29b296b..0000000
--- a/CheckVendor.java
+++ /dev/null
@@ -1,65 +0,0 @@
-/* CheckVendor -- Check the vendor properties match specified values.
- Copyright (C) 2020 Red Hat, Inc.
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU Affero General Public License as
-published by the Free Software Foundation, either version 3 of the
-License, or (at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU Affero General Public License for more details.
-
-You should have received a copy of the GNU Affero General Public License
-along with this program. If not, see .
-*/
-
-/**
- * @test
- */
-public class CheckVendor {
-
- public static void main(String[] args) {
- if (args.length < 4) {
- System.err.println("CheckVendor ");
- System.exit(1);
- }
-
- String vendor = System.getProperty("java.vendor");
- String expectedVendor = args[0];
- String vendorURL = System.getProperty("java.vendor.url");
- String expectedVendorURL = args[1];
- String vendorBugURL = System.getProperty("java.vendor.url.bug");
- String expectedVendorBugURL = args[2];
- String vendorVersionString = System.getProperty("java.vendor.version");
- String expectedVendorVersionString = args[3];
-
- if (!expectedVendor.equals(vendor)) {
- System.err.printf("Invalid vendor %s, expected %s\n",
- vendor, expectedVendor);
- System.exit(2);
- }
-
- if (!expectedVendorURL.equals(vendorURL)) {
- System.err.printf("Invalid vendor URL %s, expected %s\n",
- vendorURL, expectedVendorURL);
- System.exit(3);
- }
-
- if (!expectedVendorBugURL.equals(vendorBugURL)) {
- System.err.printf("Invalid vendor bug URL %s, expected %s\n",
- vendorBugURL, expectedVendorBugURL);
- System.exit(4);
- }
-
- if (!expectedVendorVersionString.equals(vendorVersionString)) {
- System.err.printf("Invalid vendor version string %s, expected %s\n",
- vendorVersionString, expectedVendorVersionString);
- System.exit(5);
- }
-
- System.err.printf("Vendor information verified as %s, %s, %s, %s\n",
- vendor, vendorURL, vendorBugURL, vendorVersionString);
- }
-}
diff --git a/README.md b/README.md
deleted file mode 100644
index 1504e68..0000000
--- a/README.md
+++ /dev/null
@@ -1,13 +0,0 @@
-OpenJDK 17 is the latest Long-Term Support (LTS) release of the Java platform.
-
-* https://fedoraproject.org/wiki/Changes/Java17
-
-For a list of major changes from OpenJDK 17 (java-17-openjdk), see the upstream
-release page for OpenJDK 17 and the preceding interim releases:
-
-* 12: https://openjdk.java.net/projects/jdk/12/
-* 13: https://openjdk.java.net/projects/jdk/13/
-* 14: https://openjdk.java.net/projects/jdk/14/
-* 15: https://openjdk.java.net/projects/jdk/15/
-* 16: https://openjdk.java.net/projects/jdk/16/
-* 17: https://openjdk.java.net/projects/jdk/17/
diff --git a/TestCryptoLevel.java b/TestCryptoLevel.java
deleted file mode 100644
index b32b7ae..0000000
--- a/TestCryptoLevel.java
+++ /dev/null
@@ -1,72 +0,0 @@
-/* TestCryptoLevel -- Ensure unlimited crypto policy is in use.
- Copyright (C) 2012 Red Hat, Inc.
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU Affero General Public License as
-published by the Free Software Foundation, either version 3 of the
-License, or (at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU Affero General Public License for more details.
-
-You should have received a copy of the GNU Affero General Public License
-along with this program. If not, see .
-*/
-
-import java.lang.reflect.Field;
-import java.lang.reflect.Method;
-import java.lang.reflect.InvocationTargetException;
-
-import java.security.Permission;
-import java.security.PermissionCollection;
-
-public class TestCryptoLevel
-{
- public static void main(String[] args)
- throws NoSuchFieldException, ClassNotFoundException,
- IllegalAccessException, InvocationTargetException
- {
- Class> cls = null;
- Method def = null, exempt = null;
-
- try
- {
- cls = Class.forName("javax.crypto.JceSecurity");
- }
- catch (ClassNotFoundException ex)
- {
- System.err.println("Running a non-Sun JDK.");
- System.exit(0);
- }
- try
- {
- def = cls.getDeclaredMethod("getDefaultPolicy");
- exempt = cls.getDeclaredMethod("getExemptPolicy");
- }
- catch (NoSuchMethodException ex)
- {
- System.err.println("Running IcedTea with the original crypto patch.");
- System.exit(0);
- }
- def.setAccessible(true);
- exempt.setAccessible(true);
- PermissionCollection defPerms = (PermissionCollection) def.invoke(null);
- PermissionCollection exemptPerms = (PermissionCollection) exempt.invoke(null);
- Class> apCls = Class.forName("javax.crypto.CryptoAllPermission");
- Field apField = apCls.getDeclaredField("INSTANCE");
- apField.setAccessible(true);
- Permission allPerms = (Permission) apField.get(null);
- if (defPerms.implies(allPerms) && (exemptPerms == null || exemptPerms.implies(allPerms)))
- {
- System.err.println("Running with the unlimited policy.");
- System.exit(0);
- }
- else
- {
- System.err.println("WARNING: Running with a restricted crypto policy.");
- System.exit(-1);
- }
- }
-}
diff --git a/TestECDSA.java b/TestECDSA.java
deleted file mode 100644
index 6eb9cb2..0000000
--- a/TestECDSA.java
+++ /dev/null
@@ -1,49 +0,0 @@
-/* TestECDSA -- Ensure ECDSA signatures are working.
- Copyright (C) 2016 Red Hat, Inc.
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU Affero General Public License as
-published by the Free Software Foundation, either version 3 of the
-License, or (at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU Affero General Public License for more details.
-
-You should have received a copy of the GNU Affero General Public License
-along with this program. If not, see .
-*/
-
-import java.math.BigInteger;
-import java.security.KeyPair;
-import java.security.KeyPairGenerator;
-import java.security.Signature;
-
-/**
- * @test
- */
-public class TestECDSA {
-
- public static void main(String[] args) throws Exception {
- KeyPairGenerator keyGen = KeyPairGenerator.getInstance("EC");
- KeyPair key = keyGen.generateKeyPair();
-
- byte[] data = "This is a string to sign".getBytes("UTF-8");
-
- Signature dsa = Signature.getInstance("NONEwithECDSA");
- dsa.initSign(key.getPrivate());
- dsa.update(data);
- byte[] sig = dsa.sign();
- System.out.println("Signature: " + new BigInteger(1, sig).toString(16));
-
- Signature dsaCheck = Signature.getInstance("NONEwithECDSA");
- dsaCheck.initVerify(key.getPublic());
- dsaCheck.update(data);
- boolean success = dsaCheck.verify(sig);
- if (!success) {
- throw new RuntimeException("Test failed. Signature verification error");
- }
- System.out.println("Test passed.");
- }
-}
diff --git a/TestSecurityProperties.java b/TestSecurityProperties.java
deleted file mode 100644
index 2967a32..0000000
--- a/TestSecurityProperties.java
+++ /dev/null
@@ -1,84 +0,0 @@
-/* TestSecurityProperties -- Ensure system security properties can be used to
- enable the crypto policies.
- Copyright (C) 2022 Red Hat, Inc.
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU Affero General Public License as
-published by the Free Software Foundation, either version 3 of the
-License, or (at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU Affero General Public License for more details.
-
-You should have received a copy of the GNU Affero General Public License
-along with this program. If not, see .
-*/
-import java.io.File;
-import java.io.FileInputStream;
-import java.security.Security;
-import java.util.Properties;
-
-public class TestSecurityProperties {
- // JDK 11
- private static final String JDK_PROPS_FILE_JDK_11 = System.getProperty("java.home") + "/conf/security/java.security";
- // JDK 8
- private static final String JDK_PROPS_FILE_JDK_8 = System.getProperty("java.home") + "/lib/security/java.security";
-
- private static final String POLICY_FILE = "/etc/crypto-policies/back-ends/java.config";
-
- private static final String MSG_PREFIX = "DEBUG: ";
-
- public static void main(String[] args) {
- if (args.length == 0) {
- System.err.println("TestSecurityProperties ");
- System.err.println("Invoke with 'true' if system security properties should be enabled.");
- System.err.println("Invoke with 'false' if system security properties should be disabled.");
- System.exit(1);
- }
- boolean enabled = Boolean.valueOf(args[0]);
- System.out.println(MSG_PREFIX + "System security properties enabled: " + enabled);
- Properties jdkProps = new Properties();
- loadProperties(jdkProps);
- if (enabled) {
- loadPolicy(jdkProps);
- }
- for (Object key: jdkProps.keySet()) {
- String sKey = (String)key;
- String securityVal = Security.getProperty(sKey);
- String jdkSecVal = jdkProps.getProperty(sKey);
- if (!securityVal.equals(jdkSecVal)) {
- String msg = "Expected value '" + jdkSecVal + "' for key '" +
- sKey + "'" + " but got value '" + securityVal + "'";
- throw new RuntimeException("Test failed! " + msg);
- } else {
- System.out.println(MSG_PREFIX + sKey + " = " + jdkSecVal + " as expected.");
- }
- }
- System.out.println("TestSecurityProperties PASSED!");
- }
-
- private static void loadProperties(Properties props) {
- String javaVersion = System.getProperty("java.version");
- System.out.println(MSG_PREFIX + "Java version is " + javaVersion);
- String propsFile = JDK_PROPS_FILE_JDK_11;
- if (javaVersion.startsWith("1.8.0")) {
- propsFile = JDK_PROPS_FILE_JDK_8;
- }
- try (FileInputStream fin = new FileInputStream(propsFile)) {
- props.load(fin);
- } catch (Exception e) {
- throw new RuntimeException("Test failed!", e);
- }
- }
-
- private static void loadPolicy(Properties props) {
- try (FileInputStream fin = new FileInputStream(POLICY_FILE)) {
- props.load(fin);
- } catch (Exception e) {
- throw new RuntimeException("Test failed!", e);
- }
- }
-
-}
diff --git a/TestTranslations.java b/TestTranslations.java
deleted file mode 100644
index f6a4fe2..0000000
--- a/TestTranslations.java
+++ /dev/null
@@ -1,160 +0,0 @@
-/* TestTranslations -- Ensure translations are available for new timezones
- Copyright (C) 2022 Red Hat, Inc.
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU Affero General Public License as
-published by the Free Software Foundation, either version 3 of the
-License, or (at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU Affero General Public License for more details.
-
-You should have received a copy of the GNU Affero General Public License
-along with this program. If not, see .
-*/
-
-import java.text.DateFormatSymbols;
-
-import java.time.ZoneId;
-import java.time.format.TextStyle;
-
-import java.util.Arrays;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.Map;
-import java.util.Locale;
-import java.util.Objects;
-import java.util.TimeZone;
-
-public class TestTranslations {
-
- private static Map KYIV, CIUDAD_JUAREZ;
-
- static {
- Map map = new HashMap();
- map.put(Locale.US, new String[] { "Eastern European Standard Time", "GMT+02:00", "EET",
- "Eastern European Summer Time", "GMT+03:00", "EEST",
- "Eastern European Time", "GMT+02:00", "EET"});
- map.put(Locale.FRANCE, new String[] { "heure normale d\u2019Europe de l\u2019Est", "UTC+02:00", "EET",
- "heure d\u2019\u00e9t\u00e9 d\u2019Europe de l\u2019Est", "UTC+03:00", "EEST",
- "heure d\u2019Europe de l\u2019Est", "UTC+02:00", "EET"});
- map.put(Locale.GERMANY, new String[] { "Osteurop\u00e4ische Normalzeit", "OEZ", "OEZ",
- "Osteurop\u00e4ische Sommerzeit", "OESZ", "OESZ",
- "Osteurop\u00e4ische Zeit", "OEZ", "OEZ"});
- KYIV = Collections.unmodifiableMap(map);
-
- map = new HashMap();
- map.put(Locale.US, new String[] { "Mountain Standard Time", "MST", "MST",
- "Mountain Daylight Time", "MDT", "MDT",
- "Mountain Time", "MT", "MT"});
- map.put(Locale.FRANCE, new String[] { "heure normale des Rocheuses", "UTC\u221207:00", "MST",
- "heure d\u2019\u00e9t\u00e9 des Rocheuses", "UTC\u221206:00", "MDT",
- "heure des Rocheuses", "UTC\u221207:00", "MT"});
- map.put(Locale.GERMANY, new String[] { "Rocky-Mountain-Normalzeit", "GMT-07:00", "MST",
- "Rocky-Mountain-Sommerzeit", "GMT-06:00", "MDT",
- "Rocky-Mountain-Zeit", "GMT-07:00", "MT"});
- CIUDAD_JUAREZ = Collections.unmodifiableMap(map);
- }
-
-
- public static void main(String[] args) {
- if (args.length < 1) {
- System.err.println("Test must be started with the name of the locale provider.");
- System.exit(1);
- }
-
- System.out.println("Checking sanity of full zone string set...");
- boolean invalid = Arrays.stream(Locale.getAvailableLocales())
- .peek(l -> System.out.println("Locale: " + l))
- .map(l -> DateFormatSymbols.getInstance(l).getZoneStrings())
- .flatMap(zs -> Arrays.stream(zs))
- .flatMap(names -> Arrays.stream(names))
- .filter(name -> Objects.isNull(name) || name.isEmpty())
- .findAny()
- .isPresent();
- if (invalid) {
- System.err.println("Zone string for a locale returned null or empty string");
- System.exit(2);
- }
-
- String localeProvider = args[0];
- testZone(localeProvider, KYIV,
- new String[] { "Europe/Kiev", "Europe/Kyiv", "Europe/Uzhgorod", "Europe/Zaporozhye" });
- testZone(localeProvider, CIUDAD_JUAREZ,
- new String[] { "America/Cambridge_Bay", "America/Ciudad_Juarez" });
- }
-
- private static void testZone(String localeProvider, Map exp, String[] ids) {
- for (Locale l : exp.keySet()) {
- String[] expected = exp.get(l);
- System.out.printf("Expected values for %s are %s\n", l, Arrays.toString(expected));
- for (String id : ids) {
- String expectedShortStd = null;
- String expectedShortDST = null;
- String expectedShortGen = null;
-
- System.out.printf("Checking locale %s for %s...\n", l, id);
-
- if ("JRE".equals(localeProvider)) {
- expectedShortStd = expected[2];
- expectedShortDST = expected[5];
- expectedShortGen = expected[8];
- } else if ("CLDR".equals(localeProvider)) {
- expectedShortStd = expected[1];
- expectedShortDST = expected[4];
- expectedShortGen = expected[7];
- } else {
- System.err.printf("Invalid locale provider %s\n", localeProvider);
- System.exit(3);
- }
- System.out.printf("Locale Provider is %s, using short values %s, %s and %s\n",
- localeProvider, expectedShortStd, expectedShortDST, expectedShortGen);
-
- String longStd = TimeZone.getTimeZone(id).getDisplayName(false, TimeZone.LONG, l);
- String shortStd = TimeZone.getTimeZone(id).getDisplayName(false, TimeZone.SHORT, l);
- String longDST = TimeZone.getTimeZone(id).getDisplayName(true, TimeZone.LONG, l);
- String shortDST = TimeZone.getTimeZone(id).getDisplayName(true, TimeZone.SHORT, l);
- String longGen = ZoneId.of(id).getDisplayName(TextStyle.FULL, l);
- String shortGen = ZoneId.of(id).getDisplayName(TextStyle.SHORT, l);
-
- if (!expected[0].equals(longStd)) {
- System.err.printf("Long standard display name for %s in %s was %s, expected %s\n",
- id, l, longStd, expected[0]);
- System.exit(4);
- }
-
- if (!expectedShortStd.equals(shortStd)) {
- System.err.printf("Short standard display name for %s in %s was %s, expected %s\n",
- id, l, shortStd, expectedShortStd);
- System.exit(5);
- }
-
- if (!expected[3].equals(longDST)) {
- System.err.printf("Long DST display name for %s in %s was %s, expected %s\n",
- id, l, longDST, expected[3]);
- System.exit(6);
- }
-
- if (!expectedShortDST.equals(shortDST)) {
- System.err.printf("Short DST display name for %s in %s was %s, expected %s\n",
- id, l, shortDST, expectedShortDST);
- System.exit(7);
- }
-
- if (!expected[6].equals(longGen)) {
- System.err.printf("Long generic display name for %s in %s was %s, expected %s\n",
- id, l, longGen, expected[6]);
- System.exit(8);
- }
-
- if (!expectedShortGen.equals(shortGen)) {
- System.err.printf("Short generic display name for %s in %s was %s, expected %s\n",
- id, l, shortGen, expectedShortGen);
- System.exit(9);
- }
- }
- }
- }
-}
diff --git a/generate_source_tarball.sh b/generate_source_tarball.sh
deleted file mode 100755
index c53abdc..0000000
--- a/generate_source_tarball.sh
+++ /dev/null
@@ -1 +0,0 @@
-## This file is intentionally left blank
diff --git a/icedtea_sync.sh b/icedtea_sync.sh
deleted file mode 100755
index c53abdc..0000000
--- a/icedtea_sync.sh
+++ /dev/null
@@ -1 +0,0 @@
-## This file is intentionally left blank
diff --git a/java-17-openjdk.spec b/java-17-openjdk.spec
deleted file mode 100644
index 6ed9000..0000000
--- a/java-17-openjdk.spec
+++ /dev/null
@@ -1,2755 +0,0 @@
-# RPM conditionals so as to be able to dynamically produce
-# slowdebug/release builds. See:
-# http://rpm.org/user_doc/conditional_builds.html
-#
-# Examples:
-#
-# Produce release, fastdebug *and* slowdebug builds on x86_64 (default):
-# $ rpmbuild -ba java-17-openjdk.spec
-#
-# Produce only release builds (no debug builds) on x86_64:
-# $ rpmbuild -ba java-17-openjdk.spec --without slowdebug --without fastdebug
-#
-# Only produce a release build on x86_64:
-# $ fedpkg mockbuild --without slowdebug --without fastdebug
-
-# Enable fastdebug builds by default on relevant arches.
-%bcond_without fastdebug
-# Enable slowdebug builds by default on relevant arches.
-%bcond_without slowdebug
-# Enable release builds by default on relevant arches.
-%bcond_without release
-# Enable static library builds by default.
-%bcond_without staticlibs
-
-# Workaround for stripping of debug symbols from static libraries
-%if %{with staticlibs}
-%define __brp_strip_static_archive %{nil}
-%global include_staticlibs 1
-%else
-%global include_staticlibs 0
-%endif
-
-#placeholder - used in regexes, otherwise for no use in portables
-%global freetype_lib |libfreetype[.]so.*
-
-# The -g flag says to use strip -g instead of full strip on DSOs or EXEs.
-# This fixes detailed NMT and other tools which need minimal debug info.
-# See: https://bugzilla.redhat.com/show_bug.cgi?id=1520879
-%global _find_debuginfo_opts -g
-
-
-# note: parametrized macros are order-sensitive (unlike not-parametrized) even with normal macros
-# also necessary when passing it as parameter to other macros. If not macro, then it is considered a switch
-# see the difference between global and define:
-# See https://github.com/rpm-software-management/rpm/issues/127 to comments at "pmatilai commented on Aug 18, 2017"
-# (initiated in https://bugzilla.redhat.com/show_bug.cgi?id=1482192)
-%global debug_suffix_unquoted -slowdebug
-%global fastdebug_suffix_unquoted -fastdebug
-%global main_suffix_unquoted -main
-%global staticlibs_suffix_unquoted -staticlibs
-# quoted one for shell operations
-%global debug_suffix "%{debug_suffix_unquoted}"
-%global fastdebug_suffix "%{fastdebug_suffix_unquoted}"
-%global normal_suffix ""
-%global main_suffix "%{main_suffix_unquoted}"
-%global staticlibs_suffix "%{staticlibs_suffix_unquoted}"
-
-%global debug_warning This package is unoptimised with full debugging. Install only as needed and remove ASAP.
-%global fastdebug_warning This package is optimised with full debugging. Install only as needed and remove ASAP.
-%global debug_on unoptimised with full debugging on
-%global fastdebug_on optimised with full debugging on
-%global for_fastdebug for packages with debugging on and optimisation
-%global for_debug for packages with debugging on and no optimisation
-
-%if %{with release}
-%global include_normal_build 1
-%else
-%global include_normal_build 0
-%endif
-
-%if %{include_normal_build}
-%global normal_build %{normal_suffix}
-%else
-%global normal_build %{nil}
-%endif
-
-# We have hardcoded list of files, which is appearing in alternatives, and in files
-# in alternatives those are slaves and master, very often triplicated by man pages
-# in files all masters and slaves are ghosted
-# the ghosts are here to allow installation via query like `dnf install /usr/bin/java`
-# you can list those files, with appropriate sections: cat *.spec | grep -e --install -e --slave -e post_ -e alternatives
-# TODO - fix those hardcoded lists via single list
-# Those files must *NOT* be ghosted for *slowdebug* packages
-# FIXME - if you are moving jshell or jlink or similar, always modify all three sections
-# you can check via headless and devels:
-# rpm -ql --noghost java-11-openjdk-headless-11.0.1.13-8.fc29.x86_64.rpm | grep bin
-# == rpm -ql java-11-openjdk-headless-slowdebug-11.0.1.13-8.fc29.x86_64.rpm | grep bin
-# != rpm -ql java-11-openjdk-headless-11.0.1.13-8.fc29.x86_64.rpm | grep bin
-# similarly for other %%{_jvmdir}/{jre,java} and %%{_javadocdir}/{java,java-zip}
-%define is_release_build() %( if [ "%{?1}" == "%{debug_suffix_unquoted}" -o "%{?1}" == "%{fastdebug_suffix_unquoted}" ]; then echo "0" ; else echo "1"; fi )
-
-# while JDK is a techpreview(is_system_jdk=0), some provides are turned off. Once jdk stops to be an techpreview, move it to 1
-# as sytem JDK, we mean any JDK which can run whole system java stack without issues (like bytecode issues, module issues, dependencies...)
-%global is_system_jdk 1
-
-%global aarch64 aarch64 arm64 armv8
-# we need to distinguish between big and little endian PPC64
-%global ppc64le ppc64le
-%global ppc64be ppc64 ppc64p7
-# Set of architectures which support multiple ABIs
-%global multilib_arches %{power64} sparc64 x86_64
-# Set of architectures for which we build slowdebug builds
-%global debug_arches %{ix86} x86_64 sparcv9 sparc64 %{aarch64} %{power64} s390x
-# Set of architectures for which we build fastdebug builds
-%global fastdebug_arches x86_64 ppc64le aarch64
-# Set of architectures with a Just-In-Time (JIT) compiler
-%global jit_arches %{arm} %{aarch64} %{ix86} %{power64} s390x sparcv9 sparc64 x86_64
-# Set of architectures which use the Zero assembler port (!jit_arches)
-%global zero_arches ppc s390
-# Set of architectures which support SystemTap tapsets
-%global systemtap_arches %{jit_arches}
-# Set of architectures with a Ahead-Of-Time (AOT) compiler
-%global aot_arches x86_64 %{aarch64}
-# Set of architectures which support the serviceability agent
-%global sa_arches %{ix86} x86_64 sparcv9 sparc64 %{aarch64} %{power64} %{arm}
-# As of JDK-8005165 in OpenJDK 10, class sharing is not arch-specific
-# However, it does segfault on the Zero assembler port, so currently JIT only
-%global share_arches %{jit_arches}
-# Set of architectures for which we build the Shenandoah garbage collector
-%global shenandoah_arches x86_64 %{aarch64}
-# Set of architectures for which we build the Z garbage collector
-%global zgc_arches x86_64
-# Set of architectures for which alt-java has SSB mitigation
-%global ssbd_arches x86_64
-# Set of architectures for which java has short vector math library (libsvml.so)
-%global svml_arches x86_64
-# Set of architectures where we verify backtraces with gdb
-# s390x fails on RHEL 7 so we exclude it there
-%if (0%{?rhel} > 0 && 0%{?rhel} < 8)
-%global gdb_arches %{arm} %{aarch64} %{ix86} %{power64} sparcv9 sparc64 x86_64 %{zero_arches}
-%else
-%global gdb_arches %{jit_arches} %{zero_arches}
-%endif
-
-# By default, we build a debug build during main build on JIT architectures
-%if %{with slowdebug}
-%ifarch %{debug_arches}
-%global include_debug_build 1
-%else
-%global include_debug_build 0
-%endif
-%else
-%global include_debug_build 0
-%endif
-
-# On certain architectures, we compile the Shenandoah GC
-%ifarch %{shenandoah_arches}
-%global use_shenandoah_hotspot 1
-%else
-%global use_shenandoah_hotspot 0
-%endif
-
-# By default, we build a fastdebug build during main build only on fastdebug architectures
-%if %{with fastdebug}
-%ifarch %{fastdebug_arches}
-%global include_fastdebug_build 1
-%else
-%global include_fastdebug_build 0
-%endif
-%else
-%global include_fastdebug_build 0
-%endif
-
-%if %{include_debug_build}
-%global slowdebug_build %{debug_suffix}
-%else
-%global slowdebug_build %{nil}
-%endif
-
-%if %{include_fastdebug_build}
-%global fastdebug_build %{fastdebug_suffix}
-%else
-%global fastdebug_build %{nil}
-%endif
-
-# If you disable all builds, then the build fails
-# Build and test slowdebug first as it provides the best diagnostics
-%global build_loop %{slowdebug_build} %{fastdebug_build} %{normal_build}
-
-%if %{include_staticlibs}
-%global staticlibs_loop %{staticlibs_suffix}
-%else
-%global staticlibs_loop %{nil}
-%endif
-
-%if %{include_staticlibs}
-# Extra target for producing the static-libraries. Separate from
-# other targets since this target is configured to use in-tree
-# AWT dependencies: lcms, libjpeg, libpng, libharfbuzz, giflib
-# and possibly others
-%global static_libs_target static-libs-image
-%else
-%global static_libs_target %{nil}
-%endif
-
-# RPM JDK builds keep the debug symbols internal, to be later stripped by RPM
-%global debug_symbols internal
-
-# VM variant being built
-%ifarch %{zero_arches}
-%global vm_variant zero
-%else
-%global vm_variant server
-%endif
-
-# debugedit tool for rewriting ELF file paths
-%global debugedit %( if [ -f "%{_rpmconfigdir}/debugedit" ]; then echo "%{_rpmconfigdir}/debugedit" ; else echo "/usr/bin/debugedit"; fi )
-
-# With disabled nss is NSS deactivated, so NSS_LIBDIR can contain the wrong path
-# the initialization must be here. Later the pkg-config have buggy behavior
-# looks like openjdk RPM specific bug
-# Always set this so the nss.cfg file is not broken
-%global NSS_LIBDIR %(pkg-config --variable=libdir nss)
-
-# In some cases, the arch used by the JDK does
-# not match _arch.
-# Also, in some cases, the machine name used by SystemTap
-# does not match that given by _target_cpu
-%ifarch x86_64
-%global archinstall amd64
-%global stapinstall x86_64
-%endif
-%ifarch ppc
-%global archinstall ppc
-%global stapinstall powerpc
-%endif
-%ifarch %{ppc64be}
-%global archinstall ppc64
-%global stapinstall powerpc
-%endif
-%ifarch %{ppc64le}
-%global archinstall ppc64le
-%global stapinstall powerpc
-%endif
-%ifarch %{ix86}
-%global archinstall i686
-%global stapinstall i386
-%endif
-%ifarch ia64
-%global archinstall ia64
-%global stapinstall ia64
-%endif
-%ifarch s390
-%global archinstall s390
-%global stapinstall s390
-%endif
-%ifarch s390x
-%global archinstall s390x
-%global stapinstall s390
-%endif
-%ifarch %{arm}
-%global archinstall arm
-%global stapinstall arm
-%endif
-%ifarch %{aarch64}
-%global archinstall aarch64
-%global stapinstall arm64
-%endif
-# 32 bit sparc, optimized for v9
-%ifarch sparcv9
-%global archinstall sparc
-%global stapinstall %{_target_cpu}
-%endif
-# 64 bit sparc
-%ifarch sparc64
-%global archinstall sparcv9
-%global stapinstall %{_target_cpu}
-%endif
-# Need to support noarch for srpm build
-%ifarch noarch
-%global archinstall %{nil}
-%global stapinstall %{nil}
-%endif
-
-%ifarch %{systemtap_arches}
-%global with_systemtap 1
-%else
-%global with_systemtap 0
-%endif
-
-# New Version-String scheme-style defines
-%global featurever 17
-%global interimver 0
-%global updatever 10
-%global patchver 0
-
-# We don't add any LTS designator for STS packages (Fedora and EPEL).
-# We need to explicitly exclude EPEL as it would have the %%{rhel} macro defined.
-%if 0%{?rhel} && !0%{?epel}
- %global lts_designator "LTS"
- %global lts_designator_zip -%{lts_designator}
-%else
- %global lts_designator ""
- %global lts_designator_zip ""
-%endif
-
-# Define vendor information used by OpenJDK
-%global oj_vendor Red Hat, Inc.
-%global oj_vendor_url https://www.redhat.com/
-# Define what url should JVM offer in case of a crash report
-# order may be important, epel may have rhel declared
-%if 0%{?epel}
-%global oj_vendor_bug_url https://bugzilla.redhat.com/enter_bug.cgi?product=Fedora%20EPEL&component=%{name}&version=epel%{epel}
-%else
-%if 0%{?fedora}
-# Does not work for rawhide, keeps the version field empty
-%global oj_vendor_bug_url https://bugzilla.redhat.com/enter_bug.cgi?product=Fedora&component=%{name}&version=%{fedora}
-%else
-%if 0%{?rhel}
-%global oj_vendor_bug_url https://access.redhat.com/support/cases/
-%else
-%global oj_vendor_bug_url https://bugzilla.redhat.com/enter_bug.cgi
-%endif
-%endif
-%endif
-%global oj_vendor_version (Red_Hat-%{version}-%{release})
-
-# Define IcedTea version used for SystemTap tapsets and desktop file
-%global icedteaver 6.0.0pre00-c848b93a8598
-# Define JDK versions
-%global newjavaver %{featurever}.%{interimver}.%{updatever}.%{patchver}
-%global javaver %{featurever}
-# Strip up to 6 trailing zeros in newjavaver, as the JDK does, to get the correct version used in filenames
-%global filever %(svn=%{newjavaver}; for i in 1 2 3 4 5 6 ; do svn=${svn%%.0} ; done; echo ${svn})
-# The tag used to create the OpenJDK tarball
-%global vcstag jdk-%{filever}+%{buildver}%{?tagsuffix:-%{tagsuffix}}
-
-# Standard JPackage naming and versioning defines
-%global origin openjdk
-%global origin_nice OpenJDK
-%global top_level_dir_name %{vcstag}
-%global top_level_dir_name_backup %{top_level_dir_name}-backup
-%global buildver 7
-%global rpmrelease 1
-# Priority must be 8 digits in total; up to openjdk 1.8, we were using 18..... so when we moved to 11, we had to add another digit
-%if %is_system_jdk
-# Using 10 digits may overflow the int used for priority, so we combine the patch and build versions
-# It is very unlikely we will ever have a patch version > 4 or a build version > 20, so we combine as (patch * 20) + build.
-# This means 11.0.9.0+11 would have had a priority of 11000911 as before
-# A 11.0.9.1+1 would have had a priority of 11000921 (20 * 1 + 1), thus ensuring it is bigger than 11.0.9.0+11
-%global combiver $( expr 20 '*' %{patchver} + %{buildver} )
-%global priority %( printf '%02d%02d%02d%02d' %{featurever} %{interimver} %{updatever} %{combiver} )
-%else
-# for techpreview, using 1, so slowdebugs can have 0
-%global priority %( printf '%08d' 1 )
-%endif
-
-# Define milestone (EA for pre-releases, GA for releases)
-# Release will be (where N is usually a number starting at 1):
-# - 0.N%%{?extraver}%%{?dist} for EA releases,
-# - N%%{?extraver}{?dist} for GA releases
-%global is_ga 1
-%if %{is_ga}
-%global build_type GA
-%global ea_designator ""
-%global ea_designator_zip %{nil}
-%global extraver %{nil}
-%global eaprefix %{nil}
-%else
-%global build_type EA
-%global ea_designator ea
-%global ea_designator_zip -%{ea_designator}
-%global extraver .%{ea_designator}
-%global eaprefix 0.
-%endif
-
-# parametrized macros are order-sensitive
-%global compatiblename java-%{featurever}-%{origin}
-%global fullversion %{compatiblename}-%{version}-%{release}
-# images directories from upstream build
-%global jdkimage jdk
-%global static_libs_image static-libs
-# installation directory for static libraries
-%global static_libs_root lib/static
-%global static_libs_arch_dir %{static_libs_root}/linux-%{archinstall}
-%global static_libs_install_dir %{static_libs_arch_dir}/glibc
-
-# we can copy the javadoc to not arched dir, or make it not noarch
-%define uniquejavadocdir() %{expand:%{fullversion}.%{_arch}%{?1}}
-# main id and dir of this jdk
-%define uniquesuffix() %{expand:%{fullversion}.%{_arch}%{?1}}
-
-#################################################################
-# fix for https://bugzilla.redhat.com/show_bug.cgi?id=1111349
-# https://bugzilla.redhat.com/show_bug.cgi?id=1590796#c14
-# https://bugzilla.redhat.com/show_bug.cgi?id=1655938
-%global _privatelibs libsplashscreen[.]so.*|libawt_xawt[.]so.*|libjli[.]so.*|libattach[.]so.*|libawt[.]so.*|libextnet[.]so.*|libawt_headless[.]so.*|libdt_socket[.]so.*|libfontmanager[.]so.*|libinstrument[.]so.*|libj2gss[.]so.*|libj2pcsc[.]so.*|libj2pkcs11[.]so.*|libjaas[.]so.*|libjavajpeg[.]so.*|libjdwp[.]so.*|libjimage[.]so.*|libjsound[.]so.*|liblcms[.]so.*|libmanagement[.]so.*|libmanagement_agent[.]so.*|libmanagement_ext[.]so.*|libmlib_image[.]so.*|libnet[.]so.*|libnio[.]so.*|libprefs[.]so.*|librmi[.]so.*|libsaproc[.]so.*|libsctp[.]so.*|libsystemconf[.]so.*|libzip[.]so.*%{freetype_lib}
-%global _publiclibs libjawt[.]so.*|libjava[.]so.*|libjvm[.]so.*|libverify[.]so.*|libjsig[.]so.*
-%if %is_system_jdk
-%global __provides_exclude ^(%{_privatelibs})$
-%global __requires_exclude ^(%{_privatelibs})$
-# Never generate lib-style provides/requires for any debug packages
-%global __provides_exclude_from ^.*/%{uniquesuffix -- %{debug_suffix_unquoted}}/.*$
-%global __requires_exclude_from ^.*/%{uniquesuffix -- %{debug_suffix_unquoted}}/.*$
-%global __provides_exclude_from ^.*/%{uniquesuffix -- %{fastdebug_suffix_unquoted}}/.*$
-%global __requires_exclude_from ^.*/%{uniquesuffix -- %{fastdebug_suffix_unquoted}}/.*$
-%else
-# Don't generate provides/requires for JDK provided shared libraries at all.
-%global __provides_exclude ^(%{_privatelibs}|%{_publiclibs})$
-%global __requires_exclude ^(%{_privatelibs}|%{_publiclibs})$
-%endif
-
-
-%global etcjavasubdir %{_sysconfdir}/java/java-%{javaver}-%{origin}
-%define etcjavadir() %{expand:%{etcjavasubdir}/%{uniquesuffix -- %{?1}}}
-# Standard JPackage directories and symbolic links.
-%define sdkdir() %{expand:%{uniquesuffix -- %{?1}}}
-%define jrelnk() %{expand:jre-%{javaver}-%{origin}-%{version}-%{release}.%{_arch}%{?1}}
-
-%define sdkbindir() %{expand:%{_jvmdir}/%{sdkdir -- %{?1}}/bin}
-%define jrebindir() %{expand:%{_jvmdir}/%{sdkdir -- %{?1}}/bin}
-
-%global alt_java_name alt-java
-%global generated_sources_name generated_sources
-
-%global rpm_state_dir %{_localstatedir}/lib/rpm-state/
-
-# For flatpack builds hard-code dependency paths,
-# otherwise use relative paths.
-%if 0%{?flatpak}
-%global alternatives_requires /usr/sbin/alternatives
-%global javazidir /usr/share/javazi-1.8
-%global portablejvmdir /usr/lib/jvm
-%else
-%global alternatives_requires %{_sbindir}/alternatives
-%global javazidir %{_datadir}/javazi-1.8
-%global portablejvmdir %{_jvmdir}
-%endif
-
-%global family %{name}.%{_arch}
-%global family_noarch %{name}
-
-%if %{with_systemtap}
-# Where to install systemtap tapset (links)
-# We would like these to be in a package specific sub-dir,
-# but currently systemtap doesn't support that, so we have to
-# use the root tapset dir for now. To distinguish between 64
-# and 32 bit architectures we place the tapsets under the arch
-# specific dir (note that systemtap will only pickup the tapset
-# for the primary arch for now). Systemtap uses the machine name
-# aka target_cpu as architecture specific directory name.
-%global tapsetroot /usr/share/systemtap
-%global tapsetdirttapset %{tapsetroot}/tapset/
-%global tapsetdir %{tapsetdirttapset}/%{stapinstall}
-%endif
-
-# x86 is no longer supported
-%if 0%{?java_arches:1}
-ExclusiveArch: %{java_arches}
-%else
-ExcludeArch: %{ix86}
-%endif
-
-# not-duplicated scriptlets for normal/debug packages
-%global update_desktop_icons /usr/bin/gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || :
-
-%define save_alternatives() %{expand:
- # warning! alternatives are localised!
- # LANG=cs_CZ.UTF-8 alternatives --display java | head
- # LANG=en_US.UTF-8 alternatives --display java | head
- function nonLocalisedAlternativesDisplayOfMaster() {
- LANG=en_US.UTF-8 alternatives --display "$MASTER"
- }
- function headOfAbove() {
- nonLocalisedAlternativesDisplayOfMaster | head -n $1
- }
- MASTER="%{?1}"
- LOCAL_LINK="%{?2}"
- FAMILY="%{?3}"
- rm -f %{_localstatedir}/lib/rpm-state/"$MASTER"_$FAMILY > /dev/null
- if nonLocalisedAlternativesDisplayOfMaster > /dev/null ; then
- if headOfAbove 1 | grep -q manual ; then
- if headOfAbove 2 | tail -n 1 | grep -q %{compatiblename} ; then
- headOfAbove 2 > %{_localstatedir}/lib/rpm-state/"$MASTER"_"$FAMILY"
- fi
- fi
- fi
-}
-
-%define save_and_remove_alternatives() %{expand:
- if [ "x$debug" == "xtrue" ] ; then
- set -x
- fi
- upgrade1_uninstal0=%{?3}
- if [ "0$upgrade1_uninstal0" -gt 0 ] ; then # removal of this condition will cause persistence between uninstall
- %{save_alternatives %{?1} %{?2} %{?4}}
- fi
- alternatives --remove "%{?1}" "%{?2}"
-}
-
-%define set_if_needed_alternatives() %{expand:
- MASTER="%{?1}"
- FAMILY="%{?2}"
- ALTERNATIVES_FILE="%{_localstatedir}/lib/rpm-state/$MASTER"_"$FAMILY"
- if [ -e "$ALTERNATIVES_FILE" ] ; then
- rm "$ALTERNATIVES_FILE"
- alternatives --set $MASTER $FAMILY
- fi
-}
-
-
-%define post_script() %{expand:
-update-desktop-database %{_datadir}/applications &> /dev/null || :
-/bin/touch --no-create %{_datadir}/icons/hicolor &>/dev/null || :
-exit 0
-}
-
-%define alternatives_java_install() %{expand:
-if [ "x$debug" == "xtrue" ] ; then
- set -x
-fi
-PRIORITY=%{priority}
-if [ "%{?1}" == %{debug_suffix} ]; then
- let PRIORITY=PRIORITY-1
-fi
-
-ext=.gz
-key=java
-alternatives \\
- --install %{_bindir}/java $key %{jrebindir -- %{?1}}/java $PRIORITY --family %{family} \\
- --slave %{_jvmdir}/jre jre %{_jvmdir}/%{sdkdir -- %{?1}} \\
- --slave %{_bindir}/%{alt_java_name} %{alt_java_name} %{jrebindir -- %{?1}}/%{alt_java_name} \\
- --slave %{_bindir}/jcmd jcmd %{sdkbindir -- %{?1}}/jcmd \\
- --slave %{_bindir}/keytool keytool %{jrebindir -- %{?1}}/keytool \\
- --slave %{_bindir}/rmiregistry rmiregistry %{jrebindir -- %{?1}}/rmiregistry \\
- --slave %{_mandir}/man1/java.1$ext java.1$ext \\
- %{_mandir}/man1/java-%{uniquesuffix -- %{?1}}.1$ext \\
- --slave %{_mandir}/man1/%{alt_java_name}.1$ext %{alt_java_name}.1$ext \\
- %{_mandir}/man1/%{alt_java_name}-%{uniquesuffix -- %{?1}}.1$ext \\
- --slave %{_mandir}/man1/jcmd.1$ext jcmd.1$ext \\
- %{_mandir}/man1/jcmd-%{uniquesuffix -- %{?1}}.1$ext \\
- --slave %{_mandir}/man1/keytool.1$ext keytool.1$ext \\
- %{_mandir}/man1/keytool-%{uniquesuffix -- %{?1}}.1$ext \\
- --slave %{_mandir}/man1/rmiregistry.1$ext rmiregistry.1$ext \\
- %{_mandir}/man1/rmiregistry-%{uniquesuffix -- %{?1}}.1$ext
-
-%{set_if_needed_alternatives $key %{family}}
-
-for X in %{origin} %{javaver} ; do
- key=jre_"$X"
- alternatives --install %{_jvmdir}/jre-"$X" $key %{_jvmdir}/%{sdkdir -- %{?1}} $PRIORITY --family %{family}
- %{set_if_needed_alternatives $key %{family}}
-done
-
-key=jre_%{javaver}_%{origin}
-alternatives --install %{_jvmdir}/jre-%{javaver}-%{origin} $key %{_jvmdir}/%{jrelnk -- %{?1}} $PRIORITY --family %{family}
-%{set_if_needed_alternatives $key %{family}}
-}
-
-%define post_headless() %{expand:
-update-desktop-database %{_datadir}/applications &> /dev/null || :
-/bin/touch --no-create %{_datadir}/icons/hicolor &>/dev/null || :
-
-# see pretrans where this file is declared
-# also see that pretrans is only for non-debug
-if [ ! "%{?1}" == %{debug_suffix} ]; then
- if [ -f %{_libexecdir}/copy_jdk_configs_fixFiles.sh ] ; then
- sh %{_libexecdir}/copy_jdk_configs_fixFiles.sh %{rpm_state_dir}/%{name}.%{_arch} %{_jvmdir}/%{sdkdir -- %{?1}}
- fi
-fi
-
-exit 0
-}
-
-%define postun_script() %{expand:
-update-desktop-database %{_datadir}/applications &> /dev/null || :
-if [ $1 -eq 0 ] ; then
- /bin/touch --no-create %{_datadir}/icons/hicolor &>/dev/null
- %{update_desktop_icons}
-fi
-exit 0
-}
-
-
-%define postun_headless() %{expand:
- if [ "x$debug" == "xtrue" ] ; then
- set -x
- fi
- post_state=$1 # from postun, https://docs.fedoraproject.org/en-US/packaging-guidelines/Scriptlets/#_syntax
- %{save_and_remove_alternatives java %{jrebindir -- %{?1}}/java $post_state %{family}}
- %{save_and_remove_alternatives jre_%{origin} %{_jvmdir}/%{sdkdir -- %{?1}} $post_state %{family}}
- %{save_and_remove_alternatives jre_%{javaver} %{_jvmdir}/%{sdkdir -- %{?1}} $post_state %{family}}
- %{save_and_remove_alternatives jre_%{javaver}_%{origin} %{_jvmdir}/%{jrelnk -- %{?1}} $post_state %{family}}
-}
-
-%define posttrans_script() %{expand:
-%{update_desktop_icons}
-}
-
-
-%define alternatives_javac_install() %{expand:
-if [ "x$debug" == "xtrue" ] ; then
- set -x
-fi
-PRIORITY=%{priority}
-if [ "%{?1}" == %{debug_suffix} ]; then
- let PRIORITY=PRIORITY-1
-fi
-
-ext=.gz
-key=javac
-alternatives \\
- --install %{_bindir}/javac $key %{sdkbindir -- %{?1}}/javac $PRIORITY --family %{family} \\
- --slave %{_jvmdir}/java java_sdk %{_jvmdir}/%{sdkdir -- %{?1}} \\
- --slave %{_bindir}/jlink jlink %{sdkbindir -- %{?1}}/jlink \\
- --slave %{_bindir}/jmod jmod %{sdkbindir -- %{?1}}/jmod \\
-%ifarch %{sa_arches}
-%ifnarch %{zero_arches}
- --slave %{_bindir}/jhsdb jhsdb %{sdkbindir -- %{?1}}/jhsdb \\
-%endif
-%endif
- --slave %{_bindir}/jar jar %{sdkbindir -- %{?1}}/jar \\
- --slave %{_bindir}/jarsigner jarsigner %{sdkbindir -- %{?1}}/jarsigner \\
- --slave %{_bindir}/javadoc javadoc %{sdkbindir -- %{?1}}/javadoc \\
- --slave %{_bindir}/javap javap %{sdkbindir -- %{?1}}/javap \\
- --slave %{_bindir}/jconsole jconsole %{sdkbindir -- %{?1}}/jconsole \\
- --slave %{_bindir}/jdb jdb %{sdkbindir -- %{?1}}/jdb \\
- --slave %{_bindir}/jdeps jdeps %{sdkbindir -- %{?1}}/jdeps \\
- --slave %{_bindir}/jdeprscan jdeprscan %{sdkbindir -- %{?1}}/jdeprscan \\
- --slave %{_bindir}/jfr jfr %{sdkbindir -- %{?1}}/jfr \\
- --slave %{_bindir}/jimage jimage %{sdkbindir -- %{?1}}/jimage \\
- --slave %{_bindir}/jinfo jinfo %{sdkbindir -- %{?1}}/jinfo \\
- --slave %{_bindir}/jmap jmap %{sdkbindir -- %{?1}}/jmap \\
- --slave %{_bindir}/jps jps %{sdkbindir -- %{?1}}/jps \\
- --slave %{_bindir}/jpackage jpackage %{sdkbindir -- %{?1}}/jpackage \\
- --slave %{_bindir}/jrunscript jrunscript %{sdkbindir -- %{?1}}/jrunscript \\
- --slave %{_bindir}/jshell jshell %{sdkbindir -- %{?1}}/jshell \\
- --slave %{_bindir}/jstack jstack %{sdkbindir -- %{?1}}/jstack \\
- --slave %{_bindir}/jstat jstat %{sdkbindir -- %{?1}}/jstat \\
- --slave %{_bindir}/jstatd jstatd %{sdkbindir -- %{?1}}/jstatd \\
- --slave %{_bindir}/serialver serialver %{sdkbindir -- %{?1}}/serialver \\
- --slave %{_mandir}/man1/jar.1$ext jar.1$ext \\
- %{_mandir}/man1/jar-%{uniquesuffix -- %{?1}}.1$ext \\
- --slave %{_mandir}/man1/jarsigner.1$ext jarsigner.1$ext \\
- %{_mandir}/man1/jarsigner-%{uniquesuffix -- %{?1}}.1$ext \\
- --slave %{_mandir}/man1/javac.1$ext javac.1$ext \\
- %{_mandir}/man1/javac-%{uniquesuffix -- %{?1}}.1$ext \\
- --slave %{_mandir}/man1/javadoc.1$ext javadoc.1$ext \\
- %{_mandir}/man1/javadoc-%{uniquesuffix -- %{?1}}.1$ext \\
- --slave %{_mandir}/man1/javap.1$ext javap.1$ext \\
- %{_mandir}/man1/javap-%{uniquesuffix -- %{?1}}.1$ext \\
- --slave %{_mandir}/man1/jconsole.1$ext jconsole.1$ext \\
- %{_mandir}/man1/jconsole-%{uniquesuffix -- %{?1}}.1$ext \\
- --slave %{_mandir}/man1/jdb.1$ext jdb.1$ext \\
- %{_mandir}/man1/jdb-%{uniquesuffix -- %{?1}}.1$ext \\
- --slave %{_mandir}/man1/jdeps.1$ext jdeps.1$ext \\
- %{_mandir}/man1/jdeps-%{uniquesuffix -- %{?1}}.1$ext \\
- --slave %{_mandir}/man1/jinfo.1$ext jinfo.1$ext \\
- %{_mandir}/man1/jinfo-%{uniquesuffix -- %{?1}}.1$ext \\
- --slave %{_mandir}/man1/jmap.1$ext jmap.1$ext \\
- %{_mandir}/man1/jmap-%{uniquesuffix -- %{?1}}.1$ext \\
- --slave %{_mandir}/man1/jps.1$ext jps.1$ext \\
- %{_mandir}/man1/jps-%{uniquesuffix -- %{?1}}.1$ext \\
- --slave %{_mandir}/man1/jpackage.1$ext jpackage.1$ext \\
- %{_mandir}/man1/jpackage-%{uniquesuffix -- %{?1}}.1$ext \\
- --slave %{_mandir}/man1/jrunscript.1$ext jrunscript.1$ext \\
- %{_mandir}/man1/jrunscript-%{uniquesuffix -- %{?1}}.1$ext \\
- --slave %{_mandir}/man1/jstack.1$ext jstack.1$ext \\
- %{_mandir}/man1/jstack-%{uniquesuffix -- %{?1}}.1$ext \\
- --slave %{_mandir}/man1/jstat.1$ext jstat.1$ext \\
- %{_mandir}/man1/jstat-%{uniquesuffix -- %{?1}}.1$ext \\
- --slave %{_mandir}/man1/jstatd.1$ext jstatd.1$ext \\
- %{_mandir}/man1/jstatd-%{uniquesuffix -- %{?1}}.1$ext \\
- --slave %{_mandir}/man1/serialver.1$ext serialver.1$ext \\
- %{_mandir}/man1/serialver-%{uniquesuffix -- %{?1}}.1$ext
-
-%{set_if_needed_alternatives $key %{family}}
-
-for X in %{origin} %{javaver} ; do
- key=java_sdk_"$X"
- alternatives --install %{_jvmdir}/java-"$X" $key %{_jvmdir}/%{sdkdir -- %{?1}} $PRIORITY --family %{family}
- %{set_if_needed_alternatives $key %{family}}
-done
-
-key=java_sdk_%{javaver}_%{origin}
-alternatives --install %{_jvmdir}/java-%{javaver}-%{origin} $key %{_jvmdir}/%{sdkdir -- %{?1}} $PRIORITY --family %{family}
-%{set_if_needed_alternatives $key %{family}}
-}
-
-%define post_devel() %{expand:
-update-desktop-database %{_datadir}/applications &> /dev/null || :
-/bin/touch --no-create %{_datadir}/icons/hicolor &>/dev/null || :
-
-exit 0
-}
-
-%define postun_devel() %{expand:
- if [ "x$debug" == "xtrue" ] ; then
- set -x
- fi
- post_state=$1 # from postun, https://docs.fedoraproject.org/en-US/packaging-guidelines/Scriptlets/#_syntax
- %{save_and_remove_alternatives javac %{sdkbindir -- %{?1}}/javac $post_state %{family}}
- %{save_and_remove_alternatives java_sdk_%{origin} %{_jvmdir}/%{sdkdir -- %{?1}} $post_state %{family}}
- %{save_and_remove_alternatives java_sdk_%{javaver} %{_jvmdir}/%{sdkdir -- %{?1}} $post_state %{family}}
- %{save_and_remove_alternatives java_sdk_%{javaver}_%{origin} %{_jvmdir}/%{sdkdir -- %{?1}} $post_state %{family}}
-
-update-desktop-database %{_datadir}/applications &> /dev/null || :
-
-if [ $1 -eq 0 ] ; then
- /bin/touch --no-create %{_datadir}/icons/hicolor &>/dev/null
- %{update_desktop_icons}
-fi
-exit 0
-}
-
-%define posttrans_devel() %{expand:
-%{alternatives_javac_install -- %{?1}}
-%{update_desktop_icons}
-}
-
-%define alternatives_javadoc_install() %{expand:
-if [ "x$debug" == "xtrue" ] ; then
- set -x
-fi
-PRIORITY=%{priority}
-if [ "%{?1}" == %{debug_suffix} ]; then
- let PRIORITY=PRIORITY-1
-fi
- for X in %{origin} %{javaver} ; do
- key=javadocdir_"$X"
- alternatives --install %{_javadocdir}/java-"$X" $key %{_javadocdir}/%{uniquejavadocdir -- %{?1}}/api $PRIORITY --family %{family_noarch}
- %{set_if_needed_alternatives $key %{family_noarch}}
- done
-
- key=javadocdir_%{javaver}_%{origin}
- alternatives --install %{_javadocdir}/java-%{javaver}-%{origin} $key %{_javadocdir}/%{uniquejavadocdir -- %{?1}}/api $PRIORITY --family %{family_noarch}
- %{set_if_needed_alternatives $key %{family_noarch}}
-
- key=javadocdir
- alternatives --install %{_javadocdir}/java $key %{_javadocdir}/%{uniquejavadocdir -- %{?1}}/api $PRIORITY --family %{family_noarch}
- %{set_if_needed_alternatives $key %{family_noarch}}
-exit 0
-}
-
-%define postun_javadoc() %{expand:
-if [ "x$debug" == "xtrue" ] ; then
- set -x
-fi
- post_state=$1 # from postun, https://docs.fedoraproject.org/en-US/packaging-guidelines/Scriptlets/#_syntax
- %{save_and_remove_alternatives javadocdir %{_javadocdir}/%{uniquejavadocdir -- %{?1}}/api $post_state %{family_noarch}}
- %{save_and_remove_alternatives javadocdir_%{origin} %{_javadocdir}/%{uniquejavadocdir -- %{?1}}/api $post_state %{family_noarch}}
- %{save_and_remove_alternatives javadocdir_%{javaver} %{_javadocdir}/%{uniquejavadocdir -- %{?1}}/api $post_state %{family_noarch}}
- %{save_and_remove_alternatives javadocdir_%{javaver}_%{origin} %{_javadocdir}/%{uniquejavadocdir -- %{?1}}/api $post_state %{family_noarch}}
-exit 0
-}
-
-%define alternatives_javadoczip_install() %{expand:
-if [ "x$debug" == "xtrue" ] ; then
- set -x
-fi
-PRIORITY=%{priority}
-if [ "%{?1}" == %{debug_suffix} ]; then
- let PRIORITY=PRIORITY-1
-fi
- for X in %{origin} %{javaver} ; do
- key=javadoczip_"$X"
- alternatives --install %{_javadocdir}/java-"$X".zip $key %{_javadocdir}/%{uniquejavadocdir -- %{?1}}.zip $PRIORITY --family %{family_noarch}
- %{set_if_needed_alternatives $key %{family_noarch}}
- done
-
- key=javadoczip_%{javaver}_%{origin}
- alternatives --install %{_javadocdir}/java-%{javaver}-%{origin}.zip $key %{_javadocdir}/%{uniquejavadocdir -- %{?1}}.zip $PRIORITY --family %{family_noarch}
- %{set_if_needed_alternatives $key %{family_noarch}}
-
- # Weird legacy filename for backwards-compatibility
- key=javadoczip
- alternatives --install %{_javadocdir}/java-zip $key %{_javadocdir}/%{uniquejavadocdir -- %{?1}}.zip $PRIORITY --family %{family_noarch}
- %{set_if_needed_alternatives $key %{family_noarch}}
-exit 0
-}
-
-%define postun_javadoc_zip() %{expand:
- if [ "x$debug" == "xtrue" ] ; then
- set -x
- fi
- post_state=$1 # from postun, https://docs.fedoraproject.org/en-US/packaging-guidelines/Scriptlets/#_syntax
- %{save_and_remove_alternatives javadoczip %{_javadocdir}/%{uniquejavadocdir -- %{?1}}.zip $post_state %{family_noarch}}
- %{save_and_remove_alternatives javadoczip_%{origin} %{_javadocdir}/%{uniquejavadocdir -- %{?1}}.zip $post_state %{family_noarch}}
- %{save_and_remove_alternatives javadoczip_%{javaver} %{_javadocdir}/%{uniquejavadocdir -- %{?1}}.zip $post_state %{family_noarch}}
- %{save_and_remove_alternatives javadoczip_%{javaver}_%{origin} %{_javadocdir}/%{uniquejavadocdir -- %{?1}}.zip $post_state %{family_noarch}}
-exit 0
-}
-
-%define files_jre() %{expand:
-%{_datadir}/icons/hicolor/*x*/apps/java-%{javaver}-%{origin}.png
-%{_jvmdir}/%{sdkdir -- %{?1}}/lib/libsplashscreen.so
-%{_jvmdir}/%{sdkdir -- %{?1}}/lib/libawt_xawt.so
-%{_jvmdir}/%{sdkdir -- %{?1}}/lib/libjawt.so
-}
-
-
-%define files_jre_headless() %{expand:
-%license %{_jvmdir}/%{sdkdir -- %{?1}}/legal
-%doc %{_defaultdocdir}/%{uniquejavadocdir -- %{?1}}/NEWS
-%{_jvmdir}/%{sdkdir -- %{?1}}/NEWS
-%dir %{_sysconfdir}/.java/.systemPrefs
-%dir %{_sysconfdir}/.java
-%dir %{_jvmdir}/%{sdkdir -- %{?1}}
-%{_jvmdir}/%{sdkdir -- %{?1}}/release
-%{_jvmdir}/%{jrelnk -- %{?1}}
-%dir %{_jvmdir}/%{sdkdir -- %{?1}}/bin
-%{_jvmdir}/%{sdkdir -- %{?1}}/bin/java
-%{_jvmdir}/%{sdkdir -- %{?1}}/bin/%{alt_java_name}
-%{_jvmdir}/%{sdkdir -- %{?1}}/bin/jcmd
-%{_jvmdir}/%{sdkdir -- %{?1}}/bin/keytool
-%{_jvmdir}/%{sdkdir -- %{?1}}/bin/rmiregistry
-%dir %{_jvmdir}/%{sdkdir -- %{?1}}/lib
-%ifarch %{jit_arches}
-%{_jvmdir}/%{sdkdir -- %{?1}}/lib/classlist
-%endif
-%{_jvmdir}/%{sdkdir -- %{?1}}/lib/jexec
-%{_jvmdir}/%{sdkdir -- %{?1}}/lib/jspawnhelper
-%{_jvmdir}/%{sdkdir -- %{?1}}/lib/jrt-fs.jar
-%{_jvmdir}/%{sdkdir -- %{?1}}/lib/modules
-%{_jvmdir}/%{sdkdir -- %{?1}}/lib/psfont.properties.ja
-%{_jvmdir}/%{sdkdir -- %{?1}}/lib/psfontj2d.properties
-%{_jvmdir}/%{sdkdir -- %{?1}}/lib/tzdb.dat
-%{_jvmdir}/%{sdkdir -- %{?1}}/lib/tzdb.dat.upstream
-%{_jvmdir}/%{sdkdir -- %{?1}}/lib/libjli.so
-%{_jvmdir}/%{sdkdir -- %{?1}}/lib/jvm.cfg
-%{_jvmdir}/%{sdkdir -- %{?1}}/lib/libattach.so
-%{_jvmdir}/%{sdkdir -- %{?1}}/lib/libawt.so
-%{_jvmdir}/%{sdkdir -- %{?1}}/lib/libextnet.so
-%{_jvmdir}/%{sdkdir -- %{?1}}/lib/libjsig.so
-%{_jvmdir}/%{sdkdir -- %{?1}}/lib/libawt_headless.so
-%{_jvmdir}/%{sdkdir -- %{?1}}/lib/libdt_socket.so
-%{_jvmdir}/%{sdkdir -- %{?1}}/lib/libfontmanager.so
-%{_jvmdir}/%{sdkdir -- %{?1}}/lib/libfreetype.so
-%{_jvmdir}/%{sdkdir -- %{?1}}/lib/libinstrument.so
-%{_jvmdir}/%{sdkdir -- %{?1}}/lib/libj2gss.so
-%{_jvmdir}/%{sdkdir -- %{?1}}/lib/libj2pcsc.so
-%{_jvmdir}/%{sdkdir -- %{?1}}/lib/libj2pkcs11.so
-%{_jvmdir}/%{sdkdir -- %{?1}}/lib/libjaas.so
-%{_jvmdir}/%{sdkdir -- %{?1}}/lib/libjava.so
-%{_jvmdir}/%{sdkdir -- %{?1}}/lib/libjavajpeg.so
-%{_jvmdir}/%{sdkdir -- %{?1}}/lib/libjdwp.so
-%{_jvmdir}/%{sdkdir -- %{?1}}/lib/libjimage.so
-%{_jvmdir}/%{sdkdir -- %{?1}}/lib/libjsound.so
-%{_jvmdir}/%{sdkdir -- %{?1}}/lib/liblcms.so
-%{_jvmdir}/%{sdkdir -- %{?1}}/lib/libmanagement.so
-%{_jvmdir}/%{sdkdir -- %{?1}}/lib/libmanagement_agent.so
-%{_jvmdir}/%{sdkdir -- %{?1}}/lib/libmanagement_ext.so
-%{_jvmdir}/%{sdkdir -- %{?1}}/lib/libmlib_image.so
-%{_jvmdir}/%{sdkdir -- %{?1}}/lib/libnet.so
-%{_jvmdir}/%{sdkdir -- %{?1}}/lib/libnio.so
-%{_jvmdir}/%{sdkdir -- %{?1}}/lib/libprefs.so
-%{_jvmdir}/%{sdkdir -- %{?1}}/lib/librmi.so
-# Some architectures don't have the serviceability agent
-%ifarch %{sa_arches}
-%ifnarch %{zero_arches}
-%{_jvmdir}/%{sdkdir -- %{?1}}/lib/libsaproc.so
-%endif
-%endif
-%{_jvmdir}/%{sdkdir -- %{?1}}/lib/libsctp.so
-%{_jvmdir}/%{sdkdir -- %{?1}}/lib/libsystemconf.so
-%ifarch %{svml_arches}
-%{_jvmdir}/%{sdkdir -- %{?1}}/lib/libjsvml.so
-%endif
-%{_jvmdir}/%{sdkdir -- %{?1}}/lib/libsyslookup.so
-%{_jvmdir}/%{sdkdir -- %{?1}}/lib/libverify.so
-%{_jvmdir}/%{sdkdir -- %{?1}}/lib/libzip.so
-%dir %{_jvmdir}/%{sdkdir -- %{?1}}/lib/jfr
-%{_jvmdir}/%{sdkdir -- %{?1}}/lib/jfr/default.jfc
-%{_jvmdir}/%{sdkdir -- %{?1}}/lib/jfr/profile.jfc
-%{_mandir}/man1/java-%{uniquesuffix -- %{?1}}.1*
-%{_mandir}/man1/%{alt_java_name}-%{uniquesuffix -- %{?1}}.1*
-%{_mandir}/man1/jcmd-%{uniquesuffix -- %{?1}}.1*
-%{_mandir}/man1/keytool-%{uniquesuffix -- %{?1}}.1*
-%{_mandir}/man1/rmiregistry-%{uniquesuffix -- %{?1}}.1*
-%{_jvmdir}/%{sdkdir -- %{?1}}/lib/%{vm_variant}/
-%ifarch %{share_arches}
-%attr(444, root, root) %{_jvmdir}/%{sdkdir -- %{?1}}/lib/%{vm_variant}/classes.jsa
-%ifnarch %{ix86} %{arm32}
-%attr(444, root, root) %{_jvmdir}/%{sdkdir -- %{?1}}/lib/%{vm_variant}/classes_nocoops.jsa
-%endif
-%endif
-%dir %{etcjavasubdir}
-%dir %{etcjavadir -- %{?1}}
-%dir %{etcjavadir -- %{?1}}/lib
-%dir %{etcjavadir -- %{?1}}/lib/security
-%{etcjavadir -- %{?1}}/lib/security/cacerts
-%{etcjavadir -- %{?1}}/lib/security/cacerts.upstream
-%dir %{etcjavadir -- %{?1}}/conf
-%dir %{etcjavadir -- %{?1}}/conf/sdp
-%dir %{etcjavadir -- %{?1}}/conf/management
-%dir %{etcjavadir -- %{?1}}/conf/security
-%dir %{etcjavadir -- %{?1}}/conf/security/policy
-%dir %{etcjavadir -- %{?1}}/conf/security/policy/limited
-%dir %{etcjavadir -- %{?1}}/conf/security/policy/unlimited
-%config(noreplace) %{etcjavadir -- %{?1}}/lib/security/default.policy
-%config(noreplace) %{etcjavadir -- %{?1}}/lib/security/blocked.certs
-%config(noreplace) %{etcjavadir -- %{?1}}/lib/security/public_suffix_list.dat
-%config(noreplace) %{etcjavadir -- %{?1}}/conf/security/policy/limited/exempt_local.policy
-%config(noreplace) %{etcjavadir -- %{?1}}/conf/security/policy/limited/default_local.policy
-%config(noreplace) %{etcjavadir -- %{?1}}/conf/security/policy/limited/default_US_export.policy
-%config(noreplace) %{etcjavadir -- %{?1}}/conf/security/policy/unlimited/default_local.policy
-%config(noreplace) %{etcjavadir -- %{?1}}/conf/security/policy/unlimited/default_US_export.policy
- %{etcjavadir -- %{?1}}/conf/security/policy/README.txt
-%config(noreplace) %{etcjavadir -- %{?1}}/conf/security/java.policy
-%config(noreplace) %{etcjavadir -- %{?1}}/conf/security/java.security
-%config(noreplace) %{etcjavadir -- %{?1}}/conf/logging.properties
-%config(noreplace) %{etcjavadir -- %{?1}}/conf/security/nss.cfg
-%config(noreplace) %{etcjavadir -- %{?1}}/conf/security/nss.fips.cfg
-%config(noreplace) %{etcjavadir -- %{?1}}/conf/management/jmxremote.access
-# This is a config template, thus not config-noreplace
-%config %{etcjavadir -- %{?1}}/conf/management/jmxremote.password.template
-%config %{etcjavadir -- %{?1}}/conf/sdp/sdp.conf.template
-%config(noreplace) %{etcjavadir -- %{?1}}/conf/management/management.properties
-%config(noreplace) %{etcjavadir -- %{?1}}/conf/net.properties
-%config(noreplace) %{etcjavadir -- %{?1}}/conf/sound.properties
-%{_jvmdir}/%{sdkdir -- %{?1}}/conf
-%{_jvmdir}/%{sdkdir -- %{?1}}/lib/security
-%if %is_system_jdk
-%if %{is_release_build -- %{?1}}
-%ghost %{_bindir}/java
-%ghost %{_jvmdir}/jre
-%ghost %{_bindir}/%{alt_java_name}
-%ghost %{_bindir}/jcmd
-%ghost %{_bindir}/keytool
-%ghost %{_bindir}/pack200
-%ghost %{_bindir}/rmid
-%ghost %{_bindir}/rmiregistry
-%ghost %{_bindir}/unpack200
-%ghost %{_jvmdir}/jre-%{origin}
-%ghost %{_jvmdir}/jre-%{javaver}
-%ghost %{_jvmdir}/jre-%{javaver}-%{origin}
-%endif
-%endif
-# https://bugzilla.redhat.com/show_bug.cgi?id=1820172
-# https://docs.fedoraproject.org/en-US/packaging-guidelines/Directory_Replacement/
-%ghost %{_jvmdir}/%{sdkdir -- %{?1}}/conf.rpmmoved
-%ghost %{_jvmdir}/%{sdkdir -- %{?1}}/lib/security.rpmmoved
-}
-
-%define files_devel() %{expand:
-%dir %{_jvmdir}/%{sdkdir -- %{?1}}/bin
-%{_jvmdir}/%{sdkdir -- %{?1}}/bin/jar
-%{_jvmdir}/%{sdkdir -- %{?1}}/bin/jarsigner
-%{_jvmdir}/%{sdkdir -- %{?1}}/bin/javac
-%{_jvmdir}/%{sdkdir -- %{?1}}/bin/javadoc
-%{_jvmdir}/%{sdkdir -- %{?1}}/bin/javap
-%{_jvmdir}/%{sdkdir -- %{?1}}/bin/jconsole
-%{_jvmdir}/%{sdkdir -- %{?1}}/bin/jdb
-%{_jvmdir}/%{sdkdir -- %{?1}}/bin/jdeps
-%{_jvmdir}/%{sdkdir -- %{?1}}/bin/jdeprscan
-%{_jvmdir}/%{sdkdir -- %{?1}}/bin/jfr
-%{_jvmdir}/%{sdkdir -- %{?1}}/bin/jimage
-# Some architectures don't have the serviceability agent
-%ifarch %{sa_arches}
-%ifnarch %{zero_arches}
-%{_jvmdir}/%{sdkdir -- %{?1}}/bin/jhsdb
-%{_mandir}/man1/jhsdb-%{uniquesuffix -- %{?1}}.1*
-%endif
-%endif
-%{_jvmdir}/%{sdkdir -- %{?1}}/bin/jinfo
-%{_jvmdir}/%{sdkdir -- %{?1}}/bin/jlink
-%{_jvmdir}/%{sdkdir -- %{?1}}/bin/jmap
-%{_jvmdir}/%{sdkdir -- %{?1}}/bin/jmod
-%{_jvmdir}/%{sdkdir -- %{?1}}/bin/jps
-%{_jvmdir}/%{sdkdir -- %{?1}}/bin/jpackage
-%{_jvmdir}/%{sdkdir -- %{?1}}/bin/jrunscript
-%{_jvmdir}/%{sdkdir -- %{?1}}/bin/jshell
-%{_jvmdir}/%{sdkdir -- %{?1}}/bin/jstack
-%{_jvmdir}/%{sdkdir -- %{?1}}/bin/jstat
-%{_jvmdir}/%{sdkdir -- %{?1}}/bin/jstatd
-%{_jvmdir}/%{sdkdir -- %{?1}}/bin/serialver
-%{_jvmdir}/%{sdkdir -- %{?1}}/include
-%{_jvmdir}/%{sdkdir -- %{?1}}/lib/ct.sym
-%if %{with_systemtap}
-%{_jvmdir}/%{sdkdir -- %{?1}}/tapset
-%endif
-%{_datadir}/applications/*jconsole%{?1}.desktop
-%{_mandir}/man1/jar-%{uniquesuffix -- %{?1}}.1*
-%{_mandir}/man1/jarsigner-%{uniquesuffix -- %{?1}}.1*
-%{_mandir}/man1/javac-%{uniquesuffix -- %{?1}}.1*
-%{_mandir}/man1/javadoc-%{uniquesuffix -- %{?1}}.1*
-%{_mandir}/man1/javap-%{uniquesuffix -- %{?1}}.1*
-%{_mandir}/man1/jconsole-%{uniquesuffix -- %{?1}}.1*
-%{_mandir}/man1/jcmd-%{uniquesuffix -- %{?1}}.1*
-%{_mandir}/man1/jdb-%{uniquesuffix -- %{?1}}.1*
-%{_mandir}/man1/jdeps-%{uniquesuffix -- %{?1}}.1*
-%{_mandir}/man1/jinfo-%{uniquesuffix -- %{?1}}.1*
-%{_mandir}/man1/jmap-%{uniquesuffix -- %{?1}}.1*
-%{_mandir}/man1/jps-%{uniquesuffix -- %{?1}}.1*
-%{_mandir}/man1/jpackage-%{uniquesuffix -- %{?1}}.1*
-%{_mandir}/man1/jrunscript-%{uniquesuffix -- %{?1}}.1*
-%{_mandir}/man1/jstack-%{uniquesuffix -- %{?1}}.1*
-%{_mandir}/man1/jstat-%{uniquesuffix -- %{?1}}.1*
-%{_mandir}/man1/jstatd-%{uniquesuffix -- %{?1}}.1*
-%{_mandir}/man1/serialver-%{uniquesuffix -- %{?1}}.1*
-%{_mandir}/man1/jdeprscan-%{uniquesuffix -- %{?1}}.1*
-%{_mandir}/man1/jlink-%{uniquesuffix -- %{?1}}.1*
-%{_mandir}/man1/jmod-%{uniquesuffix -- %{?1}}.1*
-%{_mandir}/man1/jshell-%{uniquesuffix -- %{?1}}.1*
-%{_mandir}/man1/jfr-%{uniquesuffix -- %{?1}}.1*
-
-%if %{with_systemtap}
-%dir %{tapsetroot}
-%dir %{tapsetdirttapset}
-%dir %{tapsetdir}
-%{tapsetdir}/*%{_arch}%{?1}.stp
-%endif
-%if %is_system_jdk
-%if %{is_release_build -- %{?1}}
-%ghost %{_bindir}/javac
-%ghost %{_jvmdir}/java
-%ghost %{_jvmdir}/%{alt_java_name}
-%ghost %{_bindir}/jlink
-%ghost %{_bindir}/jmod
-%ghost %{_bindir}/jhsdb
-%ghost %{_bindir}/jar
-%ghost %{_bindir}/jarsigner
-%ghost %{_bindir}/javadoc
-%ghost %{_bindir}/javap
-%ghost %{_bindir}/jconsole
-%ghost %{_bindir}/jdb
-%ghost %{_bindir}/jdeps
-%ghost %{_bindir}/jdeprscan
-%ghost %{_bindir}/jimage
-%ghost %{_bindir}/jinfo
-%ghost %{_bindir}/jmap
-%ghost %{_bindir}/jps
-%ghost %{_bindir}/jrunscript
-%ghost %{_bindir}/jshell
-%ghost %{_bindir}/jstack
-%ghost %{_bindir}/jstat
-%ghost %{_bindir}/jstatd
-%ghost %{_bindir}/serialver
-%ghost %{_jvmdir}/java-%{origin}
-%ghost %{_jvmdir}/java-%{javaver}
-%ghost %{_jvmdir}/java-%{javaver}-%{origin}
-%endif
-%endif
-}
-
-%define files_jmods() %{expand:
-%{_jvmdir}/%{sdkdir -- %{?1}}/jmods
-}
-
-%define files_demo() %{expand:
-%license %{_jvmdir}/%{sdkdir -- %{?1}}/legal
-%{_jvmdir}/%{sdkdir -- %{?1}}/demo
-}
-
-%define files_src() %{expand:
-%license %{_jvmdir}/%{sdkdir -- %{?1}}/legal
-%{_jvmdir}/%{sdkdir -- %{?1}}/lib/src.zip
-%{_jvmdir}/%{sdkdir -- %{?1}}/full_sources
-%{_jvmdir}/%{sdkdir -- %{?1}}/%{generated_sources_name}
-}
-
-%define files_static_libs() %{expand:
-%dir %{_jvmdir}/%{sdkdir -- %{?1}}/%{static_libs_root}
-%dir %{_jvmdir}/%{sdkdir -- %{?1}}/%{static_libs_arch_dir}
-%dir %{_jvmdir}/%{sdkdir -- %{?1}}/%{static_libs_install_dir}
-%{_jvmdir}/%{sdkdir -- %{?1}}/%{static_libs_install_dir}/lib*.a
-}
-
-%define files_javadoc() %{expand:
-%doc %{_javadocdir}/%{uniquejavadocdir -- %{?1}}
-%license %{_jvmdir}/%{sdkdir -- %{?1}}/legal
-%if %is_system_jdk
-%if %{is_release_build -- %{?1}}
-%ghost %{_javadocdir}/java
-%ghost %{_javadocdir}/java-%{origin}
-%ghost %{_javadocdir}/java-%{javaver}
-%ghost %{_javadocdir}/java-%{javaver}-%{origin}
-%endif
-%endif
-}
-
-%define files_javadoc_zip() %{expand:
-%doc %{_javadocdir}/%{uniquejavadocdir -- %{?1}}.zip
-%license %{_jvmdir}/%{sdkdir -- %{?1}}/legal
-%if %is_system_jdk
-%if %{is_release_build -- %{?1}}
-%ghost %{_javadocdir}/java-zip
-%ghost %{_javadocdir}/java-%{origin}.zip
-%ghost %{_javadocdir}/java-%{javaver}.zip
-%ghost %{_javadocdir}/java-%{javaver}-%{origin}.zip
-%endif
-%endif
-}
-
-# not-duplicated requires/provides/obsoletes for normal/debug packages
-%define java_rpo() %{expand:
-Requires: fontconfig%{?_isa}
-Requires: xorg-x11-fonts-Type1
-# Require libXcomposite explicitly since it's only dynamically loaded
-# at runtime. Fixes screenshot issues. See JDK-8150954.
-Requires: libXcomposite%{?_isa}
-# Requires rest of java
-Requires: %{name}-headless%{?1}%{?_isa} = %{epoch}:%{version}-%{release}
-OrderWithRequires: %{name}-headless%{?1}%{?_isa} = %{epoch}:%{version}-%{release}
-# for java-X-openjdk package's desktop binding
-# Where recommendations are available, recommend Gtk+ for the Swing look and feel
-%if 0%{?rhel} >= 8 || 0%{?fedora} > 0
-Recommends: gtk3%{?_isa}
-%endif
-
-Provides: java-%{javaver}-%{origin}%{?1} = %{epoch}:%{version}-%{release}
-
-# Standard JPackage base provides
-Provides: jre-%{javaver}%{?1} = %{epoch}:%{version}-%{release}
-Provides: jre-%{javaver}-%{origin}%{?1} = %{epoch}:%{version}-%{release}
-Provides: java-%{javaver}%{?1} = %{epoch}:%{version}-%{release}
-%if %is_system_jdk
-Provides: java-%{origin}%{?1} = %{epoch}:%{version}-%{release}
-Provides: jre-%{origin}%{?1} = %{epoch}:%{version}-%{release}
-Provides: java%{?1} = %{epoch}:%{version}-%{release}
-Provides: jre%{?1} = %{epoch}:%{version}-%{release}
-%endif
-}
-
-%define java_headless_rpo() %{expand:
-# Require /etc/pki/java/cacerts
-Requires: ca-certificates
-# Require javapackages-filesystem for ownership of /usr/lib/jvm/ and macros
-Requires: javapackages-filesystem
-# Require zone-info data provided by tzdata-java sub-package
-# 2022g required as of JDK-8297804
-Requires: tzdata-java >= 2022g
-# for support of kernel stream control
-# libsctp.so.1 is being `dlopen`ed on demand
-Requires: lksctp-tools%{?_isa}
-%if ! 0%{?flatpak}
-# tool to copy jdk's configs - should be Recommends only, but then only dnf/yum enforce it,
-# not rpm transaction and so no configs are persisted when pure rpm -u is run. It may be
-# considered as regression
-Requires: copy-jdk-configs >= 4.0
-OrderWithRequires: copy-jdk-configs
-%endif
-# for printing support
-Requires: cups-libs
-# for system security properties
-Requires: crypto-policies
-# for FIPS PKCS11 provider
-Requires: nss
-# Post requires alternatives to install tool alternatives
-Requires(post): %{alternatives_requires}
-# Postun requires alternatives to uninstall tool alternatives
-Requires(postun): %{alternatives_requires}
-# Where suggestions are available, recommend the sctp and pcsc libraries
-# for optional support of kernel stream control and card reader
-%if 0%{?rhel} >= 8 || 0%{?fedora} > 0
-Suggests: lksctp-tools%{?_isa}, pcsc-lite-libs%{?_isa}
-%endif
-
-# Standard JPackage base provides
-Provides: jre-%{javaver}-%{origin}-headless%{?1} = %{epoch}:%{version}-%{release}
-Provides: jre-%{javaver}-headless%{?1} = %{epoch}:%{version}-%{release}
-Provides: java-%{javaver}-%{origin}-headless%{?1} = %{epoch}:%{version}-%{release}
-Provides: java-%{javaver}-headless%{?1} = %{epoch}:%{version}-%{release}
-%if %is_system_jdk
-Provides: java-%{origin}-headless%{?1} = %{epoch}:%{version}-%{release}
-Provides: jre-%{origin}-headless%{?1} = %{epoch}:%{version}-%{release}
-Provides: jre-headless%{?1} = %{epoch}:%{version}-%{release}
-Provides: java-headless%{?1} = %{epoch}:%{version}-%{release}
-%endif
-}
-
-%define java_devel_rpo() %{expand:
-# Requires base package
-Requires: %{name}%{?1}%{?_isa} = %{epoch}:%{version}-%{release}
-OrderWithRequires: %{name}-headless%{?1}%{?_isa} = %{epoch}:%{version}-%{release}
-# Post requires alternatives to install tool alternatives
-Requires(post): %{alternatives_requires}
-# Postun requires alternatives to uninstall tool alternatives
-Requires(postun): %{alternatives_requires}
-
-# Standard JPackage devel provides
-Provides: java-sdk-%{javaver}-%{origin}%{?1} = %{epoch}:%{version}-%{release}
-Provides: java-sdk-%{javaver}%{?1} = %{epoch}:%{version}-%{release}
-Provides: java-%{javaver}-devel%{?1} = %{epoch}:%{version}-%{release}
-Provides: java-%{javaver}-%{origin}-devel%{?1} = %{epoch}:%{version}-%{release}
-%if %is_system_jdk
-Provides: java-devel-%{origin}%{?1} = %{epoch}:%{version}-%{release}
-Provides: java-sdk-%{origin}%{?1} = %{epoch}:%{version}-%{release}
-Provides: java-devel%{?1} = %{epoch}:%{version}-%{release}
-Provides: java-sdk%{?1} = %{epoch}:%{version}-%{release}
-%endif
-}
-
-%define java_static_libs_rpo() %{expand:
-Requires: %{name}-devel%{?1}%{?_isa} = %{epoch}:%{version}-%{release}
-OrderWithRequires: %{name}-headless%{?1}%{?_isa} = %{epoch}:%{version}-%{release}
-}
-
-%define java_jmods_rpo() %{expand:
-# Requires devel package
-# as jmods are bytecode, they should be OK without any _isa
-Requires: %{name}-devel%{?1} = %{epoch}:%{version}-%{release}
-OrderWithRequires: %{name}-headless%{?1} = %{epoch}:%{version}-%{release}
-
-Provides: java-%{javaver}-jmods%{?1} = %{epoch}:%{version}-%{release}
-Provides: java-%{javaver}-%{origin}-jmods%{?1} = %{epoch}:%{version}-%{release}
-%if %is_system_jdk
-Provides: java-jmods%{?1} = %{epoch}:%{version}-%{release}
-%endif
-}
-
-%define java_demo_rpo() %{expand:
-Requires: %{name}%{?1}%{?_isa} = %{epoch}:%{version}-%{release}
-OrderWithRequires: %{name}-headless%{?1}%{?_isa} = %{epoch}:%{version}-%{release}
-
-Provides: java-%{javaver}-demo%{?1} = %{epoch}:%{version}-%{release}
-Provides: java-%{javaver}-%{origin}-demo%{?1} = %{epoch}:%{version}-%{release}
-%if %is_system_jdk
-Provides: java-demo%{?1} = %{epoch}:%{version}-%{release}
-Provides: java-%{origin}-demo%{?1} = %{epoch}:%{version}-%{release}
-%endif
-}
-
-%define java_javadoc_rpo() %{expand:
-OrderWithRequires: %{name}-headless%{?1}%{?_isa} = %{epoch}:%{version}-%{release}
-# Post requires alternatives to install javadoc alternative
-Requires(post): %{alternatives_requires}
-# Postun requires alternatives to uninstall javadoc alternative
-Requires(postun): %{alternatives_requires}
-
-# Standard JPackage javadoc provides
-Provides: java-%{javaver}-javadoc%{?1}%{?2} = %{epoch}:%{version}-%{release}
-Provides: java-%{javaver}-%{origin}-javadoc%{?1}%{?2} = %{epoch}:%{version}-%{release}
-%if %is_system_jdk
-Provides: java-javadoc%{?1}%{?2} = %{epoch}:%{version}-%{release}
-%endif
-}
-
-%define java_src_rpo() %{expand:
-Requires: %{name}-headless%{?1}%{?_isa} = %{epoch}:%{version}-%{release}
-
-# Standard JPackage sources provides
-Provides: java-%{javaver}-src%{?1} = %{epoch}:%{version}-%{release}
-Provides: java-%{javaver}-%{origin}-src%{?1} = %{epoch}:%{version}-%{release}
-%if %is_system_jdk
-Provides: java-src%{?1} = %{epoch}:%{version}-%{release}
-Provides: java-%{origin}-src%{?1} = %{epoch}:%{version}-%{release}
-%endif
-}
-
-# Prevent brp-java-repack-jars from being run
-%global __jar_repack 0
-
-%global portable_name %{name}-portable
-# the version must match, but sometmes we need to more precise, so including release
-%global portable_version %{version}-1
-
-Name: java-%{javaver}-%{origin}
-Version: %{newjavaver}.%{buildver}
-Release: %{?eaprefix}%{rpmrelease}%{?extraver}%{?dist}.1
-# java-1.5.0-ibm from jpackage.org set Epoch to 1 for unknown reasons
-# and this change was brought into RHEL-4. java-1.5.0-ibm packages
-# also included the epoch in their virtual provides. This created a
-# situation where in-the-wild java-1.5.0-ibm packages provided "java =
-# 1:1.5.0". In RPM terms, "1.6.0 < 1:1.5.0" since 1.6.0 is
-# interpreted as 0:1.6.0. So the "java >= 1.6.0" requirement would be
-# satisfied by the 1:1.5.0 packages. Thus we need to set the epoch in
-# JDK package >= 1.6.0 to 1, and packages referring to JDK virtual
-# provides >= 1.6.0 must specify the epoch, "java >= 1:1.6.0".
-
-Epoch: 1
-Summary: %{origin_nice} %{featurever} Runtime Environment
-# Groups are only used up to RHEL 8 and on Fedora versions prior to F30
-%if (0%{?rhel} > 0 && 0%{?rhel} <= 8) || (0%{?fedora} >= 0 && 0%{?fedora} < 30)
-Group: Development/Languages
-%endif
-
-# HotSpot code is licensed under GPLv2
-# JDK library code is licensed under GPLv2 with the Classpath exception
-# The Apache license is used in code taken from Apache projects (primarily xalan & xerces)
-# DOM levels 2 & 3 and the XML digital signature schemas are licensed under the W3C Software License
-# The JSR166 concurrency code is in the public domain
-# The BSD and MIT licenses are used for a number of third-party libraries (see ADDITIONAL_LICENSE_INFO)
-# The OpenJDK source tree includes:
-# - JPEG library (IJG), zlib & libpng (zlib), giflib (MIT), harfbuzz (ISC),
-# - freetype (FTL), jline (BSD) and LCMS (MIT)
-# - jquery (MIT), jdk.crypto.cryptoki PKCS 11 wrapper (RSA)
-# - public_suffix_list.dat from publicsuffix.org (MPLv2.0)
-# The test code includes copies of NSS under the Mozilla Public License v2.0
-# The PCSClite headers are under a BSD with advertising license
-# The elliptic curve cryptography (ECC) source code is licensed under the LGPLv2.1 or any later version
-License: ASL 1.1 and ASL 2.0 and BSD and BSD with advertising and GPL+ and GPLv2 and GPLv2 with exceptions and IJG and LGPLv2+ and MIT and MPLv2.0 and Public Domain and W3C and zlib and ISC and FTL and RSA
-URL: http://openjdk.java.net/
-
-# Use 'icedtea_sync.sh' to update the following
-# They are based on code contained in the IcedTea project (6.x).
-# Systemtap tapsets. Zipped up to keep it small.
-Source8: tapsets-icedtea-%{icedteaver}.tar.xz
-
-# Desktop files. Adapted from IcedTea
-Source9: jconsole.desktop.in
-
-# Ensure we aren't using the limited crypto policy
-Source13: TestCryptoLevel.java
-
-# Ensure ECDSA is working
-Source14: TestECDSA.java
-
-# Verify system crypto (policy) can be disabled via a property
-Source15: TestSecurityProperties.java
-
-# Ensure vendor settings are correct
-Source16: CheckVendor.java
-
-# Ensure translations are available for new timezones
-Source18: TestTranslations.java
-
-BuildRequires: %{portable_name}-sources >= %{portable_version}
-BuildRequires: %{portable_name}-misc >= %{portable_version}
-BuildRequires: %{portable_name}-docs >= %{portable_version}
-
-%if %{include_normal_build}
-BuildRequires: %{portable_name}-unstripped >= %{portable_version}
-%if %{include_staticlibs}
-BuildRequires: %{portable_name}-static-libs >= %{portable_version}
-%endif
-%endif
-%if %{include_fastdebug_build}
-BuildRequires: %{portable_name}-devel-fastdebug >= %{portable_version}
-%if %{include_staticlibs}
-BuildRequires: %{portable_name}-static-libs-fastdebug >= %{portable_version}
-%endif
-%endif
-%if %{include_debug_build}
-BuildRequires: %{portable_name}-devel-slowdebug >= %{portable_version}
-%if %{include_staticlibs}
-BuildRequires: %{portable_name}-static-libs-slowdebug >= %{portable_version}
-%endif
-%endif
-
-BuildRequires: desktop-file-utils
-# elfutils only are OK for build without AOT
-BuildRequires: elfutils-devel
-BuildRequires: gdb
-# for modyfying build-id in clashing binaries
-BuildRequires: /usr/bin/gcc
-BuildRequires: /usr/bin/objcopy
-BuildRequires: /usr/bin/readelf
-# Requirement for setting up nss.cfg and nss.fips.cfg
-BuildRequires: nss-devel
-# Requirement for system security property test
-BuildRequires: crypto-policies
-BuildRequires: pkgconfig
-BuildRequires: zip
-BuildRequires: unzip
-BuildRequires: javapackages-filesystem
-# ?
-BuildRequires: tzdata-java >= 2022g
-
-%if %{with_systemtap}
-BuildRequires: systemtap-sdt-devel
-%endif
-
-# Version in src/java.desktop/share/native/libfreetype/include/freetype/freetype.h
-Provides: bundled(freetype) = 2.12.1
-# Version in src/java.desktop/share/native/libsplashscreen/giflib/gif_lib.h
-Provides: bundled(giflib) = 5.2.1
-# Version in src/java.desktop/share/native/libharfbuzz/hb-version.h
-Provides: bundled(harfbuzz) = 4.4.1
-# Version in src/java.desktop/share/native/liblcms/lcms2.h
-Provides: bundled(lcms2) = 2.12.0
-# Version in src/java.desktop/share/native/libjavajpeg/jpeglib.h
-Provides: bundled(libjpeg) = 6b
-# Version in src/java.desktop/share/native/libsplashscreen/libpng/png.h
-Provides: bundled(libpng) = 1.6.37
-# We link statically against libstdc++ to increase portability
-BuildRequires: libstdc++-static
-
-# this is always built, also during debug-only build
-# when it is built in debug-only this package is just placeholder
-%{java_rpo %{nil}}
-
-%description
-The %{origin_nice} %{featurever} runtime environment.
-
-%if %{include_debug_build}
-%package slowdebug
-Summary: %{origin_nice} %{featurever} Runtime Environment %{debug_on}
-%if (0%{?rhel} > 0 && 0%{?rhel} <= 8) || (0%{?fedora} >= 0 && 0%{?fedora} < 30)
-Group: Development/Languages
-%endif
-
-%{java_rpo -- %{debug_suffix_unquoted}}
-%description slowdebug
-The %{origin_nice} %{featurever} runtime environment.
-%{debug_warning}
-%endif
-
-%if %{include_fastdebug_build}
-%package fastdebug
-Summary: %{origin_nice} %{featurever} Runtime Environment %{fastdebug_on}
-%if (0%{?rhel} > 0 && 0%{?rhel} <= 8) || (0%{?fedora} >= 0 && 0%{?fedora} < 30)
-Group: Development/Languages
-%endif
-
-%{java_rpo -- %{fastdebug_suffix_unquoted}}
-%description fastdebug
-The %{origin_nice} %{featurever} runtime environment.
-%{fastdebug_warning}
-%endif
-
-%if %{include_normal_build}
-%package headless
-Summary: %{origin_nice} %{featurever} Headless Runtime Environment
-%if (0%{?rhel} > 0 && 0%{?rhel} <= 8) || (0%{?fedora} >= 0 && 0%{?fedora} < 30)
-Group: Development/Languages
-%endif
-
-%{java_headless_rpo %{nil}}
-
-%description headless
-The %{origin_nice} %{featurever} runtime environment without audio and video support.
-%endif
-
-%if %{include_debug_build}
-%package headless-slowdebug
-Summary: %{origin_nice} %{featurever} Runtime Environment %{debug_on}
-%if (0%{?rhel} > 0 && 0%{?rhel} <= 8) || (0%{?fedora} >= 0 && 0%{?fedora} < 30)
-Group: Development/Languages
-%endif
-
-%{java_headless_rpo -- %{debug_suffix_unquoted}}
-
-%description headless-slowdebug
-The %{origin_nice} %{featurever} runtime environment without audio and video support.
-%{debug_warning}
-%endif
-
-%if %{include_fastdebug_build}
-%package headless-fastdebug
-Summary: %{origin_nice} %{featurever} Runtime Environment %{fastdebug_on}
-%if (0%{?rhel} > 0 && 0%{?rhel} <= 8) || (0%{?fedora} >= 0 && 0%{?fedora} < 30)
-Group: Development/Languages
-%endif
-
-%{java_headless_rpo -- %{fastdebug_suffix_unquoted}}
-
-%description headless-fastdebug
-The %{origin_nice} %{featurever} runtime environment without audio and video support.
-%{fastdebug_warning}
-%endif
-
-%if %{include_normal_build}
-%package devel
-Summary: %{origin_nice} %{featurever} Development Environment
-%if (0%{?rhel} > 0 && 0%{?rhel} <= 8) || (0%{?fedora} >= 0 && 0%{?fedora} < 30)
-Group: Development/Languages
-%endif
-
-%{java_devel_rpo %{nil}}
-
-%description devel
-The %{origin_nice} %{featurever} development tools.
-%endif
-
-%if %{include_debug_build}
-%package devel-slowdebug
-Summary: %{origin_nice} %{featurever} Development Environment %{debug_on}
-%if (0%{?rhel} > 0 && 0%{?rhel} <= 8) || (0%{?fedora} >= 0 && 0%{?fedora} < 30)
-Group: Development/Languages
-%endif
-
-%{java_devel_rpo -- %{debug_suffix_unquoted}}
-
-%description devel-slowdebug
-The %{origin_nice} %{featurever} development tools.
-%{debug_warning}
-%endif
-
-%if %{include_fastdebug_build}
-%package devel-fastdebug
-Summary: %{origin_nice} %{featurever} Development Environment %{fastdebug_on}
-%if (0%{?rhel} > 0 && 0%{?rhel} <= 8) || (0%{?fedora} >= 0 && 0%{?fedora} < 30)
-Group: Development/Tools
-%endif
-
-%{java_devel_rpo -- %{fastdebug_suffix_unquoted}}
-
-%description devel-fastdebug
-The %{origin_nice} %{featurever} development tools.
-%{fastdebug_warning}
-%endif
-
-%if %{include_staticlibs}
-
-%if %{include_normal_build}
-%package static-libs
-Summary: %{origin_nice} %{featurever} libraries for static linking
-
-%{java_static_libs_rpo %{nil}}
-
-%description static-libs
-The %{origin_nice} %{featurever} libraries for static linking.
-%endif
-
-%if %{include_debug_build}
-%package static-libs-slowdebug
-Summary: %{origin_nice} %{featurever} libraries for static linking %{debug_on}
-
-%{java_static_libs_rpo -- %{debug_suffix_unquoted}}
-
-%description static-libs-slowdebug
-The %{origin_nice} %{featurever} libraries for static linking.
-%{debug_warning}
-%endif
-
-%if %{include_fastdebug_build}
-%package static-libs-fastdebug
-Summary: %{origin_nice} %{featurever} libraries for static linking %{fastdebug_on}
-
-%{java_static_libs_rpo -- %{fastdebug_suffix_unquoted}}
-
-%description static-libs-fastdebug
-The %{origin_nice} %{featurever} libraries for static linking.
-%{fastdebug_warning}
-%endif
-
-# staticlibs
-%endif
-
-%if %{include_normal_build}
-%package jmods
-Summary: JMods for %{origin_nice} %{featurever}
-%if (0%{?rhel} > 0 && 0%{?rhel} <= 8) || (0%{?fedora} >= 0 && 0%{?fedora} < 30)
-Group: Development/Languages
-%endif
-
-%{java_jmods_rpo %{nil}}
-
-%description jmods
-The JMods for %{origin_nice} %{featurever}.
-%endif
-
-%if %{include_debug_build}
-%package jmods-slowdebug
-Summary: JMods for %{origin_nice} %{featurever} %{debug_on}
-%if (0%{?rhel} > 0 && 0%{?rhel} <= 8) || (0%{?fedora} >= 0 && 0%{?fedora} < 30)
-Group: Development/Languages
-%endif
-
-%{java_jmods_rpo -- %{debug_suffix_unquoted}}
-
-%description jmods-slowdebug
-The JMods for %{origin_nice} %{featurever}.
-%{debug_warning}
-%endif
-
-%if %{include_fastdebug_build}
-%package jmods-fastdebug
-Summary: JMods for %{origin_nice} %{featurever} %{fastdebug_on}
-%if (0%{?rhel} > 0 && 0%{?rhel} <= 8) || (0%{?fedora} >= 0 && 0%{?fedora} < 30)
-Group: Development/Tools
-%endif
-
-%{java_jmods_rpo -- %{fastdebug_suffix_unquoted}}
-
-%description jmods-fastdebug
-The JMods for %{origin_nice} %{featurever}.
-%{fastdebug_warning}
-%endif
-
-%if %{include_normal_build}
-%package demo
-Summary: %{origin_nice} %{featurever} Demos
-%if (0%{?rhel} > 0 && 0%{?rhel} <= 8) || (0%{?fedora} >= 0 && 0%{?fedora} < 30)
-Group: Development/Languages
-%endif
-
-%{java_demo_rpo %{nil}}
-
-%description demo
-The %{origin_nice} %{featurever} demos.
-%endif
-
-%if %{include_debug_build}
-%package demo-slowdebug
-Summary: %{origin_nice} %{featurever} Demos %{debug_on}
-%if (0%{?rhel} > 0 && 0%{?rhel} <= 8) || (0%{?fedora} >= 0 && 0%{?fedora} < 30)
-Group: Development/Languages
-%endif
-
-%{java_demo_rpo -- %{debug_suffix_unquoted}}
-
-%description demo-slowdebug
-The %{origin_nice} %{featurever} demos.
-%{debug_warning}
-%endif
-
-%if %{include_fastdebug_build}
-%package demo-fastdebug
-Summary: %{origin_nice} %{featurever} Demos %{fastdebug_on}
-%if (0%{?rhel} > 0 && 0%{?rhel} <= 8) || (0%{?fedora} >= 0 && 0%{?fedora} < 30)
-Group: Development/Languages
-%endif
-
-%{java_demo_rpo -- %{fastdebug_suffix_unquoted}}
-
-%description demo-fastdebug
-The %{origin_nice} %{featurever} demos.
-%{fastdebug_warning}
-%endif
-
-%if %{include_normal_build}
-%package src
-Summary: %{origin_nice} %{featurever} Source Bundle
-%if (0%{?rhel} > 0 && 0%{?rhel} <= 8) || (0%{?fedora} >= 0 && 0%{?fedora} < 30)
-Group: Development/Languages
-%endif
-
-%{java_src_rpo %{nil}}
-
-%description src
-The %{compatiblename}-src sub-package contains the complete %{origin_nice} %{featurever}
-class library source code for use by IDE indexers and debuggers.
-%endif
-
-%if %{include_debug_build}
-%package src-slowdebug
-Summary: %{origin_nice} %{featurever} Source Bundle %{for_debug}
-%if (0%{?rhel} > 0 && 0%{?rhel} <= 8) || (0%{?fedora} >= 0 && 0%{?fedora} < 30)
-Group: Development/Languages
-%endif
-
-%{java_src_rpo -- %{debug_suffix_unquoted}}
-
-%description src-slowdebug
-The %{compatiblename}-src-slowdebug sub-package contains the complete %{origin_nice} %{featurever}
- class library source code for use by IDE indexers and debuggers, %{for_debug}.
-%endif
-
-%if %{include_fastdebug_build}
-%package src-fastdebug
-Summary: %{origin_nice} %{featurever} Source Bundle %{for_fastdebug}
-%if (0%{?rhel} > 0 && 0%{?rhel} <= 8) || (0%{?fedora} >= 0 && 0%{?fedora} < 30)
-Group: Development/Languages
-%endif
-
-%{java_src_rpo -- %{fastdebug_suffix_unquoted}}
-
-%description src-fastdebug
-The %{compatiblename}-src-fastdebug sub-package contains the complete %{origin_nice} %{featurever}
- class library source code for use by IDE indexers and debuggers, %{for_fastdebug}.
-%endif
-
-%if %{include_normal_build}
-%package javadoc
-Summary: %{origin_nice} %{featurever} API documentation
-%if (0%{?rhel} > 0 && 0%{?rhel} <= 8) || (0%{?fedora} >= 0 && 0%{?fedora} < 30)
-Group: Documentation
-%endif
-Requires: javapackages-filesystem
-Obsoletes: javadoc-slowdebug < 1:13.0.0.33-1.rolling
-
-%{java_javadoc_rpo -- %{nil} %{nil}}
-
-%description javadoc
-The %{origin_nice} %{featurever} API documentation.
-%endif
-
-%if %{include_normal_build}
-%package javadoc-zip
-Summary: %{origin_nice} %{featurever} API documentation compressed in a single archive
-%if (0%{?rhel} > 0 && 0%{?rhel} <= 8) || (0%{?fedora} >= 0 && 0%{?fedora} < 30)
-Group: Documentation
-%endif
-Requires: javapackages-filesystem
-Obsoletes: javadoc-zip-slowdebug < 1:13.0.0.33-1.rolling
-
-%{java_javadoc_rpo -- %{nil} -zip}
-%{java_javadoc_rpo -- %{nil} %{nil}}
-
-%description javadoc-zip
-The %{origin_nice} %{featurever} API documentation compressed in a single archive.
-%endif
-
-%prep
-echo "Preparing %{oj_vendor_version}"
-
-if [ %{include_normal_build} -eq 0 -o %{include_normal_build} -eq 1 ] ; then
- echo "include_normal_build is %{include_normal_build}"
-else
- echo "include_normal_build is %{include_normal_build}, that is invalid. Use 1 for yes or 0 for no"
- exit 11
-fi
-if [ %{include_debug_build} -eq 0 -o %{include_debug_build} -eq 1 ] ; then
- echo "include_debug_build is %{include_debug_build}"
-else
- echo "include_debug_build is %{include_debug_build}, that is invalid. Use 1 for yes or 0 for no"
- exit 12
-fi
-if [ %{include_fastdebug_build} -eq 0 -o %{include_fastdebug_build} -eq 1 ] ; then
- echo "include_fastdebug_build is %{include_fastdebug_build}"
-else
- echo "include_fastdebug_build is %{include_fastdebug_build}, that is invalid. Use 1 for yes or 0 for no"
- exit 13
-fi
-if [ %{include_debug_build} -eq 0 -a %{include_normal_build} -eq 0 -a %{include_fastdebug_build} -eq 0 ] ; then
- echo "You have disabled all builds (normal,fastdebug,slowdebug). That is a no go."
- exit 14
-fi
-
-%setup -q -c -n %{uniquesuffix ""} -T
-# https://bugzilla.redhat.com/show_bug.cgi?id=1189084
-prioritylength=`expr length %{priority}`
-if [ $prioritylength -ne 8 ] ; then
- echo "priority must be 8 digits in total, violated"
- exit 14
-fi
-
-tar -xf %{portablejvmdir}/%{compatiblename}*%{version}*portable.sources.noarch.tar.xz
-tar -xf %{portablejvmdir}/%{compatiblename}*%{version}*portable*.misc.%{_arch}.tar.xz
-tar -xf %{portablejvmdir}/%{compatiblename}*%{version}*portable*.docs.%{_arch}.tar.xz
-
-%if %{include_normal_build}
-tar -xf %{portablejvmdir}/%{compatiblename}*%{version}*portable.unstripped.jdk.%{_arch}.tar.xz
-%if %{include_staticlibs}
-tar -xf %{portablejvmdir}/%{compatiblename}*%{version}*portable.static-libs.%{_arch}.tar.xz
-%endif
-%endif
-%if %{include_fastdebug_build}
-tar -xf %{portablejvmdir}/%{compatiblename}*%{version}*portable.fastdebug.jdk.%{_arch}.tar.xz
-%if %{include_staticlibs}
-tar -xf %{portablejvmdir}/%{compatiblename}*%{version}*portable.fastdebug.static-libs.%{_arch}.tar.xz
-%endif
-%endif
-%if %{include_debug_build}
-tar -xf %{portablejvmdir}/%{compatiblename}*%{version}*portable.slowdebug.jdk.%{_arch}.tar.xz
-%if %{include_staticlibs}
-tar -xf %{portablejvmdir}/%{compatiblename}*%{version}*portable.slowdebug.static-libs.%{_arch}.tar.xz
-%endif
-%endif
-
-# Extract systemtap tapsets
-%if %{with_systemtap}
-tar --strip-components=1 -x -I xz -f %{SOURCE8}
-%if %{include_debug_build}
-cp -r tapset tapset%{debug_suffix}
-%endif
-%if %{include_fastdebug_build}
-cp -r tapset tapset%{fastdebug_suffix}
-%endif
-
-for suffix in %{build_loop} ; do
- for file in "tapset"$suffix/*.in; do
- OUTPUT_FILE=`echo $file | sed -e "s:\.stp\.in$:-%{version}-%{release}.%{_arch}.stp:g"`
- sed -e "s:@ABS_SERVER_LIBJVM_SO@:%{_jvmdir}/%{sdkdir -- $suffix}/lib/server/libjvm.so:g" $file > $file.1
- sed -e "s:@JAVA_SPEC_VER@:%{javaver}:g" $file.1 > $file.2
-# TODO find out which architectures other than i686 have a client vm
-%ifarch %{ix86}
- sed -e "s:@ABS_CLIENT_LIBJVM_SO@:%{_jvmdir}/%{sdkdir -- $suffix}/lib/client/libjvm.so:g" $file.2 > $OUTPUT_FILE
-%else
- sed -e "/@ABS_CLIENT_LIBJVM_SO@/d" $file.2 > $OUTPUT_FILE
-%endif
- sed -i -e "s:@ABS_JAVA_HOME_DIR@:%{_jvmdir}/%{sdkdir -- $suffix}:g" $OUTPUT_FILE
- sed -i -e "s:@INSTALL_ARCH_DIR@:%{archinstall}:g" $OUTPUT_FILE
- sed -i -e "s:@prefix@:%{_jvmdir}/%{sdkdir -- $suffix}/:g" $OUTPUT_FILE
- done
-done
-# systemtap tapsets ends
-%endif
-
-# Prepare desktop files
-# The _X_ syntax indicates variables that are replaced by make upstream
-# The @X@ syntax indicates variables that are replaced by configure upstream
-for suffix in %{build_loop} ; do
-for file in %{SOURCE9}; do
- FILE=`basename $file | sed -e s:\.in$::g`
- EXT="${FILE##*.}"
- NAME="${FILE%.*}"
- OUTPUT_FILE=$NAME$suffix.$EXT
- sed -e "s:_SDKBINDIR_:%{sdkbindir -- $suffix}:g" $file > $OUTPUT_FILE
- sed -i -e "s:@target_cpu@:%{_arch}:g" $OUTPUT_FILE
- sed -i -e "s:@OPENJDK_VER@:%{version}-%{release}.%{_arch}$suffix:g" $OUTPUT_FILE
- sed -i -e "s:@JAVA_VER@:%{javaver}:g" $OUTPUT_FILE
- sed -i -e "s:@JAVA_VENDOR@:%{origin}:g" $OUTPUT_FILE
-done
-done
-
-%build
-# we need to symlink sources to expected location, so debuginfo strip can locate debugsources
-src_image=`ls -d %{compatiblename}*%{version}*portable.sources.noarch`
-misc_image=`ls -d %{compatiblename}*%{version}*portable.misc.%{_arch}`
-cp -rf $misc_image/%{generated_sources_name}/%{vcstag}/ $src_image # it would be nice to remove them once debugsources are generated:(
-ln -s $src_image/%{vcstag} %{vcstag}
-mkdir build
-pushd build
- cp -r ../$misc_image/%{generated_sources_name}/jdk%{featurever}.build* .
-popd
-doc_image=`ls -d %{compatiblename}*%{version}*portable.docs.%{_arch}`
-# in addition the builddir must match the builddir of the portables, including release
-# be aware, even os may be different, especially with buildonce, repack everywhere
-# so deducting it from installed deps
-portablenvr=`echo ${misc_image} | sed "s/portable.*.misc.//"`
-portablebuilddir=/builddir/build/BUILD
- # Fix build paths in ELF files so it looks like we built them
- for file in $(find `pwd` -type f | grep -v -e "$src_image" -e "$doc_image") ; do
- if file ${file} | grep -q 'ELF'; then
- %{debugedit} -b "${portablebuilddir}/${portablenvr}" -d "$(pwd)" -n "${file}"
- fi
- done
-
-%install
-function installjdk() {
- local imagepath=${1}
-
- if [ -d ${imagepath} ] ; then
- # the build (erroneously) removes read permissions from some jars
- # this is a regression in OpenJDK 7 (our compiler):
- # http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1437
- find ${imagepath} -iname '*.jar' -exec chmod ugo+r {} \;
-
- # Build screws up permissions on binaries
- # https://bugs.openjdk.java.net/browse/JDK-8173610
- find ${imagepath} -iname '*.so' -exec chmod +x {} \;
- find ${imagepath}/bin/ -exec chmod +x {} \;
-
- # Install nss.cfg right away as we will be using the JRE above
- #is already there from portables
- # Install nss.fips.cfg: NSS configuration for global FIPS mode (crypto-policies)
- #is already there from portables
-
- # Turn on system security properties
- sed -i -e "s:^security.useSystemPropertiesFile=.*:security.useSystemPropertiesFile=true:" \
- ${imagepath}/conf/security/java.security
-
- # Use system-wide tzdata
- mv ${imagepath}/lib/tzdb.dat{,.upstream}
- ln -sv %{javazidir}/tzdb.dat ${imagepath}/lib/tzdb.dat
-
- # Rename OpenJDK cacerts database
- mv ${imagepath}/lib/security/cacerts{,.upstream}
- # Install cacerts symlink needed by some apps which hard-code the path
- ln -sv /etc/pki/java/cacerts ${imagepath}/lib/security
-
- # add alt-java man page
- # alt-java man and bianry are here from portables. Or not?
- fi
-}
-
-# Checks on debuginfo must be performed before the files are stripped
-# by the RPM installation stage
-function debugcheckjdk() {
- local imagepath=${1}
-
- if [ -d ${imagepath} ] ; then
-
- so_suffix="so"
- # Check debug symbols are present and can identify code
- find "${imagepath}" -iname "*.$so_suffix" -print0 | while read -d $'\0' lib
- do
- if [ -f "$lib" ] ; then
- echo "Testing $lib for debug symbols"
- # All these tests rely on RPM failing the build if the exit code of any set
- # of piped commands is non-zero.
-
- # Test for .debug_* sections in the shared object. This is the main test
- # Stripped objects will not contain these
- eu-readelf -S "$lib" | grep "] .debug_"
- test $(eu-readelf -S "$lib" | grep -E "\]\ .debug_(info|abbrev)" | wc --lines) == 2
-
- # Test FILE symbols. These will most likely be removed by anything that
- # manipulates symbol tables because it's generally useless. So a nice test
- # that nothing has messed with symbols
- old_IFS="$IFS"
- IFS=$'\n'
- for line in $(eu-readelf -s "$lib" | grep "00000000 0 FILE LOCAL DEFAULT")
- do
- # We expect to see .cpp and .S files, except for architectures like aarch64 and
- # s390 where we expect .o and .oS files
- echo "$line" | grep -E "ABS ((.*/)?[-_a-zA-Z0-9]+\.(c|cc|cpp|cxx|o|S|oS))?$"
- done
- IFS="$old_IFS"
-
- # If this is the JVM, look for javaCalls.(cpp|o) in FILEs, for extra sanity checking
- if [ "`basename $lib`" = "libjvm.so" ]; then
- eu-readelf -s "$lib" | \
- grep -E "00000000 0 FILE LOCAL DEFAULT ABS javaCalls.(cpp|o)$"
- fi
-
- # Test that there are no .gnu_debuglink sections pointing to another
- # debuginfo file. There shouldn't be any debuginfo files, so the link makes
- # no sense either
- eu-readelf -S "$lib" | grep 'gnu'
- if eu-readelf -S "$lib" | grep "\] .gnu_debuglink" | grep PROGBITS; then
- echo "bad .gnu_debuglink section."
- eu-readelf -x .gnu_debuglink "$lib"
- false
- fi
- fi
- done
-
- # Make sure gdb can do a backtrace based on line numbers on libjvm.so
- # javaCalls.cpp:58 should map to:
- # http://hg.openjdk.java.net/jdk8u/jdk8u/hotspot/file/ff3b27e6bcc2/src/share/vm/runtime/javaCalls.cpp#l58
- # Using line number 1 might cause build problems. See:
- # https://bugzilla.redhat.com/show_bug.cgi?id=1539664
- # https://bugzilla.redhat.com/show_bug.cgi?id=1538767
- gdb -q "${imagepath}/bin/java" <" > a.c
- echo "int main(void) { printf(\"$libjsvml\"); }" >> a.c
- gcc a.c -o exe
- readelf -n exe | grep "Build ID"
- readelf -n $libjsvml | grep "Build ID"
- objcopy --dump-section .note.gnu.build-id=id exe
- objcopy --update-section .note.gnu.build-id=id $libjsvml
- readelf -n $libjsvml | grep -i "Build ID"
- popd
- rm -rf $libjsvmlgcchackdir
- done
- # Check debug symbols were built into the dynamic libraries
- if [ $jdkjre == jdk ] ; then
- #jdk only?
- debugcheckjdk ${top_dir_abs_main_build_path}
- fi
- # Print release information
- cat ${top_dir_abs_main_build_path}/release
- done
-# build cycles
-done # end of release / debug cycle loop
-
-STRIP_KEEP_SYMTAB=libjvm*
-
-for suffix in %{build_loop} ; do
- if [ "x$suffix" = "x" ] ; then
- debugbuild=""
- else
- # change -something to .something
- debugbuild=`echo $suffix | sed "s/-/./g"`
- fi
- buildoutputdir=`ls -d %{compatiblename}*portable${debugbuild}.jdk*`
- top_dir_abs_main_build_path=$(pwd)/${buildoutputdir}
-%if %{include_staticlibs}
- top_dir_abs_staticlibs_build_path=`ls -d $top_dir_abs_main_build_path/lib/static/*/glibc/`
-%endif
- jdk_image=${top_dir_abs_main_build_path}
- src_image=`echo ${top_dir_abs_main_build_path} | sed "s/portable.*.%{_arch}/portable.sources.noarch/"`
- misc_image=`echo ${top_dir_abs_main_build_path} | sed "s/portable.*.%{_arch}/portable.misc.%{_arch}/"`
- docs_image=`echo ${top_dir_abs_main_build_path} | sed "s/portable.*.%{_arch}/portable.docs.%{_arch}/"`
-
-# Install the jdk
-mkdir -p $RPM_BUILD_ROOT%{_jvmdir}
-
-# Install icons
-for s in 16 24 32 48 ; do
- install -D -p -m 644 \
- ${src_image}/%{vcstag}/src/java.desktop/unix/classes/sun/awt/X11/java-icon${s}.png \
- $RPM_BUILD_ROOT%{_datadir}/icons/hicolor/${s}x${s}/apps/java-%{javaver}-%{origin}.png
-done
-
-
-cp -a ${jdk_image} $RPM_BUILD_ROOT%{_jvmdir}/%{sdkdir -- $suffix}
-cp -a ${src_image} $RPM_BUILD_ROOT%{_jvmdir}/%{sdkdir -- $suffix}/full_sources
-cp -a ${misc_image}/%{generated_sources_name} $RPM_BUILD_ROOT%{_jvmdir}/%{sdkdir -- $suffix}
-
-pushd ${jdk_image}
-
-%if %{with_systemtap}
- # Install systemtap support files
- install -dm 755 $RPM_BUILD_ROOT%{_jvmdir}/%{sdkdir -- $suffix}/tapset
- # note, that uniquesuffix is in BUILD dir in this case
- cp -a $RPM_BUILD_DIR/%{uniquesuffix ""}/tapset$suffix/*.stp $RPM_BUILD_ROOT%{_jvmdir}/%{sdkdir -- $suffix}/tapset/
- pushd $RPM_BUILD_ROOT%{_jvmdir}/%{sdkdir -- $suffix}/tapset/
- tapsetFiles=`ls *.stp`
- popd
- install -d -m 755 $RPM_BUILD_ROOT%{tapsetdir}
- for name in $tapsetFiles ; do
- targetName=`echo $name | sed "s/.stp/$suffix.stp/"`
- ln -srvf $RPM_BUILD_ROOT%{_jvmdir}/%{sdkdir -- $suffix}/tapset/$name $RPM_BUILD_ROOT%{tapsetdir}/$targetName
- done
-%endif
-
- # Install version-ed symlinks
- pushd $RPM_BUILD_ROOT%{_jvmdir}
- ln -sf %{sdkdir -- $suffix} %{jrelnk -- $suffix}
- popd
-
- # Install man pages
- install -d -m 755 $RPM_BUILD_ROOT%{_mandir}/man1
- for manpage in man/man1/*
- do
- # Convert man pages to UTF8 encoding
- iconv -f ISO_8859-1 -t UTF8 $manpage -o $manpage.tmp
- mv -f $manpage.tmp $manpage
- install -m 644 -p $manpage $RPM_BUILD_ROOT%{_mandir}/man1/$(basename $manpage .1)-%{uniquesuffix -- $suffix}.1
- done
- # Remove man pages from jdk image
- rm -rf $RPM_BUILD_ROOT%{_jvmdir}/%{sdkdir -- $suffix}/man
-
-popd
-
-# Install static libs artefacts
-%if %{include_staticlibs}
-mkdir -p $RPM_BUILD_ROOT%{_jvmdir}/%{sdkdir -- $suffix}/%{static_libs_install_dir}
-cp -a ${top_dir_abs_staticlibs_build_path}/*.a $RPM_BUILD_ROOT%{_jvmdir}/%{sdkdir -- $suffix}/%{static_libs_install_dir}
-%endif
-
-if ! echo $suffix | grep -q "debug" ; then
- # Install Javadoc documentation
- install -d -m 755 $RPM_BUILD_ROOT%{_javadocdir}
- install -d -m 755 $RPM_BUILD_ROOT%{_javadocdir}/%{uniquejavadocdir -- $suffix}
- built_doc_archive=$(basename $(ls ${docs_image}/jdk*docs.zip))
- cp -a ${docs_image}/${built_doc_archive} \
- $RPM_BUILD_ROOT%{_javadocdir}/%{uniquejavadocdir -- $suffix}.zip
- pushd $RPM_BUILD_ROOT%{_javadocdir}/%{uniquejavadocdir -- $suffix}
- unzip ${docs_image}/${built_doc_archive}
- popd
-fi
-
-# Install release notes
-commondocdir=${RPM_BUILD_ROOT}%{_defaultdocdir}/%{uniquejavadocdir -- $suffix}
-install -d -m 755 ${commondocdir}
-cp -a ${top_dir_abs_main_build_path}/NEWS ${commondocdir}
-
-# Install desktop files
-install -d -m 755 $RPM_BUILD_ROOT%{_datadir}/{applications,pixmaps}
-for e in jconsole$suffix ; do
- desktop-file-install --vendor=%{uniquesuffix -- $suffix} --mode=644 \
- --dir=$RPM_BUILD_ROOT%{_datadir}/applications $e.desktop
-done
-
-# Install /etc/.java/.systemPrefs/ directory
-# See https://bugzilla.redhat.com/show_bug.cgi?id=741821
-mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/.java/.systemPrefs
-
-# moving config files to /etc
-mkdir -p $RPM_BUILD_ROOT/%{etcjavadir -- $suffix}
-mkdir -p $RPM_BUILD_ROOT/%{etcjavadir -- $suffix}/lib
-mv $RPM_BUILD_ROOT/%{_jvmdir}/%{sdkdir -- $suffix}/conf/ $RPM_BUILD_ROOT/%{etcjavadir -- $suffix}
-mv $RPM_BUILD_ROOT/%{_jvmdir}/%{sdkdir -- $suffix}/lib/security $RPM_BUILD_ROOT/%{etcjavadir -- $suffix}/lib
-pushd $RPM_BUILD_ROOT/%{_jvmdir}/%{sdkdir -- $suffix}
- ln -srv $RPM_BUILD_ROOT%{etcjavadir -- $suffix}/conf ./conf
-popd
-pushd $RPM_BUILD_ROOT/%{_jvmdir}/%{sdkdir -- $suffix}/lib
- ln -srv $RPM_BUILD_ROOT%{etcjavadir -- $suffix}/lib/security ./security
-popd
-# end moving files to /etc
-
-#TODO this is done also i portables and in install jdk. But hard to say where the operation will hapen at the end
-# stabilize permissions
-find $RPM_BUILD_ROOT/%{_jvmdir}/%{sdkdir -- $suffix}/ -name "*.so" -exec chmod 755 {} \; ;
-find $RPM_BUILD_ROOT/%{_jvmdir}/%{sdkdir -- $suffix}/ -type d -exec chmod 755 {} \; ;
-find $RPM_BUILD_ROOT/%{_jvmdir}/%{sdkdir -- $suffix}/legal -type f -exec chmod 644 {} \; ;
-
-# end, dual install
-done
-
-%check
-
-# We test debug first as it will give better diagnostics on a crash
-for suffix in %{build_loop} ; do
-
-# Tests in the check stage are performed on the installed image
-# rpmbuild operates as follows: build -> install -> test
-export JAVA_HOME=${RPM_BUILD_ROOT}%{_jvmdir}/%{sdkdir -- $suffix}
-
-#check Shenandoah is enabled
-%if %{use_shenandoah_hotspot}
-$JAVA_HOME/bin/java -XX:+UseShenandoahGC -version
-%endif
-
-# Check unlimited policy has been used
-$JAVA_HOME/bin/javac -d . %{SOURCE13}
-$JAVA_HOME/bin/java --add-opens java.base/javax.crypto=ALL-UNNAMED TestCryptoLevel
-
-# Check ECC is working
-$JAVA_HOME/bin/javac -d . %{SOURCE14}
-$JAVA_HOME/bin/java $(echo $(basename %{SOURCE14})|sed "s|\.java||")
-
-# Check system crypto (policy) is active and can be disabled
-# Test takes a single argument - true or false - to state whether system
-# security properties are enabled or not.
-$JAVA_HOME/bin/javac -d . %{SOURCE15}
-export PROG=$(echo $(basename %{SOURCE15})|sed "s|\.java||")
-export SEC_DEBUG="-Djava.security.debug=properties"
-$JAVA_HOME/bin/java ${SEC_DEBUG} ${PROG} true
-$JAVA_HOME/bin/java ${SEC_DEBUG} -Djava.security.disableSystemPropertiesFile=true ${PROG} false
-
-# Check java launcher has no SSB mitigation
-if ! nm $JAVA_HOME/bin/java | grep set_speculation ; then true ; else false; fi
-
-# Check alt-java launcher has SSB mitigation on supported architectures
-# set_speculation function exists in both cases, so check for prctl call
-%ifarch %{ssbd_arches}
-nm $JAVA_HOME/bin/%{alt_java_name} | grep prctl
-%else
-if ! nm $JAVA_HOME/bin/%{alt_java_name} | grep prctl ; then true ; else false; fi
-%endif
-
-# Check correct vendor values have been set
-$JAVA_HOME/bin/javac -d . %{SOURCE16}
-#TODO skipped vendor check. It now points to PORTABLE version of jdk.
-#$JAVA_HOME/bin/java $(echo $(basename %{SOURCE16})|sed "s|\.java||") "%{oj_vendor}" "%{oj_vendor_url}" "%{oj_vendor_bug_url}" "%{oj_vendor_version}"
-
-# Check translations are available for new timezones
-$JAVA_HOME/bin/javac -d . %{SOURCE18}
-#TODO doublecheck tzdata handling
-$JAVA_HOME/bin/java $(echo $(basename %{SOURCE18})|sed "s|\.java||") JRE || echo "TZDATA no longer can be synced with system, because we repack"
-$JAVA_HOME/bin/java -Djava.locale.providers=CLDR $(echo $(basename %{SOURCE18})|sed "s|\.java||") CLDR || echo "TZDATA no longer can be synced with system, because we repack"
-
-%if %{include_staticlibs}
-# Check debug symbols in static libraries (smoke test)
-export STATIC_LIBS_HOME=${JAVA_HOME}/%{static_libs_install_dir}
-readelf --debug-dump $STATIC_LIBS_HOME/libnet.a | grep Inet4AddressImpl.c
-readelf --debug-dump $STATIC_LIBS_HOME/libnet.a | grep Inet6AddressImpl.c
-%endif
-
-# Check src.zip has all sources. See RHBZ#1130490
-$JAVA_HOME/bin/jar -tf $JAVA_HOME/lib/src.zip | grep 'sun.misc.Unsafe'
-
-# Check class files include useful debugging information
-$JAVA_HOME/bin/javap -l java.lang.Object | grep "Compiled from"
-$JAVA_HOME/bin/javap -l java.lang.Object | grep LineNumberTable
-$JAVA_HOME/bin/javap -l java.lang.Object | grep LocalVariableTable
-
-# Check generated class files include useful debugging information
-$JAVA_HOME/bin/javap -l java.nio.ByteBuffer | grep "Compiled from"
-$JAVA_HOME/bin/javap -l java.nio.ByteBuffer | grep LineNumberTable
-$JAVA_HOME/bin/javap -l java.nio.ByteBuffer | grep LocalVariableTable
-
-# build cycles check
-done
-
-%if %{include_normal_build}
-# intentionally only for non-debug
-%pretrans headless -p
--- see https://bugzilla.redhat.com/show_bug.cgi?id=1038092 for whole issue
--- see https://bugzilla.redhat.com/show_bug.cgi?id=1290388 for pretrans over pre
--- if copy-jdk-configs is in transaction, it installs in pretrans to temp
--- if copy_jdk_configs is in temp, then it means that copy-jdk-configs is in transaction and so is
--- preferred over one in %%{_libexecdir}. If it is not in transaction, then depends
--- whether copy-jdk-configs is installed or not. If so, then configs are copied
--- (copy_jdk_configs from %%{_libexecdir} used) or not copied at all
-local posix = require "posix"
-
-if (os.getenv("debug") == "true") then
- debug = true;
- print("cjc: in spec debug is on")
-else
- debug = false;
-end
-
-SOURCE1 = "%{rpm_state_dir}/copy_jdk_configs.lua"
-SOURCE2 = "%{_libexecdir}/copy_jdk_configs.lua"
-
-local stat1 = posix.stat(SOURCE1, "type");
-local stat2 = posix.stat(SOURCE2, "type");
-
- if (stat1 ~= nil) then
- if (debug) then
- print(SOURCE1 .." exists - copy-jdk-configs in transaction, using this one.")
- end;
- package.path = package.path .. ";" .. SOURCE1
-else
- if (stat2 ~= nil) then
- if (debug) then
- print(SOURCE2 .." exists - copy-jdk-configs already installed and NOT in transaction. Using.")
- end;
- package.path = package.path .. ";" .. SOURCE2
- else
- if (debug) then
- print(SOURCE1 .." does NOT exists")
- print(SOURCE2 .." does NOT exists")
- print("No config files will be copied")
- end
- return
- end
-end
-arg = nil ; -- it is better to null the arg up, no meter if they exists or not, and use cjc as module in unified way, instead of relaying on "main" method during require "copy_jdk_configs.lua"
-cjc = require "copy_jdk_configs.lua"
-args = {"--currentjvm", "%{uniquesuffix %{nil}}", "--jvmdir", "%{_jvmdir %{nil}}", "--origname", "%{name}", "--origjavaver", "%{javaver}", "--arch", "%{_arch}", "--temp", "%{rpm_state_dir}/%{name}.%{_arch}"}
-cjc.mainProgram(args)
-
-%post
-%{post_script %{nil}}
-
-%post headless
-%{post_headless %{nil}}
-
-%postun
-%{postun_script %{nil}}
-
-%postun headless
-%{postun_headless %{nil}}
-
-%posttrans
-%{posttrans_script %{nil}}
-
-%posttrans headless
-%{alternatives_java_install %{nil}}
-
-%post devel
-%{post_devel %{nil}}
-
-%postun devel
-%{postun_devel %{nil}}
-
-%posttrans devel
-%{posttrans_devel %{nil}}
-
-%posttrans javadoc
-%{alternatives_javadoc_install %{nil}}
-
-%postun javadoc
-%{postun_javadoc %{nil}}
-
-%posttrans javadoc-zip
-%{alternatives_javadoczip_install %{nil}}
-
-%postun javadoc-zip
-%{postun_javadoc_zip %{nil}}
-%endif
-
-%if %{include_debug_build}
-%post slowdebug
-%{post_script -- %{debug_suffix_unquoted}}
-
-%post headless-slowdebug
-%{post_headless -- %{debug_suffix_unquoted}}
-
-%posttrans headless-slowdebug
-%{alternatives_java_install -- %{debug_suffix_unquoted}}
-
-%postun slowdebug
-%{postun_script -- %{debug_suffix_unquoted}}
-
-%postun headless-slowdebug
-%{postun_headless -- %{debug_suffix_unquoted}}
-
-%posttrans slowdebug
-%{posttrans_script -- %{debug_suffix_unquoted}}
-
-%post devel-slowdebug
-%{post_devel -- %{debug_suffix_unquoted}}
-
-%postun devel-slowdebug
-%{postun_devel -- %{debug_suffix_unquoted}}
-
-%posttrans devel-slowdebug
-%{posttrans_devel -- %{debug_suffix_unquoted}}
-%endif
-
-%if %{include_fastdebug_build}
-%post fastdebug
-%{post_script -- %{fastdebug_suffix_unquoted}}
-
-%post headless-fastdebug
-%{post_headless -- %{fastdebug_suffix_unquoted}}
-
-%postun fastdebug
-%{postun_script -- %{fastdebug_suffix_unquoted}}
-
-%postun headless-fastdebug
-%{postun_headless -- %{fastdebug_suffix_unquoted}}
-
-%posttrans fastdebug
-%{posttrans_script -- %{fastdebug_suffix_unquoted}}
-
-%posttrans headless-fastdebug
-%{alternatives_java_install -- %{fastdebug_suffix_unquoted}}
-
-%post devel-fastdebug
-%{post_devel -- %{fastdebug_suffix_unquoted}}
-
-%postun devel-fastdebug
-%{postun_devel -- %{fastdebug_suffix_unquoted}}
-
-%posttrans devel-fastdebug
-%{posttrans_devel -- %{fastdebug_suffix_unquoted}}
-
-%endif
-
-%if %{include_normal_build}
-%files
-# main package builds always
-%{files_jre %{nil}}
-%else
-%files
-# placeholder
-%endif
-
-
-%if %{include_normal_build}
-%files headless
-# important note, see https://bugzilla.redhat.com/show_bug.cgi?id=1038092 for whole issue
-# all config/noreplace files (and more) have to be declared in pretrans. See pretrans
-%{files_jre_headless %{nil}}
-
-%files devel
-%{files_devel %{nil}}
-
-%if %{include_staticlibs}
-%files static-libs
-%{files_static_libs %{nil}}
-%endif
-
-%files jmods
-%{files_jmods %{nil}}
-
-%files demo
-%{files_demo %{nil}}
-
-%files src
-%{files_src %{nil}}
-
-%files javadoc
-%{files_javadoc %{nil}}
-
-# This puts a huge documentation file in /usr/share
-# It is now architecture-dependent, as eg. AOT and Graal are now x86_64 only
-# same for debug variant
-%files javadoc-zip
-%{files_javadoc_zip %{nil}}
-%endif
-
-%if %{include_debug_build}
-%files slowdebug
-%{files_jre -- %{debug_suffix_unquoted}}
-
-%files headless-slowdebug
-%{files_jre_headless -- %{debug_suffix_unquoted}}
-
-%files devel-slowdebug
-%{files_devel -- %{debug_suffix_unquoted}}
-
-%if %{include_staticlibs}
-%files static-libs-slowdebug
-%{files_static_libs -- %{debug_suffix_unquoted}}
-%endif
-
-%files jmods-slowdebug
-%{files_jmods -- %{debug_suffix_unquoted}}
-
-%files demo-slowdebug
-%{files_demo -- %{debug_suffix_unquoted}}
-
-%files src-slowdebug
-%{files_src -- %{debug_suffix_unquoted}}
-%endif
-
-%if %{include_fastdebug_build}
-%files fastdebug
-%{files_jre -- %{fastdebug_suffix_unquoted}}
-
-%files headless-fastdebug
-%{files_jre_headless -- %{fastdebug_suffix_unquoted}}
-
-%files devel-fastdebug
-%{files_devel -- %{fastdebug_suffix_unquoted}}
-
-%if %{include_staticlibs}
-%files static-libs-fastdebug
-%{files_static_libs -- %{fastdebug_suffix_unquoted}}
-%endif
-
-%files jmods-fastdebug
-%{files_jmods -- %{fastdebug_suffix_unquoted}}
-
-%files demo-fastdebug
-%{files_demo -- %{fastdebug_suffix_unquoted}}
-
-%files src-fastdebug
-%{files_src -- %{fastdebug_suffix_unquoted}}
-
-%endif
-
-%changelog
-* Mon Jun 24 2024 Troy Dawson - 1:17.0.10.0.7-1.1
-- Bump release for June 2024 mass rebuild
-
-* Thu Jan 25 2024 Jiri Vanek - 1:17.0.10.0.7-1
-- bumped to repack use 10.0.7 portables
-
-* Sat Dec 16 2023 Jiri Vanek - 1:17.0.9.0.9-3
-* using generated sources from portables for final debuginfo
-
-* Sat Dec 09 2023 Jiri Vanek - 1:17.0.9.0.9-2
-- proeprly filing debugsources pkg
- by addedd symlinks restructuring the structure for original build sources
-- according to logs, some are still missing
- probably generated during the build, and thus not existing in prep,
- when the sources subpkg is created after patching
-
-* Wed Nov 22 2023 Jiri Vanek - 1:17.0.9.0.9-1
-- updated to OpenJDK 17.0.9 (2023-10-17)
-
-* Fri Sep 29 2023 Yaakov Selkowitz - 1:17.0.8.0.7-2
-- Fix flatpak build
-
-* Tue Aug 08 2023 Jiri Vanek - 1:17.0.8.0.7-1
-- updated to security 17.0.8.0.7
-
-* Thu Jul 20 2023 Fedora Release Engineering - 1:17.0.7.0.7-5.1
-- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
-
-* Thu May 11 2023 Jiri Vanek - 1:17.0.7.0.7-5
-- rebuilding aginst new portables:
-- - returned lost nss.fips.cfg
-- - enabled all crypto
-- - added and applied, on demand, patch2003 jdk8305995-footprint_regression_from_jdk_8224957
-
-* Wed May 10 2023 Severin Gehwolf - 1:17.0.7.0.7-4
-- Fix packaging of CDS archives
-
-* Tue May 09 2023 Jiri Vanek - 1:17.0.7.0.7-3
-- faking build-id in libjsvml.so
-
-* Fri Apr 28 2023 Jiri Vanek - 1:17.0.7.0.7-2
-- returned news and samples
-
-* Fri Apr 28 2023 Jiri Vanek - 1:17.0.7.0.7-1
-- updated to 17.0.7.0.7 underlying portables
-- now untarring enforced version
-
-* Wed Apr 19 2023 Jiri Vanek - 1:17.0.6.0.10-5
-- using icons from source package
-- providing full sources via src package
-- requiring exact version.reelase of portables
-- returned libsystemconf.so
-
-* Mon Jan 30 2023 Jiri Vanek - 1:17.0.6.0.10-4
-- repacked bits are now requested in exact version
-
-* Mon Jan 30 2023 Petra Alice Mikova - 1:17.0.6.0.10-3
-- return libfreetype.so binary to resolve requires problems
-
-* Thu Jan 26 2023 Jiri Vanek - 1:17.0.6.0.10-2
-- repacked portables
-- todo icons
-- disabled tzdata tests - todo, resolve
-- left some duplicated "final tunings"
-- todo, lost alt java manpage.. probably already in portables
-- TODO conslut this clean up - javdoc, freetype and NEWS
-- todo, debuginfo
-
-* Thu Jan 26 2023 Andrew Hughes - 1:17.0.6.0.10-1
-- Update to jdk-17.0.6.0+10
-- Update release notes to 17.0.6.0+10
-- Switch to GA mode for release
-
-* Thu Jan 19 2023 Fedora Release Engineering - 1:17.0.6.0.9-0.2.ea.1
-- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
-
-* Fri Jan 13 2023 Andrew Hughes - 1:17.0.6.0.9-0.2.ea
-- Update FIPS support to bring in latest changes
-- * OJ1357: Fix issue on FIPS with a SecurityManager in place
-
-* Wed Jan 04 2023 Andrew Hughes - 1:17.0.6.0.9-0.1.ea
-- Update to jdk-17.0.6+9
-- Update release notes to 17.0.6+9
-- Drop local copy of JDK-8293834 now this is upstream
-- Require tzdata 2022g due to inclusion of JDK-8296108, JDK-8296715 & JDK-8297804
-- Update TestTranslations.java to test the new America/Ciudad_Juarez zone
-
-* Wed Dec 07 2022 Stephan Bergmann - 1:17.0.6.0.1-0.3.ea
-- Fix flatpak builds by disabling TestTranslations test due to missing tzdb.dat
-
-* Wed Nov 23 2022 Andrew Hughes - 1:17.0.6.0.1-0.2.ea
-- Update FIPS support to bring in latest changes
-- * Add nss.fips.cfg support to OpenJDK tree
-- * RH2117972: Extend the support for NSS DBs (PKCS11) in FIPS mode
-- * Remove forgotten dead code from RH2020290 and RH2104724
-- Drop local nss.fips.cfg.in handling now this is handled in the patched OpenJDK build
-
-* Wed Nov 09 2022 Andrew Hughes - 1:17.0.6.0.1-0.1.ea
-- Update to jdk-17.0.6+1
-- Update release notes to 17.0.6+1
-- Switch to EA mode for 17.0.6 pre-release builds.
-- Re-enable EA upstream status check now it is being actively maintained.
-- Drop JDK-8294357 (tzdata2022d) & JDK-8295173 (tzdata2022e) local patches which are now upstream
-- Bump tzdata requirement to 2022e now the package is available in Fedora
-
-* Wed Oct 19 2022 Andrew Hughes - 1:17.0.5.0.8-1
-- Update to jdk-17.0.5+8 (GA)
-- Update release notes to 17.0.5+8 (GA)
-- Switch to GA mode for final release.
-- The stdc++lib, zlib & freetype options should always be set from the global, so they are not altered for staticlibs builds
-- Remove freetype sources along with zlib sources
-
-* Fri Oct 14 2022 Andrew Hughes - 1:17.0.5.0.7-0.2.ea
-- Update in-tree tzdata to 2022e with JDK-8294357 & JDK-8295173
-- Update CLDR data with Europe/Kyiv (JDK-8293834)
-- Drop JDK-8292223 patch which we found to be unnecessary
-- Update TestTranslations.java to use public API based on TimeZoneNamesTest upstream
-
-* Tue Oct 04 2022 Andrew Hughes - 1:17.0.5.0.7-0.1.ea
-- Update to jdk-17.0.5+7
-- Update release notes to 17.0.5+7
-
-* Mon Oct 03 2022 Andrew Hughes - 1:17.0.5.0.1-0.1.ea
-- Update to jdk-17.0.5+1
-- Update release notes to 17.0.5+1
-- Switch to EA mode for 17.0.5 pre-release builds.
-- Bump HarfBuzz bundled version to 4.4.1 following JDK-8289853
-- Bump FreeType bundled version to 2.12.1 following JDK-8290334
-
-* Tue Aug 30 2022 Andrew Hughes - 1:17.0.4.1.1-3
-- Switch to static builds, reducing system dependencies and making build more portable
-
-* Mon Aug 29 2022 Andrew Hughes - 1:17.0.4.1.1-2
-- Update FIPS support to bring in latest changes
-- * RH2048582: Support PKCS#12 keystores
-- * RH2020290: Support TLS 1.3 in FIPS mode
-
-* Sun Aug 21 2022 Andrew Hughes - 1:17.0.4.1.1-1
-- Update to jdk-17.0.4.1+1
-- Update release notes to 17.0.4.1+1
-- Add patch to provide translations for Europe/Kyiv added in tzdata2022b
-- Add test to ensure timezones can be translated
-
-* Mon Aug 15 2022 Andrew Hughes - 1:17.0.4.0.8-2
-- Update FIPS support to bring in latest changes
-- * RH2104724: Avoid import/export of DH private keys
-- * RH2092507: P11Key.getEncoded does not work for DH keys in FIPS mode
-- * Build the systemconf library on all platforms
-
-* Fri Jul 22 2022 Andrew Hughes - 1:17.0.4.0.8-1
-- Update to jdk-17.0.4.0+8
-- Update release notes to 17.0.4.0+8
-- Switch to GA mode for release
-- Exclude x86 where java_arches is undefined, in order to unbreak build
-
-* Fri Jul 22 2022 Jiri Vanek - 1:17.0.4.0.7-0.3.ea
-- moved to build only on %%{java_arches}
--- https://fedoraproject.org/wiki/Changes/Drop_i686_JDKs
-- reverted :
--- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild (always mess up release)
--- Try to build on x86 again by creating a husk of a JDK which does not depend on itself
--- Exclude x86 from builds as the bootstrap JDK is now completely broken and unusable
--- Replaced binaries and .so files with bash-stubs on i686
-- added ExclusiveArch: %%{java_arches}
--- this now excludes i686
--- this is safely backport-able to older fedoras, as the macro was backported proeprly (with i686 included)
-- https://bugzilla.redhat.com/show_bug.cgi?id=2104128
-
-* Thu Jul 21 2022 Fedora Release Engineering - 1:17.0.4.0.7-0.2.ea.1
-- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
-
-* Tue Jul 19 2022 Andrew Hughes - 1:17.0.4.0.7-0.2.ea
-- Try to build on x86 again by creating a husk of a JDK which does not depend on itself
-
-* Sat Jul 16 2022 Andrew Hughes - 1:17.0.4.0.7-0.1.ea
-- Update to jdk-17.0.3.0+7
-- Update release notes to 17.0.3.0+7
-- Exclude x86 from builds as the bootstrap JDK is now completely broken and unusable
-- Need to include the '.S' suffix in debuginfo checks after JDK-8284661
-
-* Thu Jul 14 2022 Andrew Hughes - 1:17.0.4.0.1-0.5.ea
-- Explicitly require crypto-policies during build and runtime for system security properties
-
-* Thu Jul 14 2022 Jiri Vanek - 1:17.0.4.0.1-0.4.ea
-- Replaced binaries and .so files with bash-stubs on i686 in preparation of the removal on that architecture:
-- https://fedoraproject.org/wiki/Changes/Drop_i686_JDKs
-
-* Thu Jul 14 2022 FeRD (Frank Dana) - 1:17.0.4.0.1-0.3.ea
-- Add javaver- and origin-specific javadoc and javadoczip alternatives.
-
-* Thu Jul 14 2022 Andrew Hughes - 1:17.0.4.0.1-0.2.ea
-- Make use of the vendor version string to store our version & release rather than an upstream release date
-- Include a test in the RPM to check the build has the correct vendor information.
-
-* Thu Jul 14 2022 Jayashree Huttanagoudar - 1:17.0.4.0.1-0.2.ea
-- Fix issue where CheckVendor.java test erroneously passes when it should fail.
-- Add proper quoting so '&' is not treated as a special character by the shell.
-
-* Mon Jul 11 2022 Andrew Hughes - 1:17.0.4.0.1-0.1.ea
-- Update to jdk-17.0.4.0+1
-- Update release notes to 17.0.4.0+1
-- Switch to EA mode for 17.0.4 pre-release builds.
-- Drop JDK-8282004 patch which is now upstreamed under JDK-8282231
-- Print release file during build, which should now include a correct SOURCE value from .src-rev
-- Update tarball script with IcedTea GitHub URL and .src-rev generation
-- Include script to generate bug list for release notes
-- Update tzdata requirement to 2022a to match JDK-8283350
-- Move EA designator check to prep so failures can be caught earlier
-- Make EA designator check non-fatal while upstream is not maintaining it
-
-* Thu Jul 07 2022 Andrew Hughes - 1:17.0.3.0.7-7
-- Fix whitespace in spec file
-
-* Thu Jul 07 2022 Andrew Hughes - 1:17.0.3.0.7-7
-- Sequence spec file sections as they are run by rpmbuild (build, install then test)
-
-* Tue Jul 05 2022 Andrew Hughes - 1:17.0.3.0.7-7
-- Turn on system security properties as part of the build's install section
-- Move cacerts replacement to install section and retain original of this and tzdb.dat
-- Run tests on the installed image, rather than the build image
-- Introduce variables to refer to the static library installation directories
-- Use relative symlinks so they work within the image
-- Run debug symbols check during build stage, before the install strips them
-
-* Fri Jul 01 2022 Stephan Bergmann - 1:17.0.3.0.7-6
-- Fix flatpak builds by exempting them from bootstrap
-
-* Thu Jun 30 2022 Francisco Ferrari Bihurriet - 1:17.0.3.0.7-5
-- RH2007331: SecretKey generate/import operations don't add the CKA_SIGN attribute in FIPS mode
-
-* Mon Jun 27 2022 Stephan Bergmann - 1:17.0.3.0.7-4
-- Fix flatpak builds (catering for their uncompressed manual pages)
-
-* Wed Jun 22 2022 Andrew Hughes - 1:17.0.3.0.7-3
-- Update FIPS support to bring in latest changes
-- * RH2036462: sun.security.pkcs11.wrapper.PKCS11.getInstance breakage
-- * RH2090378: Revert to disabling system security properties and FIPS mode support together
-- Rebase RH1648249 nss.cfg patch so it applies after the FIPS patch
-- Enable system security properties in the RPM (now disabled by default in the FIPS repo)
-- Improve security properties test to check both enabled and disabled behaviour
-- Run security properties test with property debugging on
-
-* Sun Jun 12 2022 Andrew Hughes - 1:17.0.3.0.7-2
-- Rebase FIPS patches from fips-17u branch and simplify by using a single patch from that repository
-- Rebase RH1648249 nss.cfg patch so it applies after the FIPS patch
-- RH2023467: Enable FIPS keys export
-- RH2094027: SunEC runtime permission for FIPS
-
-* Sun Apr 24 2022 Andrew Hughes - 1:17.0.3.0.7-1
-- April 2022 security update to jdk 17.0.3+7
-- Update release notes to 17.0.3.0+7
-- Update README.md and generate_source_tarball.sh to match CentOS
-- Switch to GA mode for release
-- JDK-8283911 patch no longer needed now we're GA...
-
-* Wed Apr 13 2022 Andrew Hughes - 1:17.0.3.0.5-0.1.ea
-- Update to jdk-17.0.3.0+5
-- Update release notes to 17.0.3.0+5
-
-* Fri Apr 08 2022 Andrew Hughes - 1:17.0.3.0.1-0.1.ea
-- Update to jdk-17.0.3.0+1
-- Update release notes to 17.0.3.0+1
-- Switch to EA mode for 17.0.3 pre-release builds.
-- Add JDK-8283911 to fix bad DEFAULT_PROMOTED_VERSION_PRE value
-
-* Wed Apr 06 2022 Andrew Hughes - 1:17.0.2.0.8-9
-- Enable AlgorithmParameters and AlgorithmParameterGenerator services in FIPS mode
-
-* Wed Mar 30 2022 Andrew Hughes - 1:17.0.2.0.8-8
-- java-17-openjdk should depend on itself to build, not java-latest-openjdk which is now OpenJDK 18
-
-* Wed Feb 23 2022 Andrew Hughes - 1:17.0.2.0.8-8
-- Detect NSS at runtime for FIPS detection
-- Turn off build-time NSS linking and go back to an explicit Requires on NSS
-
-* Tue Feb 08 2022 Andrew Hughes - 1:17.0.2.0.8-7
-- Reinstate JIT builds on x86_32.
-- Add JDK-8282004 to fix missing CALL effects on x86_32.
-
-* Mon Feb 07 2022 Severin Gehwolf - 1:17.0.2.0.8-6
-- Re-enable gdb backtrace check.
-
-* Mon Feb 07 2022 Andrew Hughes - 1:17.0.2.0.8-5
-- Introduce stapinstall variable to set SystemTap arch directory correctly (e.g. arm64 on aarch64)
-- Need to support noarch for creating source RPMs for non-scratch builds.
-
-* Fri Feb 04 2022 Jiri Vanek - 1:17.0.2.0.8-4
-- moved to become system jdk
-
-* Fri Feb 04 2022 Andrew Hughes - 1:17.0.2.0.8-2
-- Temporarily move x86 to use Zero in order to get a working build
-- Replace -mstackrealign with -mincoming-stack-boundary=2 -mpreferred-stack-boundary=4 on x86_32 for stack alignment
-- Support a HotSpot-only build so a freshly built libjvm.so can then be used in the bootstrap JDK.
-- Explicitly list JIT architectures rather than relying on those with slowdebug builds
-- Disable the serviceability agent on Zero architectures even when the architecture itself is supported
-
-* Mon Jan 24 2022 Andrew Hughes - 1:17.0.2.0.8-1.rolling
-- January 2022 security update to jdk 17.0.2+8
-- Extend LTS check to exclude EPEL.
-- Rename libsvml.so to libjsvml.so following JDK-8276025
-- Remove JDK-8276572 patch which is now upstream.
-- Rebase RH1995150 & RH1996182 patches following JDK-8275863 addition to module-info.java
-
-* Mon Jan 24 2022 Severin Gehwolf - 1:17.0.2.0.8-1.rolling
-- Set LTS designator.
-
-* Mon Jan 24 2022 Andrew Hughes - 1:17.0.1.0.12-16.rolling
-- Separate crypto policy initialisation from FIPS initialisation, now they are no longer interdependent
-
-* Thu Jan 20 2022 Fedora Release Engineering - 1:17.0.1.0.12-15.rolling.1
-- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
-
-* Tue Jan 18 2022 Andrew Hughes - 1:17.0.1.0.12-15.rolling
-- Sync gdb test with java-1.8.0-openjdk and improve architecture restrictions.
-- Disable on x86, x86_64, ppc64le & s390x while these are broken in rawhide.
-
-* Thu Jan 13 2022 Andrew Hughes - 1:17.0.1.0.12-14.rolling
-- Fix FIPS issues in native code and with initialisation of java.security.Security
-
-* Thu Dec 09 2021 Jiri Vanek - 1:17.0.1.0.12-13.rolling
-- Storing and restoring alterntives during update manually
-- Fixing Bug 2001567 - update of JDK/JRE is removing its manually selected alterantives and select (as auto) system JDK/JRE
--- The move of alternatives creation to posttrans to fix:
--- Bug 1200302 - dnf reinstall breaks alternatives
--- Had caused the alternatives to be removed, and then created again,
--- instead of being added, and then removing the old, and thus persisting
--- the selection in family
--- Thus this fix, is storing the family of manually selected master, and if
--- stored, then it is restoring the family of the master
-
-* Thu Dec 09 2021 Jiri Vanek - 1:17.0.1.0.12-12.rolling
-- Family extracted to globals
-
-* Thu Dec 09 2021 Jiri Vanek - 1:17.0.1.0.12-11.rolling
-- javadoc-zip got its own provides next to plain javadoc ones
-
-* Thu Dec 09 2021 Jiri Vanek - 1:17.0.1.0.12-10.rolling
-- replaced tabs by sets of spaces to make rpmlint happy
-
-* Mon Nov 29 2021 Andrew Hughes - 1:17.0.1.0.12-9.rolling
-- Handle Fedora in distro conditionals that currently only pertain to RHEL.
-
-* Thu Nov 18 2021 Jiri Vanek - 1:17.0.0.0.35-8
--- inital import
diff --git a/jconsole.desktop.in b/jconsole.desktop.in
deleted file mode 100644
index 8a3b04d..0000000
--- a/jconsole.desktop.in
+++ /dev/null
@@ -1,10 +0,0 @@
-[Desktop Entry]
-Name=OpenJDK @JAVA_VER@ for @target_cpu@ Monitoring & Management Console (@OPENJDK_VER@)
-Comment=Monitor and manage OpenJDK applications
-Exec=_SDKBINDIR_/jconsole
-Icon=java-@JAVA_VER@-@JAVA_VENDOR@
-Terminal=false
-Type=Application
-StartupWMClass=sun-tools-jconsole-JConsole
-Categories=Development;Profiling;Java;
-Version=1.0
diff --git a/sources b/sources
deleted file mode 100644
index 3bbbb1b..0000000
--- a/sources
+++ /dev/null
@@ -1 +0,0 @@
-SHA512 (tapsets-icedtea-6.0.0pre00-c848b93a8598.tar.xz) = 97d026212363b3c83f6a04100ad7f6fdde833d16579717f8756e2b8c2eb70e144a41a330cb9ccde9c3badd37a2d54fdf4650a950ec21d8b686d545ecb2a64d30