diff --git a/java-1.8.0-openjdk.spec b/java-1.8.0-openjdk.spec index 7cac41f..256e8ea 100644 --- a/java-1.8.0-openjdk.spec +++ b/java-1.8.0-openjdk.spec @@ -136,11 +136,7 @@ # Set of architectures where we verify backtraces with gdb %global gdb_arches %{jit_arches} %{zero_arches} # Set of architectures for which we have a portable build -%if 0%{?centos} == 0 -%global portable_build_arches %{aarch64} %{ix86} %{power64} x86_64 -%else %global portable_build_arches %{aarch64} %{ix86} %{power64} x86_64 %{zero_arches} -%endif # Architecture on which we run Java only tests %if 0%{?centos} == 0 # Temporarily include zero_arches until we can use a portable Zero build @@ -363,9 +359,9 @@ # eg jdk8u60-b27 -> b27 %global buildver %(VERSION=%{version_tag}; echo ${VERSION##*-}) # rpmrelease numbering must start at 2 to be later than the 9.0 RPM -%global rpmrelease 2 +%global rpmrelease 3 # Settings used by the portable build -%global portablerelease 1 +%global portablerelease 2 # Portable suffix differs between RHEL and CentOS %if 0%{?centos} == 0 %global portablesuffix el8 @@ -935,6 +931,9 @@ exit 0 %{_jvmdir}/%{jredir -- %{?1}}/lib/%{archinstall}/libawt.so %{_jvmdir}/%{jredir -- %{?1}}/lib/%{archinstall}/libawt_headless.so %{_jvmdir}/%{jredir -- %{?1}}/lib/%{archinstall}/libdt_socket.so +%ifarch %{zero_arches} +%{_jvmdir}/%{jredir -- %{?1}}/lib/%{archinstall}/libffi.so.* +%endif %{_jvmdir}/%{jredir -- %{?1}}/lib/%{archinstall}/libfontmanager.so %{_jvmdir}/%{jredir -- %{?1}}/lib/%{archinstall}/libhprof.so %{_jvmdir}/%{jredir -- %{?1}}/lib/%{archinstall}/libinstrument.so @@ -1096,7 +1095,13 @@ exit 0 %{_jvmdir}/%{sdkdir -- %{?1}}/bin/wsimport %{_jvmdir}/%{sdkdir -- %{?1}}/bin/xjc %{_jvmdir}/%{sdkdir -- %{?1}}/include/* -%{_jvmdir}/%{sdkdir -- %{?1}}/lib/%{archinstall} +%dir %{_jvmdir}/%{sdkdir -- %{?1}}/lib/%{archinstall} +%dir %{_jvmdir}/%{sdkdir -- %{?1}}/lib/%{archinstall}/jli +%ifarch %{zero_arches} +%{_jvmdir}/%{sdkdir -- %{?1}}/lib/%{archinstall}/libffi.so.* +%endif +%{_jvmdir}/%{sdkdir -- %{?1}}/lib/%{archinstall}/libjawt.so +%{_jvmdir}/%{sdkdir -- %{?1}}/lib/%{archinstall}/jli/libjli.so %{_jvmdir}/%{sdkdir -- %{?1}}/lib/ct.sym %if %{with_systemtap} %{_jvmdir}/%{sdkdir -- %{?1}}/tapset @@ -2337,17 +2342,23 @@ for suffix in %{build_loop} ; do # TODO: should verify checksums when using packages from buildroot tar -xJf ${jdkzip} mv %{name}* ${installdir} +%ifarch %{zero_arches} + # FIXME: Workaround libffi only being in jre/lib not lib + cp -av ${installdir}/jre/lib/%{archinstall}/libffi.* ${installdir}/lib/%{archinstall} +%endif # Fix build paths in ELF files so it looks like we built them portablenvr="%{name}-portable-%{pversion}-%{prelease}.%{portablesuffix}.%{_arch}" for file in $(find ${installdir} -type f) ; do - if file ${file} | grep -q 'ELF'; then - %{debugedit} -b %{portablebuilddir}/${portablenvr} -d $(pwd) -n ${file} + if ! echo ${file} | grep -q 'libffi' ; then + if file ${file} | grep -q 'ELF'; then + %{debugedit} -b %{portablebuilddir}/${portablenvr} -d $(pwd) -n ${file} + fi fi done # Set tapset variables to match this build %if %{with_systemtap} - for file in ${miscdir}/tapset${suffix}/*.in; do + for file in ${miscdir}/tapset${suffix}/*.in; do OUTPUT_FILE=`echo $file | sed -e "s:\.stp\.in$:-%{version}-%{release}.%{_arch}.stp:g"` sed -e "s:@ABS_SERVER_LIBJVM_SO@:%{_jvmdir}/%{sdkdir -- $suffix}/lib/server/libjvm.so:g" $file > ${OUTPUT_FILE} # TODO find out which architectures other than i686 have a client vm @@ -2421,6 +2432,10 @@ export JAVA_HOME=$(pwd)/%{installoutputdir -- $suffix} export JAVA_HOME=$(pwd)/%{installoutputdir -- $suffix}/images/%{jdkimage} %endif +# Basic version check +$JAVA_HOME/jre/bin/java -version +$JAVA_HOME/bin/java -version + # Only test on one architecture (the fastest) for Java only tests %ifarch %{jdk_test_arch} @@ -2939,6 +2954,14 @@ cjc.mainProgram(args) %endif %changelog +* Thu Jan 16 2025 Andrew Hughes - 1:1.8.0.442.b05-0.3.ea +- Add zero_arches to the portable_build_arches now that the portable build bundles libffi +- Temporarily workaround libffi.so not being in lib/%%{archinstall} by copying it +- Exclude libffi.so from the debugedit run +- Add a simple -version check on both the JDK and JRE bin/java +- Add libffi.so to the filelist, including expanding the lib/%%{archinstall} contents as with jre/lib +- Resolves: RHEL-74302 + * Mon Jan 06 2025 Andrew Hughes - 1:1.8.0.442.b05-0.2.ea - Update to 8u442-b05 (EA). - Update release notes for 8u442-b05.