Revert "Restore native build for x86 as there is no portable build"
Reintroduce useful cleanups from x86 reversion Adjust oj_vendor_version to match the portable so test passes Adjust oj_vendor_bug_url to match the portable so test passes Related: RHEL-30918
This commit is contained in:
		
							parent
							
								
									8525ac48a9
								
							
						
					
					
						commit
						a17b58a361
					
				| @ -65,14 +65,10 @@ | |||||||
| # (initiated in https://bugzilla.redhat.com/show_bug.cgi?id=1482192) | # (initiated in https://bugzilla.redhat.com/show_bug.cgi?id=1482192) | ||||||
| %global debug_suffix_unquoted -slowdebug | %global debug_suffix_unquoted -slowdebug | ||||||
| %global fastdebug_suffix_unquoted -fastdebug | %global fastdebug_suffix_unquoted -fastdebug | ||||||
| %global main_suffix_unquoted -main |  | ||||||
| %global staticlibs_suffix_unquoted -staticlibs |  | ||||||
| # quoted one for shell operations | # quoted one for shell operations | ||||||
| %global debug_suffix "%{debug_suffix_unquoted}" | %global debug_suffix "%{debug_suffix_unquoted}" | ||||||
| %global fastdebug_suffix "%{fastdebug_suffix_unquoted}" | %global fastdebug_suffix "%{fastdebug_suffix_unquoted}" | ||||||
| %global normal_suffix "" | %global normal_suffix "" | ||||||
| %global main_suffix "%{main_suffix_unquoted}" |  | ||||||
| %global staticlibs_suffix "%{staticlibs_suffix_unquoted}" |  | ||||||
| 
 | 
 | ||||||
| %global debug_warning This package is unoptimised with full debugging. Install only as needed and remove ASAP. | %global debug_warning This package is unoptimised with full debugging. Install only as needed and remove ASAP. | ||||||
| %global fastdebug_warning This package is optimised with full debugging. Install only as needed and remove ASAP. | %global fastdebug_warning This package is optimised with full debugging. Install only as needed and remove ASAP. | ||||||
| @ -205,12 +201,6 @@ | |||||||
| # Build and test slowdebug first as it provides the best diagnostics | # Build and test slowdebug first as it provides the best diagnostics | ||||||
| %global build_loop %{slowdebug_build} %{fastdebug_build} %{normal_build} | %global build_loop %{slowdebug_build} %{fastdebug_build} %{normal_build} | ||||||
| 
 | 
 | ||||||
| %if %{include_staticlibs} |  | ||||||
| %global staticlibs_loop %{staticlibs_suffix} |  | ||||||
| %else |  | ||||||
| %global staticlibs_loop %{nil} |  | ||||||
| %endif |  | ||||||
| 
 |  | ||||||
| %if 0%{?flatpak} | %if 0%{?flatpak} | ||||||
| %global bootstrap_build false | %global bootstrap_build false | ||||||
| %else | %else | ||||||
| @ -364,13 +354,13 @@ | |||||||
| %global oj_vendor_bug_url  https://bugzilla.redhat.com/enter_bug.cgi?product=Fedora&component=%{name}&version=%{fedora} | %global oj_vendor_bug_url  https://bugzilla.redhat.com/enter_bug.cgi?product=Fedora&component=%{name}&version=%{fedora} | ||||||
| %else | %else | ||||||
| %if 0%{?rhel} | %if 0%{?rhel} | ||||||
| %global oj_vendor_bug_url  https://bugzilla.redhat.com/enter_bug.cgi?product=Red%20Hat%20Enterprise%20Linux%20%{rhel}&component=%{name} | %global oj_vendor_bug_url  https://bugzilla.redhat.com/enter_bug.cgi?product=Red%20Hat%20Enterprise%20Linux%20%{portablerhel}&component=%{name} | ||||||
| %else | %else | ||||||
| %global oj_vendor_bug_url  https://bugzilla.redhat.com/enter_bug.cgi | %global oj_vendor_bug_url  https://bugzilla.redhat.com/enter_bug.cgi | ||||||
| %endif | %endif | ||||||
| %endif | %endif | ||||||
| %endif | %endif | ||||||
| %global oj_vendor_version (Red_Hat-%{version}-%{release}) | %global oj_vendor_version (Red_Hat-%{version}-%{portablerelease}) | ||||||
| 
 | 
 | ||||||
| # Define IcedTea version used for SystemTap tapsets and desktop file | # Define IcedTea version used for SystemTap tapsets and desktop file | ||||||
| %global icedteaver      6.0.0pre00-c848b93a8598 | %global icedteaver      6.0.0pre00-c848b93a8598 | ||||||
| @ -383,10 +373,11 @@ | |||||||
| %global top_level_dir_name   %{origin} | %global top_level_dir_name   %{origin} | ||||||
| %global top_level_dir_name_backup %{top_level_dir_name}-backup | %global top_level_dir_name_backup %{top_level_dir_name}-backup | ||||||
| %global buildver        7 | %global buildver        7 | ||||||
| %global rpmrelease      2 | %global rpmrelease      3 | ||||||
| # Settings used by the portable build | # Settings used by the portable build | ||||||
| %global portablerelease 2 | %global portablerelease 2 | ||||||
| %global portablesuffix el8 | %global portablerhel 8 | ||||||
|  | %global portablesuffix el%{portablerhel} | ||||||
| %global portablebuilddir /builddir/build/BUILD | %global portablebuilddir /builddir/build/BUILD | ||||||
| 
 | 
 | ||||||
| #%%global tagsuffix     %%{nil} | #%%global tagsuffix     %%{nil} | ||||||
| @ -436,7 +427,6 @@ | |||||||
| %global jdkimage                jdk | %global jdkimage                jdk | ||||||
| %global static_libs_image       static-libs | %global static_libs_image       static-libs | ||||||
| # output dir stub | # output dir stub | ||||||
| %define buildoutputdir() %{expand:build/jdk%{featurever}.build%{?1}} |  | ||||||
| %define installoutputdir() %{expand:install/jdk%{featurever}.install%{?1}} | %define installoutputdir() %{expand:install/jdk%{featurever}.install%{?1}} | ||||||
| # we can copy the javadoc to not arched dir, or make it not noarch | # we can copy the javadoc to not arched dir, or make it not noarch | ||||||
| %define uniquejavadocdir()    %{expand:%{fullversion}.%{_arch}%{?1}} | %define uniquejavadocdir()    %{expand:%{fullversion}.%{_arch}%{?1}} | ||||||
| @ -1323,9 +1313,6 @@ Source8: tapsets-icedtea-%{icedteaver}.tar.xz | |||||||
| # Desktop files. Adapted from IcedTea | # Desktop files. Adapted from IcedTea | ||||||
| Source9: jconsole.desktop.in | Source9: jconsole.desktop.in | ||||||
| 
 | 
 | ||||||
| # Release notes |  | ||||||
| Source10: NEWS |  | ||||||
| 
 |  | ||||||
| # nss configuration file | # nss configuration file | ||||||
| Source11: nss.cfg.in | Source11: nss.cfg.in | ||||||
| 
 | 
 | ||||||
| @ -1469,7 +1456,6 @@ BuildRequires: xorg-x11-proto-devel | |||||||
| BuildRequires: zip | BuildRequires: zip | ||||||
| BuildRequires: unzip | BuildRequires: unzip | ||||||
| BuildRequires: javapackages-filesystem | BuildRequires: javapackages-filesystem | ||||||
| %ifarch %{portable_build_arches} |  | ||||||
| %if %{include_normal_build} | %if %{include_normal_build} | ||||||
| BuildRequires: java-%{featurever}-openjdk-portable-unstripped = %{epoch}:%{version}-%{portablerelease}.%{portablesuffix} | BuildRequires: java-%{featurever}-openjdk-portable-unstripped = %{epoch}:%{version}-%{portablerelease}.%{portablesuffix} | ||||||
| BuildRequires: java-%{featurever}-openjdk-portable-static-libs = %{epoch}:%{version}-%{portablerelease}.%{portablesuffix} | BuildRequires: java-%{featurever}-openjdk-portable-static-libs = %{epoch}:%{version}-%{portablerelease}.%{portablesuffix} | ||||||
| @ -1484,9 +1470,6 @@ BuildRequires: java-%{featurever}-openjdk-portable-static-libs-slowdebug = %{epo | |||||||
| %endif | %endif | ||||||
| BuildRequires: java-%{featurever}-openjdk-portable-docs = %{epoch}:%{version}-%{portablerelease}.%{portablesuffix} | BuildRequires: java-%{featurever}-openjdk-portable-docs = %{epoch}:%{version}-%{portablerelease}.%{portablesuffix} | ||||||
| BuildRequires: java-%{featurever}-openjdk-portable-misc = %{epoch}:%{version}-%{portablerelease}.%{portablesuffix} | BuildRequires: java-%{featurever}-openjdk-portable-misc = %{epoch}:%{version}-%{portablerelease}.%{portablesuffix} | ||||||
| %else |  | ||||||
| BuildRequires: java-%{buildjdkver}-openjdk-devel |  | ||||||
| %endif |  | ||||||
| # Zero-assembler build requirement | # Zero-assembler build requirement | ||||||
| %ifarch %{zero_arches} | %ifarch %{zero_arches} | ||||||
| BuildRequires: libffi-devel | BuildRequires: libffi-devel | ||||||
| @ -1521,10 +1504,6 @@ Provides: bundled(lcms2) = 2.12.0 | |||||||
| Provides: bundled(libjpeg) = 6b | Provides: bundled(libjpeg) = 6b | ||||||
| # Version in src/java.desktop/share/native/libsplashscreen/libpng/png.h | # Version in src/java.desktop/share/native/libsplashscreen/libpng/png.h | ||||||
| Provides: bundled(libpng) = 1.6.37 | Provides: bundled(libpng) = 1.6.37 | ||||||
| %ifnarch %{portable_build_arches} |  | ||||||
| # We link statically against libstdc++ to increase portability |  | ||||||
| BuildRequires: libstdc++-static |  | ||||||
| %endif |  | ||||||
| %endif | %endif | ||||||
| 
 | 
 | ||||||
| # this is always built, also during debug-only build | # this is always built, also during debug-only build | ||||||
| @ -1940,193 +1919,11 @@ sed -e "s:@NSS_LIBDIR@:%{NSS_LIBDIR}:g" %{SOURCE17} > nss.fips.cfg | |||||||
| 
 | 
 | ||||||
| %build | %build | ||||||
| 
 | 
 | ||||||
| %ifnarch %{portable_build_arches} |  | ||||||
| # How many CPU's do we have? |  | ||||||
| export NUM_PROC=%(/usr/bin/getconf _NPROCESSORS_ONLN 2> /dev/null || :) |  | ||||||
| export NUM_PROC=${NUM_PROC:-1} |  | ||||||
| %if 0%{?_smp_ncpus_max} |  | ||||||
| # Honor %%_smp_ncpus_max |  | ||||||
| [ ${NUM_PROC} -gt %{?_smp_ncpus_max} ] && export NUM_PROC=%{?_smp_ncpus_max} |  | ||||||
| %endif |  | ||||||
| 
 |  | ||||||
| %ifarch s390x sparc64 alpha %{power64} %{aarch64} |  | ||||||
| export ARCH_DATA_MODEL=64 |  | ||||||
| %endif |  | ||||||
| %ifarch alpha |  | ||||||
| export CFLAGS="$CFLAGS -mieee" |  | ||||||
| %endif |  | ||||||
| 
 |  | ||||||
| # We use ourcppflags because the OpenJDK build seems to |  | ||||||
| # pass EXTRA_CFLAGS to the HotSpot C++ compiler... |  | ||||||
| EXTRA_CFLAGS="%ourcppflags -Wno-error" |  | ||||||
| EXTRA_CPP_FLAGS="%ourcppflags" |  | ||||||
| 
 |  | ||||||
| %ifarch %{power64} ppc |  | ||||||
| # fix rpmlint warnings |  | ||||||
| EXTRA_CFLAGS="$EXTRA_CFLAGS -fno-strict-aliasing" |  | ||||||
| %endif |  | ||||||
| %ifarch %{ix86} |  | ||||||
| # Align stack boundary on x86_32 |  | ||||||
| EXTRA_CFLAGS="$(echo ${EXTRA_CFLAGS} | sed -e 's|-mstackrealign|-mincoming-stack-boundary=2 -mpreferred-stack-boundary=4|')" |  | ||||||
| EXTRA_CPP_FLAGS="$(echo ${EXTRA_CPP_FLAGS} | sed -e 's|-mstackrealign|-mincoming-stack-boundary=2 -mpreferred-stack-boundary=4|')" |  | ||||||
| %endif |  | ||||||
| # Fixes annocheck warnings in assembler files due to missing build notes |  | ||||||
| EXTRA_ASFLAGS="${EXTRA_CFLAGS} -Wa,--generate-missing-build-notes=yes" |  | ||||||
| export EXTRA_CFLAGS EXTRA_CPP_FLAGS EXTRA_ASFLAGS |  | ||||||
| 
 |  | ||||||
| function buildjdk() { |  | ||||||
|     local outputdir=${1} |  | ||||||
|     local buildjdk=${2} |  | ||||||
|     local maketargets="${3}" |  | ||||||
|     local debuglevel=${4} |  | ||||||
|     local link_opt=${5} |  | ||||||
| 
 |  | ||||||
|     local top_dir_abs_src_path=$(pwd)/%{top_level_dir_name} |  | ||||||
|     local top_dir_abs_build_path=$(pwd)/${outputdir} |  | ||||||
| 
 |  | ||||||
|     # This must be set using the global, so that the |  | ||||||
|     # static libraries still use a dynamic stdc++lib |  | ||||||
|     if [ "x%{link_type}" = "xbundled" ] ; then |  | ||||||
|         libc_link_opt="static"; |  | ||||||
|     else |  | ||||||
|         libc_link_opt="dynamic"; |  | ||||||
|     fi |  | ||||||
| 
 |  | ||||||
|     echo "Using output directory: ${outputdir}"; |  | ||||||
|     echo "Checking build JDK ${buildjdk} is operational..." |  | ||||||
|     ${buildjdk}/bin/java -version |  | ||||||
|     echo "Using make targets: ${maketargets}" |  | ||||||
|     echo "Using debuglevel: ${debuglevel}" |  | ||||||
|     echo "Using link_opt: ${link_opt}" |  | ||||||
|     echo "Building %{newjavaver}-%{buildver}, pre=%{ea_designator}, opt=%{lts_designator}" |  | ||||||
| 
 |  | ||||||
|     mkdir -p ${outputdir} |  | ||||||
|     pushd ${outputdir} |  | ||||||
| 
 |  | ||||||
|     # Note: zlib and freetype use %{link_type} |  | ||||||
|     # rather than ${link_opt} as the system versions |  | ||||||
|     # are always used in a system_libs build, even |  | ||||||
|     # for the static library build |  | ||||||
|     bash ${top_dir_abs_src_path}/configure \ |  | ||||||
| %ifarch %{zero_arches} |  | ||||||
|     --with-jvm-variants=zero \ |  | ||||||
| %endif |  | ||||||
| %ifarch %{ppc64le} |  | ||||||
|     --with-jobs=1 \ |  | ||||||
| %endif |  | ||||||
|     --with-version-build=%{buildver} \ |  | ||||||
|     --with-version-pre="%{ea_designator}" \ |  | ||||||
|     --with-version-opt=%{lts_designator} \ |  | ||||||
|     --with-vendor-version-string="%{oj_vendor_version}" \ |  | ||||||
|     --with-vendor-name="%{oj_vendor}" \ |  | ||||||
|     --with-vendor-url="%{oj_vendor_url}" \ |  | ||||||
|     --with-vendor-bug-url="%{oj_vendor_bug_url}" \ |  | ||||||
|     --with-vendor-vm-bug-url="%{oj_vendor_bug_url}" \ |  | ||||||
|     --with-boot-jdk=${buildjdk} \ |  | ||||||
|     --with-debug-level=${debuglevel} \ |  | ||||||
|     --with-native-debug-symbols="%{debug_symbols}" \ |  | ||||||
|     --disable-sysconf-nss \ |  | ||||||
|     --enable-unlimited-crypto \ |  | ||||||
|     --with-zlib=%{link_type} \ |  | ||||||
|     --with-freetype=%{link_type} \ |  | ||||||
|     --with-libjpeg=${link_opt} \ |  | ||||||
|     --with-giflib=${link_opt} \ |  | ||||||
|     --with-libpng=${link_opt} \ |  | ||||||
|     --with-lcms=${link_opt} \ |  | ||||||
|     --with-harfbuzz=${link_opt} \ |  | ||||||
|     --with-stdc++lib=${libc_link_opt} \ |  | ||||||
|     --with-extra-cxxflags="$EXTRA_CPP_FLAGS" \ |  | ||||||
|     --with-extra-cflags="$EXTRA_CFLAGS" \ |  | ||||||
|     --with-extra-asflags="$EXTRA_ASFLAGS" \ |  | ||||||
|     --with-extra-ldflags="%{ourldflags}" \ |  | ||||||
|     --with-num-cores="$NUM_PROC" \ |  | ||||||
|     --disable-javac-server \ |  | ||||||
|     --with-jvm-features="%{shenandoah_feature},%{zgc_feature}" \ |  | ||||||
|     --disable-warnings-as-errors |  | ||||||
| 
 |  | ||||||
|     cat spec.gmk |  | ||||||
| 
 |  | ||||||
|     make \ |  | ||||||
|       JAVAC_FLAGS=-g \ |  | ||||||
|       LOG=trace \ |  | ||||||
|       WARNINGS_ARE_ERRORS="-Wno-error" \ |  | ||||||
|       CFLAGS_WARNINGS_ARE_ERRORS="-Wno-error" \ |  | ||||||
|       $maketargets || ( pwd; find ${top_dir_abs_src_path} ${top_dir_abs_build_path} -name "hs_err_pid*.log" | xargs cat && false ) |  | ||||||
| 
 |  | ||||||
|     popd |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| function installjdk() { |  | ||||||
|     local outputdir=${1} |  | ||||||
|     local installdir=${2} |  | ||||||
|     local imagepath=${installdir}/images/%{jdkimage} |  | ||||||
| 
 |  | ||||||
|     echo "Installing build from ${outputdir} to ${installdir}..." |  | ||||||
|     mkdir -p ${installdir} |  | ||||||
|     echo "Installing images..." |  | ||||||
|     mv ${outputdir}/images ${installdir} |  | ||||||
|     if [ -d ${outputdir}/bundles ] ; then |  | ||||||
|         echo "Installing bundles..."; |  | ||||||
|         mv ${outputdir}/bundles ${installdir} ; |  | ||||||
|     fi |  | ||||||
|     if [ -d ${outputdir}/docs ] ; then |  | ||||||
|         echo "Installing docs..."; |  | ||||||
|         mv ${outputdir}/docs ${installdir} ; |  | ||||||
|     fi |  | ||||||
| 
 |  | ||||||
| %if !%{with artifacts} |  | ||||||
|     echo "Removing output directory..."; |  | ||||||
|     rm -rf ${outputdir} |  | ||||||
| %endif |  | ||||||
| 
 |  | ||||||
|     if [ -d ${imagepath} ] ; then |  | ||||||
|         # the build (erroneously) removes read permissions from some jars |  | ||||||
|         # this is a regression in OpenJDK 7 (our compiler): |  | ||||||
|         # http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1437 |  | ||||||
|         find ${imagepath} -iname '*.jar' -exec chmod ugo+r {} \; |  | ||||||
| 
 |  | ||||||
|         # Build screws up permissions on binaries |  | ||||||
|         # https://bugs.openjdk.java.net/browse/JDK-8173610 |  | ||||||
|         find ${imagepath} -iname '*.so' -exec chmod +x {} \; |  | ||||||
|         find ${imagepath}/bin/ -exec chmod +x {} \; |  | ||||||
| 
 |  | ||||||
|         # Install nss.cfg right away as we will be using the JRE above |  | ||||||
|         install -m 644 nss.cfg ${imagepath}/conf/security/ |  | ||||||
| 
 |  | ||||||
|         # Install nss.fips.cfg: NSS configuration for global FIPS mode (crypto-policies) |  | ||||||
|         install -m 644 nss.fips.cfg ${imagepath}/conf/security/ |  | ||||||
| 
 |  | ||||||
|         # Create fake alt-java as a placeholder for future alt-java |  | ||||||
|         pushd ${imagepath} |  | ||||||
|         # add alt-java man page |  | ||||||
|         echo "Hardened java binary recommended for launching untrusted code from the Web e.g. javaws" > man/man1/%{alt_java_name}.1 |  | ||||||
|         cat man/man1/java.1 >> man/man1/%{alt_java_name}.1 |  | ||||||
|         popd |  | ||||||
| 
 |  | ||||||
|         # Final setup on the main image |  | ||||||
|         customisejdk ${imagepath} |  | ||||||
| 
 |  | ||||||
|         # Print release information |  | ||||||
|         cat ${imagepath}/release |  | ||||||
|     fi |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| %if %{build_hotspot_first} |  | ||||||
|   # Build a fresh libjvm.so first and use it to bootstrap |  | ||||||
|   cp -LR --preserve=mode,timestamps %{bootjdk} newboot |  | ||||||
|   systemjdk=$(pwd)/newboot |  | ||||||
|   buildjdk build/newboot ${systemjdk} %{hotspot_target} "release" "bundled" |  | ||||||
|   mv build/newboot/jdk/lib/server/libjvm.so newboot/lib/server |  | ||||||
| %else |  | ||||||
|   systemjdk=%{bootjdk} |  | ||||||
| %endif |  | ||||||
| 
 |  | ||||||
| %endif # !portable_build_arches |  | ||||||
| 
 |  | ||||||
| function customisejdk() { | function customisejdk() { | ||||||
|     local imagepath=${1} |     local imagepath=${1} | ||||||
| 
 | 
 | ||||||
|     if [ -d ${imagepath} ] ; then | 
 | ||||||
|  |      if [ -d ${imagepath} ] ; then | ||||||
|         # Turn on system security properties |         # Turn on system security properties | ||||||
|         sed -i -e "s:^security.useSystemPropertiesFile=.*:security.useSystemPropertiesFile=true:" \ |         sed -i -e "s:^security.useSystemPropertiesFile=.*:security.useSystemPropertiesFile=true:" \ | ||||||
|             ${imagepath}/conf/security/java.security |             ${imagepath}/conf/security/java.security | ||||||
| @ -2134,13 +1931,11 @@ function customisejdk() { | |||||||
|         # Use system-wide tzdata |         # Use system-wide tzdata | ||||||
|         rm ${imagepath}/lib/tzdb.dat |         rm ${imagepath}/lib/tzdb.dat | ||||||
|         ln -s %{_datadir}/javazi-1.8/tzdb.dat ${imagepath}/lib/tzdb.dat |         ln -s %{_datadir}/javazi-1.8/tzdb.dat ${imagepath}/lib/tzdb.dat | ||||||
|     fi |      fi | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| for suffix in %{build_loop} ; do | for suffix in %{build_loop} ; do | ||||||
| 
 | 
 | ||||||
| %ifarch %{portable_build_arches} |  | ||||||
| 
 |  | ||||||
|   if [ "x$suffix" = "x" ] ; then |   if [ "x$suffix" = "x" ] ; then | ||||||
|       jdkzip=%{releasezip} |       jdkzip=%{releasezip} | ||||||
|       staticlibzip=%{staticlibzip} |       staticlibzip=%{staticlibzip} | ||||||
| @ -2174,75 +1969,9 @@ for suffix in %{build_loop} ; do | |||||||
|   # Print release information |   # Print release information | ||||||
|   cat ${installdir}/release |   cat ${installdir}/release | ||||||
| 
 | 
 | ||||||
| %else |  | ||||||
| 
 |  | ||||||
|   if [ "x$suffix" = "x" ] ; then |  | ||||||
|       debugbuild=release |  | ||||||
|   else |  | ||||||
|       # change --something to something |  | ||||||
|       debugbuild=`echo $suffix  | sed "s/-//g"` |  | ||||||
|   fi |  | ||||||
| 
 |  | ||||||
|   for loop in %{main_suffix} %{staticlibs_loop} ; do |  | ||||||
| 
 |  | ||||||
|     builddir=%{buildoutputdir -- ${suffix}${loop}} |  | ||||||
|     bootbuilddir=boot${builddir} |  | ||||||
|     installdir=%{installoutputdir -- ${suffix}${loop}} |  | ||||||
|     bootinstalldir=boot${installdir} |  | ||||||
| 
 |  | ||||||
|     if test "x${loop}" = "x%{main_suffix}" ; then |  | ||||||
|       link_opt="%{link_type}" |  | ||||||
| %if %{system_libs} |  | ||||||
|       # Copy the source tree so we can remove all in-tree libraries |  | ||||||
|       cp -a %{top_level_dir_name} %{top_level_dir_name_backup} |  | ||||||
|       # Remove all libraries that are linked |  | ||||||
|       sh %{SOURCE12} %{top_level_dir_name} full |  | ||||||
| %endif |  | ||||||
|       # Debug builds don't need same targets as release for |  | ||||||
|       # build speed-up. We also avoid bootstrapping these |  | ||||||
|       # slower builds. |  | ||||||
|       if echo $debugbuild | grep -q "debug" ; then |  | ||||||
|         maketargets="%{debug_targets}" |  | ||||||
|         run_bootstrap=false |  | ||||||
|       else |  | ||||||
|         maketargets="%{release_targets}" |  | ||||||
|         run_bootstrap=%{bootstrap_build} |  | ||||||
|       fi |  | ||||||
|       if ${run_bootstrap} ; then |  | ||||||
|           buildjdk ${bootbuilddir} ${systemjdk} "%{bootstrap_targets}" ${debugbuild} ${link_opt} |  | ||||||
|           installjdk ${bootbuilddir} ${bootinstalldir} |  | ||||||
|           buildjdk ${builddir} $(pwd)/${bootinstalldir}/images/%{jdkimage} "${maketargets}" ${debugbuild} ${link_opt} |  | ||||||
|           installjdk ${builddir} ${installdir} |  | ||||||
|           %{!?with_artifacts:rm -rf ${bootinstalldir}} |  | ||||||
|       else |  | ||||||
|           buildjdk ${builddir} ${systemjdk} "${maketargets}" ${debugbuild} ${link_opt} |  | ||||||
|           installjdk ${builddir} ${installdir} |  | ||||||
|       fi |  | ||||||
| %if %{system_libs} |  | ||||||
|       # Restore original source tree we modified by removing full in-tree sources |  | ||||||
|       rm -rf %{top_level_dir_name} |  | ||||||
|       mv %{top_level_dir_name_backup} %{top_level_dir_name} |  | ||||||
| %endif |  | ||||||
|     else |  | ||||||
|       # Use bundled libraries for building statically |  | ||||||
|       link_opt="bundled" |  | ||||||
|       # Static library cycle only builds the static libraries |  | ||||||
|       maketargets="%{static_libs_target}" |  | ||||||
|       # Always just do the one build for the static libraries |  | ||||||
|       buildjdk ${builddir} ${systemjdk} "${maketargets}" ${debugbuild} ${link_opt} |  | ||||||
|       installjdk ${builddir} ${installdir} |  | ||||||
|     fi |  | ||||||
| 
 |  | ||||||
|   done # end of main / staticlibs loop |  | ||||||
| 
 |  | ||||||
| %endif # !portable_build_arches |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| # build cycles | # build cycles | ||||||
| done # end of release / debug cycle loop | done # end of release / debug cycle loop | ||||||
| 
 | 
 | ||||||
| %ifarch %{portable_build_arches} |  | ||||||
| 
 |  | ||||||
| docdir=%{installoutputdir -- "-docs"} | docdir=%{installoutputdir -- "-docs"} | ||||||
| tar -xJf %{docszip} | tar -xJf %{docszip} | ||||||
| mv java-%{featurever}-openjdk*.docs.* ${docdir} | mv java-%{featurever}-openjdk*.docs.* ${docdir} | ||||||
| @ -2251,22 +1980,12 @@ miscdir=%{installoutputdir -- "-misc"} | |||||||
| tar -xJf %{misczip} | tar -xJf %{misczip} | ||||||
| mv java-%{featurever}-openjdk*.misc.* ${miscdir} | mv java-%{featurever}-openjdk*.misc.* ${miscdir} | ||||||
| 
 | 
 | ||||||
| %endif |  | ||||||
| 
 |  | ||||||
| %check | %check | ||||||
| 
 | 
 | ||||||
| # We test debug first as it will give better diagnostics on a crash | # We test debug first as it will give better diagnostics on a crash | ||||||
| for suffix in %{build_loop} ; do | for suffix in %{build_loop} ; do | ||||||
| 
 | 
 | ||||||
| %ifarch %{portable_build_arches} |  | ||||||
| export JAVA_HOME=$(pwd)/%{installoutputdir -- ${suffix}} | export JAVA_HOME=$(pwd)/%{installoutputdir -- ${suffix}} | ||||||
| %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}} |  | ||||||
| export JAVA_HOME=${top_dir_abs_main_build_path}/images/%{jdkimage} |  | ||||||
| %endif |  | ||||||
| %endif |  | ||||||
| 
 | 
 | ||||||
| # Check Shenandoah is enabled | # Check Shenandoah is enabled | ||||||
| %if %{use_shenandoah_hotspot} | %if %{use_shenandoah_hotspot} | ||||||
| @ -2291,9 +2010,8 @@ $JAVA_HOME/bin/java ${SEC_DEBUG} ${PROG} true | |||||||
| $JAVA_HOME/bin/java ${SEC_DEBUG} -Djava.security.disableSystemPropertiesFile=true ${PROG} false | $JAVA_HOME/bin/java ${SEC_DEBUG} -Djava.security.disableSystemPropertiesFile=true ${PROG} false | ||||||
| 
 | 
 | ||||||
| # Check correct vendor values have been set | # Check correct vendor values have been set | ||||||
| # TODO: Disable for now due to bug URL mismatch with that in portable | $JAVA_HOME/bin/javac -d . %{SOURCE16} | ||||||
| #$JAVA_HOME/bin/javac -d . %{SOURCE16} | $JAVA_HOME/bin/java $(echo $(basename %{SOURCE16})|sed "s|\.java||") "%{oj_vendor}" "%{oj_vendor_url}" "%{oj_vendor_bug_url}" "%{oj_vendor_version}" | ||||||
| #$JAVA_HOME/bin/java $(echo $(basename %{SOURCE16})|sed "s|\.java||") "%{oj_vendor}" "%{oj_vendor_url}" "%{oj_vendor_bug_url}" "%{oj_vendor_version}" |  | ||||||
| 
 | 
 | ||||||
| # Check java launcher has no SSB mitigation | # Check java launcher has no SSB mitigation | ||||||
| if ! nm $JAVA_HOME/bin/java | grep set_speculation ; then true ; else false; fi | if ! nm $JAVA_HOME/bin/java | grep set_speculation ; then true ; else false; fi | ||||||
| @ -2311,12 +2029,8 @@ $JAVA_HOME/bin/java $(echo $(basename %{SOURCE18})|sed "s|\.java||") JRE | |||||||
| $JAVA_HOME/bin/java -Djava.locale.providers=CLDR $(echo $(basename %{SOURCE18})|sed "s|\.java||") CLDR | $JAVA_HOME/bin/java -Djava.locale.providers=CLDR $(echo $(basename %{SOURCE18})|sed "s|\.java||") CLDR | ||||||
| 
 | 
 | ||||||
| %if %{include_staticlibs} | %if %{include_staticlibs} | ||||||
| %ifarch %{portable_build_arches} |  | ||||||
| # Check debug symbols in static libraries (smoke test) | # Check debug symbols in static libraries (smoke test) | ||||||
| export STATIC_LIBS_HOME=${JAVA_HOME}/lib/static/linux-%{archinstall}/glibc | export STATIC_LIBS_HOME=${JAVA_HOME}/lib/static/linux-%{archinstall}/glibc | ||||||
| %else |  | ||||||
| export STATIC_LIBS_HOME=${top_dir_abs_staticlibs_build_path}/images/%{static_libs_image}/lib |  | ||||||
| %endif |  | ||||||
| readelf --debug-dump $STATIC_LIBS_HOME/libfdlibm.a | grep w_remainder.c | readelf --debug-dump $STATIC_LIBS_HOME/libfdlibm.a | grep w_remainder.c | ||||||
| readelf --debug-dump $STATIC_LIBS_HOME/libfdlibm.a | grep e_remainder.c | readelf --debug-dump $STATIC_LIBS_HOME/libfdlibm.a | grep e_remainder.c | ||||||
| %endif | %endif | ||||||
| @ -2408,29 +2122,15 @@ STRIP_KEEP_SYMTAB=libjvm* | |||||||
| 
 | 
 | ||||||
| for suffix in %{build_loop} ; do | for suffix in %{build_loop} ; do | ||||||
| 
 | 
 | ||||||
| %ifarch %{portable_build_arches} |  | ||||||
| jdk_image=$(pwd)/%{installoutputdir -- ${suffix}} | jdk_image=$(pwd)/%{installoutputdir -- ${suffix}} | ||||||
| # Should match same definitions in build section | # Should match same definitions in build section | ||||||
| docdir=$(pwd)/%{installoutputdir -- "-docs"} | docdir=$(pwd)/%{installoutputdir -- "-docs"} | ||||||
| miscdir=%{installoutputdir -- "-misc"} | miscdir=%{installoutputdir -- "-misc"} | ||||||
| %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}} |  | ||||||
| %endif |  | ||||||
| jdk_image=${top_dir_abs_main_build_path}/images/%{jdkimage} |  | ||||||
| docdir=${top_dir_abs_main_build_path}/images |  | ||||||
| miscdir=%{top_level_dir_name}/src/java.desktop/unix/classes/sun/awt/X11 |  | ||||||
| %endif |  | ||||||
| 
 | 
 | ||||||
| # Install release notes | # Install release notes | ||||||
| commondocdir=${RPM_BUILD_ROOT}%{_defaultdocdir}/%{uniquejavadocdir -- $suffix} | commondocdir=${RPM_BUILD_ROOT}%{_defaultdocdir}/%{uniquejavadocdir -- $suffix} | ||||||
| install -d -m 755 ${commondocdir} | install -d -m 755 ${commondocdir} | ||||||
| %ifarch %{portable_build_arches} |  | ||||||
| mv ${jdk_image}/NEWS ${commondocdir} | mv ${jdk_image}/NEWS ${commondocdir} | ||||||
| %else |  | ||||||
| cp -a %{SOURCE10} ${commondocdir} |  | ||||||
| %endif |  | ||||||
| 
 | 
 | ||||||
| # Install the jdk | # Install the jdk | ||||||
| mkdir -p $RPM_BUILD_ROOT%{_jvmdir} | mkdir -p $RPM_BUILD_ROOT%{_jvmdir} | ||||||
| @ -2480,27 +2180,13 @@ pushd ${jdk_image} | |||||||
| 
 | 
 | ||||||
| popd | popd | ||||||
| 
 | 
 | ||||||
| %ifnarch %{portable_build_arches} |  | ||||||
| # Install static libs artefacts |  | ||||||
| %if %{include_staticlibs} |  | ||||||
| mkdir -p $RPM_BUILD_ROOT%{_jvmdir}/%{sdkdir -- $suffix}/lib/static/linux-%{archinstall}/glibc |  | ||||||
| cp -a ${top_dir_abs_staticlibs_build_path}/images/%{static_libs_image}/lib/*.a \ |  | ||||||
|   $RPM_BUILD_ROOT%{_jvmdir}/%{sdkdir -- $suffix}/lib/static/linux-%{archinstall}/glibc |  | ||||||
| %endif |  | ||||||
| %endif |  | ||||||
| 
 |  | ||||||
| if ! echo $suffix | grep -q "debug" ; then | if ! echo $suffix | grep -q "debug" ; then | ||||||
|     # Install Javadoc documentation |     # Install Javadoc documentation | ||||||
|     install -d -m 755 $RPM_BUILD_ROOT%{_javadocdir} |     install -d -m 755 $RPM_BUILD_ROOT%{_javadocdir} | ||||||
|     cp -a ${docdir}/docs $RPM_BUILD_ROOT%{_javadocdir}/%{uniquejavadocdir -- $suffix} |     cp -a ${docdir}/docs $RPM_BUILD_ROOT%{_javadocdir}/%{uniquejavadocdir -- $suffix} | ||||||
|     built_doc_archive=jdk-%{filever}%{ea_designator_zip}+%{buildver}%{lts_designator_zip}-docs.zip |     built_doc_archive=jdk-%{filever}%{ea_designator_zip}+%{buildver}%{lts_designator_zip}-docs.zip | ||||||
| %ifarch %{portable_build_arches} |  | ||||||
|     cp -a ${docdir}/${built_doc_archive} \ |     cp -a ${docdir}/${built_doc_archive} \ | ||||||
|        $RPM_BUILD_ROOT%{_javadocdir}/%{uniquejavadocdir -- $suffix}.zip |         $RPM_BUILD_ROOT%{_javadocdir}/%{uniquejavadocdir -- $suffix}.zip | ||||||
| %else |  | ||||||
|     cp -a ${top_dir_abs_main_build_path}/bundles/${built_doc_archive} \ |  | ||||||
|        $RPM_BUILD_ROOT%{_javadocdir}/%{uniquejavadocdir -- $suffix}.zip || ls -l ${top_dir_abs_main_build_path}/bundles/ |  | ||||||
| %endif |  | ||||||
| fi | fi | ||||||
| 
 | 
 | ||||||
| # Install icons and menu entries | # Install icons and menu entries | ||||||
| @ -2523,11 +2209,7 @@ done | |||||||
| mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/.java/.systemPrefs | mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/.java/.systemPrefs | ||||||
| 
 | 
 | ||||||
| # copy samples next to demos; samples are mostly js files | # copy samples next to demos; samples are mostly js files | ||||||
| %ifarch %{portable_build_arches} |  | ||||||
| cp -r ${miscdir}/sample  $RPM_BUILD_ROOT/%{_jvmdir}/%{sdkdir -- $suffix}/ | cp -r ${miscdir}/sample  $RPM_BUILD_ROOT/%{_jvmdir}/%{sdkdir -- $suffix}/ | ||||||
| %else |  | ||||||
| cp -r %{top_level_dir_name}/src/sample  $RPM_BUILD_ROOT/%{_jvmdir}/%{sdkdir -- $suffix}/ |  | ||||||
| %endif |  | ||||||
| 
 | 
 | ||||||
| # moving config files to /etc | # moving config files to /etc | ||||||
| mkdir -p $RPM_BUILD_ROOT/%{etcjavadir -- $suffix} | mkdir -p $RPM_BUILD_ROOT/%{etcjavadir -- $suffix} | ||||||
| @ -2816,6 +2498,13 @@ end | |||||||
| %endif | %endif | ||||||
| 
 | 
 | ||||||
| %changelog | %changelog | ||||||
|  | * Wed Apr 26 2023 Andrew Hughes <gnu.andrew@redhat.com> - 1:11.0.19.0.7-3 | ||||||
|  | - Revert "Restore native build for x86 as there is no portable build" | ||||||
|  | - Reintroduce useful cleanups from x86 reversion | ||||||
|  | - Adjust oj_vendor_version to match the portable so test passes | ||||||
|  | - Adjust oj_vendor_bug_url to match the portable so test passes | ||||||
|  | - Related: RHEL-30918 | ||||||
|  | 
 | ||||||
| * Wed Apr 26 2023 Andrew Hughes <gnu.andrew@redhat.com> - 1:11.0.19.0.7-2 | * Wed Apr 26 2023 Andrew Hughes <gnu.andrew@redhat.com> - 1:11.0.19.0.7-2 | ||||||
| - Update to jdk-11.0.19.0+7 | - Update to jdk-11.0.19.0+7 | ||||||
| - Update release notes to 11.0.19.0+7 | - Update release notes to 11.0.19.0+7 | ||||||
|  | |||||||
		Loading…
	
		Reference in New Issue
	
	Block a user