public inbox for git-commits@fedoraproject.org
help / color / mirror / Atom feed
* [rpms/java-25-openjdk] rawhide: Repacking OpenJDK 25.0.4 (2026-07-21)
@ 2026-07-28 6:53 Jiri Vanek
0 siblings, 0 replies; only message in thread
From: Jiri Vanek @ 2026-07-28 6:53 UTC (permalink / raw)
To: git-commits
A new commit has been pushed.
Repo : rpms/java-25-openjdk
Branch : rawhide
Commit : 4285fa62b22ea4a9cfb2e6a2e1e9be5f5524f469
Author : Jiri Vanek <jvanek@redhat.com>
Date : 2026-07-28T08:53:05+02:00
Stats : +236/-185 in 2 file(s)
URL : https://src.fedoraproject.org/rpms/java-25-openjdk/c/4285fa62b22ea4a9cfb2e6a2e1e9be5f5524f469?branch=rawhide
Log:
Repacking OpenJDK 25.0.4 (2026-07-21)
---
diff --git a/TestTranslations.java b/TestTranslations.java
index f6a4fe2..9e4002a 100644
--- a/TestTranslations.java
+++ b/TestTranslations.java
@@ -1,5 +1,5 @@
/* TestTranslations -- Ensure translations are available for new timezones
- Copyright (C) 2022 Red Hat, Inc.
+ Copyright (C) 2026 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
@@ -52,23 +52,36 @@ public class TestTranslations {
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"});
+ map.put(Locale.GERMANY, new String[] { "Rocky-Mountains-Normalzeit", "GMT-07:00", "MST",
+ "Rocky-Mountains-Sommerzeit", "GMT-06:00", "MDT",
+ "Rocky-Mountains-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);
+ boolean debug = false;
+
+ if (args.length > 0) {
+ debug = Boolean.parseBoolean(args[0]);
}
+ System.err.printf("Debugging: %s\n", debug);
+
+ testZoneStrings(debug);
+
+ testZone(KYIV,
+ new String[] { "Europe/Kiev", "Europe/Kyiv", "Europe/Uzhgorod", "Europe/Zaporozhye" });
+ testZone(CIUDAD_JUAREZ,
+ new String[] { "America/Cambridge_Bay", "America/Ciudad_Juarez" });
+ }
+
+ private static void testZoneStrings(final boolean debug) {
System.out.println("Checking sanity of full zone string set...");
boolean invalid = Arrays.stream(Locale.getAvailableLocales())
- .peek(l -> System.out.println("Locale: " + l))
+ .peek(l -> System.out.printf(debug ? "Locale: %s\n" : "", l))
.map(l -> DateFormatSymbols.getInstance(l).getZoneStrings())
+ .peek(df -> System.out.printf(debug ? "Zone string size: %s\n" : "", df.length))
.flatMap(zs -> Arrays.stream(zs))
.flatMap(names -> Arrays.stream(names))
.filter(name -> Objects.isNull(name) || name.isEmpty())
@@ -78,15 +91,9 @@ public class TestTranslations {
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) {
+ private static void testZone(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));
@@ -97,20 +104,11 @@ public class TestTranslations {
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);
+ expectedShortStd = expected[2];
+ expectedShortDST = expected[5];
+ expectedShortGen = expected[8];
+ System.out.printf("Using short values %s, %s and %s\n",
+ expectedShortStd, expectedShortDST, expectedShortGen);
String longStd = TimeZone.getTimeZone(id).getDisplayName(false, TimeZone.LONG, l);
String shortStd = TimeZone.getTimeZone(id).getDisplayName(false, TimeZone.SHORT, l);
diff --git a/java-25-openjdk.spec b/java-25-openjdk.spec
index 419bc94..b6bedf9 100644
--- a/java-25-openjdk.spec
+++ b/java-25-openjdk.spec
@@ -1,3 +1,106 @@
+# New Version-String scheme-style defines
+%global featurever 25
+%global interimver 0
+%global updatever 4
+%global patchver 0
+%global buildver 7
+%global portablerelease 1
+%global rpmrelease 1
+
+# Define IcedTea version used for SystemTap tapsets and desktop file
+%global icedteaver 6.0.0pre00-c848b93a8598
+# Define current Git revision for the FIPS support patches
+%global fipsver 57722aab802
+# Define nssadapter variables
+%global nssadapter_version 0.1.1
+%global nssadapter_name nssadapter-%{nssadapter_version}
+# Define whether the crypto policy is expected to be active when testing
+%global crypto_policy_active true
+# 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
+
+# Define milestone (EA for pre-releases, GA for releases)
+# Release will be (where N is usually a number starting at 1):
+# - 0.N.ea<dist> for EA releases,
+# - N<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
+
+%global compatiblename java-%{javaver}-%{origin}
+# TODO think about renaming tarball in portables so it matches and compatiblename and drop portable_compatiblename
+# It may be better to keep portables tarball as it is, as it nicely points out what is going from portables to rpms
+%global portable_compatiblename java-%{featurever}-%{origin}
+
+Name: %{compatiblename}
+Version: %{newjavaver}.%{buildver}
+Release: %{?eaprefix}%{portablerelease}.%{rpmrelease}%{?extraver}%{?dist}
+
+%global fullversion %{compatiblename}-%{version}-%{release}
+
+# 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
+# Automatically converted from old format: 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 - review is highly recommended.
+License: Apache-1.1 AND Apache-2.0 AND LicenseRef-Callaway-BSD AND LicenseRef-Callaway-BSD-with-advertising AND GPL-1.0-or-later AND GPL-2.0-only AND LicenseRef-Callaway-GPLv2-with-exceptions AND IJG AND LicenseRef-Callaway-LGPLv2+ AND LicenseRef-Callaway-MIT AND MPL-2.0 AND LicenseRef-Callaway-Public-Domain AND W3C AND Zlib AND ISC AND FTL AND LicenseRef-RSA
+URL: http://openjdk.java.net/
+
+# Check if pandoc was available to generate docs (including man pages)
+%if 0%{?rhel} == 8 || 0%{?epel} > 0 || 0%{?fedora} > 0
+%global pandoc_available 1
+%else
+%global pandoc_available 0
+%endif
+
# RPM conditionals so as to be able to dynamically produce
# slowdebug/release builds. See:
# http://rpm.org/user_doc/conditional_builds.html
@@ -92,23 +195,24 @@
%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
+# We have a hardcoded list of files, which appears 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
+# Those files must *NOT* be ghosted for *debug* packages
# FIXME - if you are moving jshell or jlink or similar, always modify all three sections
-# you can check via headless and devels:
+# 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}
+# and similarly for other packages.
+
%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...)
+# Indicates whether this is the default JDK on this version of RHEL
+# Only the default/system JDK provides unversioned Provides like 'java', 'jre' and 'java-devel'
%global is_system_jdk 1
%global aarch64 aarch64 arm64 armv8
@@ -125,6 +229,8 @@
%global jit_arches %{arm} %{aarch64} %{ix86} %{power64} s390x sparcv9 sparc64 x86_64 riscv64
# Set of architectures which use the Zero assembler port (!jit_arches)
%global zero_arches ppc s390
+# Set of architectures which run a full bootstrap cycle
+%global bootstrap_arches %{jit_arches}
# Set of architectures which support SystemTap tapsets
%global systemtap_arches %{jit_arches}
# Set of architectures with a Ahead-Of-Time (AOT) compiler
@@ -146,7 +252,7 @@
# Set of architectures for which java has intrinsics for Arrays.sort (libsimdsort.so)
%global simdsort_arches x86_64
# Set of architectures for which SLEEF is used for vector math operations
-%global sleef_arches aarch64 riscv64
+%global sleef_arches %{aarch64} riscv64
# 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)
@@ -200,12 +306,6 @@
# Build and test slowdebug first as it provides the best diagnostics
%global build_loop %{slowdebug_build} %{fastdebug_build} %{normal_build}
-# 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 )
@@ -262,7 +362,7 @@
%endif
%ifarch riscv64
%global archinstall riscv64
-%global stapinstall %{_target_cpu}
+%global stapinstall riscv64
%endif
# 32 bit sparc, optimized for v9
%ifarch sparcv9
@@ -286,14 +386,8 @@
%global with_systemtap 0
%endif
-# New Version-String scheme-style defines
-%global featurever 25
-%global interimver 0
-%global updatever 3
-%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.
+# We need to explicitly exclude EPEL as it has the rhel macro defined.
%if 0%{?rhel} && !0%{?epel}
%global lts_designator "LTS"
%global lts_designator_zip -%{lts_designator}
@@ -305,7 +399,8 @@
# 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
+
+# Define what url the JVM should 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}
@@ -321,32 +416,8 @@
%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 current Git revision for the crypto policy & FIPS support patches
-%global fipsver 57722aab802
-# Define nssadapter variables
-%global nssadapter_version 0.1.1
-%global nssadapter_name nssadapter-%{nssadapter_version}
-# Define whether the crypto policy is expected to be active when testing
-%global crypto_policy_active true
-# 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}}
+%global oj_vendor_version (Red_Hat-%{version}-%{portablerelease})
-# 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 9
-%global rpmrelease 2
# 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
@@ -360,31 +431,8 @@
%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 %{name}
-# TODO think about renaming tarball in portables so it matches and compatiblename and drop portable_compatiblename
-# It may be better to keep portables tarball as it is, as it nicely points out what is going from portables to rpms
-%global portable_compatiblename java-%{featurever}-%{origin}
-%define fullversion() %{expand:%{compatiblename}%{?1}-%{version}-%{release}}
+
# output dir stub for nssadapter and proeprties
%define installoutputdir() %{expand:jdk%{featurever}.install-nsscp%{?1}}
# installation directory for static libraries
@@ -417,6 +465,12 @@
%global __requires_exclude ^(%{_privatelibs}|%{_publiclibs})$
%endif
+# VM variant being built
+%ifarch %{zero_arches}
+%global vm_variant zero
+%else
+%global vm_variant server
+%endif
%global etcjavasubdir %{_sysconfdir}/java/java-%{javaver}-%{origin}
%define etcjavadir() %{expand:%{etcjavasubdir}/%{uniquesuffix -- %{?1}}}
@@ -432,8 +486,8 @@
%global rpm_state_dir %{_localstatedir}/lib/rpm-state/
%global repack_file repack.info
-# For flatpack builds hard-code dependency paths,
-# otherwise use relative paths.
+# For flatpack builds hard-code /usr/sbin/alternatives,
+# otherwise use _sbindir relative path.
%if 0%{?flatpak}
%global alternatives_requires /usr/sbin/alternatives
%global javazidir /usr/share/javazi-1.8
@@ -498,11 +552,18 @@ alternatives --install %{_bindir}/java java %{jrebindir -- %{?1}}/java %{priorit
--slave %{_jvmdir}/jre jre %{_jvmdir}/%{sdkdir -- %{?1}} \\
--slave %{_bindir}/%{alt_java_name} %{alt_java_name} %{jrebindir -- %{?1}}/%{alt_java_name} \\
--slave %{_bindir}/keytool keytool %{jrebindir -- %{?1}}/keytool \\
- --slave %{_bindir}/rmiregistry rmiregistry %{jrebindir -- %{?1}}/rmiregistry \\
- --slave %{_mandir}/man1/java.1%{man_comp} java.1%{man_comp} %{_jvmdir}/%{sdkdir -- %{?1}}/man/man1/java.1 \\
- --slave %{_mandir}/man1/%{alt_java_name}.1%{man_comp} %{alt_java_name}.1%{man_comp} %{_jvmdir}/%{sdkdir -- %{?1}}/man/man1/%{alt_java_name}.1 \\
- --slave %{_mandir}/man1/keytool.1%{man_comp} keytool.1%{man_comp} %{_jvmdir}/%{sdkdir -- %{?1}}/man/man1/keytool.1 \\
- --slave %{_mandir}/man1/rmiregistry.1%{man_comp} rmiregistry.1%{man_comp} %{_jvmdir}/%{sdkdir -- %{?1}}/man/man1/rmiregistry.1
+ --slave %{_bindir}/rmiregistry rmiregistry %{jrebindir -- %{?1}}/rmiregistry
+%if %{pandoc_available}
+alternatives --add-slave java %{jrebindir -- %{?1}}/java \\
+ %{_mandir}/man1/java.1%{man_comp} java.1%{man_comp} %{_jvmdir}/%{sdkdir -- %{?1}}/man/man1/java.1
+alternatives --add-slave java %{jrebindir -- %{?1}}/java \\
+ %{_mandir}/man1/%{alt_java_name}.1%{man_comp} %{alt_java_name}.1%{man_comp} %{_jvmdir}/%{sdkdir -- %{?1}}/man/man1/%{alt_java_name}.1
+alternatives --add-slave java %{jrebindir -- %{?1}}/java \\
+ %{_mandir}/man1/keytool.1%{man_comp} keytool.1%{man_comp} %{_jvmdir}/%{sdkdir -- %{?1}}/man/man1/keytool.1
+alternatives --add-slave java %{jrebindir -- %{?1}}/java \\
+ %{_mandir}/man1/rmiregistry.1%{man_comp} rmiregistry.1%{man_comp} %{_jvmdir}/%{sdkdir -- %{?1}}/man/man1/rmiregistry.1
+%endif
+
alternatives --install %{_jvmdir}/jre-%{origin} jre_%{origin} %{_jvmdir}/%{sdkdir -- %{?1}} %{priority_for -- %{?1}}
alternatives --install %{_jvmdir}/jre-%{javaver} jre_%{javaver} %{_jvmdir}/%{sdkdir -- %{?1}} %{priority_for -- %{?1}}
alternatives --install %{_jvmdir}/jre-%{javaver}-%{origin} jre_%{javaver}_%{origin} %{_jvmdir}/%{sdkdir -- %{?1}} %{priority_for -- %{?1}}
@@ -599,27 +660,49 @@ alternatives --install %{_bindir}/javac javac %{sdkbindir -- %{?1}}/javac %{prio
--slave %{_bindir}/jstat jstat %{sdkbindir -- %{?1}}/jstat \\
--slave %{_bindir}/jstatd jstatd %{sdkbindir -- %{?1}}/jstatd \\
--slave %{_bindir}/jwebserver jwebserver %{sdkbindir -- %{?1}}/jwebserver \\
- --slave %{_bindir}/serialver serialver %{sdkbindir -- %{?1}}/serialver \\
- --slave %{_mandir}/man1/jar.1%{man_comp} jar.1%{man_comp} %{_jvmdir}/%{sdkdir -- %{?1}}/man/man1/jar.1 \\
- --slave %{_mandir}/man1/jarsigner.1%{man_comp} jarsigner.1%{man_comp} %{_jvmdir}/%{sdkdir -- %{?1}}/man/man1/jarsigner.1 \\
- --slave %{_mandir}/man1/javac.1%{man_comp} javac.1%{man_comp} %{_jvmdir}/%{sdkdir -- %{?1}}/man/man1/javac.1 \\
- --slave %{_mandir}/man1/javadoc.1%{man_comp} javadoc.1%{man_comp} %{_jvmdir}/%{sdkdir -- %{?1}}/man/man1/javadoc.1 \\
- --slave %{_mandir}/man1/javap.1%{man_comp} javap.1%{man_comp} %{_jvmdir}/%{sdkdir -- %{?1}}/man/man1/javap.1 \\
- --slave %{_mandir}/man1/jcmd.1%{man_comp} jcmd.1%{man_comp} %{_jvmdir}/%{sdkdir -- %{?1}}/man/man1/jcmd.1 \\
- --slave %{_mandir}/man1/jconsole.1%{man_comp} jconsole.1%{man_comp} %{_jvmdir}/%{sdkdir -- %{?1}}/man/man1/jconsole.1 \\
- --slave %{_mandir}/man1/jdb.1%{man_comp} jdb.1%{man_comp} %{_jvmdir}/%{sdkdir -- %{?1}}/man/man1/jdb.1 \\
- --slave %{_mandir}/man1/jdeps.1%{man_comp} jdeps.1%{man_comp} %{_jvmdir}/%{sdkdir -- %{?1}}/man/man1/jdeps.1 \\
- --slave %{_mandir}/man1/jinfo.1%{man_comp} jinfo.1%{man_comp} %{_jvmdir}/%{sdkdir -- %{?1}}/man/man1/jinfo.1 \\
- --slave %{_mandir}/man1/jmap.1%{man_comp} jmap.1%{man_comp} %{_jvmdir}/%{sdkdir -- %{?1}}/man/man1/jmap.1 \\
- --slave %{_mandir}/man1/jnativescan.1%{man_comp} jnativescan.1%{man_comp} %{_jvmdir}/%{sdkdir -- %{?1}}/man/man1/jnativescan.1 \\
- --slave %{_mandir}/man1/jps.1%{man_comp} jps.1%{man_comp} %{_jvmdir}/%{sdkdir -- %{?1}}/man/man1/jps.1 \\
- --slave %{_mandir}/man1/jpackage.1%{man_comp} jpackage.1%{man_comp} %{_jvmdir}/%{sdkdir -- %{?1}}/man/man1/jpackage.1 \\
- --slave %{_mandir}/man1/jrunscript.1%{man_comp} jrunscript.1%{man_comp} %{_jvmdir}/%{sdkdir -- %{?1}}/man/man1/jrunscript.1 \\
- --slave %{_mandir}/man1/jstack.1%{man_comp} jstack.1%{man_comp} %{_jvmdir}/%{sdkdir -- %{?1}}/man/man1/jstack.1 \\
- --slave %{_mandir}/man1/jstat.1%{man_comp} jstat.1%{man_comp} %{_jvmdir}/%{sdkdir -- %{?1}}/man/man1/jstat.1 \\
- --slave %{_mandir}/man1/jwebserver.1%{man_comp} jwebserver.1%{man_comp} %{_jvmdir}/%{sdkdir -- %{?1}}/man/man1/jwebserver.1 \\
- --slave %{_mandir}/man1/jstatd.1%{man_comp} jstatd.1%{man_comp} %{_jvmdir}/%{sdkdir -- %{?1}}/man/man1/jstatd.1 \\
- --slave %{_mandir}/man1/serialver.1%{man_comp} serialver.1%{man_comp} %{_jvmdir}/%{sdkdir -- %{?1}}/man/man1/serialver.1
+ --slave %{_bindir}/serialver serialver %{sdkbindir -- %{?1}}/serialver
+%if %{pandoc_available}
+alternatives --add-slave javac %{sdkbindir -- %{?1}}/javac \\
+ %{_mandir}/man1/jar.1%{man_comp} jar.1%{man_comp} %{_jvmdir}/%{sdkdir -- %{?1}}/man/man1/jar.1
+alternatives --add-slave javac %{sdkbindir -- %{?1}}/javac \\
+ %{_mandir}/man1/jarsigner.1%{man_comp} jarsigner.1%{man_comp} %{_jvmdir}/%{sdkdir -- %{?1}}/man/man1/jarsigner.1
+alternatives --add-slave javac %{sdkbindir -- %{?1}}/javac \\
+ %{_mandir}/man1/javac.1%{man_comp} javac.1%{man_comp} %{_jvmdir}/%{sdkdir -- %{?1}}/man/man1/javac.1
+alternatives --add-slave javac %{sdkbindir -- %{?1}}/javac \\
+ %{_mandir}/man1/javadoc.1%{man_comp} javadoc.1%{man_comp} %{_jvmdir}/%{sdkdir -- %{?1}}/man/man1/javadoc.1
+alternatives --add-slave javac %{sdkbindir -- %{?1}}/javac \\
+ %{_mandir}/man1/javap.1%{man_comp} javap.1%{man_comp} %{_jvmdir}/%{sdkdir -- %{?1}}/man/man1/javap.1
+alternatives --add-slave javac %{sdkbindir -- %{?1}}/javac \\
+ %{_mandir}/man1/jcmd.1%{man_comp} jcmd.1%{man_comp} %{_jvmdir}/%{sdkdir -- %{?1}}/man/man1/jcmd.1
+alternatives --add-slave javac %{sdkbindir -- %{?1}}/javac \\
+ %{_mandir}/man1/jconsole.1%{man_comp} jconsole.1%{man_comp} %{_jvmdir}/%{sdkdir -- %{?1}}/man/man1/jconsole.1
+alternatives --add-slave javac %{sdkbindir -- %{?1}}/javac \\
+ %{_mandir}/man1/jdb.1%{man_comp} jdb.1%{man_comp} %{_jvmdir}/%{sdkdir -- %{?1}}/man/man1/jdb.1
+alternatives --add-slave javac %{sdkbindir -- %{?1}}/javac \\
+ %{_mandir}/man1/jdeps.1%{man_comp} jdeps.1%{man_comp} %{_jvmdir}/%{sdkdir -- %{?1}}/man/man1/jdeps.1
+alternatives --add-slave javac %{sdkbindir -- %{?1}}/javac \\
+ %{_mandir}/man1/jinfo.1%{man_comp} jinfo.1%{man_comp} %{_jvmdir}/%{sdkdir -- %{?1}}/man/man1/jinfo.1
+alternatives --add-slave javac %{sdkbindir -- %{?1}}/javac \\
+ %{_mandir}/man1/jmap.1%{man_comp} jmap.1%{man_comp} %{_jvmdir}/%{sdkdir -- %{?1}}/man/man1/jmap.1
+alternatives --add-slave javac %{sdkbindir -- %{?1}}/javac \\
+ %{_mandir}/man1/jnativescan.1%{man_comp} jnativescan.1%{man_comp} %{_jvmdir}/%{sdkdir -- %{?1}}/man/man1/jnativescan.1
+alternatives --add-slave javac %{sdkbindir -- %{?1}}/javac \\
+ %{_mandir}/man1/jps.1%{man_comp} jps.1%{man_comp} %{_jvmdir}/%{sdkdir -- %{?1}}/man/man1/jps.1
+alternatives --add-slave javac %{sdkbindir -- %{?1}}/javac \\
+ %{_mandir}/man1/jpackage.1%{man_comp} jpackage.1%{man_comp} %{_jvmdir}/%{sdkdir -- %{?1}}/man/man1/jpackage.1
+alternatives --add-slave javac %{sdkbindir -- %{?1}}/javac \\
+ %{_mandir}/man1/jrunscript.1%{man_comp} jrunscript.1%{man_comp} %{_jvmdir}/%{sdkdir -- %{?1}}/man/man1/jrunscript.1
+alternatives --add-slave javac %{sdkbindir -- %{?1}}/javac \\
+ %{_mandir}/man1/jstack.1%{man_comp} jstack.1%{man_comp} %{_jvmdir}/%{sdkdir -- %{?1}}/man/man1/jstack.1
+alternatives --add-slave javac %{sdkbindir -- %{?1}}/javac \\
+ %{_mandir}/man1/jstat.1%{man_comp} jstat.1%{man_comp} %{_jvmdir}/%{sdkdir -- %{?1}}/man/man1/jstat.1
+alternatives --add-slave javac %{sdkbindir -- %{?1}}/javac \\
+ %{_mandir}/man1/jwebserver.1%{man_comp} jwebserver.1%{man_comp} %{_jvmdir}/%{sdkdir -- %{?1}}/man/man1/jwebserver.1
+alternatives --add-slave javac %{sdkbindir -- %{?1}}/javac \\
+ %{_mandir}/man1/jstatd.1%{man_comp} jstatd.1%{man_comp} %{_jvmdir}/%{sdkdir -- %{?1}}/man/man1/jstatd.1
+alternatives --add-slave javac %{sdkbindir -- %{?1}}/javac \\
+ %{_mandir}/man1/serialver.1%{man_comp} serialver.1%{man_comp} %{_jvmdir}/%{sdkdir -- %{?1}}/man/man1/serialver.1
+%endif
alternatives --install %{_jvmdir}/java-%{origin} java_sdk_%{origin} %{_jvmdir}/%{sdkdir -- %{?1}} %{priority_for -- %{?1}}
alternatives --install %{_jvmdir}/java-%{javaver} java_sdk_%{javaver} %{_jvmdir}/%{sdkdir -- %{?1}} %{priority_for -- %{?1}}
}
@@ -711,7 +794,7 @@ fi
%define files_jre_headless() %{expand:
%dir %{_jvmdir}/%{sdkdir -- %{?1}}/
%dir %{_jvmdir}/%{sdkdir -- %{?1}}/lib/
-%doc %{_defaultdocdir}/%{uniquejavadocdir -- %{?1}}/%{fullversion -- %{nil}}.specfile
+%doc %{_defaultdocdir}/%{uniquejavadocdir -- %{?1}}/%{fullversion}.specfile
%license %{_jvmdir}/%{sdkdir -- %{?1}}/legal
%doc %{_jvmdir}/%{sdkdir -- %{?1}}/NEWS
%doc %{_defaultdocdir}/%{uniquejavadocdir -- %{?1}}/NEWS
@@ -790,10 +873,12 @@ fi
%dir %{_jvmdir}/%{sdkdir -- %{?1}}/lib/jfr
%{_jvmdir}/%{sdkdir -- %{?1}}/lib/jfr/default.jfc
%{_jvmdir}/%{sdkdir -- %{?1}}/lib/jfr/profile.jfc
+%if %{pandoc_available}
%{_jvmdir}/%{sdkdir -- %{?1}}/man/man1/java.1
%{_jvmdir}/%{sdkdir -- %{?1}}/man/man1/%{alt_java_name}.1
%{_jvmdir}/%{sdkdir -- %{?1}}/man/man1/keytool.1
%{_jvmdir}/%{sdkdir -- %{?1}}/man/man1/rmiregistry.1
+%endif
%dir %{_jvmdir}/%{sdkdir -- %{?1}}/lib/%{vm_variant}
%{_jvmdir}/%{sdkdir -- %{?1}}/lib/%{vm_variant}/*.so
%ifarch %{share_arches}
@@ -890,9 +975,11 @@ fi
%ifarch %{sa_arches}
%ifnarch %{zero_arches}
%{_jvmdir}/%{sdkdir -- %{?1}}/bin/jhsdb
+%if %{pandoc_available}
%{_jvmdir}/%{sdkdir -- %{?1}}/man/man1/jhsdb.1
%endif
%endif
+%endif
%{_jvmdir}/%{sdkdir -- %{?1}}/bin/jinfo
%{_jvmdir}/%{sdkdir -- %{?1}}/bin/jlink
%{_jvmdir}/%{sdkdir -- %{?1}}/bin/jmap
@@ -913,6 +1000,8 @@ fi
%{_jvmdir}/%{sdkdir -- %{?1}}/tapset
%endif
%{_datadir}/applications/*jconsole%{?1}.desktop
+
+%if %{pandoc_available}
%{_jvmdir}/%{sdkdir -- %{?1}}/man/man1/jar.1
%{_jvmdir}/%{sdkdir -- %{?1}}/man/man1/jarsigner.1
%{_jvmdir}/%{sdkdir -- %{?1}}/man/man1/javac.1
@@ -938,6 +1027,7 @@ fi
%{_jvmdir}/%{sdkdir -- %{?1}}/man/man1/jstatd.1
%{_jvmdir}/%{sdkdir -- %{?1}}/man/man1/jwebserver.1
%{_jvmdir}/%{sdkdir -- %{?1}}/man/man1/serialver.1
+%endif
%if %{with_systemtap}
%dir %{tapsetroot}
@@ -1050,6 +1140,10 @@ OrderWithRequires: %{name}-headless%{?1}%{?_isa} = %{epoch}:%{version}-%{release
%if 0%{?rhel} >= 8 || 0%{?fedora} > 0
Recommends: gtk3%{?_isa}
%endif
+# Recommend PipeWire for screenshots under Wayland.
+%if 0%{?rhel} >= 9 || 0%{?fedora} > 0
+Recommends: pipewire%{?_isa}
+%endif
Provides: java-%{javaver}-%{origin}%{?1} = %{epoch}:%{version}-%{release}
@@ -1071,8 +1165,8 @@ 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
-# 2024a required as of JDK-8325150
-Requires: tzdata-java >= 2024a
+# 2026a required as of JDK-8379035
+Requires: tzdata-java >= 2026a
# for support of kernel stream control
# libsctp.so.1 is being `dlopen`ed on demand
Requires: lksctp-tools%{?_isa}
@@ -1193,43 +1287,6 @@ Provides: java-%{origin}-src%{?1} = %{epoch}:%{version}-%{release}
# the version must match, but sometmes we need to more precise, so including release
%global portable_version %{version}-1
-Name: java-25-%{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
-# Automatically converted from old format: 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 - review is highly recommended.
-License: Apache-1.1 AND Apache-2.0 AND LicenseRef-Callaway-BSD AND LicenseRef-Callaway-BSD-with-advertising AND GPL-1.0-or-later AND GPL-2.0-only AND LicenseRef-Callaway-GPLv2-with-exceptions AND IJG AND LicenseRef-Callaway-LGPLv2+ AND LicenseRef-Callaway-MIT AND MPL-2.0 AND LicenseRef-Callaway-Public-Domain AND W3C AND Zlib AND ISC AND FTL AND LicenseRef-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).
@@ -1324,17 +1381,17 @@ BuildRequires: libpng-devel
BuildRequires: zlib-devel
%else
# Version in src/java.desktop/share/legal/freetype.md
-Provides: bundled(freetype) = 2.14.2
+Provides: bundled(freetype) = 2.14.3
# Version in src/java.desktop/share/native/libsplashscreen/giflib/gif_lib.h
-Provides: bundled(giflib) = 6.1.2
+Provides: bundled(giflib) = 6.1.3
# Version in src/java.desktop/share/native/libharfbuzz/hb-version.h
-Provides: bundled(harfbuzz) = 12.3.2
+Provides: bundled(harfbuzz) = 14.2.0
# Version in src/java.desktop/share/native/liblcms/lcms2.h
-Provides: bundled(lcms2) = 2.17.0
+Provides: bundled(lcms2) = 2.19.1
# 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.57
+Provides: bundled(libpng) = 1.6.58
# Version in src/java.base/share/native/libzip/zlib/zlib.h
Provides: bundled(zlib) = 1.3.2
%endif
@@ -1672,7 +1729,7 @@ Obsoletes: javadoc-zip-slowdebug < 1:13.0.0.33-1.rolling
The %{origin_nice} %{featurever} API documentation compressed in a single archive.
%endif
-# crypto-adapter
+# java-25-openjdk-crypto-adapter
%if %{include_normal_build}
%package crypto-adapter
Summary: %{origin_nice} %{featurever} Cryptography Adapter Library
@@ -1680,7 +1737,7 @@ Summary: %{origin_nice} %{featurever} Cryptography Adapter Library
Group: Development/Languages
%endif
-# crypto-adapter does not need an "rpo" function since
+# java-25-openjdk-crypto-adapter does not need an "rpo" function since
# its specific nss and nss-softokn library requirements are
# automatically generated by RPM.
@@ -1793,7 +1850,7 @@ echo "Used %{version}.*portable:" >> %{repack_file}
ls -l %{portablejvmdir} | grep "%{version}.*portable" >> %{repack_file} || echo "Not found!" >> %{repack_file}
echo "Used portable.*%{version}:" >> %{repack_file}
rpm -qa | grep "portable.*%{version}" >> %{repack_file} || echo "Not found!" >> %{repack_file}
-echo "Where this is %{fullversion %{nil}}" >> %{repack_file}
+echo "Where this is %{fullversion}" >> %{repack_file}
portableNvr=`rpm -qa | grep %{name}-portable-misc-%{version} | sed "s/-misc-/-/" | sed "s/.%{_arch}.*//"`
if [ "x${portableNvr}" == x ] ; then
portableNvr=`rpm -qa | grep %{name}-portable-misc- | sed "s/-misc-/-/" | sed "s/.%{_arch}.*//"`" #incorrect!"
@@ -2104,7 +2161,7 @@ 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}
cp -a ${misc_image}/alt-java $RPM_BUILD_ROOT%{_jvmdir}/%{sdkdir -- $suffix}/bin
install -d -m 755 $RPM_BUILD_ROOT%{_defaultdocdir}/%{uniquejavadocdir -- $suffix}
-cp %{repack_file} $RPM_BUILD_ROOT%{_defaultdocdir}/%{uniquejavadocdir -- $suffix}/%{fullversion -- %{nil}}.specfile
+cp %{repack_file} $RPM_BUILD_ROOT%{_defaultdocdir}/%{uniquejavadocdir -- $suffix}/%{fullversion}.specfile
pushd ${jdk_image}
@@ -2556,8 +2613,4 @@ exit 0
%endif
-%changelog
-* Thu Jul 16 2026 Fedora Release Engineering <releng@fedoraproject.org> - 1:25.0.3.0.9-2.1
-- Rebuilt for https://fedoraproject.org/wiki/Fedora_45_Mass_Rebuild
-
%autochangelog
^ permalink raw reply related [flat|nested] only message in thread
only message in thread, other threads:[~2026-07-28 6:53 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-07-28 6:53 [rpms/java-25-openjdk] rawhide: Repacking OpenJDK 25.0.4 (2026-07-21) Jiri Vanek
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox