Compare commits
68 Commits
rawhide
...
main-riscv
Author | SHA1 | Date | |
---|---|---|---|
64a3cf8a17 | |||
1dfe7bc90b | |||
8348683e9d | |||
4b66ec132c | |||
|
d8e8a7343a | ||
|
b706724c8e | ||
|
9360b6e15f | ||
|
001f01aeec | ||
|
8b1942d1f2 | ||
|
059263c774 | ||
|
c2cb682cd2 | ||
|
4f31e340e2 | ||
|
17c168159c | ||
|
40e24677c5 | ||
|
9c0f1b0318 | ||
|
c48c35ba9d | ||
|
8814c049fe | ||
|
416e642906 | ||
|
62e78bef71 | ||
|
50747e7123 | ||
|
770b2dc6cf | ||
|
153764519d | ||
|
acad51e27b | ||
|
e205b64fcc | ||
|
a77594e588 | ||
|
14ebb06a95 | ||
|
9105779d37 | ||
|
e2a674daf0 | ||
|
ddda966d83 | ||
|
3c123e76a3 | ||
|
7f1c24631b | ||
|
3f192f7986 | ||
|
3a08aff87f | ||
|
af4ddd0260 | ||
|
c92cdeadf2 | ||
|
8e0a39897f | ||
|
94ed5ba576 | ||
|
2dfa613d22 | ||
|
ea10c278ec | ||
|
3e3e1e8816 | ||
|
6ffc3d6f81 | ||
|
a5c9491c87 | ||
|
9cc67f9d89 | ||
|
e0f2fd85ea | ||
|
d5caa5ca0e | ||
|
fc66e2b516 | ||
|
a0ed8a27a6 | ||
|
08be1ea25e | ||
|
05fbb08537 | ||
|
156863f742 | ||
|
ada4aba7f8 | ||
|
a970b5fbcc | ||
|
8ff925a5d7 | ||
|
229b61db93 | ||
|
407a489293 | ||
|
edf5c072b3 | ||
|
76d35fb69c | ||
|
86a61307c6 | ||
|
ba05b2fee5 | ||
|
68f80a98bf | ||
|
899fd56af2 | ||
|
f94304807a | ||
|
2f0e5bd821 | ||
|
69b27c2585 | ||
|
c9c7c0aecd | ||
0f023d6450 | |||
541022eb07 | |||
1e5d0a21a6 |
29
.gitignore
vendored
29
.gitignore
vendored
@ -1,31 +1,2 @@
|
|||||||
/jdk-jdk12-jdk-12+33.tar.xz
|
|
||||||
/systemtap_3.2_tapsets_hg-icedtea8-9d464368e06d.tar.xz
|
/systemtap_3.2_tapsets_hg-icedtea8-9d464368e06d.tar.xz
|
||||||
/jdk-updates-jdk12u-jdk-12.0.1+12.tar.xz
|
|
||||||
/jdk-jdk13-jdk-13+27.tar.xz
|
|
||||||
/jdk-jdk13-jdk-13+28.tar.xz
|
|
||||||
/jdk-jdk13-jdk-13+33.tar.xz
|
|
||||||
/jdk-updates-jdk13u-jdk-13.0.1+9.tar.xz
|
|
||||||
/jdk-updates-jdk13u-jdk-13.0.2+8.tar.xz
|
|
||||||
/jdk-jdk14-jdk-14+36.tar.xz
|
|
||||||
/jdk-updates-jdk14u-jdk-14.0.1+7.tar.xz
|
|
||||||
/jdk-updates-jdk14u-jdk-14.0.2+12.tar.xz
|
|
||||||
/jdk-jdk15-jdk-15+36.tar.xz
|
|
||||||
/jdk-updates-jdk15u-jdk-15.0.1+9.tar.xz
|
|
||||||
/tapsets-icedtea-3.15.0.tar.xz
|
|
||||||
/jdk-updates-jdk15u-jdk-15.0.2+7.tar.xz
|
|
||||||
/openjdk-jdk16-jdk-16+36.tar.xz
|
|
||||||
/openjdk-jdk16u-jdk-16.0.1+9.tar.xz
|
|
||||||
/openjdk-jdk17-jdk-17+26.tar.xz
|
|
||||||
/openjdk-jdk17-jdk-17+33.tar.xz
|
|
||||||
/openjdk-jdk17-jdk-17+35.tar.xz
|
|
||||||
/openjdk-jdk17u-jdk-17.0.1+12.tar.xz
|
|
||||||
/tapsets-icedtea-6.0.0pre00-c848b93a8598.tar.xz
|
/tapsets-icedtea-6.0.0pre00-c848b93a8598.tar.xz
|
||||||
/openjdk-jdk17u-jdk-17.0.2+8.tar.xz
|
|
||||||
/openjdk-jdk-jdk-18+27.tar.xz
|
|
||||||
/openjdk-jdk18-jdk-18+27.tar.xz
|
|
||||||
/openjdk-jdk18-jdk-18+37.tar.xz
|
|
||||||
/openjdk-jdk18u-jdk-18.0.1+0.tar.xz
|
|
||||||
/openjdk-jdk18u-jdk-18.0.1+10.tar.xz
|
|
||||||
/openjdk-jdk18u-jdk-18.0.1.1+2.tar.xz
|
|
||||||
/openjdk-jdk18u-jdk-18.0.2+9.tar.xz
|
|
||||||
/openjdk-jdk19u-jdk-19+36.tar.xz
|
|
||||||
|
126
NEWS
126
NEWS
@ -1,126 +0,0 @@
|
|||||||
Key:
|
|
||||||
|
|
||||||
JDK-X - https://bugs.openjdk.java.net/browse/JDK-X
|
|
||||||
CVE-XXXX-YYYY: https://cve.mitre.org/cgi-bin/cvename.cgi?name=XXXX-YYYY
|
|
||||||
|
|
||||||
New in release OpenJDK 19.0.0 (2022-09-20):
|
|
||||||
===========================================
|
|
||||||
Major changes are listed below. Some changes may have been backported
|
|
||||||
to earlier releases following their first appearance in OpenJDK 19.
|
|
||||||
|
|
||||||
The full list of changes in 19u can be found at:
|
|
||||||
- * https://builds.shipilev.net/backports-monitor/release-notes-19.txt
|
|
||||||
|
|
||||||
NEW FEATURES
|
|
||||||
============
|
|
||||||
|
|
||||||
Language Features
|
|
||||||
=================
|
|
||||||
|
|
||||||
Pattern Matching for switch
|
|
||||||
===========================
|
|
||||||
https://openjdk.org/jeps/406
|
|
||||||
https://openjdk.org/jeps/420
|
|
||||||
https://openjdk.org/jeps/427
|
|
||||||
|
|
||||||
Enhance the Java programming language with pattern matching for
|
|
||||||
`switch` expressions and statements, along with extensions to the
|
|
||||||
language of patterns. Extending pattern matching to `switch` allows an
|
|
||||||
expression to be tested against a number of patterns, each with a
|
|
||||||
specific action, so that complex data-oriented queries can be
|
|
||||||
expressed concisely and safely.
|
|
||||||
|
|
||||||
This was a preview feature (http://openjdk.java.net/jeps/12) in
|
|
||||||
OpenJDK 17 (JEP 406) and saw a second preview in OpenJDK 18 (JEP 420).
|
|
||||||
It reaches its third preview (JEP 427) in OpenJDK 19.
|
|
||||||
|
|
||||||
Record Patterns
|
|
||||||
===============
|
|
||||||
https://openjdk.org/jeps/405
|
|
||||||
|
|
||||||
Enhance the Java programming language with record patterns to
|
|
||||||
deconstruct record values. Record patterns and type patterns can be
|
|
||||||
nested to enable a powerful, declarative, and composable form of data
|
|
||||||
navigation and processing.
|
|
||||||
|
|
||||||
This is a preview feature (http://openjdk.java.net/jeps/12) introduced
|
|
||||||
in OpenJDK 19 (JEP 405)
|
|
||||||
|
|
||||||
Library Features
|
|
||||||
================
|
|
||||||
|
|
||||||
Vector API
|
|
||||||
==========
|
|
||||||
https://openjdk.org/jeps/338
|
|
||||||
https://openjdk.org/jeps/414
|
|
||||||
https://openjdk.org/jeps/417
|
|
||||||
https://openjdk.org/jeps/426
|
|
||||||
|
|
||||||
Introduce an API to express vector computations that reliably compile
|
|
||||||
at runtime to optimal vector hardware instructions on supported CPU
|
|
||||||
architectures and thus achieve superior performance to equivalent
|
|
||||||
scalar computations.
|
|
||||||
|
|
||||||
This is an incubation feature (https://openjdk.java.net/jeps/11)
|
|
||||||
introduced in OpenJDK 16 (JEP 338). A second round of incubation took
|
|
||||||
place in OpenJDK 17 (JEP 414), OpenJDK 18 (JEP 417) saw a third and
|
|
||||||
OpenJDK 19 sees its fourth (JEP 426).
|
|
||||||
|
|
||||||
Foreign Function & Memory API
|
|
||||||
=============================
|
|
||||||
https://openjdk.org/jeps/412
|
|
||||||
https://openjdk.org/jeps/419
|
|
||||||
https://openjdk.org/jeps/424
|
|
||||||
|
|
||||||
Introduce an API by which Java programs can interoperate with code and
|
|
||||||
data outside of the Java runtime. By efficiently invoking foreign
|
|
||||||
functions (i.e., code outside the JVM), and by safely accessing
|
|
||||||
foreign memory (i.e., memory not managed by the JVM), the API enables
|
|
||||||
Java programs to call native libraries and process native data without
|
|
||||||
the brittleness and danger of JNI.
|
|
||||||
|
|
||||||
This API is now a preview feature (http://openjdk.java.net/jeps/12).
|
|
||||||
It was first introduced in incubation
|
|
||||||
(https://openjdk.java.net/jeps/11) in OpenJDK 17 (JEP 412), and is an
|
|
||||||
evolution of the Foreign Memory Access API (OpenJDK 14 through 16) and
|
|
||||||
Foreign Linker API (OpenJDK 16) (see release notes for
|
|
||||||
java-17-openjdk). OpenJDK 18 saw a second round of incubation (JEP
|
|
||||||
419) before its inclusion as a preview in OpenJDK 19 (JEP 424).
|
|
||||||
|
|
||||||
Virtual Threads
|
|
||||||
===============
|
|
||||||
https://openjdk.org/jeps/425
|
|
||||||
|
|
||||||
Introduce virtual threads to the Java Platform. Virtual threads are
|
|
||||||
lightweight threads that dramatically reduce the effort of writing,
|
|
||||||
maintaining, and observing high-throughput concurrent applications.
|
|
||||||
|
|
||||||
This is a preview feature (http://openjdk.java.net/jeps/12) introduced
|
|
||||||
in OpenJDK 19 (JEP 425)
|
|
||||||
|
|
||||||
Structured Concurrency
|
|
||||||
======================
|
|
||||||
https://openjdk.org/jeps/428
|
|
||||||
|
|
||||||
Simplify multithreaded programming by introducing an API for
|
|
||||||
structured concurrency. Structured concurrency treats multiple tasks
|
|
||||||
running in different threads as a single unit of work, thereby
|
|
||||||
streamlining error handling and cancellation, improving reliability,
|
|
||||||
and enhancing observability.
|
|
||||||
|
|
||||||
This is an incubation feature (https://openjdk.java.net/jeps/11)
|
|
||||||
introduced in OpenJDK 19 (JEP 428).
|
|
||||||
|
|
||||||
Ports
|
|
||||||
=====
|
|
||||||
|
|
||||||
Linux/RISC-V Port
|
|
||||||
=================
|
|
||||||
https://openjdk.org/jeps/422
|
|
||||||
|
|
||||||
RISC-V is a free and open-source RISC instruction set architecture
|
|
||||||
(ISA) designed originally at the University of California, Berkeley,
|
|
||||||
and now developed collaboratively under the sponsorship of RISC-V
|
|
||||||
International. It is already supported by a wide range of language
|
|
||||||
toolchains. With the increasing availability of RISC-V hardware, a
|
|
||||||
port of the JDK would be valuable.
|
|
11
README.md
11
README.md
@ -1,12 +1,13 @@
|
|||||||
Rolling release of (usually) STSs OpenJDK
|
Rolling release of (usually) STSs OpenJDK
|
||||||
OpenJDK has release cadence of 6 months, but 3/4 of them are Short Term Supported for 6 months only. This package is designed to harbor them. Currently it is build of OpenJDK 12. LTSs will go also as separate packages.
|
OpenJDK has release cadence of 6 months, but 3/4 of them are Short Term Supported for 6 months only. This package is designed to harbor them. Currently it is build of OpenJDK 21. LTSs will go also as separate packages.
|
||||||
|
|
||||||
JDK12 is current release of Java platform. It is bringing many cool improvements - https://openjdk.java.net/projects/jdk/12/ and is landing to your Fedora. Where it will be maintained for f28 and newer. Unluckily, this package is STS (short term support) version. Between individual LTS there will be always several STS. Again, please see announcement: http://mail.openjdk.java.net/pipermail/discuss/2017-September/004281.html and See java SIG plans: https://jvanek.fedorapeople.org/devconf/2018/changesInjavaReleaseProcess.pdf . So this is rolling release of all STSs to come. Its fate during the release of fresh LTS is yet to be decided. You will always be allowed to install LTS in fedora build root, alongside with latest STS via alternatives.
|
JDK21 is current release of Java platform. It is bringing many cool improvements - https://openjdk.java.net/projects/jdk/12/ and is landing to your Fedora. Where it will be maintained for f28 and newer. Unluckily, this package is STS (short term support) version. Between individual LTS there will be always several STS. Again, please see announcement: http://mail.openjdk.java.net/pipermail/discuss/2017-September/004281.html and See java SIG plans: https://jvanek.fedorapeople.org/devconf/2018/changesInjavaReleaseProcess.pdf . So this is rolling release of all STSs to come. Its fate during the release of fresh LTS is yet to be decided. You will always be allowed to install LTS in fedora build root, alongside with latest STS via alternatives.
|
||||||
|
|
||||||
|
|
||||||
See announcement: http://mail.openjdk.java.net/pipermail/discuss/2017-September/004281.html
|
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
|
See java SIG plans: https://jvanek.fedorapeople.org/devconf/2018/changesInjavaReleaseProcess.pdf
|
||||||
|
|
||||||
https://bugzilla.redhat.com/show_bug.cgi?id=1557371#c0
|
* 18: https://openjdk.java.net/projects/jdk/18
|
||||||
https://fedoraproject.org/wiki/Changes/java-openjdk-10
|
* 19: https://openjdk.java.net/projects/jdk/19
|
||||||
https://fedoraproject.org/wiki/Changes/java-11-openjdk-TechPreview
|
* 20: https://openjdk.java.net/projects/jdk/20
|
||||||
|
* 21: https://openjdk.java.net/projects/jdk/21
|
||||||
|
@ -15,20 +15,145 @@ 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/>.
|
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
import java.util.Arrays;
|
import java.text.DateFormatSymbols;
|
||||||
import java.util.Locale;
|
|
||||||
import java.util.ResourceBundle;
|
|
||||||
|
|
||||||
import sun.util.resources.LocaleData;
|
import java.time.ZoneId;
|
||||||
import sun.util.locale.provider.LocaleProviderAdapter;
|
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 {
|
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) {
|
public static void main(String[] args) {
|
||||||
for (String zone : args) {
|
if (args.length < 1) {
|
||||||
System.out.printf("Translations for %s\n", zone);
|
System.err.println("Test must be started with the name of the locale provider.");
|
||||||
for (Locale l : Locale.getAvailableLocales()) {
|
System.exit(1);
|
||||||
ResourceBundle bundle = new LocaleData(LocaleProviderAdapter.Type.JRE).getTimeZoneNames(l);
|
}
|
||||||
System.out.printf("Locale: %s, language: %s, translations: %s\n", l, l.getDisplayLanguage(), Arrays.toString(bundle.getStringArray(zone)));
|
|
||||||
|
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);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
File diff suppressed because it is too large
Load Diff
@ -1,163 +1 @@
|
|||||||
#!/bin/bash
|
## This file is intentionally left blank
|
||||||
# Generates the 'source tarball' for JDK projects.
|
|
||||||
#
|
|
||||||
# Example:
|
|
||||||
# When used from local repo set REPO_ROOT pointing to file:// with your repo
|
|
||||||
# If your local repo follows upstream forests conventions, it may be enough to set OPENJDK_URL
|
|
||||||
# If you want to use a local copy of patch PR3788, set the path to it in the PR3788 variable
|
|
||||||
#
|
|
||||||
# In any case you have to set PROJECT_NAME REPO_NAME and VERSION. eg:
|
|
||||||
# PROJECT_NAME=openjdk
|
|
||||||
# REPO_NAME=jdk18u
|
|
||||||
# VERSION=jdk-18.0.1+10
|
|
||||||
# or to eg prepare systemtap:
|
|
||||||
# icedtea7's jstack and other tapsets
|
|
||||||
# VERSION=6327cf1cea9e
|
|
||||||
# REPO_NAME=icedtea7-2.6
|
|
||||||
# PROJECT_NAME=release
|
|
||||||
# OPENJDK_URL=http://icedtea.classpath.org/hg/
|
|
||||||
# TO_COMPRESS="*/tapset"
|
|
||||||
#
|
|
||||||
# They are used to create correct name and are used in construction of sources url (unless REPO_ROOT is set)
|
|
||||||
|
|
||||||
# This script creates a single source tarball out of the repository
|
|
||||||
# based on the given tag and removes code not allowed in fedora/rhel. For
|
|
||||||
# consistency, the source tarball will always contain 'openjdk' as the top
|
|
||||||
# level folder, name is created, based on parameter
|
|
||||||
#
|
|
||||||
|
|
||||||
if [ ! "x$PR3823" = "x" ] ; then
|
|
||||||
if [ ! -f "$PR3823" ] ; then
|
|
||||||
echo "You have specified PR3823 as $PR3823 but it does not exist. Exiting"
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
set -e
|
|
||||||
|
|
||||||
OPENJDK_URL_DEFAULT=https://github.com
|
|
||||||
COMPRESSION_DEFAULT=xz
|
|
||||||
# Corresponding IcedTea version
|
|
||||||
ICEDTEA_VERSION=13.0
|
|
||||||
|
|
||||||
if [ "x$1" = "xhelp" ] ; then
|
|
||||||
echo -e "Behaviour may be specified by setting the following variables:\n"
|
|
||||||
echo "VERSION - the version of the specified OpenJDK project"
|
|
||||||
echo "PROJECT_NAME -- the name of the OpenJDK project being archived (optional; only needed by defaults)"
|
|
||||||
echo "REPO_NAME - the name of the OpenJDK repository (optional; only needed by defaults)"
|
|
||||||
echo "OPENJDK_URL - the URL to retrieve code from (optional; defaults to ${OPENJDK_URL_DEFAULT})"
|
|
||||||
echo "COMPRESSION - the compression type to use (optional; defaults to ${COMPRESSION_DEFAULT})"
|
|
||||||
echo "FILE_NAME_ROOT - name of the archive, minus extensions (optional; defaults to PROJECT_NAME-REPO_NAME-VERSION)"
|
|
||||||
echo "TO_COMPRESS - what part of clone to pack (default is openjdk)"
|
|
||||||
echo "PR3823 - the path to the PR3823 patch to apply (optional; downloaded if unavailable)"
|
|
||||||
exit 1;
|
|
||||||
fi
|
|
||||||
|
|
||||||
|
|
||||||
if [ "x$VERSION" = "x" ] ; then
|
|
||||||
echo "No VERSION specified"
|
|
||||||
exit -2
|
|
||||||
fi
|
|
||||||
echo "Version: ${VERSION}"
|
|
||||||
|
|
||||||
# REPO_NAME is only needed when we default on REPO_ROOT and FILE_NAME_ROOT
|
|
||||||
if [ "x$FILE_NAME_ROOT" = "x" -o "x$REPO_ROOT" = "x" ] ; then
|
|
||||||
if [ "x$PROJECT_NAME" = "x" ] ; then
|
|
||||||
echo "No PROJECT_NAME specified"
|
|
||||||
exit -1
|
|
||||||
fi
|
|
||||||
echo "Project name: ${PROJECT_NAME}"
|
|
||||||
if [ "x$REPO_NAME" = "x" ] ; then
|
|
||||||
echo "No REPO_NAME specified"
|
|
||||||
exit -3
|
|
||||||
fi
|
|
||||||
echo "Repository name: ${REPO_NAME}"
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [ "x$OPENJDK_URL" = "x" ] ; then
|
|
||||||
OPENJDK_URL=${OPENJDK_URL_DEFAULT}
|
|
||||||
echo "No OpenJDK URL specified; defaulting to ${OPENJDK_URL}"
|
|
||||||
else
|
|
||||||
echo "OpenJDK URL: ${OPENJDK_URL}"
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [ "x$COMPRESSION" = "x" ] ; then
|
|
||||||
# rhel 5 needs tar.gz
|
|
||||||
COMPRESSION=${COMPRESSION_DEFAULT}
|
|
||||||
fi
|
|
||||||
echo "Creating a tar.${COMPRESSION} archive"
|
|
||||||
|
|
||||||
if [ "x$FILE_NAME_ROOT" = "x" ] ; then
|
|
||||||
FILE_NAME_ROOT=${PROJECT_NAME}-${REPO_NAME}-${VERSION}
|
|
||||||
echo "No file name root specified; default to ${FILE_NAME_ROOT}"
|
|
||||||
fi
|
|
||||||
if [ "x$REPO_ROOT" = "x" ] ; then
|
|
||||||
REPO_ROOT="${OPENJDK_URL}/${PROJECT_NAME}/${REPO_NAME}.git"
|
|
||||||
echo "No repository root specified; default to ${REPO_ROOT}"
|
|
||||||
fi;
|
|
||||||
|
|
||||||
if [ "x$TO_COMPRESS" = "x" ] ; then
|
|
||||||
TO_COMPRESS="openjdk"
|
|
||||||
echo "No to be compressed targets specified, ; default to ${TO_COMPRESS}"
|
|
||||||
fi;
|
|
||||||
|
|
||||||
if [ -d ${FILE_NAME_ROOT} ] ; then
|
|
||||||
echo "exists exists exists exists exists exists exists "
|
|
||||||
echo "reusing reusing reusing reusing reusing reusing "
|
|
||||||
echo ${FILE_NAME_ROOT}
|
|
||||||
else
|
|
||||||
mkdir "${FILE_NAME_ROOT}"
|
|
||||||
pushd "${FILE_NAME_ROOT}"
|
|
||||||
echo "Cloning ${VERSION} root repository from ${REPO_ROOT}"
|
|
||||||
git clone -b ${VERSION} ${REPO_ROOT} openjdk
|
|
||||||
popd
|
|
||||||
fi
|
|
||||||
pushd "${FILE_NAME_ROOT}"
|
|
||||||
if [ -d openjdk/src ]; then
|
|
||||||
pushd openjdk
|
|
||||||
echo "Removing EC source code we don't build"
|
|
||||||
CRYPTO_PATH=src/jdk.crypto.ec/share/native/libsunec/impl
|
|
||||||
rm -vf ${CRYPTO_PATH}/ec2.h
|
|
||||||
rm -vf ${CRYPTO_PATH}/ec2_163.c
|
|
||||||
rm -vf ${CRYPTO_PATH}/ec2_193.c
|
|
||||||
rm -vf ${CRYPTO_PATH}/ec2_233.c
|
|
||||||
rm -vf ${CRYPTO_PATH}/ec2_aff.c
|
|
||||||
rm -vf ${CRYPTO_PATH}/ec2_mont.c
|
|
||||||
rm -vf ${CRYPTO_PATH}/ecp_192.c
|
|
||||||
rm -vf ${CRYPTO_PATH}/ecp_224.c
|
|
||||||
|
|
||||||
echo "Syncing EC list with NSS"
|
|
||||||
if [ "x$PR3823" = "x" ] ; then
|
|
||||||
# get PR3823.patch (from https://github.com/icedtea-git/icedtea) in the ${ICEDTEA_VERSION} branch
|
|
||||||
# Do not push it or publish it
|
|
||||||
echo "PR3823 not found. Downloading..."
|
|
||||||
wget -v https://github.com/icedtea-git/icedtea/raw/${ICEDTEA_VERSION}/patches/pr3823.patch
|
|
||||||
echo "Applying ${PWD}/pr3823.patch"
|
|
||||||
patch -Np1 < pr3823.patch
|
|
||||||
rm pr3823.patch
|
|
||||||
else
|
|
||||||
echo "Applying ${PR3823}"
|
|
||||||
patch -Np1 < $PR3823
|
|
||||||
fi;
|
|
||||||
find . -name '*.orig' -exec rm -vf '{}' ';'
|
|
||||||
popd
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Generate .src-rev so build has knowledge of the revision the tarball was created from
|
|
||||||
mkdir build
|
|
||||||
pushd build
|
|
||||||
sh ${PWD}/../openjdk/configure
|
|
||||||
make store-source-revision
|
|
||||||
popd
|
|
||||||
rm -rf build
|
|
||||||
|
|
||||||
echo "Compressing remaining forest"
|
|
||||||
if [ "X$COMPRESSION" = "Xxz" ] ; then
|
|
||||||
SWITCH=cJf
|
|
||||||
else
|
|
||||||
SWITCH=czf
|
|
||||||
fi
|
|
||||||
tar --exclude-vcs -$SWITCH ${FILE_NAME_ROOT}.tar.${COMPRESSION} $TO_COMPRESS
|
|
||||||
mv ${FILE_NAME_ROOT}.tar.${COMPRESSION} ..
|
|
||||||
popd
|
|
||||||
echo "Done. You may want to remove the uncompressed version - $FILE_NAME_ROOT."
|
|
||||||
|
193
icedtea_sync.sh
193
icedtea_sync.sh
@ -1,192 +1 @@
|
|||||||
#!/bin/bash
|
## This file is intentionally left blank
|
||||||
|
|
||||||
# Copyright (C) 2019 Red Hat, Inc.
|
|
||||||
# Written by Andrew John Hughes <gnu.andrew@redhat.com>.
|
|
||||||
#
|
|
||||||
# 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/>.
|
|
||||||
|
|
||||||
ICEDTEA_USE_VCS=true
|
|
||||||
|
|
||||||
ICEDTEA_VERSION=3.15.0
|
|
||||||
ICEDTEA_URL=https://icedtea.classpath.org/download/source
|
|
||||||
ICEDTEA_SIGNING_KEY=CFDA0F9B35964222
|
|
||||||
|
|
||||||
ICEDTEA_HG_URL=https://icedtea.classpath.org/hg/icedtea11
|
|
||||||
|
|
||||||
set -e
|
|
||||||
|
|
||||||
RPM_DIR=${PWD}
|
|
||||||
if [ ! -f ${RPM_DIR}/jconsole.desktop.in ] ; then
|
|
||||||
echo "Not in RPM source tree.";
|
|
||||||
exit 1;
|
|
||||||
fi
|
|
||||||
|
|
||||||
if test "x${TMPDIR}" = "x"; then
|
|
||||||
TMPDIR=/tmp;
|
|
||||||
fi
|
|
||||||
WORKDIR=${TMPDIR}/it.sync
|
|
||||||
|
|
||||||
echo "Using working directory ${WORKDIR}"
|
|
||||||
mkdir ${WORKDIR}
|
|
||||||
pushd ${WORKDIR}
|
|
||||||
|
|
||||||
if test "x${WGET}" = "x"; then
|
|
||||||
WGET=$(which wget);
|
|
||||||
if test "x${WGET}" = "x"; then
|
|
||||||
echo "wget not found";
|
|
||||||
exit 1;
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
if test "x${TAR}" = "x"; then
|
|
||||||
TAR=$(which tar)
|
|
||||||
if test "x${TAR}" = "x"; then
|
|
||||||
echo "tar not found";
|
|
||||||
exit 2;
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
echo "Dependencies:";
|
|
||||||
echo -e "\tWGET: ${WGET}";
|
|
||||||
echo -e "\tTAR: ${TAR}\n";
|
|
||||||
|
|
||||||
if test "x${ICEDTEA_USE_VCS}" = "xtrue"; then
|
|
||||||
echo "Mode: Using VCS";
|
|
||||||
|
|
||||||
if test "x${GREP}" = "x"; then
|
|
||||||
GREP=$(which grep);
|
|
||||||
if test "x${GREP}" = "x"; then
|
|
||||||
echo "grep not found";
|
|
||||||
exit 3;
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
if test "x${CUT}" = "x"; then
|
|
||||||
CUT=$(which cut);
|
|
||||||
if test "x${CUT}" = "x"; then
|
|
||||||
echo "cut not found";
|
|
||||||
exit 4;
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
if test "x${TR}" = "x"; then
|
|
||||||
TR=$(which tr);
|
|
||||||
if test "x${TR}" = "x"; then
|
|
||||||
echo "tr not found";
|
|
||||||
exit 5;
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
if test "x${HG}" = "x"; then
|
|
||||||
HG=$(which hg);
|
|
||||||
if test "x${HG}" = "x"; then
|
|
||||||
echo "hg not found";
|
|
||||||
exit 6;
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
echo "Dependencies:";
|
|
||||||
echo -e "\tGREP: ${GREP}";
|
|
||||||
echo -e "\tCUT: ${CUT}";
|
|
||||||
echo -e "\tTR: ${TR}";
|
|
||||||
echo -e "\tHG: ${HG}";
|
|
||||||
|
|
||||||
echo "Checking out repository from VCS...";
|
|
||||||
${HG} clone ${ICEDTEA_HG_URL} icedtea
|
|
||||||
|
|
||||||
echo "Obtaining version from configure.ac...";
|
|
||||||
ROOT_VER=$(${GREP} '^AC_INIT' icedtea/configure.ac|${CUT} -d ',' -f 2|${TR} -d '[][:space:]')
|
|
||||||
echo "Root version from configure: ${ROOT_VER}";
|
|
||||||
|
|
||||||
VCS_REV=$(${HG} log -R icedtea --template '{node|short}' -r tip)
|
|
||||||
echo "VCS revision: ${VCS_REV}";
|
|
||||||
|
|
||||||
ICEDTEA_VERSION="${ROOT_VER}-${VCS_REV}"
|
|
||||||
echo "Creating icedtea-${ICEDTEA_VERSION}";
|
|
||||||
mkdir icedtea-${ICEDTEA_VERSION}
|
|
||||||
echo "Copying required files from checkout to icedtea-${ICEDTEA_VERSION}";
|
|
||||||
# Commented out for now as IcedTea 6's jconsole.desktop.in is outdated
|
|
||||||
#cp -a icedtea/jconsole.desktop.in ../icedtea-${ICEDTEA_VERSION}
|
|
||||||
cp -a ${RPM_DIR}/jconsole.desktop.in icedtea-${ICEDTEA_VERSION}
|
|
||||||
cp -a icedtea/tapset icedtea-${ICEDTEA_VERSION}
|
|
||||||
|
|
||||||
rm -rf icedtea
|
|
||||||
else
|
|
||||||
echo "Mode: Using tarball";
|
|
||||||
|
|
||||||
if test "x${ICEDTEA_VERSION}" = "x"; then
|
|
||||||
echo "No IcedTea version specified for tarball download.";
|
|
||||||
exit 3;
|
|
||||||
fi
|
|
||||||
|
|
||||||
if test "x${CHECKSUM}" = "x"; then
|
|
||||||
CHECKSUM=$(which sha256sum)
|
|
||||||
if test "x${CHECKSUM}" = "x"; then
|
|
||||||
echo "sha256sum not found";
|
|
||||||
exit 4;
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
if test "x${PGP}" = "x"; then
|
|
||||||
PGP=$(which gpg)
|
|
||||||
if test "x${PGP}" = "x"; then
|
|
||||||
echo "gpg not found";
|
|
||||||
exit 5;
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
echo "Dependencies:";
|
|
||||||
echo -e "\tCHECKSUM: ${CHECKSUM}";
|
|
||||||
echo -e "\tPGP: ${PGP}\n";
|
|
||||||
|
|
||||||
echo "Checking for IcedTea signing key ${ICEDTEA_SIGNING_KEY}...";
|
|
||||||
if ! gpg --list-keys ${ICEDTEA_SIGNING_KEY}; then
|
|
||||||
echo "IcedTea signing key ${ICEDTEA_SIGNING_KEY} not installed.";
|
|
||||||
exit 6;
|
|
||||||
fi
|
|
||||||
|
|
||||||
echo "Downloading IcedTea release tarball...";
|
|
||||||
${WGET} -v ${ICEDTEA_URL}/icedtea-${ICEDTEA_VERSION}.tar.xz
|
|
||||||
echo "Downloading IcedTea tarball signature...";
|
|
||||||
${WGET} -v ${ICEDTEA_URL}/icedtea-${ICEDTEA_VERSION}.tar.xz.sig
|
|
||||||
echo "Downloading IcedTea tarball checksums...";
|
|
||||||
${WGET} -v ${ICEDTEA_URL}/icedtea-${ICEDTEA_VERSION}.sha256
|
|
||||||
|
|
||||||
echo "Verifying checksums...";
|
|
||||||
${CHECKSUM} --check --ignore-missing icedtea-${ICEDTEA_VERSION}.sha256
|
|
||||||
|
|
||||||
echo "Checking signature...";
|
|
||||||
${PGP} --verify icedtea-${ICEDTEA_VERSION}.tar.xz.sig
|
|
||||||
|
|
||||||
echo "Extracting files...";
|
|
||||||
${TAR} xJf icedtea-${ICEDTEA_VERSION}.tar.xz \
|
|
||||||
icedtea-${ICEDTEA_VERSION}/tapset \
|
|
||||||
icedtea-${ICEDTEA_VERSION}/jconsole.desktop.in
|
|
||||||
|
|
||||||
rm -vf icedtea-${ICEDTEA_VERSION}.tar.xz
|
|
||||||
rm -vf icedtea-${ICEDTEA_VERSION}.tar.xz.sig
|
|
||||||
rm -vf icedtea-${ICEDTEA_VERSION}.sha256
|
|
||||||
fi
|
|
||||||
|
|
||||||
echo "Replacing desktop files...";
|
|
||||||
mv -v icedtea-${ICEDTEA_VERSION}/jconsole.desktop.in ${RPM_DIR}
|
|
||||||
|
|
||||||
echo "Creating new tapset tarball...";
|
|
||||||
mv -v icedtea-${ICEDTEA_VERSION} openjdk
|
|
||||||
${TAR} cJf ${RPM_DIR}/tapsets-icedtea-${ICEDTEA_VERSION}.tar.xz openjdk
|
|
||||||
|
|
||||||
rm -rvf openjdk
|
|
||||||
|
|
||||||
popd
|
|
||||||
rm -rf ${WORKDIR}
|
|
||||||
|
File diff suppressed because it is too large
Load Diff
@ -1,132 +0,0 @@
|
|||||||
diff --git a/src/java.base/share/classes/sun/util/resources/TimeZoneNames.java b/src/java.base/share/classes/sun/util/resources/TimeZoneNames.java
|
|
||||||
index 8759aab3995..11ccbf73839 100644
|
|
||||||
--- a/src/java.base/share/classes/sun/util/resources/TimeZoneNames.java
|
|
||||||
+++ b/src/java.base/share/classes/sun/util/resources/TimeZoneNames.java
|
|
||||||
@@ -847,6 +847,7 @@ public final class TimeZoneNames extends TimeZoneNamesBundle {
|
|
||||||
{"Europe/Kirov", new String[] {"Kirov Standard Time", "GMT+03:00",
|
|
||||||
"Kirov Daylight Time", "GMT+03:00",
|
|
||||||
"Kirov Time", "GMT+03:00"}},
|
|
||||||
+ {"Europe/Kyiv", EET},
|
|
||||||
{"Europe/Lisbon", WET},
|
|
||||||
{"Europe/Ljubljana", CET},
|
|
||||||
{"Europe/London", GMTBST},
|
|
||||||
diff --git a/src/jdk.localedata/share/classes/sun/util/resources/ext/TimeZoneNames_de.java b/src/jdk.localedata/share/classes/sun/util/resources/ext/TimeZoneNames_de.java
|
|
||||||
index f007c1a8d3b..617268e4cf3 100644
|
|
||||||
--- a/src/jdk.localedata/share/classes/sun/util/resources/ext/TimeZoneNames_de.java
|
|
||||||
+++ b/src/jdk.localedata/share/classes/sun/util/resources/ext/TimeZoneNames_de.java
|
|
||||||
@@ -825,6 +825,7 @@ public final class TimeZoneNames_de extends TimeZoneNamesBundle {
|
|
||||||
{"Europe/Jersey", GMTBST},
|
|
||||||
{"Europe/Kaliningrad", EET},
|
|
||||||
{"Europe/Kiev", EET},
|
|
||||||
+ {"Europe/Kyiv", EET},
|
|
||||||
{"Europe/Lisbon", WET},
|
|
||||||
{"Europe/Ljubljana", CET},
|
|
||||||
{"Europe/London", GMTBST},
|
|
||||||
diff --git a/src/jdk.localedata/share/classes/sun/util/resources/ext/TimeZoneNames_es.java b/src/jdk.localedata/share/classes/sun/util/resources/ext/TimeZoneNames_es.java
|
|
||||||
index 386414e16e6..14c5d89b9c5 100644
|
|
||||||
--- a/src/jdk.localedata/share/classes/sun/util/resources/ext/TimeZoneNames_es.java
|
|
||||||
+++ b/src/jdk.localedata/share/classes/sun/util/resources/ext/TimeZoneNames_es.java
|
|
||||||
@@ -825,6 +825,7 @@ public final class TimeZoneNames_es extends TimeZoneNamesBundle {
|
|
||||||
{"Europe/Jersey", GMTBST},
|
|
||||||
{"Europe/Kaliningrad", EET},
|
|
||||||
{"Europe/Kiev", EET},
|
|
||||||
+ {"Europe/Kyiv", EET},
|
|
||||||
{"Europe/Lisbon", WET},
|
|
||||||
{"Europe/Ljubljana", CET},
|
|
||||||
{"Europe/London", GMTBST},
|
|
||||||
diff --git a/src/jdk.localedata/share/classes/sun/util/resources/ext/TimeZoneNames_fr.java b/src/jdk.localedata/share/classes/sun/util/resources/ext/TimeZoneNames_fr.java
|
|
||||||
index d23f5fd49e6..44117125619 100644
|
|
||||||
--- a/src/jdk.localedata/share/classes/sun/util/resources/ext/TimeZoneNames_fr.java
|
|
||||||
+++ b/src/jdk.localedata/share/classes/sun/util/resources/ext/TimeZoneNames_fr.java
|
|
||||||
@@ -825,6 +825,7 @@ public final class TimeZoneNames_fr extends TimeZoneNamesBundle {
|
|
||||||
{"Europe/Jersey", GMTBST},
|
|
||||||
{"Europe/Kaliningrad", EET},
|
|
||||||
{"Europe/Kiev", EET},
|
|
||||||
+ {"Europe/Kyiv", EET},
|
|
||||||
{"Europe/Lisbon", WET},
|
|
||||||
{"Europe/Ljubljana", CET},
|
|
||||||
{"Europe/London", GMTBST},
|
|
||||||
diff --git a/src/jdk.localedata/share/classes/sun/util/resources/ext/TimeZoneNames_it.java b/src/jdk.localedata/share/classes/sun/util/resources/ext/TimeZoneNames_it.java
|
|
||||||
index b4f57d4568c..efa818f3865 100644
|
|
||||||
--- a/src/jdk.localedata/share/classes/sun/util/resources/ext/TimeZoneNames_it.java
|
|
||||||
+++ b/src/jdk.localedata/share/classes/sun/util/resources/ext/TimeZoneNames_it.java
|
|
||||||
@@ -825,6 +825,7 @@ public final class TimeZoneNames_it extends TimeZoneNamesBundle {
|
|
||||||
{"Europe/Jersey", GMTBST},
|
|
||||||
{"Europe/Kaliningrad", EET},
|
|
||||||
{"Europe/Kiev", EET},
|
|
||||||
+ {"Europe/Kyiv", EET},
|
|
||||||
{"Europe/Lisbon", WET},
|
|
||||||
{"Europe/Ljubljana", CET},
|
|
||||||
{"Europe/London", GMTBST},
|
|
||||||
diff --git a/src/jdk.localedata/share/classes/sun/util/resources/ext/TimeZoneNames_ja.java b/src/jdk.localedata/share/classes/sun/util/resources/ext/TimeZoneNames_ja.java
|
|
||||||
index 1a10a9f96dc..7c0565461ad 100644
|
|
||||||
--- a/src/jdk.localedata/share/classes/sun/util/resources/ext/TimeZoneNames_ja.java
|
|
||||||
+++ b/src/jdk.localedata/share/classes/sun/util/resources/ext/TimeZoneNames_ja.java
|
|
||||||
@@ -825,6 +825,7 @@ public final class TimeZoneNames_ja extends TimeZoneNamesBundle {
|
|
||||||
{"Europe/Jersey", GMTBST},
|
|
||||||
{"Europe/Kaliningrad", EET},
|
|
||||||
{"Europe/Kiev", EET},
|
|
||||||
+ {"Europe/Kyiv", EET},
|
|
||||||
{"Europe/Lisbon", WET},
|
|
||||||
{"Europe/Ljubljana", CET},
|
|
||||||
{"Europe/London", GMTBST},
|
|
||||||
diff --git a/src/jdk.localedata/share/classes/sun/util/resources/ext/TimeZoneNames_ko.java b/src/jdk.localedata/share/classes/sun/util/resources/ext/TimeZoneNames_ko.java
|
|
||||||
index 9a2d9e5c57c..8a2c805997f 100644
|
|
||||||
--- a/src/jdk.localedata/share/classes/sun/util/resources/ext/TimeZoneNames_ko.java
|
|
||||||
+++ b/src/jdk.localedata/share/classes/sun/util/resources/ext/TimeZoneNames_ko.java
|
|
||||||
@@ -825,6 +825,7 @@ public final class TimeZoneNames_ko extends TimeZoneNamesBundle {
|
|
||||||
{"Europe/Jersey", GMTBST},
|
|
||||||
{"Europe/Kaliningrad", EET},
|
|
||||||
{"Europe/Kiev", EET},
|
|
||||||
+ {"Europe/Kyiv", EET},
|
|
||||||
{"Europe/Lisbon", WET},
|
|
||||||
{"Europe/Ljubljana", CET},
|
|
||||||
{"Europe/London", GMTBST},
|
|
||||||
diff --git a/src/jdk.localedata/share/classes/sun/util/resources/ext/TimeZoneNames_pt_BR.java b/src/jdk.localedata/share/classes/sun/util/resources/ext/TimeZoneNames_pt_BR.java
|
|
||||||
index de5e5c82daa..e3c06417f09 100644
|
|
||||||
--- a/src/jdk.localedata/share/classes/sun/util/resources/ext/TimeZoneNames_pt_BR.java
|
|
||||||
+++ b/src/jdk.localedata/share/classes/sun/util/resources/ext/TimeZoneNames_pt_BR.java
|
|
||||||
@@ -825,6 +825,7 @@ public final class TimeZoneNames_pt_BR extends TimeZoneNamesBundle {
|
|
||||||
{"Europe/Jersey", GMTBST},
|
|
||||||
{"Europe/Kaliningrad", EET},
|
|
||||||
{"Europe/Kiev", EET},
|
|
||||||
+ {"Europe/Kyiv", EET},
|
|
||||||
{"Europe/Lisbon", WET},
|
|
||||||
{"Europe/Ljubljana", CET},
|
|
||||||
{"Europe/London", GMTBST},
|
|
||||||
diff --git a/src/jdk.localedata/share/classes/sun/util/resources/ext/TimeZoneNames_sv.java b/src/jdk.localedata/share/classes/sun/util/resources/ext/TimeZoneNames_sv.java
|
|
||||||
index b53de4d8c89..3e46b6a063e 100644
|
|
||||||
--- a/src/jdk.localedata/share/classes/sun/util/resources/ext/TimeZoneNames_sv.java
|
|
||||||
+++ b/src/jdk.localedata/share/classes/sun/util/resources/ext/TimeZoneNames_sv.java
|
|
||||||
@@ -825,6 +825,7 @@ public final class TimeZoneNames_sv extends TimeZoneNamesBundle {
|
|
||||||
{"Europe/Jersey", GMTBST},
|
|
||||||
{"Europe/Kaliningrad", EET},
|
|
||||||
{"Europe/Kiev", EET},
|
|
||||||
+ {"Europe/Kyiv", EET},
|
|
||||||
{"Europe/Lisbon", WET},
|
|
||||||
{"Europe/Ljubljana", CET},
|
|
||||||
{"Europe/London", GMTBST},
|
|
||||||
diff --git a/src/jdk.localedata/share/classes/sun/util/resources/ext/TimeZoneNames_zh_CN.java b/src/jdk.localedata/share/classes/sun/util/resources/ext/TimeZoneNames_zh_CN.java
|
|
||||||
index 7797cda19d5..590908409a8 100644
|
|
||||||
--- a/src/jdk.localedata/share/classes/sun/util/resources/ext/TimeZoneNames_zh_CN.java
|
|
||||||
+++ b/src/jdk.localedata/share/classes/sun/util/resources/ext/TimeZoneNames_zh_CN.java
|
|
||||||
@@ -825,6 +825,7 @@ public final class TimeZoneNames_zh_CN extends TimeZoneNamesBundle {
|
|
||||||
{"Europe/Jersey", GMTBST},
|
|
||||||
{"Europe/Kaliningrad", EET},
|
|
||||||
{"Europe/Kiev", EET},
|
|
||||||
+ {"Europe/Kyiv", EET},
|
|
||||||
{"Europe/Lisbon", WET},
|
|
||||||
{"Europe/Ljubljana", CET},
|
|
||||||
{"Europe/London", GMTBST},
|
|
||||||
diff --git a/src/jdk.localedata/share/classes/sun/util/resources/ext/TimeZoneNames_zh_TW.java b/src/jdk.localedata/share/classes/sun/util/resources/ext/TimeZoneNames_zh_TW.java
|
|
||||||
index 2cd10554853..23c5f180b6d 100644
|
|
||||||
--- a/src/jdk.localedata/share/classes/sun/util/resources/ext/TimeZoneNames_zh_TW.java
|
|
||||||
+++ b/src/jdk.localedata/share/classes/sun/util/resources/ext/TimeZoneNames_zh_TW.java
|
|
||||||
@@ -827,6 +827,7 @@ public final class TimeZoneNames_zh_TW extends TimeZoneNamesBundle {
|
|
||||||
{"Europe/Jersey", GMTBST},
|
|
||||||
{"Europe/Kaliningrad", EET},
|
|
||||||
{"Europe/Kiev", EET},
|
|
||||||
+ {"Europe/Kyiv", EET},
|
|
||||||
{"Europe/Lisbon", WET},
|
|
||||||
{"Europe/Ljubljana", CET},
|
|
||||||
{"Europe/London", GMTBST},
|
|
@ -1,5 +0,0 @@
|
|||||||
name = NSS
|
|
||||||
nssLibraryDirectory = @NSS_LIBDIR@
|
|
||||||
nssDbMode = noDb
|
|
||||||
attributes = compatibility
|
|
||||||
handleStartupErrors = ignoreMultipleInitialisation
|
|
@ -1,8 +0,0 @@
|
|||||||
name = NSS-FIPS
|
|
||||||
nssLibraryDirectory = @NSS_LIBDIR@
|
|
||||||
nssSecmodDirectory = sql:/etc/pki/nssdb
|
|
||||||
nssDbMode = readOnly
|
|
||||||
nssModule = fips
|
|
||||||
|
|
||||||
attributes(*,CKO_SECRET_KEY,CKK_GENERIC_SECRET)={ CKA_SIGN=true }
|
|
||||||
|
|
@ -1,76 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
|
|
||||||
# Copyright (C) 2022 Red Hat, Inc.
|
|
||||||
# Written by Andrew John Hughes <gnu.andrew@redhat.com>, 2012-2022
|
|
||||||
#
|
|
||||||
# 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/>.
|
|
||||||
|
|
||||||
OLD_RELEASE=$1
|
|
||||||
NEW_RELEASE=$2
|
|
||||||
SUBDIR=$3
|
|
||||||
REPO=$4
|
|
||||||
SCRIPT_DIR=$(dirname ${0})
|
|
||||||
|
|
||||||
if test "x${SUBDIR}" = "x"; then
|
|
||||||
echo "No subdirectory specified; using .";
|
|
||||||
SUBDIR=".";
|
|
||||||
fi
|
|
||||||
|
|
||||||
if test "x$REPO" = "x"; then
|
|
||||||
echo "No repository specified; using ${PWD}"
|
|
||||||
REPO=${PWD}
|
|
||||||
fi
|
|
||||||
|
|
||||||
if test x${TMPDIR} = x; then
|
|
||||||
TMPDIR=/tmp;
|
|
||||||
fi
|
|
||||||
|
|
||||||
echo "Repository: ${REPO}"
|
|
||||||
|
|
||||||
if [ -e ${REPO}/.git ] ; then
|
|
||||||
TYPE=git;
|
|
||||||
elif [ -e ${REPO}/.hg ] ; then
|
|
||||||
TYPE=hg;
|
|
||||||
else
|
|
||||||
echo "No Mercurial or Git repository detected.";
|
|
||||||
exit 1;
|
|
||||||
fi
|
|
||||||
|
|
||||||
if test "x$OLD_RELEASE" = "x" || test "x$NEW_RELEASE" = "x"; then
|
|
||||||
echo "ERROR: Need to specify old and new release";
|
|
||||||
exit 2;
|
|
||||||
fi
|
|
||||||
|
|
||||||
echo "Listing fixes between $OLD_RELEASE and $NEW_RELEASE in $REPO"
|
|
||||||
rm -f ${TMPDIR}/fixes2 ${TMPDIR}/fixes3 ${TMPDIR}/fixes
|
|
||||||
for repos in . $(${SCRIPT_DIR}/discover_trees.sh ${REPO});
|
|
||||||
do
|
|
||||||
if test "x$TYPE" = "xhg"; then
|
|
||||||
hg log -r "tag('$NEW_RELEASE'):tag('$OLD_RELEASE') - tag('$OLD_RELEASE')" -R $REPO/$repos -G -M ${REPO}/${SUBDIR} | \
|
|
||||||
egrep '^[o:| ]*summary'|grep -v 'Added tag'|sed -r 's#^[o:| ]*summary:\W*([0-9])# - JDK-\1#'| \
|
|
||||||
sed 's#^[o:| ]*summary:\W*# - #' >> ${TMPDIR}/fixes2;
|
|
||||||
hg log -v -r "tag('$NEW_RELEASE'):tag('$OLD_RELEASE') - tag('$OLD_RELEASE')" -R $REPO/$repos -G -M ${REPO}/${SUBDIR} | \
|
|
||||||
egrep '^[o:| ]*[0-9]{7}'|sed -r 's#^[o:| ]*([0-9]{7})# - JDK-\1#' >> ${TMPDIR}/fixes3;
|
|
||||||
else
|
|
||||||
git -C ${REPO} log --no-merges --pretty=format:%B ${NEW_RELEASE}...${OLD_RELEASE} -- ${SUBDIR} |egrep '^[0-9]{7}' | \
|
|
||||||
sed -r 's#^([0-9])# - JDK-\1#' >> ${TMPDIR}/fixes2;
|
|
||||||
touch ${TMPDIR}/fixes3 ; # unused
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
|
|
||||||
sort ${TMPDIR}/fixes2 ${TMPDIR}/fixes3 | uniq > ${TMPDIR}/fixes
|
|
||||||
rm -f ${TMPDIR}/fixes2 ${TMPDIR}/fixes3
|
|
||||||
|
|
||||||
echo "In ${TMPDIR}/fixes:"
|
|
||||||
cat ${TMPDIR}/fixes
|
|
@ -1,157 +0,0 @@
|
|||||||
#!/bin/sh
|
|
||||||
|
|
||||||
# Arguments: <JDK TREE> <MINIMAL|FULL>
|
|
||||||
TREE=${1}
|
|
||||||
TYPE=${2}
|
|
||||||
|
|
||||||
ZIP_SRC=src/java.base/share/native/libzip/zlib/
|
|
||||||
JPEG_SRC=src/java.desktop/share/native/libjavajpeg/
|
|
||||||
GIF_SRC=src/java.desktop/share/native/libsplashscreen/giflib/
|
|
||||||
PNG_SRC=src/java.desktop/share/native/libsplashscreen/libpng/
|
|
||||||
LCMS_SRC=src/java.desktop/share/native/liblcms/
|
|
||||||
|
|
||||||
if test "x${TREE}" = "x"; then
|
|
||||||
echo "$0 <JDK_TREE> (MINIMAL|FULL)";
|
|
||||||
exit 1;
|
|
||||||
fi
|
|
||||||
|
|
||||||
if test "x${TYPE}" = "x"; then
|
|
||||||
TYPE=minimal;
|
|
||||||
fi
|
|
||||||
|
|
||||||
if test "x${TYPE}" != "xminimal" -a "x${TYPE}" != "xfull"; then
|
|
||||||
echo "Type must be minimal or full";
|
|
||||||
exit 2;
|
|
||||||
fi
|
|
||||||
|
|
||||||
echo "Removing in-tree libraries from ${TREE}"
|
|
||||||
echo "Cleansing operation: ${TYPE}";
|
|
||||||
|
|
||||||
cd ${TREE}
|
|
||||||
|
|
||||||
echo "Removing built-in libs (they will be linked)"
|
|
||||||
|
|
||||||
# On full runs, allow for zlib having already been deleted by minimal
|
|
||||||
echo "Removing zlib"
|
|
||||||
if [ "x${TYPE}" = "xminimal" -a ! -d ${ZIP_SRC} ]; then
|
|
||||||
echo "${ZIP_SRC} does not exist. Refusing to proceed."
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
rm -rvf ${ZIP_SRC}
|
|
||||||
|
|
||||||
# Minimal is limited to just zlib so finish here
|
|
||||||
if test "x${TYPE}" = "xminimal"; then
|
|
||||||
echo "Finished.";
|
|
||||||
exit 0;
|
|
||||||
fi
|
|
||||||
|
|
||||||
echo "Removing libjpeg"
|
|
||||||
if [ ! -f ${JPEG_SRC}/jdhuff.c ]; then # some file that should definitely exist
|
|
||||||
echo "${JPEG_SRC} does not contain jpeg sources. Refusing to proceed."
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
rm -vf ${JPEG_SRC}/jcomapi.c
|
|
||||||
rm -vf ${JPEG_SRC}/jdapimin.c
|
|
||||||
rm -vf ${JPEG_SRC}/jdapistd.c
|
|
||||||
rm -vf ${JPEG_SRC}/jdcoefct.c
|
|
||||||
rm -vf ${JPEG_SRC}/jdcolor.c
|
|
||||||
rm -vf ${JPEG_SRC}/jdct.h
|
|
||||||
rm -vf ${JPEG_SRC}/jddctmgr.c
|
|
||||||
rm -vf ${JPEG_SRC}/jdhuff.c
|
|
||||||
rm -vf ${JPEG_SRC}/jdhuff.h
|
|
||||||
rm -vf ${JPEG_SRC}/jdinput.c
|
|
||||||
rm -vf ${JPEG_SRC}/jdmainct.c
|
|
||||||
rm -vf ${JPEG_SRC}/jdmarker.c
|
|
||||||
rm -vf ${JPEG_SRC}/jdmaster.c
|
|
||||||
rm -vf ${JPEG_SRC}/jdmerge.c
|
|
||||||
rm -vf ${JPEG_SRC}/jdphuff.c
|
|
||||||
rm -vf ${JPEG_SRC}/jdpostct.c
|
|
||||||
rm -vf ${JPEG_SRC}/jdsample.c
|
|
||||||
rm -vf ${JPEG_SRC}/jerror.c
|
|
||||||
rm -vf ${JPEG_SRC}/jerror.h
|
|
||||||
rm -vf ${JPEG_SRC}/jidctflt.c
|
|
||||||
rm -vf ${JPEG_SRC}/jidctfst.c
|
|
||||||
rm -vf ${JPEG_SRC}/jidctint.c
|
|
||||||
rm -vf ${JPEG_SRC}/jidctred.c
|
|
||||||
rm -vf ${JPEG_SRC}/jinclude.h
|
|
||||||
rm -vf ${JPEG_SRC}/jmemmgr.c
|
|
||||||
rm -vf ${JPEG_SRC}/jmemsys.h
|
|
||||||
rm -vf ${JPEG_SRC}/jmemnobs.c
|
|
||||||
rm -vf ${JPEG_SRC}/jmorecfg.h
|
|
||||||
rm -vf ${JPEG_SRC}/jpegint.h
|
|
||||||
rm -vf ${JPEG_SRC}/jpeglib.h
|
|
||||||
rm -vf ${JPEG_SRC}/jquant1.c
|
|
||||||
rm -vf ${JPEG_SRC}/jquant2.c
|
|
||||||
rm -vf ${JPEG_SRC}/jutils.c
|
|
||||||
rm -vf ${JPEG_SRC}/jcapimin.c
|
|
||||||
rm -vf ${JPEG_SRC}/jcapistd.c
|
|
||||||
rm -vf ${JPEG_SRC}/jccoefct.c
|
|
||||||
rm -vf ${JPEG_SRC}/jccolor.c
|
|
||||||
rm -vf ${JPEG_SRC}/jcdctmgr.c
|
|
||||||
rm -vf ${JPEG_SRC}/jchuff.c
|
|
||||||
rm -vf ${JPEG_SRC}/jchuff.h
|
|
||||||
rm -vf ${JPEG_SRC}/jcinit.c
|
|
||||||
rm -vf ${JPEG_SRC}/jconfig.h
|
|
||||||
rm -vf ${JPEG_SRC}/jcmainct.c
|
|
||||||
rm -vf ${JPEG_SRC}/jcmarker.c
|
|
||||||
rm -vf ${JPEG_SRC}/jcmaster.c
|
|
||||||
rm -vf ${JPEG_SRC}/jcparam.c
|
|
||||||
rm -vf ${JPEG_SRC}/jcphuff.c
|
|
||||||
rm -vf ${JPEG_SRC}/jcprepct.c
|
|
||||||
rm -vf ${JPEG_SRC}/jcsample.c
|
|
||||||
rm -vf ${JPEG_SRC}/jctrans.c
|
|
||||||
rm -vf ${JPEG_SRC}/jdtrans.c
|
|
||||||
rm -vf ${JPEG_SRC}/jfdctflt.c
|
|
||||||
rm -vf ${JPEG_SRC}/jfdctfst.c
|
|
||||||
rm -vf ${JPEG_SRC}/jfdctint.c
|
|
||||||
rm -vf ${JPEG_SRC}/jversion.h
|
|
||||||
rm -vf ${JPEG_SRC}/README
|
|
||||||
|
|
||||||
echo "Removing giflib"
|
|
||||||
if [ ! -d ${GIF_SRC} ]; then
|
|
||||||
echo "${GIF_SRC} does not exist. Refusing to proceed."
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
rm -rvf ${GIF_SRC}
|
|
||||||
|
|
||||||
echo "Removing libpng"
|
|
||||||
if [ ! -d ${PNG_SRC} ]; then
|
|
||||||
echo "${PNG_SRC} does not exist. Refusing to proceed."
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
rm -rvf ${PNG_SRC}
|
|
||||||
|
|
||||||
echo "Removing lcms"
|
|
||||||
if [ ! -d ${LCMS_SRC} ]; then
|
|
||||||
echo "${LCMS_SRC} does not exist. Refusing to proceed."
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
rm -vf ${LCMS_SRC}/cmscam02.c
|
|
||||||
rm -vf ${LCMS_SRC}/cmscgats.c
|
|
||||||
rm -vf ${LCMS_SRC}/cmscnvrt.c
|
|
||||||
rm -vf ${LCMS_SRC}/cmserr.c
|
|
||||||
rm -vf ${LCMS_SRC}/cmsgamma.c
|
|
||||||
rm -vf ${LCMS_SRC}/cmsgmt.c
|
|
||||||
rm -vf ${LCMS_SRC}/cmshalf.c
|
|
||||||
rm -vf ${LCMS_SRC}/cmsintrp.c
|
|
||||||
rm -vf ${LCMS_SRC}/cmsio0.c
|
|
||||||
rm -vf ${LCMS_SRC}/cmsio1.c
|
|
||||||
rm -vf ${LCMS_SRC}/cmslut.c
|
|
||||||
rm -vf ${LCMS_SRC}/cmsmd5.c
|
|
||||||
rm -vf ${LCMS_SRC}/cmsmtrx.c
|
|
||||||
rm -vf ${LCMS_SRC}/cmsnamed.c
|
|
||||||
rm -vf ${LCMS_SRC}/cmsopt.c
|
|
||||||
rm -vf ${LCMS_SRC}/cmspack.c
|
|
||||||
rm -vf ${LCMS_SRC}/cmspcs.c
|
|
||||||
rm -vf ${LCMS_SRC}/cmsplugin.c
|
|
||||||
rm -vf ${LCMS_SRC}/cmsps2.c
|
|
||||||
rm -vf ${LCMS_SRC}/cmssamp.c
|
|
||||||
rm -vf ${LCMS_SRC}/cmssm.c
|
|
||||||
rm -vf ${LCMS_SRC}/cmstypes.c
|
|
||||||
rm -vf ${LCMS_SRC}/cmsvirt.c
|
|
||||||
rm -vf ${LCMS_SRC}/cmswtpnt.c
|
|
||||||
rm -vf ${LCMS_SRC}/cmsxform.c
|
|
||||||
rm -vf ${LCMS_SRC}/lcms2.h
|
|
||||||
rm -vf ${LCMS_SRC}/lcms2_internal.h
|
|
||||||
rm -vf ${LCMS_SRC}/lcms2_plugin.h
|
|
@ -1,16 +0,0 @@
|
|||||||
diff -r 618ad1237e73 src/java.desktop/share/classes/java/awt/Toolkit.java
|
|
||||||
--- a/src/java.desktop/share/classes/java/awt/Toolkit.java Thu Jun 13 19:37:49 2019 +0200
|
|
||||||
+++ b/src/java.desktop/share/classes/java/awt/Toolkit.java Thu Jul 04 10:35:42 2019 +0200
|
|
||||||
@@ -595,7 +595,11 @@
|
|
||||||
toolkit = new HeadlessToolkit(toolkit);
|
|
||||||
}
|
|
||||||
if (!GraphicsEnvironment.isHeadless()) {
|
|
||||||
- loadAssistiveTechnologies();
|
|
||||||
+ try {
|
|
||||||
+ loadAssistiveTechnologies();
|
|
||||||
+ } catch (AWTError error) {
|
|
||||||
+ // ignore silently
|
|
||||||
+ }
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return toolkit;
|
|
@ -1,12 +0,0 @@
|
|||||||
diff --git openjdk.orig/src/java.base/share/conf/security/java.security openjdk/src/java.base/share/conf/security/java.security
|
|
||||||
index 68a9c1a2d08..7aa25eb2cb7 100644
|
|
||||||
--- openjdk.orig/src/java.base/share/conf/security/java.security
|
|
||||||
+++ openjdk/src/java.base/share/conf/security/java.security
|
|
||||||
@@ -78,6 +78,7 @@ security.provider.tbd=SunMSCAPI
|
|
||||||
security.provider.tbd=Apple
|
|
||||||
#endif
|
|
||||||
security.provider.tbd=SunPKCS11
|
|
||||||
+#security.provider.tbd=SunPKCS11 ${java.home}/lib/security/nss.cfg
|
|
||||||
|
|
||||||
#
|
|
||||||
# Security providers used when FIPS mode support is active
|
|
@ -1,20 +0,0 @@
|
|||||||
--- openjdk/src/java.base/share/conf/security/java.security
|
|
||||||
+++ openjdk/src/java.base/share/conf/security/java.security
|
|
||||||
@@ -304,6 +304,8 @@
|
|
||||||
#
|
|
||||||
package.access=sun.misc.,\
|
|
||||||
sun.reflect.,\
|
|
||||||
+ org.GNOME.Accessibility.,\
|
|
||||||
+ org.GNOME.Bonobo.,\
|
|
||||||
|
|
||||||
#
|
|
||||||
# List of comma-separated packages that start with or equal this string
|
|
||||||
@@ -316,6 +318,8 @@
|
|
||||||
#
|
|
||||||
package.definition=sun.misc.,\
|
|
||||||
sun.reflect.,\
|
|
||||||
+ org.GNOME.Accessibility.,\
|
|
||||||
+ org.GNOME.Bonobo.,\
|
|
||||||
|
|
||||||
#
|
|
||||||
# Determines whether this properties file can be appended to
|
|
@ -1,15 +0,0 @@
|
|||||||
diff --git a/openjdk/src/java.smartcardio/unix/classes/sun/security/smartcardio/PlatformPCSC.java b/src/java.smartcardio/unix/classes/sun/security/smartcardio/PlatformPCSC.java
|
|
||||||
index bacff32efbc..ff7b3dcc81c 100644
|
|
||||||
--- openjdk/src/java.smartcardio/unix/classes/sun/security/smartcardio/PlatformPCSC.java
|
|
||||||
+++ openjdk/src/java.smartcardio/unix/classes/sun/security/smartcardio/PlatformPCSC.java
|
|
||||||
@@ -46,8 +46,8 @@ class PlatformPCSC {
|
|
||||||
|
|
||||||
private static final String PROP_NAME = "sun.security.smartcardio.library";
|
|
||||||
|
|
||||||
- private static final String LIB1 = "/usr/$LIBISA/libpcsclite.so";
|
|
||||||
- private static final String LIB2 = "/usr/local/$LIBISA/libpcsclite.so";
|
|
||||||
+ private static final String LIB1 = "/usr/$LIBISA/libpcsclite.so.1";
|
|
||||||
+ private static final String LIB2 = "/usr/local/$LIBISA/libpcsclite.so.1";
|
|
||||||
private static final String PCSC_FRAMEWORK = "/System/Library/Frameworks/PCSC.framework/Versions/Current/PCSC";
|
|
||||||
|
|
||||||
PlatformPCSC() {
|
|
@ -1,117 +0,0 @@
|
|||||||
diff --git openjdk.orig/make/modules/java.base/Launcher.gmk openjdk/make/modules/java.base/Launcher.gmk
|
|
||||||
index 700ddefda49..2882de68eb2 100644
|
|
||||||
--- openjdk.orig/make/modules/java.base/Launcher.gmk
|
|
||||||
+++ openjdk/make/modules/java.base/Launcher.gmk
|
|
||||||
@@ -41,6 +41,14 @@ $(eval $(call SetupBuildLauncher, java, \
|
|
||||||
OPTIMIZATION := HIGH, \
|
|
||||||
))
|
|
||||||
|
|
||||||
+#Wno-error=cpp is present to allow commented warning in ifdef part of main.c
|
|
||||||
+$(eval $(call SetupBuildLauncher, alt-java, \
|
|
||||||
+ CFLAGS := -DEXPAND_CLASSPATH_WILDCARDS -DENABLE_ARG_FILES -DREDHAT_ALT_JAVA -Wno-error=cpp, \
|
|
||||||
+ EXTRA_RCFLAGS := $(JAVA_RCFLAGS), \
|
|
||||||
+ VERSION_INFO_RESOURCE := $(JAVA_VERSION_INFO_RESOURCE), \
|
|
||||||
+ OPTIMIZATION := HIGH, \
|
|
||||||
+))
|
|
||||||
+
|
|
||||||
ifeq ($(call isTargetOs, windows), true)
|
|
||||||
$(eval $(call SetupBuildLauncher, javaw, \
|
|
||||||
CFLAGS := -DJAVAW -DEXPAND_CLASSPATH_WILDCARDS -DENABLE_ARG_FILES, \
|
|
||||||
diff --git openjdk.orig/src/java.base/share/native/launcher/alt_main.h openjdk/src/java.base/share/native/launcher/alt_main.h
|
|
||||||
new file mode 100644
|
|
||||||
index 00000000000..697df2898ac
|
|
||||||
--- /dev/null
|
|
||||||
+++ openjdk/src/java.base/share/native/launcher/alt_main.h
|
|
||||||
@@ -0,0 +1,73 @@
|
|
||||||
+/*
|
|
||||||
+ * Copyright (c) 2019, Red Hat, Inc. All rights reserved.
|
|
||||||
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
|
||||||
+ *
|
|
||||||
+ * This code is free software; you can redistribute it and/or modify it
|
|
||||||
+ * under the terms of the GNU General Public License version 2 only, as
|
|
||||||
+ * published by the Free Software Foundation. Oracle designates this
|
|
||||||
+ * particular file as subject to the "Classpath" exception as provided
|
|
||||||
+ * by Oracle in the LICENSE file that accompanied this code.
|
|
||||||
+ *
|
|
||||||
+ * This code 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 General Public License
|
|
||||||
+ * version 2 for more details (a copy is included in the LICENSE file that
|
|
||||||
+ * accompanied this code).
|
|
||||||
+ *
|
|
||||||
+ * You should have received a copy of the GNU General Public License version
|
|
||||||
+ * 2 along with this work; if not, write to the Free Software Foundation,
|
|
||||||
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
|
||||||
+ *
|
|
||||||
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
|
||||||
+ * or visit www.oracle.com if you need additional information or have any
|
|
||||||
+ * questions.
|
|
||||||
+ */
|
|
||||||
+
|
|
||||||
+#ifdef REDHAT_ALT_JAVA
|
|
||||||
+
|
|
||||||
+#include <sys/prctl.h>
|
|
||||||
+
|
|
||||||
+
|
|
||||||
+/* Per task speculation control */
|
|
||||||
+#ifndef PR_GET_SPECULATION_CTRL
|
|
||||||
+# define PR_GET_SPECULATION_CTRL 52
|
|
||||||
+#endif
|
|
||||||
+#ifndef PR_SET_SPECULATION_CTRL
|
|
||||||
+# define PR_SET_SPECULATION_CTRL 53
|
|
||||||
+#endif
|
|
||||||
+/* Speculation control variants */
|
|
||||||
+#ifndef PR_SPEC_STORE_BYPASS
|
|
||||||
+# define PR_SPEC_STORE_BYPASS 0
|
|
||||||
+#endif
|
|
||||||
+/* Return and control values for PR_SET/GET_SPECULATION_CTRL */
|
|
||||||
+
|
|
||||||
+#ifndef PR_SPEC_NOT_AFFECTED
|
|
||||||
+# define PR_SPEC_NOT_AFFECTED 0
|
|
||||||
+#endif
|
|
||||||
+#ifndef PR_SPEC_PRCTL
|
|
||||||
+# define PR_SPEC_PRCTL (1UL << 0)
|
|
||||||
+#endif
|
|
||||||
+#ifndef PR_SPEC_ENABLE
|
|
||||||
+# define PR_SPEC_ENABLE (1UL << 1)
|
|
||||||
+#endif
|
|
||||||
+#ifndef PR_SPEC_DISABLE
|
|
||||||
+# define PR_SPEC_DISABLE (1UL << 2)
|
|
||||||
+#endif
|
|
||||||
+#ifndef PR_SPEC_FORCE_DISABLE
|
|
||||||
+# define PR_SPEC_FORCE_DISABLE (1UL << 3)
|
|
||||||
+#endif
|
|
||||||
+#ifndef PR_SPEC_DISABLE_NOEXEC
|
|
||||||
+# define PR_SPEC_DISABLE_NOEXEC (1UL << 4)
|
|
||||||
+#endif
|
|
||||||
+
|
|
||||||
+static void set_speculation() __attribute__((constructor));
|
|
||||||
+static void set_speculation() {
|
|
||||||
+ if ( prctl(PR_SET_SPECULATION_CTRL,
|
|
||||||
+ PR_SPEC_STORE_BYPASS,
|
|
||||||
+ PR_SPEC_DISABLE_NOEXEC, 0, 0) == 0 ) {
|
|
||||||
+ return;
|
|
||||||
+ }
|
|
||||||
+ prctl(PR_SET_SPECULATION_CTRL, PR_SPEC_STORE_BYPASS, PR_SPEC_DISABLE, 0, 0);
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
+#endif // REDHAT_ALT_JAVA
|
|
||||||
diff --git openjdk.orig/src/java.base/share/native/launcher/main.c openjdk/src/java.base/share/native/launcher/main.c
|
|
||||||
index b734fe2ba78..79dc8307650 100644
|
|
||||||
--- openjdk.orig/src/java.base/share/native/launcher/main.c
|
|
||||||
+++ openjdk/src/java.base/share/native/launcher/main.c
|
|
||||||
@@ -34,6 +34,14 @@
|
|
||||||
#include "jli_util.h"
|
|
||||||
#include "jni.h"
|
|
||||||
|
|
||||||
+#ifdef REDHAT_ALT_JAVA
|
|
||||||
+#if defined(__linux__) && defined(__x86_64__)
|
|
||||||
+#include "alt_main.h"
|
|
||||||
+#else
|
|
||||||
+#warning alt-java requested but SSB mitigation not available on this platform.
|
|
||||||
+#endif
|
|
||||||
+#endif
|
|
||||||
+
|
|
||||||
#ifdef _MSC_VER
|
|
||||||
#if _MSC_VER > 1400 && _MSC_VER < 1600
|
|
||||||
|
|
@ -1,19 +0,0 @@
|
|||||||
Remove uses of FAR in jpeg code
|
|
||||||
|
|
||||||
Upstream libjpeg-trubo removed the (empty) FAR macro:
|
|
||||||
http://sourceforge.net/p/libjpeg-turbo/code/1312/
|
|
||||||
|
|
||||||
Adjust our code to not use the undefined FAR macro anymore.
|
|
||||||
|
|
||||||
diff --git a/jdk/src/java.desktop/share/native/libjavajpeg/imageioJPEG.c b/jdk/src/java.desktop/share/native/libjavajpeg/imageioJPEG.c
|
|
||||||
--- openjdk/src/java.desktop/share/native/libjavajpeg/imageioJPEG.c
|
|
||||||
+++ openjdk/src/java.desktop/share/native/libjavajpeg/imageioJPEG.c
|
|
||||||
@@ -1385,7 +1385,7 @@
|
|
||||||
/* and fill it in */
|
|
||||||
dst_ptr = icc_data;
|
|
||||||
for (seq_no = first; seq_no < last; seq_no++) {
|
|
||||||
- JOCTET FAR *src_ptr = icc_markers[seq_no]->data + ICC_OVERHEAD_LEN;
|
|
||||||
+ JOCTET *src_ptr = icc_markers[seq_no]->data + ICC_OVERHEAD_LEN;
|
|
||||||
unsigned int length =
|
|
||||||
icc_markers[seq_no]->data_length - ICC_OVERHEAD_LEN;
|
|
||||||
|
|
1
sources
1
sources
@ -1,2 +1 @@
|
|||||||
SHA512 (tapsets-icedtea-6.0.0pre00-c848b93a8598.tar.xz) = 97d026212363b3c83f6a04100ad7f6fdde833d16579717f8756e2b8c2eb70e144a41a330cb9ccde9c3badd37a2d54fdf4650a950ec21d8b686d545ecb2a64d30
|
SHA512 (tapsets-icedtea-6.0.0pre00-c848b93a8598.tar.xz) = 97d026212363b3c83f6a04100ad7f6fdde833d16579717f8756e2b8c2eb70e144a41a330cb9ccde9c3badd37a2d54fdf4650a950ec21d8b686d545ecb2a64d30
|
||||||
SHA512 (openjdk-jdk19u-jdk-19+36.tar.xz) = c441e1f7dbabe3e66e062a7f661f953e06c10dd165995e2996e614d32f2333cd4532f45064ba4d098dfc8fa3637448d4dc9869c235d086ef80499a7a262f4ede
|
|
||||||
|
Loading…
Reference in New Issue
Block a user