#161 Try to build on x86 again by creating a husk of a JDK which does not depend on itself
Merged 2 years ago by ahughes. Opened 2 years ago by ahughes.
rpms/ ahughes/java-11-openjdk build  into  rawhide

file modified
+90 -19
@@ -366,7 +366,7 @@ 

  %global top_level_dir_name   %{origin}

  %global top_level_dir_name_backup %{top_level_dir_name}-backup

  %global buildver        7

- %global rpmrelease      2

+ %global rpmrelease      3

  #%%global tagsuffix     %%{nil}

  # 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
@@ -480,9 +480,6 @@ 

  %global tapsetdir %{tapsetdirttapset}/%{stapinstall}

  %endif

  

- # x86 is no longer supported

- ExcludeArch: %{ix86}

- 

  # not-duplicated scriptlets for normal/debug packages

  %global update_desktop_icons /usr/bin/gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || :

  
@@ -832,14 +829,20 @@ 

  exit 0

  }

  

+ %ifarch %{ix86}

+ %define files_jre() %{expand:%{_jvmdir}/%{sdkdir -- %{?1}}/gone-jre.sh}

+ %else

  %define files_jre() %{expand:

  %{_datadir}/icons/hicolor/*x*/apps/java-%{javaver}-%{origin}.png

  %{_jvmdir}/%{sdkdir -- %{?1}}/lib/libsplashscreen.so

  %{_jvmdir}/%{sdkdir -- %{?1}}/lib/libawt_xawt.so

  %{_jvmdir}/%{sdkdir -- %{?1}}/lib/libjawt.so

  }

+ %endif

  

- 

+ %ifarch %{ix86}

+ %define files_jre_headless() %{expand:%{_jvmdir}/%{sdkdir -- %{?1}}/gone-headless.sh}

+ %else

  %define files_jre_headless() %{expand:

  %license %{_jvmdir}/%{sdkdir -- %{?1}}/legal

  %doc %{_defaultdocdir}/%{uniquejavadocdir -- %{?1}}/NEWS
@@ -979,7 +982,11 @@ 

  %ghost %{_jvmdir}/%{sdkdir -- %{?1}}/conf.rpmmoved

  %ghost %{_jvmdir}/%{sdkdir -- %{?1}}/lib/security.rpmmoved

  }

+ %endif

  

+ %ifarch %{ix86}

+ %define files_devel() %{expand:%{_jvmdir}/%{sdkdir -- %{?1}}/gone-devel.sh}

+ %else

  %define files_devel() %{expand:

  %dir %{_jvmdir}/%{sdkdir -- %{?1}}/bin

  %{_jvmdir}/%{sdkdir -- %{?1}}/bin/jar
@@ -1080,29 +1087,49 @@ 

  %endif

  %endif

  }

+ %endif

  

+ %ifarch %{ix86}

+ %define files_jmods() %{expand:%{_jvmdir}/%{sdkdir -- %{?1}}/gone-jmods.sh}

+ %else

  %define files_jmods() %{expand:

  %{_jvmdir}/%{sdkdir -- %{?1}}/jmods

  }

+ %endif

  

+ %ifarch %{ix86}

+ %define files_demo() %{expand:%{_jvmdir}/%{sdkdir -- %{?1}}/gone-demo.sh}

+ %else

  %define files_demo() %{expand:

  %license %{_jvmdir}/%{sdkdir -- %{?1}}/legal

  %{_jvmdir}/%{sdkdir -- %{?1}}/demo

  %{_jvmdir}/%{sdkdir -- %{?1}}/sample

  }

+ %endif

  

+ %ifarch %{ix86}

+ %define files_src() %{expand:%{_jvmdir}/%{sdkdir -- %{?1}}/gone-src.sh}

+ %else

  %define files_src() %{expand:

  %license %{_jvmdir}/%{sdkdir -- %{?1}}/legal

  %{_jvmdir}/%{sdkdir -- %{?1}}/lib/src.zip

  }

+ %endif

  

+ %ifarch %{ix86}

+ %define files_static_libs() %{expand:%{_jvmdir}/%{sdkdir -- %{?1}}/gone-static_libs.sh}

+ %else

  %define files_static_libs() %{expand:

  %dir %{_jvmdir}/%{sdkdir -- %{?1}}/lib/static

  %dir %{_jvmdir}/%{sdkdir -- %{?1}}/lib/static/linux-%{archinstall}

  %dir %{_jvmdir}/%{sdkdir -- %{?1}}/lib/static/linux-%{archinstall}/glibc

  %{_jvmdir}/%{sdkdir -- %{?1}}/lib/static/linux-%{archinstall}/glibc/lib*.a

  }

+ %endif

  

+ %ifarch %{ix86}

+ %define files_javadoc() %{expand:%{_jvmdir}/%{sdkdir -- %{?1}}/gone-javadoc.sh}

+ %else

  %define files_javadoc() %{expand:

  %doc %{_javadocdir}/%{uniquejavadocdir -- %{?1}}

  %license %{_jvmdir}/%{sdkdir -- %{?1}}/legal
@@ -1115,7 +1142,11 @@ 

  %endif

  %endif

  }

+ %endif

  

+ %ifarch %{ix86}

+ %define files_javadoc_zip() %{expand:%{_jvmdir}/%{sdkdir -- %{?1}}/gone-javadoc_zip.sh}

+ %else

  %define files_javadoc_zip() %{expand:

  %doc %{_javadocdir}/%{uniquejavadocdir -- %{?1}}.zip

  %license %{_jvmdir}/%{sdkdir -- %{?1}}/legal
@@ -1128,6 +1159,7 @@ 

  %endif

  %endif

  }

+ %endif

  

  # not-duplicated requires/provides/obsoletes for normal/debug packages

  %define java_rpo() %{expand:
@@ -1472,7 +1504,12 @@ 

  BuildRequires: zip

  BuildRequires: unzip

  BuildRequires: javapackages-filesystem

+ %ifarch %{ix86}

+ # Require javapackages-filesystem to define %{_jvmdir}

+ BuildRequires: javapackages-filesystem

+ %else

  BuildRequires: java-%{buildjdkver}-openjdk-devel

+ %endif

  # Zero-assembler build requirement

  %ifarch %{zero_arches}

  BuildRequires: libffi-devel
@@ -1892,6 +1929,12 @@ 

  sed -e "s:@NSS_LIBDIR@:%{NSS_LIBDIR}:g" %{SOURCE17} > nss.fips.cfg

  

  %build

+ 

+ # x86 is deprecated

+ %ifarch %{ix86}

+   exit 0

+ %endif

+ 

  # How many CPU's do we have?

  export NUM_PROC=%(/usr/bin/getconf _NPROCESSORS_ONLN 2> /dev/null || :)

  export NUM_PROC=${NUM_PROC:-1}
@@ -2128,12 +2171,18 @@ 

  done # end of release / debug cycle loop

  

  %check

- %ifarch %{ix86}

-   exit 0

- %endif

+ 

  # We test debug first as it will give better diagnostics on a crash

  for suffix in %{build_loop} ; do

  

+ %ifarch %{ix86}

+ 

+   # Fake debugsourcefiles.list here after find-debuginfo.sh has already had a go

+   echo "%{_jvmdir}/%{sdkdir -- ${suffix}}/gone-debugsourcefiles.sh" >> debugsourcefiles.list

+   cat debugsourcefiles.list

+ 

+ %else

+ 

  top_dir_abs_main_build_path=$(pwd)/%{installoutputdir -- ${suffix}%{main_suffix}}

  %if %{include_staticlibs}

  top_dir_abs_staticlibs_build_path=$(pwd)/%{installoutputdir -- ${suffix}%{staticlibs_loop}}
@@ -2263,6 +2312,8 @@ 

  $JAVA_HOME/bin/javap -l java.nio.ByteBuffer | grep LineNumberTable

  $JAVA_HOME/bin/javap -l java.nio.ByteBuffer | grep LocalVariableTable

  

+ %endif

+ 

  # build cycles check

  done

  
@@ -2280,20 +2331,35 @@ 

  # Install the jdk

  mkdir -p $RPM_BUILD_ROOT%{_jvmdir}

  

- pushd ${jdk_image}

+ 

  %ifarch %{ix86}

-   for file in $(find $(pwd) | grep -e "/bin/" -e "\.so$") ; do

-     echo "deprecating $file"

-     echo '#!/bin/bash' > $file

-     echo 'echo "We are going to remove i686 jdk. Please fix your package accordingly!"' >> $file

-     echo 'echo "See https://fedoraproject.org/wiki/Changes/Drop_i686_JDKs"' >> $file

-     echo 'echo "See https://pagure.io/fesco/issue/2772"' >> $file

-     echo 'echo "See https://bugzilla.redhat.com/show_bug.cgi?id=2083750"' >> $file

-     echo 'exit 1' >> $file

+   mkdir -p $RPM_BUILD_ROOT%{_jvmdir}/%{sdkdir -- ${suffix}}

+ 

+   file=/tmp/gonejdk.$$

+   echo "OpenJDK on x86 is now deprecated"

+   echo '#!/bin/bash' > $file

+   echo 'echo "We are going to remove i686 jdk. Please fix your package accordingly!"' >> $file

+   echo 'echo "See https://fedoraproject.org/wiki/Changes/Drop_i686_JDKs"' >> $file

+   echo 'echo "See https://pagure.io/fesco/issue/2772"' >> $file

+   echo 'echo "See https://bugzilla.redhat.com/show_bug.cgi?id=2083750"' >> $file

+   echo 'exit 1' >> $file

+ 

+   for pkgsuffix in jre headless devel demo src debugsourcefiles jmods static_libs ; do

+       cp -a ${file} $RPM_BUILD_ROOT%{_jvmdir}/%{sdkdir -- ${suffix}}/gone-${pkgsuffix}.sh

    done

- %endif

- popd

  

+   # Docs were only in the normal build

+   if ! echo $suffix | grep -q "debug" ; then

+       for pkgsuffix in javadoc javadoc_zip ; do

+ 	  cp -a ${file} $RPM_BUILD_ROOT%{_jvmdir}/%{sdkdir -- ${suffix}}/gone-${pkgsuffix}.sh

+       done

+   fi

+ 

+   rm -f ${file}

+ 

+ %else

+ 

+ # Install the jdk

  cp -a ${jdk_image} $RPM_BUILD_ROOT%{_jvmdir}/%{sdkdir -- $suffix}

  

  pushd ${jdk_image}
@@ -2400,6 +2466,8 @@ 

  find $RPM_BUILD_ROOT/%{_jvmdir}/%{sdkdir -- $suffix}/ -type d -exec chmod 755 {} \; ; 

  find $RPM_BUILD_ROOT/%{_jvmdir}/%{sdkdir -- $suffix}/legal -type f -exec chmod 644 {} \; ; 

  

+ %endif

+ 

  # end, dual install

  done

  
@@ -2669,6 +2737,9 @@ 

  %endif

  

  %changelog

+ * Mon Jul 18 2022 Andrew Hughes <gnu.andrew@redhat.com> - 1:11.0.16.0.7-0.3.ea

+ - Try to build on x86 again by creating a husk of a JDK which does not depend on itself

+ 

  * Sun Jul 17 2022 Andrew Hughes <gnu.andrew@redhat.com> - 1:11.0.16.0.7-0.2.ea

  - Exclude x86 from builds as the bootstrap JDK is now completely broken and unusable

  

no initial comment

Build succeeded.

Pull-Request has been merged by ahughes

2 years ago
Metadata