diff --git a/java-latest-openjdk.spec b/java-latest-openjdk.spec index ea31db978c0ddf593f0eb80d1e0b7be728d8a50f..a6297674abd744e8f9b93175fde25ce5bfc6fd6a 100644 --- a/java-latest-openjdk.spec +++ b/java-latest-openjdk.spec @@ -148,11 +148,11 @@ # New Version-String scheme-style defines # If you bump majorver, you must bump also vendor_version_string -%global majorver 15 -# Used via new version scheme. JDK 15 was -# GA'ed in September 2020 => 20.9 -%global vendor_version_string 20.9 -%global securityver 2 +%global majorver 16 +# Used via new version scheme. JDK 16 was +# GA'ed in March 2021 => 21.3 +%global vendor_version_string 21.3 +%global securityver 0 # buildjdkver is usually same as %%{majorver}, # but in time of bootstrap of next jdk, it is majorver-1, # and this it is better to change it here, on single place @@ -167,7 +167,7 @@ %global origin_nice OpenJDK %global top_level_dir_name %{origin} %global minorver 0 -%global buildver 7 +%global buildver 36 %global rpmrelease 0 # 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 @@ -186,14 +186,16 @@ # - N%%{?extraver}{?dist} for GA releases %global is_ga 1 %if %{is_ga} -%global ea_designator "" +%global build_type GA +%global expected_ea_designator "" %global ea_designator_zip "" %global extraver %{nil} %global eaprefix %{nil} %else -%global ea_designator ea -%global ea_designator_zip -%{ea_designator} -%global extraver .%{ea_designator} +%global build_type EA +%global expected_ea_designator ea +%global ea_designator_zip -%{expected_ea_designator} +%global extraver .%{expected_ea_designator} %global eaprefix 0. %endif @@ -212,7 +214,7 @@ # main id and dir of this jdk %define uniquesuffix() %{expand:%{fullversion}.%{_arch}%{?1}} -%global _privatelibs libsplashscreen[.]so.*|libawt_xawt[.]so.*|libjli[.]so.*|libattach[.]so.*|libawt[.]so.*|libextnet[.]so.*|libawt_headless[.]so.*|libdt_socket[.]so.*|libfontmanager[.]so.*|libinstrument[.]so.*|libj2gss[.]so.*|libj2pcsc[.]so.*|libj2pkcs11[.]so.*|libjaas[.]so.*|libjavajpeg[.]so.*|libjdwp[.]so.*|libjimage[.]so.*|libjsound[.]so.*|liblcms[.]so.*|libmanagement[.]so.*|libmanagement_agent[.]so.*|libmanagement_ext[.]so.*|libmlib_image[.]so.*|libnet[.]so.*|libnio[.]so.*|libprefs[.]so.*|librmi[.]so.*|libsaproc[.]so.*|libsctp[.]so.*|libsunec[.]so.*|libzip[.]so.* +%global _privatelibs libsplashscreen[.]so.*|libawt_xawt[.]so.*|libjli[.]so.*|libattach[.]so.*|libawt[.]so.*|libextnet[.]so.*|libawt_headless[.]so.*|libdt_socket[.]so.*|libfontmanager[.]so.*|libinstrument[.]so.*|libj2gss[.]so.*|libj2pcsc[.]so.*|libj2pkcs11[.]so.*|libjaas[.]so.*|libjavajpeg[.]so.*|libjdwp[.]so.*|libjimage[.]so.*|libjsound[.]so.*|liblcms[.]so.*|libmanagement[.]so.*|libmanagement_agent[.]so.*|libmanagement_ext[.]so.*|libmlib_image[.]so.*|libnet[.]so.*|libnio[.]so.*|libprefs[.]so.*|librmi[.]so.*|libsaproc[.]so.*|libsctp[.]so.*|libzip[.]so.* %global _publiclibs libjawt[.]so.*|libjava[.]so.*|libjvm[.]so.*|libverify[.]so.*|libjsig[.]so.* %if %is_system_jdk %global __provides_exclude ^(%{_privatelibs})$ @@ -542,7 +544,6 @@ exit 0 %{_jvmdir}/%{sdkdir -- %{?1}}/lib/libsaproc.so %endif %{_jvmdir}/%{sdkdir -- %{?1}}/lib/libsctp.so -%{_jvmdir}/%{sdkdir -- %{?1}}/lib/libsunec.so %{_jvmdir}/%{sdkdir -- %{?1}}/lib/libverify.so %{_jvmdir}/%{sdkdir -- %{?1}}/lib/libzip.so %dir %{_jvmdir}/%{sdkdir -- %{?1}}/lib/jfr @@ -922,7 +923,7 @@ URL: http://openjdk.java.net/ # to regenerate source0 (jdk) and source8 (jdk's taspets) run update_package.sh # update_package.sh contains hard-coded repos, revisions, tags, and projects to regenerate the source archives -Source0: jdk-updates-jdk%{majorver}u-jdk-%{majorver}.%{minorver}.%{securityver}+%{buildver}.tar.xz +Source0: jdk-jdk%{majorver}-jdk-%{majorver}+%{buildver}.tar.gz Source8: systemtap_3.2_tapsets_hg-icedtea8-9d464368e06d.tar.xz # Desktop files. Adapted from IcedTea @@ -980,6 +981,7 @@ BuildRequires: freetype-devel BuildRequires: giflib-devel BuildRequires: gcc-c++ BuildRequires: gdb +BuildRequires: harfbuzz-devel BuildRequires: lcms2-devel BuildRequires: libjpeg-devel BuildRequires: libpng-devel @@ -1259,8 +1261,8 @@ export CFLAGS="$CFLAGS -mieee" # We use ourcppflags because the OpenJDK build seems to # pass EXTRA_CFLAGS to the HotSpot C++ compiler... # Explicitly set the C++ standard as the default has changed on GCC >= 6 -EXTRA_CFLAGS="%ourcppflags -std=gnu++98 -Wno-error -fno-delete-null-pointer-checks -fno-lifetime-dse -fcommon" -EXTRA_CPP_FLAGS="%ourcppflags -std=gnu++98 -fno-delete-null-pointer-checks -fno-lifetime-dse -fcommon" +EXTRA_CFLAGS="%ourcppflags" +EXTRA_CPP_FLAGS="%ourcppflags" %ifarch %{power64} ppc # fix rpmlint warnings @@ -1279,6 +1281,24 @@ fi # Variable used in hs_err hook on build failures top_dir_abs_path=$(pwd)/%{top_level_dir_name} +# The OpenJDK version file includes the current +# upstream version information. For some reason, +# configure does not automatically use the +# default pre-version supplied there (despite +# what the file claims), so we pass it manually +# to configure +VERSION_FILE=${top_dir_abs_path}/make/autoconf/version-numbers +if [ -f ${VERSION_FILE} ] ; then + EA_DESIGNATOR=$(grep '^DEFAULT_PROMOTED_VERSION_PRE' ${VERSION_FILE} | cut -d '=' -f 2) +else + echo "Could not find OpenJDK version file."; + exit 16 +fi +if [ "x${EA_DESIGNATOR}" != "x%{expected_ea_designator}" ] ; then + echo "Spec file is configured for a %{build_type} build, but upstream version-pre setting is ${EA_DESIGNATOR}"; + exit 17 +fi + mkdir -p %{buildoutputdir -- $suffix} pushd %{buildoutputdir -- $suffix} @@ -1290,7 +1310,7 @@ bash ../configure \ --with-jobs=1 \ %endif --with-version-build=%{buildver} \ - --with-version-pre="%{ea_designator}"\ + --with-version-pre=\"${EA_DESIGNATOR}\" \ --with-version-opt=%{lts_designator} \ --with-vendor-version-string="%{vendor_version_string}" \ --with-vendor-name="openEuler Community" \ @@ -1306,11 +1326,13 @@ bash ../configure \ --with-giflib=system \ --with-libpng=system \ --with-lcms=system \ + --with-harfbuzz=system \ --with-stdc++lib=dynamic \ --with-extra-cxxflags="$EXTRA_CPP_FLAGS" \ --with-extra-cflags="$EXTRA_CFLAGS" \ --with-extra-ldflags="%{ourldflags}" \ --with-num-cores="$NUM_PROC" \ + --with-source-date="${SOURCE_DATE_EPOCH}" \ --disable-javac-server \ --disable-warnings-as-errors @@ -1508,7 +1530,7 @@ if ! echo $suffix | grep -q "debug" ; then # Install Javadoc documentation install -d -m 755 $RPM_BUILD_ROOT%{_javadocdir} cp -a %{buildoutputdir -- $suffix}/images/docs $RPM_BUILD_ROOT%{_javadocdir}/%{uniquejavadocdir -- $suffix} - cp -a %{buildoutputdir -- $suffix}/bundles/jdk-%{majorver}.%{minorver}.%{securityver}%{ea_designator_zip}+%{buildver}%{lts_designator_zip}-docs.zip $RPM_BUILD_ROOT%{_javadocdir}/%{uniquejavadocdir -- $suffix}.zip + cp -a %{buildoutputdir -- $suffix}/bundles/jdk-%{majorver}%{ea_designator_zip}+%{buildver}%{lts_designator_zip}-docs.zip $RPM_BUILD_ROOT%{_javadocdir}/%{uniquejavadocdir -- $suffix}.zip fi # Install icons and menu entries @@ -1717,6 +1739,14 @@ require "copy_jdk_configs.lua" %changelog +* Wed May 12 2021 noah - 1:16.0.0.36-0.0.ea.rolling +- Update to jdk-16.0.0.0+36 +- Use upstream default for version-pre rather than setting it to "ea" or "" +- Drop libsunec.so which is no longer generated, thanks to JDK-8235710 +- Drop unnecessary compiler flags, dating back to work on GCC 6 & 10 +- Use system harfbuzz now this is supported. +- Pass SOURCE_DATE_EPOCH to build for reproducible builds + * Mon Mar 1 2021 noah - 1:15.0.2.7-0.rolling - Update to jdk-15.0.2+7 diff --git a/jdk-updates-jdk15u-jdk-15.0.2+7.tar.xz b/jdk-jdk16-jdk-16+36.tar.gz similarity index 70% rename from jdk-updates-jdk15u-jdk-15.0.2+7.tar.xz rename to jdk-jdk16-jdk-16+36.tar.gz index cac858f1f4225063288c3d969900e75900450273..196d24d6ab25490490bca26e0e32bdc4cec983a2 100644 Binary files a/jdk-updates-jdk15u-jdk-15.0.2+7.tar.xz and b/jdk-jdk16-jdk-16+36.tar.gz differ