java-11-openjdk package is retired on branch c10s for BAKERY-412
This commit is contained in:
parent
9fc91f31a5
commit
90188d4165
115
.gitignore
vendored
115
.gitignore
vendored
@ -1,115 +0,0 @@
|
||||
*.rpm
|
||||
/systemtap_3.2_tapsets_hg-icedtea8-9d464368e06d.tar.xz
|
||||
/shenandoah-jdk11-b516c8c7a0a4.tar.xz
|
||||
/shenandoah-jdk11-shenandoah-jdk-11+22.tar.xz
|
||||
/shenandoah-jdk11-shenandoah-jdk-11+28.tar.xz
|
||||
/shenandoah-jdk11-shenandoah-jdk-11.0.1+13.tar.xz
|
||||
/shenandoah-jdk11-shenandoah-jdk-11.0.1+13-20190101.tar.xz
|
||||
/shenandoah-jdk11-shenandoah-jdk-11.0.2+7.tar.xz
|
||||
/shenandoah-jdk11-shenandoah-jdk-11.0.3+6.tar.xz
|
||||
/shenandoah-jdk11-shenandoah-jdk-11.0.3+7.tar.xz
|
||||
/shenandoah-jdk11-shenandoah-jdk-11.0.4+2.tar.xz
|
||||
/shenandoah-jdk11-shenandoah-jdk-11.0.4+3.tar.xz
|
||||
/shenandoah-jdk11-shenandoah-jdk-11.0.4+4.tar.xz
|
||||
/shenandoah-jdk11-shenandoah-jdk-11.0.4+5.tar.xz
|
||||
/shenandoah-jdk11-shenandoah-jdk-11.0.4+6.tar.xz
|
||||
/shenandoah-jdk11-shenandoah-jdk-11.0.4+7.tar.xz
|
||||
/shenandoah-jdk11-shenandoah-jdk-11.0.4+8.tar.xz
|
||||
/shenandoah-jdk11-shenandoah-jdk-11.0.4+9.tar.xz
|
||||
/shenandoah-jdk11-shenandoah-jdk-11.0.4+10.tar.xz
|
||||
/shenandoah-jdk11-shenandoah-jdk-11.0.4+11.tar.xz
|
||||
/shenandoah-jdk11-shenandoah-jdk-11.0.5+1.tar.xz
|
||||
/shenandoah-jdk11-shenandoah-jdk-11.0.5+2.tar.xz
|
||||
/shenandoah-jdk11-shenandoah-jdk-11.0.5+2-4curve.tar.xz
|
||||
/shenandoah-jdk11-shenandoah-jdk-11.0.5+9-4curve.tar.xz
|
||||
/shenandoah-jdk11-shenandoah-jdk-11.0.5+9.tar.xz
|
||||
/shenandoah-jdk11-shenandoah-jdk-11.0.5+10.tar.xz
|
||||
/shenandoah-jdk11-shenandoah-jdk-11.0.5+10-4curve.tar.xz
|
||||
/shenandoah-jdk11-shenandoah-jdk-11.0.6+1-4curve.tar.xz
|
||||
/shenandoah-jdk11-shenandoah-jdk-11.0.6+2-4curve.tar.xz
|
||||
/shenandoah-jdk11-shenandoah-jdk-11.0.6+9-4curve.tar.xz
|
||||
/shenandoah-jdk11-shenandoah-jdk-11.0.6+10-4curve.tar.xz
|
||||
/tapsets-icedtea-3.11.0.tar.xz
|
||||
/tapsets-icedtea-3.15.0.tar.xz
|
||||
/shenandoah-jdk11-shenandoah-jdk-11.0.7+1-4curve.tar.xz
|
||||
/shenandoah-jdk11-shenandoah-jdk-11.0.7+2-4curve.tar.xz
|
||||
/shenandoah-jdk11-shenandoah-jdk-11.0.7+3-4curve.tar.xz
|
||||
/shenandoah-jdk11-shenandoah-jdk-11.0.7+3.tar.xz
|
||||
/shenandoah-jdk11-shenandoah-jdk-11.0.7+4-4curve.tar.xz
|
||||
/shenandoah-jdk11-shenandoah-jdk-11.0.7+4.tar.xz
|
||||
/shenandoah-jdk11-shenandoah-jdk-11.0.7+5-4curve.tar.xz
|
||||
/shenandoah-jdk11-shenandoah-jdk-11.0.7+5.tar.xz
|
||||
/shenandoah-jdk11-shenandoah-jdk-11.0.7+6-4curve.tar.xz
|
||||
/shenandoah-jdk11-shenandoah-jdk-11.0.7+6.tar.xz
|
||||
/shenandoah-jdk11-shenandoah-jdk-11.0.7+7-4curve.tar.xz
|
||||
/shenandoah-jdk11-shenandoah-jdk-11.0.7+7.tar.xz
|
||||
/shenandoah-jdk11-shenandoah-jdk-11.0.7+8-4curve.tar.xz
|
||||
/shenandoah-jdk11-shenandoah-jdk-11.0.7+8.tar.xz
|
||||
/shenandoah-jdk11-shenandoah-jdk-11.0.7+9-4curve.tar.xz
|
||||
/shenandoah-jdk11-shenandoah-jdk-11.0.7+9.tar.xz
|
||||
/shenandoah-jdk11-shenandoah-jdk-11.0.7+10-4curve.tar.xz
|
||||
/shenandoah-jdk11-shenandoah-jdk-11.0.7+10.tar.xz
|
||||
/shenandoah-jdk11-shenandoah-jdk-11.0.8+1-4curve.tar.xz
|
||||
/shenandoah-jdk11-shenandoah-jdk-11.0.8+2-4curve.tar.xz
|
||||
/shenandoah-jdk11-shenandoah-jdk-11.0.8+3-4curve.tar.xz
|
||||
/shenandoah-jdk11-shenandoah-jdk-11.0.8+4-4curve.tar.xz
|
||||
/shenandoah-jdk11-shenandoah-jdk-11.0.8+5-4curve.tar.xz
|
||||
/shenandoah-jdk11-shenandoah-jdk-11.0.8+6-4curve.tar.xz
|
||||
/shenandoah-jdk11-shenandoah-jdk-11.0.8+7-4curve.tar.xz
|
||||
/shenandoah-jdk11-shenandoah-jdk-11.0.8+8-4curve.tar.xz
|
||||
/shenandoah-jdk11-shenandoah-jdk-11.0.8+9-4curve.tar.xz
|
||||
/shenandoah-jdk11-shenandoah-jdk-11.0.8+10-4curve.tar.xz
|
||||
/shenandoah-jdk11-shenandoah-jdk-11.0.9+1-4curve.tar.xz
|
||||
/jdk-updates-jdk11u-jdk-11.0.9+2-4curve.tar.xz
|
||||
/jdk-updates-jdk11u-jdk-11.0.9+3-4curve.tar.xz
|
||||
/jdk-updates-jdk11u-jdk-11.0.9+4-4curve.tar.xz
|
||||
/jdk-updates-jdk11u-jdk-11.0.9+5-4curve.tar.xz
|
||||
/jdk-updates-jdk11u-jdk-11.0.9+6-4curve.tar.xz
|
||||
/jdk-updates-jdk11u-jdk-11.0.9+7-4curve.tar.xz
|
||||
/jdk-updates-jdk11u-jdk-11.0.9+8-4curve.tar.xz
|
||||
/jdk-updates-jdk11u-jdk-11.0.9+9-4curve.tar.xz
|
||||
/jdk-updates-jdk11u-jdk-11.0.9+10-4curve.tar.xz
|
||||
/jdk-updates-jdk11u-jdk-11.0.9+11-4curve.tar.xz
|
||||
/jdk-updates-jdk11u-jdk-11.0.10+1-4curve.tar.xz
|
||||
/jdk-updates-jdk11u-jdk-11.0.10+2-4curve.tar.xz
|
||||
/jdk-updates-jdk11u-jdk-11.0.10+3-4curve.tar.xz
|
||||
/jdk-updates-jdk11u-jdk-11.0.10+4-4curve.tar.xz
|
||||
/jdk-updates-jdk11u-jdk-11.0.10+5-4curve.tar.xz
|
||||
/jdk-updates-jdk11u-jdk-11.0.10+8-4curve.tar.xz
|
||||
/jdk-updates-jdk11u-jdk-11.0.10+9-4curve.tar.xz
|
||||
/jdk-updates-jdk11u-jdk-11.0.11+1-4curve.tar.xz
|
||||
/jdk-updates-jdk11u-jdk-11.0.11+2-4curve.tar.xz
|
||||
/jdk-updates-jdk11u-jdk-11.0.11+3-4curve.tar.xz
|
||||
/jdk-updates-jdk11u-jdk-11.0.11+4-4curve.tar.xz
|
||||
/tapsets-icedtea-6.0.0pre00-c848b93a8598.tar.xz
|
||||
/jdk-updates-jdk11u-jdk-11.0.11+5-4curve.tar.xz
|
||||
/jdk-updates-jdk11u-jdk-11.0.11+6-4curve.tar.xz
|
||||
/jdk-updates-jdk11u-jdk-11.0.11+7-4curve.tar.xz
|
||||
/jdk-updates-jdk11u-jdk-11.0.11+9-4curve.tar.xz
|
||||
/jdk-updates-jdk11u-jdk-11.0.12+1-4curve.tar.xz
|
||||
/jdk-updates-jdk11u-jdk-11.0.12+2-4curve.tar.xz
|
||||
/jdk-updates-jdk11u-jdk-11.0.12+3-4curve.tar.xz
|
||||
/jdk-updates-jdk11u-jdk-11.0.12+4-4curve.tar.xz
|
||||
/jdk-updates-jdk11u-jdk-11.0.12+6-4curve.tar.xz
|
||||
/jdk-updates-jdk11u-jdk-11.0.12+7-4curve.tar.xz
|
||||
/jdk-updates-jdk11u-jdk-11.0.12+7-4curve-clean.tar.xz
|
||||
/jdk-updates-jdk11u-jdk-11.0.13+1-4curve.tar.xz
|
||||
/jdk-updates-jdk11u-jdk-11.0.13+7-4curve.tar.xz
|
||||
/jdk-updates-jdk11u-jdk-11.0.13+8-4curve.tar.xz
|
||||
/jdk-updates-jdk11u-jdk-11.0.14+1-4curve.tar.xz
|
||||
/jdk-updates-jdk11u-jdk-11.0.14+8-4curve.tar.xz
|
||||
/jdk-updates-jdk11u-jdk-11.0.14+9-4curve.tar.xz
|
||||
/jdk-updates-jdk11u-jdk-11.0.14.1+1-4curve.tar.xz
|
||||
/jdk-updates-jdk11u-jdk-11.0.15+1-4curve.tar.xz
|
||||
/jdk-updates-jdk11u-jdk-11.0.15+8-4curve.tar.xz
|
||||
/jdk-updates-jdk11u-jdk-11.0.15+9-4curve.tar.xz
|
||||
/jdk-updates-jdk11u-jdk-11.0.15+10-4curve.tar.xz
|
||||
/openjdk-jdk11u-jdk-11.0.16+7-4curve.tar.xz
|
||||
/openjdk-jdk11u-jdk-11.0.16+8-4curve.tar.xz
|
||||
/openjdk-jdk11u-jdk-11.0.16.1+1-4curve.tar.xz
|
||||
/openjdk-jdk11u-jdk-11.0.17+1-4curve.tar.xz
|
||||
/openjdk-jdk11u-jdk-11.0.17+7-4curve.tar.xz
|
||||
/openjdk-jdk11u-jdk-11.0.17+8-4curve.tar.xz
|
||||
/openjdk-jdk11u-jdk-11.0.18+1-4curve.tar.xz
|
||||
/openjdk-jdk11u-jdk-11.0.18+9-4curve.tar.xz
|
||||
/openjdk-jdk11u-jdk-11.0.18+10-4curve.tar.xz
|
@ -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 <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
/**
|
||||
* @test
|
||||
*/
|
||||
public class CheckVendor {
|
||||
|
||||
public static void main(String[] args) {
|
||||
if (args.length < 4) {
|
||||
System.err.println("CheckVendor <VENDOR> <VENDOR-URL> <VENDOR-BUG-URL> <VENDOR-VERSION-STRING>");
|
||||
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);
|
||||
}
|
||||
}
|
@ -1,9 +0,0 @@
|
||||
Package of LTS OpenJDK 11
|
||||
OpenJDK have release cadence of 6 months. but 3/4 of them are Short Term Supported for 6 months only. This package is designed to harbore them. Currently it is build on openJDK 11. LTSs (next is 15) will go as separate packages.
|
||||
|
||||
JDK11 is last LTS release of Java platform. It is bringing many cool improvements - http://openjdk.java.net/projects/jdk/11/ and is landing to your Fedora. Where it will be maintained for several years. You will always be allowed to install Used LTSs in build root, and alongside via alternatives.
|
||||
|
||||
See announcement: http://mail.openjdk.java.net/pipermail/discuss/2017-September/004281.html
|
||||
See java SIG plans: https://jvanek.fedorapeople.org/devconf/2018/changesInjavaReleaseProcess.pdf
|
||||
|
||||
https://fedoraproject.org/wiki/Changes/java-11-openjdk-TechPreview
|
@ -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 <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
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);
|
||||
}
|
||||
}
|
||||
}
|
@ -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 <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
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.");
|
||||
}
|
||||
}
|
@ -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 <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
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 <true|false>");
|
||||
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);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
@ -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 <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
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<Locale,String[]> KYIV, CIUDAD_JUAREZ;
|
||||
|
||||
static {
|
||||
Map<Locale,String[]> map = new HashMap<Locale,String[]>();
|
||||
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<Locale,String[]>();
|
||||
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<Locale,String[]> 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);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
1
dead.package
Normal file
1
dead.package
Normal file
@ -0,0 +1 @@
|
||||
java-11-openjdk package is retired on branch c10s for BAKERY-412
|
@ -1 +0,0 @@
|
||||
## This file is intentionally left blank
|
@ -1 +0,0 @@
|
||||
## This file is intentionally left blank
|
3540
java-11-openjdk.spec
3540
java-11-openjdk.spec
File diff suppressed because it is too large
Load Diff
@ -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
|
Loading…
Reference in New Issue
Block a user