public inbox for git-commits@fedoraproject.org
help / color / mirror / Atom feed
* [rpms/java-25-openjdk] f43: Repacking OpenJDK 25.0.4 (2026-07-21)
@ 2026-07-28  6:59 Jiri Vanek
  0 siblings, 0 replies; only message in thread
From: Jiri Vanek @ 2026-07-28  6:59 UTC (permalink / raw)
  To: git-commits

A new commit has been pushed.

Repo   : rpms/java-25-openjdk
Branch : f43
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=f43

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:59 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:59 [rpms/java-25-openjdk] f43: 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