diff --git a/base/comps/components-full.toml b/base/comps/components-full.toml index c881bfde195..e5b3fc26296 100644 --- a/base/comps/components-full.toml +++ b/base/comps/components-full.toml @@ -648,7 +648,6 @@ [components.jansi-native] [components.jansi1] [components.jasper] -[components.java-21-openjdk-portable] [components.java-rpm-macros] [components.java_cup] [components.javacc] diff --git a/base/comps/java-21-openjdk-portable/java-21-openjdk-portable.comp.toml b/base/comps/java-21-openjdk-portable/java-21-openjdk-portable.comp.toml new file mode 100644 index 00000000000..22bd8a6ec9a --- /dev/null +++ b/base/comps/java-21-openjdk-portable/java-21-openjdk-portable.comp.toml @@ -0,0 +1,13 @@ +[components.java-21-openjdk-portable] + +# We build java-21 with portable sources 21.0.8.0.9. The head version of fed43 delivers +# 21.0.10.0.7. This will cause stage2 builds to fail. As a workaround pull from an older +# snapshot from before version was upgraded. +spec = { type = "upstream", upstream-distro = { name = "fedora", version = "43", snapshot = "2025-07-22T00:00:00-08:00" } } + +# The build repo has a newer java-21-openjdk (21.0.8+) whose libjava.so references +# JVM_IsContainerized — a symbol not present in the 21.0.7 libjvm.so. The fresh_libjvm +# feature rebuilds libjvm.so from source and swaps it into the boot JDK, causing an ABI +# mismatch. Disable it so the boot JDK uses its own compatible libjvm.so. +[components.java-21-openjdk-portable.build] +without = ["fresh_libjvm"] diff --git a/base/comps/java-21-openjdk-portable/java-21-openjdk-portable.comp.toml~ b/base/comps/java-21-openjdk-portable/java-21-openjdk-portable.comp.toml~ new file mode 100644 index 00000000000..ddbca0ff726 --- /dev/null +++ b/base/comps/java-21-openjdk-portable/java-21-openjdk-portable.comp.toml~ @@ -0,0 +1,13 @@ +[components.java-21-openjdk-portable] + +# We build java-21 with portable sources 21.0.8.0.9. The head version of fed43 delivers +# 21.0.10.0.7. This will cause stage2 builds to fail. As a workaround pull from an older +# snapshot from before version was upgraded. +spec = { type = "upstream", upstream-distro = { name = "fedora", version = "43", snapshot = "2025-07-21T00:00:00-08:00" } } + +# The build repo has a newer java-21-openjdk (21.0.8+) whose libjava.so references +# JVM_IsContainerized — a symbol not present in the 21.0.7 libjvm.so. The fresh_libjvm +# feature rebuilds libjvm.so from source and swaps it into the boot JDK, causing an ABI +# mismatch. Disable it so the boot JDK uses its own compatible libjvm.so. +[components.java-21-openjdk-portable.build] +without = ["fresh_libjvm"]