|
|
@ -314,7 +314,7 @@
|
|
|
|
# New Version-String scheme-style defines
|
|
|
|
# New Version-String scheme-style defines
|
|
|
|
%global featurever 21
|
|
|
|
%global featurever 21
|
|
|
|
%global interimver 0
|
|
|
|
%global interimver 0
|
|
|
|
%global updatever 2
|
|
|
|
%global updatever 3
|
|
|
|
%global patchver 0
|
|
|
|
%global patchver 0
|
|
|
|
# buildjdkver is usually same as %%{featurever},
|
|
|
|
# buildjdkver is usually same as %%{featurever},
|
|
|
|
# but in time of bootstrap of next jdk, it is featurever-1,
|
|
|
|
# but in time of bootstrap of next jdk, it is featurever-1,
|
|
|
@ -364,7 +364,7 @@
|
|
|
|
# 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
|
|
|
|
# Define current Git revision for the FIPS support patches
|
|
|
|
# Define current Git revision for the FIPS support patches
|
|
|
|
%global fipsver 75ffdc48eda
|
|
|
|
%global fipsver 0a42e29b391
|
|
|
|
# Define JDK versions
|
|
|
|
# Define JDK versions
|
|
|
|
%global newjavaver %{featurever}.%{interimver}.%{updatever}.%{patchver}
|
|
|
|
%global newjavaver %{featurever}.%{interimver}.%{updatever}.%{patchver}
|
|
|
|
%global javaver %{featurever}
|
|
|
|
%global javaver %{featurever}
|
|
|
@ -378,7 +378,7 @@
|
|
|
|
%global origin_nice OpenJDK
|
|
|
|
%global origin_nice OpenJDK
|
|
|
|
%global top_level_dir_name %{vcstag}
|
|
|
|
%global top_level_dir_name %{vcstag}
|
|
|
|
%global top_level_dir_name_backup %{top_level_dir_name}-backup
|
|
|
|
%global top_level_dir_name_backup %{top_level_dir_name}-backup
|
|
|
|
%global buildver 13
|
|
|
|
%global buildver 9
|
|
|
|
%global rpmrelease 1
|
|
|
|
%global rpmrelease 1
|
|
|
|
#%%global tagsuffix %%{nil}
|
|
|
|
#%%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
|
|
|
|
# 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
|
|
|
@ -650,10 +650,6 @@ Patch1001: fips-%{featurever}u-%{fipsver}.patch
|
|
|
|
#
|
|
|
|
#
|
|
|
|
#############################################
|
|
|
|
#############################################
|
|
|
|
|
|
|
|
|
|
|
|
# JDK-8009550, RH910107: Depend on pcsc-lite-libs instead of pcsc-lite-devel as this is only in optional repo
|
|
|
|
|
|
|
|
# PR: https://github.com/openjdk/jdk/pull/15409
|
|
|
|
|
|
|
|
Patch6: jdk8009550-rh910107-fail_to_load_pcsc_library.patch
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# Currently empty
|
|
|
|
# Currently empty
|
|
|
|
|
|
|
|
|
|
|
|
#############################################
|
|
|
|
#############################################
|
|
|
@ -709,8 +705,15 @@ BuildRequires: java-%{buildjdkver}-%{origin}%{?pkgos:-%{pkgos}}-devel
|
|
|
|
%ifarch %{zero_arches}
|
|
|
|
%ifarch %{zero_arches}
|
|
|
|
BuildRequires: libffi-devel
|
|
|
|
BuildRequires: libffi-devel
|
|
|
|
%endif
|
|
|
|
%endif
|
|
|
|
# 2023c required as of JDK-8305113
|
|
|
|
# Full documentation build requirements
|
|
|
|
BuildRequires: tzdata-java >= 2023c
|
|
|
|
# pandoc is not available on RHEL 7
|
|
|
|
|
|
|
|
%if 0%{?rhel} >= 8
|
|
|
|
|
|
|
|
BuildRequires: graphviz
|
|
|
|
|
|
|
|
BuildRequires: pandoc
|
|
|
|
|
|
|
|
%endif
|
|
|
|
|
|
|
|
# 2024a required as of JDK-8325150
|
|
|
|
|
|
|
|
# Use 2023d until 2024a is in the buildroot
|
|
|
|
|
|
|
|
BuildRequires: tzdata-java >= 2023d
|
|
|
|
# cacerts build requirement in portable mode
|
|
|
|
# cacerts build requirement in portable mode
|
|
|
|
BuildRequires: ca-certificates
|
|
|
|
BuildRequires: ca-certificates
|
|
|
|
# Earlier versions have a bug in tree vectorization on PPC
|
|
|
|
# Earlier versions have a bug in tree vectorization on PPC
|
|
|
@ -730,7 +733,7 @@ BuildRequires: libjpeg-devel
|
|
|
|
BuildRequires: libpng-devel
|
|
|
|
BuildRequires: libpng-devel
|
|
|
|
%else
|
|
|
|
%else
|
|
|
|
# Version in src/java.desktop/share/legal/freetype.md
|
|
|
|
# Version in src/java.desktop/share/legal/freetype.md
|
|
|
|
Provides: bundled(freetype) = 2.13.0
|
|
|
|
Provides: bundled(freetype) = 2.13.2
|
|
|
|
# Version in src/java.desktop/share/native/libsplashscreen/giflib/gif_lib.h
|
|
|
|
# Version in src/java.desktop/share/native/libsplashscreen/giflib/gif_lib.h
|
|
|
|
Provides: bundled(giflib) = 5.2.1
|
|
|
|
Provides: bundled(giflib) = 5.2.1
|
|
|
|
# Version in src/java.desktop/share/native/libharfbuzz/hb-version.h
|
|
|
|
# Version in src/java.desktop/share/native/libharfbuzz/hb-version.h
|
|
|
@ -922,6 +925,7 @@ echo "WARNING: The build of a fresh libjvm has been disabled due to a JDK versio
|
|
|
|
echo "Build JDK version is %{buildjdkver}, feature JDK version is %{featurever}"
|
|
|
|
echo "Build JDK version is %{buildjdkver}, feature JDK version is %{featurever}"
|
|
|
|
%endif
|
|
|
|
%endif
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
export XZ_OPT="-T0"
|
|
|
|
%setup -q -c -n %{uniquesuffix ""} -T -a 0
|
|
|
|
%setup -q -c -n %{uniquesuffix ""} -T -a 0
|
|
|
|
# https://bugzilla.redhat.com/show_bug.cgi?id=1189084
|
|
|
|
# https://bugzilla.redhat.com/show_bug.cgi?id=1189084
|
|
|
|
prioritylength=`expr length %{priority}`
|
|
|
|
prioritylength=`expr length %{priority}`
|
|
|
@ -938,11 +942,22 @@ sh %{SOURCE12} %{top_level_dir_name}
|
|
|
|
%endif
|
|
|
|
%endif
|
|
|
|
|
|
|
|
|
|
|
|
# Patch the JDK
|
|
|
|
# Patch the JDK
|
|
|
|
|
|
|
|
# This syntax is deprecated:
|
|
|
|
|
|
|
|
# %patchN [...]
|
|
|
|
|
|
|
|
# and should be replaced with:
|
|
|
|
|
|
|
|
# %patch -PN [...]
|
|
|
|
|
|
|
|
# For example:
|
|
|
|
|
|
|
|
# %patch1001 -p1
|
|
|
|
|
|
|
|
# becomes:
|
|
|
|
|
|
|
|
# %patch -P1001 -p1
|
|
|
|
|
|
|
|
# The replacement format suggested by recent (circa Fedora 38) RPM
|
|
|
|
|
|
|
|
# deprecation messages:
|
|
|
|
|
|
|
|
# %patch N [...]
|
|
|
|
|
|
|
|
# is not backward-compatible with prior (circa RHEL-8) versions of
|
|
|
|
|
|
|
|
# rpmbuild.
|
|
|
|
pushd %{top_level_dir_name}
|
|
|
|
pushd %{top_level_dir_name}
|
|
|
|
# Add crypto policy and FIPS support
|
|
|
|
# Add crypto policy and FIPS support
|
|
|
|
%patch1001 -p1
|
|
|
|
%patch -P1001 -p1
|
|
|
|
# Patches in need of upstreaming
|
|
|
|
|
|
|
|
%patch6 -p1
|
|
|
|
|
|
|
|
popd # openjdk
|
|
|
|
popd # openjdk
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@ -997,6 +1012,7 @@ export NUM_PROC=${NUM_PROC:-1}
|
|
|
|
# Honor %%_smp_ncpus_max
|
|
|
|
# Honor %%_smp_ncpus_max
|
|
|
|
[ ${NUM_PROC} -gt %{?_smp_ncpus_max} ] && export NUM_PROC=%{?_smp_ncpus_max}
|
|
|
|
[ ${NUM_PROC} -gt %{?_smp_ncpus_max} ] && export NUM_PROC=%{?_smp_ncpus_max}
|
|
|
|
%endif
|
|
|
|
%endif
|
|
|
|
|
|
|
|
export XZ_OPT="-T0"
|
|
|
|
|
|
|
|
|
|
|
|
%ifarch s390x sparc64 alpha %{power64} %{aarch64}
|
|
|
|
%ifarch s390x sparc64 alpha %{power64} %{aarch64}
|
|
|
|
export ARCH_DATA_MODEL=64
|
|
|
|
export ARCH_DATA_MODEL=64
|
|
|
@ -1022,9 +1038,58 @@ EXTRA_CPP_FLAGS="$(echo ${EXTRA_CPP_FLAGS} | sed -e 's|-mstackrealign|-mincoming
|
|
|
|
%endif
|
|
|
|
%endif
|
|
|
|
export EXTRA_CFLAGS EXTRA_CPP_FLAGS
|
|
|
|
export EXTRA_CFLAGS EXTRA_CPP_FLAGS
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# Set modification times (mtimes) of files within JAR files generated
|
|
|
|
|
|
|
|
# by the OpenJDK build to a timestamp that is constant across RPM
|
|
|
|
|
|
|
|
# rebuilds. OpenJDK provides the --with-source-date configure option
|
|
|
|
|
|
|
|
# for this purpose. Potential arguments in the RPM build context are:
|
|
|
|
|
|
|
|
#
|
|
|
|
|
|
|
|
# A) --with-source-date="${SOURCE_DATE_EPOCH}"
|
|
|
|
|
|
|
|
# B) --with-source-date=version
|
|
|
|
|
|
|
|
# C) --with-source-date="${OPENJDK_UPSTREAM_TAG_EPOCH}"
|
|
|
|
|
|
|
|
#
|
|
|
|
|
|
|
|
# Consider Option A. Fedora 38 (rpm-4.18.2) and RHEL-8 (rpm-4.14.3)
|
|
|
|
|
|
|
|
# have different support for SOURCE_DATE_EPOCH. To keep
|
|
|
|
|
|
|
|
# SOURCE_DATE_EPOCH constant across RPM rebuilds, one could set the
|
|
|
|
|
|
|
|
# source_date_epoch_from_changelog macro to 1 on both Fedora 38 and
|
|
|
|
|
|
|
|
# RHEL-8. However, on RHEL-8, this results in the RPM build times
|
|
|
|
|
|
|
|
# being set to the timestamp of the most recent changelog. This is
|
|
|
|
|
|
|
|
# bad for tracing when RPMs were actually built. Fedora 38 supports a
|
|
|
|
|
|
|
|
# better behaviour via the introduction of the
|
|
|
|
|
|
|
|
# use_source_date_epoch_as_buildtime macro, set to 0 by default.
|
|
|
|
|
|
|
|
# There is no way to make this work on RHEL-8 as well though, so
|
|
|
|
|
|
|
|
# option A is suboptimal.
|
|
|
|
|
|
|
|
#
|
|
|
|
|
|
|
|
# Option B uses the value of the DEFAULT_VERSION_DATE field from
|
|
|
|
|
|
|
|
# make/conf/version-numbers.conf. DEFAULT_VERSION_DATE represents the
|
|
|
|
|
|
|
|
# aspirational eventual JDK general availability (GA) release date.
|
|
|
|
|
|
|
|
# When the RPM build occurs prior to GA, generated JAR files will have
|
|
|
|
|
|
|
|
# payload mtimes in the future relative to the RPM build time.
|
|
|
|
|
|
|
|
# Whereas for tarballs some tools will issue warnings about future
|
|
|
|
|
|
|
|
# mtimes, per OPENJDK-2583 apparently this is no problem for Java and
|
|
|
|
|
|
|
|
# JAR files.
|
|
|
|
|
|
|
|
#
|
|
|
|
|
|
|
|
# Option C uses the modification timestamp of files in the source
|
|
|
|
|
|
|
|
# tarball. The reproducibility logic in generate_source_tarball.sh
|
|
|
|
|
|
|
|
# sets them all to the commit time of the release-tagged OpenJDK
|
|
|
|
|
|
|
|
# commit, as archived in the tarball. This timestamp is deterministic
|
|
|
|
|
|
|
|
# across RPM rebuilds and is reliably in the past. Any file's mtime
|
|
|
|
|
|
|
|
# will do, so use version-numbers.conf's.
|
|
|
|
|
|
|
|
#
|
|
|
|
|
|
|
|
# Use option B for JAR files, based on the discussion in OPENJDK-2583.
|
|
|
|
|
|
|
|
#
|
|
|
|
|
|
|
|
# For portable tarballs, use option C (OPENJDK_UPSTREAM_TAG_EPOCH) for
|
|
|
|
|
|
|
|
# the modification times of all files in the portable tarballs. Doing
|
|
|
|
|
|
|
|
# so eliminates one source of variability across RPM rebuilds.
|
|
|
|
|
|
|
|
VERSION_FILE="$(pwd)"/"%{top_level_dir_name}"/make/conf/version-numbers.conf
|
|
|
|
|
|
|
|
OPENJDK_UPSTREAM_TAG_EPOCH="$(stat --format=%Y "${VERSION_FILE}")"
|
|
|
|
|
|
|
|
|
|
|
|
echo "Building %{SOURCE11}"
|
|
|
|
echo "Building %{SOURCE11}"
|
|
|
|
mkdir -p %{altjavaoutputdir}
|
|
|
|
mkdir -p %{altjavaoutputdir}
|
|
|
|
gcc ${EXTRA_CFLAGS} -o %{altjavaoutputdir}/%{alt_java_name} %{SOURCE11}
|
|
|
|
gcc ${EXTRA_CFLAGS} -o %{altjavaoutputdir}/%{alt_java_name} %{SOURCE11}
|
|
|
|
|
|
|
|
echo "Generating %{alt_java_name} man page"
|
|
|
|
|
|
|
|
altjavamanpage=%{altjavaoutputdir}/%{alt_java_name}.1
|
|
|
|
|
|
|
|
echo "Hardened java binary recommended for launching untrusted code from the Web e.g. javaws" > ${altjavamanpage}
|
|
|
|
|
|
|
|
cat %{top_level_dir_name}/src/java.base/share/man/java.1 >> ${altjavamanpage}
|
|
|
|
|
|
|
|
|
|
|
|
echo "Building %{newjavaver}-%{buildver}, pre=%{ea_designator}, opt=%{lts_designator}"
|
|
|
|
echo "Building %{newjavaver}-%{buildver}, pre=%{ea_designator}, opt=%{lts_designator}"
|
|
|
|
|
|
|
|
|
|
|
@ -1066,9 +1131,6 @@ function buildjdk() {
|
|
|
|
scl enable devtoolset-%{dtsversion} "bash ${top_dir_abs_src_path}/configure \
|
|
|
|
scl enable devtoolset-%{dtsversion} "bash ${top_dir_abs_src_path}/configure \
|
|
|
|
%ifarch %{zero_arches}
|
|
|
|
%ifarch %{zero_arches}
|
|
|
|
--with-jvm-variants=zero \
|
|
|
|
--with-jvm-variants=zero \
|
|
|
|
%endif
|
|
|
|
|
|
|
|
%ifarch %{ppc64le}
|
|
|
|
|
|
|
|
--with-jobs=1 \
|
|
|
|
|
|
|
|
%endif
|
|
|
|
%endif
|
|
|
|
--with-cacerts-file=`readlink -f %{_sysconfdir}/pki/java/cacerts` \
|
|
|
|
--with-cacerts-file=`readlink -f %{_sysconfdir}/pki/java/cacerts` \
|
|
|
|
--with-version-build=%{buildver} \
|
|
|
|
--with-version-build=%{buildver} \
|
|
|
@ -1096,7 +1158,7 @@ function buildjdk() {
|
|
|
|
--with-extra-cflags=\"$EXTRA_CFLAGS\" \
|
|
|
|
--with-extra-cflags=\"$EXTRA_CFLAGS\" \
|
|
|
|
--with-extra-ldflags=\"%{ourldflags}\" \
|
|
|
|
--with-extra-ldflags=\"%{ourldflags}\" \
|
|
|
|
--with-num-cores=\"$NUM_PROC\" \
|
|
|
|
--with-num-cores=\"$NUM_PROC\" \
|
|
|
|
--with-source-date=\"${SOURCE_DATE_EPOCH}\" \
|
|
|
|
--with-source-date=\"version\" \
|
|
|
|
--disable-javac-server \
|
|
|
|
--disable-javac-server \
|
|
|
|
%ifarch %{zgc_arches}
|
|
|
|
%ifarch %{zgc_arches}
|
|
|
|
--with-jvm-features=zgc \
|
|
|
|
--with-jvm-features=zgc \
|
|
|
@ -1115,14 +1177,15 @@ function stripjdk() {
|
|
|
|
local jreimagepath=${outputdir}/images/%{jreimage}
|
|
|
|
local jreimagepath=${outputdir}/images/%{jreimage}
|
|
|
|
local jmodimagepath=${outputdir}/images/jmods
|
|
|
|
local jmodimagepath=${outputdir}/images/jmods
|
|
|
|
local supportdir=${outputdir}/support
|
|
|
|
local supportdir=${outputdir}/support
|
|
|
|
|
|
|
|
local modulebuildpath=${outputdir}/jdk/modules
|
|
|
|
|
|
|
|
|
|
|
|
if [ "x$suffix" = "x" ] ; then
|
|
|
|
if [ "x$suffix" = "x" ] ; then
|
|
|
|
# Keep the unstripped version for consumption by RHEL RPMs
|
|
|
|
# Keep the unstripped version for consumption by RHEL RPMs
|
|
|
|
cp -a ${jdkimagepath}{,.unstripped}
|
|
|
|
cp -a ${jdkimagepath}{,.unstripped}
|
|
|
|
|
|
|
|
|
|
|
|
# Strip the files
|
|
|
|
# Strip the files
|
|
|
|
for file in $(find ${jdkimagepath} ${jreimagepath} ${supportdir} -type f) ; do
|
|
|
|
for file in $(find ${jdkimagepath} ${jreimagepath} ${supportdir} ${modulebuildpath} -type f) ; do
|
|
|
|
if file ${file} | grep -q 'ELF'; then
|
|
|
|
if file ${file} | cut -d ':' -f 2 | grep -q 'ELF'; then
|
|
|
|
noextfile=${file/.so/};
|
|
|
|
noextfile=${file/.so/};
|
|
|
|
scl enable devtoolset-%{dtsversion} "objcopy --only-keep-debug ${file} ${noextfile}.debuginfo";
|
|
|
|
scl enable devtoolset-%{dtsversion} "objcopy --only-keep-debug ${file} ${noextfile}.debuginfo";
|
|
|
|
scl enable devtoolset-%{dtsversion} "objcopy --add-gnu-debuglink=${noextfile}.debuginfo ${file}";
|
|
|
|
scl enable devtoolset-%{dtsversion} "objcopy --add-gnu-debuglink=${noextfile}.debuginfo ${file}";
|
|
|
@ -1206,13 +1269,6 @@ function installjdk() {
|
|
|
|
# Install local files which are distributed with the JDK
|
|
|
|
# Install local files which are distributed with the JDK
|
|
|
|
install -m 644 %{SOURCE10} ${imagepath}
|
|
|
|
install -m 644 %{SOURCE10} ${imagepath}
|
|
|
|
|
|
|
|
|
|
|
|
# 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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# Print release information
|
|
|
|
# Print release information
|
|
|
|
cat ${imagepath}/release
|
|
|
|
cat ${imagepath}/release
|
|
|
|
fi
|
|
|
|
fi
|
|
|
@ -1232,6 +1288,49 @@ function genchecksum() {
|
|
|
|
popd
|
|
|
|
popd
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# Create a reproducible tarball in an appropriate way for
|
|
|
|
|
|
|
|
# the version of tar in use
|
|
|
|
|
|
|
|
function createtar() {
|
|
|
|
|
|
|
|
local directory=${1}
|
|
|
|
|
|
|
|
local archive=${2}
|
|
|
|
|
|
|
|
local filter=${3}
|
|
|
|
|
|
|
|
local transform=${4}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if [ "x${filter}" != "x" ] ; then
|
|
|
|
|
|
|
|
local filteroption="-name ${filter}";
|
|
|
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
if [ "x${transform}" != "x" ] ; then
|
|
|
|
|
|
|
|
local transoption="--transform ${transform}";
|
|
|
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
local common_tar_opts="--owner=0 --group=0 --numeric-owner \
|
|
|
|
|
|
|
|
${transoption} --create --xz"
|
|
|
|
|
|
|
|
# Capture tar version, removing the decimal point (so 1.28 => 128)
|
|
|
|
|
|
|
|
tarver=$(tar --version|head -n1|sed -re 's|tar \(GNU tar\) ([0-9]).([0-9]*)|\1\2|')
|
|
|
|
|
|
|
|
echo "Detected tar ${tarver}"
|
|
|
|
|
|
|
|
if [ ${tarver} -gt 128 ] ; then
|
|
|
|
|
|
|
|
local tar_time="$(date --utc --iso-8601=seconds --date=@"${OPENJDK_UPSTREAM_TAG_EPOCH}")"
|
|
|
|
|
|
|
|
local tar_opts="--mtime=${tar_time} --sort=name ${common_tar_opts}"
|
|
|
|
|
|
|
|
if test "x${filteroption}" = "x"; then
|
|
|
|
|
|
|
|
tar ${tar_opts} --file ${archive} ${directory}
|
|
|
|
|
|
|
|
else
|
|
|
|
|
|
|
|
tar ${tar_opts} --file ${archive} $(find ${directory} ${filteroption})
|
|
|
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
else
|
|
|
|
|
|
|
|
# See https://reproducible-builds.org/docs/archives/
|
|
|
|
|
|
|
|
# RHEL-7 has tar 1.26 which does not support --sort=name (added
|
|
|
|
|
|
|
|
# in 1.28), so use find-piped-through-sort instead. Omit
|
|
|
|
|
|
|
|
# --pax-option since it made the docs package not reproducible
|
|
|
|
|
|
|
|
# due to PaxHeaders timestamp differences.
|
|
|
|
|
|
|
|
local tar_opts="--mtime=@${OPENJDK_UPSTREAM_TAG_EPOCH} \
|
|
|
|
|
|
|
|
--no-recursion --null --files-from - \
|
|
|
|
|
|
|
|
${common_tar_opts}"
|
|
|
|
|
|
|
|
find ${directory} ${filteroption} -print0 | \
|
|
|
|
|
|
|
|
LC_ALL=C sort -z | \
|
|
|
|
|
|
|
|
tar ${tar_opts} --file ${archive}
|
|
|
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
function packagejdk() {
|
|
|
|
function packagejdk() {
|
|
|
|
local imagesdir=$(pwd)/${1}/images
|
|
|
|
local imagesdir=$(pwd)/${1}/images
|
|
|
|
local docdir=$(pwd)/${1}/images/docs
|
|
|
|
local docdir=$(pwd)/${1}/images/docs
|
|
|
@ -1270,7 +1369,7 @@ function packagejdk() {
|
|
|
|
if [ "x$suffix" = "x" ] ; then
|
|
|
|
if [ "x$suffix" = "x" ] ; then
|
|
|
|
# Keep the unstripped version for consumption by RHEL RPMs
|
|
|
|
# Keep the unstripped version for consumption by RHEL RPMs
|
|
|
|
mv %{jdkimage}.unstripped ${jdkname}
|
|
|
|
mv %{jdkimage}.unstripped ${jdkname}
|
|
|
|
tar -cJf ${unstrippedarchive} ${jdkname}
|
|
|
|
createtar ${jdkname} ${unstrippedarchive}
|
|
|
|
genchecksum ${unstrippedarchive}
|
|
|
|
genchecksum ${unstrippedarchive}
|
|
|
|
mv ${jdkname} %{jdkimage}.unstripped
|
|
|
|
mv ${jdkname} %{jdkimage}.unstripped
|
|
|
|
fi
|
|
|
|
fi
|
|
|
@ -1281,13 +1380,13 @@ function packagejdk() {
|
|
|
|
|
|
|
|
|
|
|
|
# Release images have external debug symbols
|
|
|
|
# Release images have external debug symbols
|
|
|
|
if [ "x$suffix" = "x" ] ; then
|
|
|
|
if [ "x$suffix" = "x" ] ; then
|
|
|
|
tar -cJf ${debugarchive} $(find ${jdkname} -name \*.debuginfo)
|
|
|
|
createtar ${jdkname} ${debugarchive} \*.debuginfo
|
|
|
|
genchecksum ${debugarchive}
|
|
|
|
genchecksum ${debugarchive}
|
|
|
|
|
|
|
|
|
|
|
|
mkdir ${docname}
|
|
|
|
mkdir ${docname}
|
|
|
|
mv ${docdir} ${docname}
|
|
|
|
mv ${docdir} ${docname}
|
|
|
|
mv ${bundledir}/${built_doc_archive} ${docname}
|
|
|
|
mv ${bundledir}/${built_doc_archive} ${docname}
|
|
|
|
tar -cJf ${docarchive} ${docname}
|
|
|
|
createtar ${docname} ${docarchive}
|
|
|
|
genchecksum ${docarchive}
|
|
|
|
genchecksum ${docarchive}
|
|
|
|
|
|
|
|
|
|
|
|
mkdir ${miscname}
|
|
|
|
mkdir ${miscname}
|
|
|
@ -1297,23 +1396,23 @@ function packagejdk() {
|
|
|
|
%if %{with_systemtap}
|
|
|
|
%if %{with_systemtap}
|
|
|
|
cp -a ${tapsetdir}* ${miscname}
|
|
|
|
cp -a ${tapsetdir}* ${miscname}
|
|
|
|
%endif
|
|
|
|
%endif
|
|
|
|
cp -av ${altjavadir}/%{alt_java_name} ${miscname}
|
|
|
|
cp -av ${altjavadir}/%{alt_java_name}{,.1} ${miscname}
|
|
|
|
tar -cJf ${miscarchive} ${miscname}
|
|
|
|
createtar ${miscname} ${miscarchive}
|
|
|
|
genchecksum ${miscarchive}
|
|
|
|
genchecksum ${miscarchive}
|
|
|
|
fi
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
|
|
tar -cJf ${jdkarchive} --exclude='**.debuginfo' ${jdkname}
|
|
|
|
createtar ${jdkname} ${jdkarchive}
|
|
|
|
genchecksum ${jdkarchive}
|
|
|
|
genchecksum ${jdkarchive}
|
|
|
|
|
|
|
|
|
|
|
|
tar -cJf ${jrearchive} --exclude='**.debuginfo' ${jrename}
|
|
|
|
createtar ${jrename} ${jrearchive}
|
|
|
|
genchecksum ${jrearchive}
|
|
|
|
genchecksum ${jrearchive}
|
|
|
|
|
|
|
|
|
|
|
|
%if %{include_staticlibs}
|
|
|
|
%if %{include_staticlibs}
|
|
|
|
# Static libraries (needed for building graal vm with native image)
|
|
|
|
# Static libraries (needed for building graal vm with native image)
|
|
|
|
# Tar as overlay. Transform to the JDK name, since we just want to "add"
|
|
|
|
# Tar as overlay. Transform to the JDK name, since we just want to "add"
|
|
|
|
# static libraries to that folder
|
|
|
|
# static libraries to that folder
|
|
|
|
tar -cJf ${staticarchive} \
|
|
|
|
createtar "%{static_libs_image}/lib" ${staticarchive} "" \
|
|
|
|
--transform "s|^%{static_libs_image}/lib/*|${staticname}/lib/static/linux-%{archinstall}/glibc/|" "%{static_libs_image}/lib"
|
|
|
|
"s|^%{static_libs_image}/lib/*|${staticname}/lib/static/linux-%{archinstall}/glibc/|"
|
|
|
|
genchecksum ${staticarchive}
|
|
|
|
genchecksum ${staticarchive}
|
|
|
|
%endif
|
|
|
|
%endif
|
|
|
|
|
|
|
|
|
|
|
@ -1686,6 +1785,100 @@ done
|
|
|
|
%{_jvmdir}/%{miscportablearchive}.sha256sum
|
|
|
|
%{_jvmdir}/%{miscportablearchive}.sha256sum
|
|
|
|
|
|
|
|
|
|
|
|
%changelog
|
|
|
|
%changelog
|
|
|
|
|
|
|
|
* Sat Apr 13 2024 Andrew Hughes <gnu.andrew@redhat.com> - 1:21.0.3.0.9-1
|
|
|
|
|
|
|
|
- Update to jdk-21.0.3+9 (GA)
|
|
|
|
|
|
|
|
- Update release notes to 21.0.3+9
|
|
|
|
|
|
|
|
- Switch to GA mode.
|
|
|
|
|
|
|
|
- Change --with-source-date value to 'version' to match Temurin builds
|
|
|
|
|
|
|
|
- ** This tarball is embargoed until 2024-04-16 @ 1pm PT. **
|
|
|
|
|
|
|
|
- Resolves: OPENJDK-2585
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
* Thu Apr 04 2024 Andrew Hughes <gnu.andrew@redhat.com> - 1:21.0.3.0.7-0.1.ea
|
|
|
|
|
|
|
|
- Update to jdk-21.0.3+7 (EA)
|
|
|
|
|
|
|
|
- Update release notes to 21.0.3+7
|
|
|
|
|
|
|
|
- Require tzdata 2024a due to upstream inclusion of JDK-8322725
|
|
|
|
|
|
|
|
- Only require tzdata 2023d for now as 2024a is unavailable in buildroot
|
|
|
|
|
|
|
|
- Drop JDK-8009550 which is now available upstream
|
|
|
|
|
|
|
|
- Re-generate FIPS patch against 21.0.3+7 following backport of JDK-8325254
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
* Thu Mar 21 2024 Andrew Hughes <gnu.andrew@redhat.com> - 1:21.0.3.0.1-0.2.ea
|
|
|
|
|
|
|
|
- generate_source_tarball.sh: Update examples in header for clarity
|
|
|
|
|
|
|
|
- generate_source_tarball.sh: Cleanup message issued when checkout already exists
|
|
|
|
|
|
|
|
- generate_source_tarball.sh: Create directory in TMPDIR when using WITH_TEMP
|
|
|
|
|
|
|
|
- generate_source_tarball.sh: Only add --depth=1 on non-local repositories
|
|
|
|
|
|
|
|
- icedtea_sync.sh: Reinstate from rhel-8.9.0 branch
|
|
|
|
|
|
|
|
- Move maintenance scripts to a scripts subdirectory
|
|
|
|
|
|
|
|
- discover_trees.sh: Set compile-command and indentation instructions for Emacs
|
|
|
|
|
|
|
|
- discover_trees.sh: shellcheck: Do not use -o (SC2166)
|
|
|
|
|
|
|
|
- discover_trees.sh: shellcheck: Remove x-prefixes since we use Bash (SC2268)
|
|
|
|
|
|
|
|
- discover_trees.sh: shellcheck: Double-quote variable references (SC2086)
|
|
|
|
|
|
|
|
- generate_source_tarball.sh: Add authorship
|
|
|
|
|
|
|
|
- icedtea_sync.sh: Set compile-command and indentation instructions for Emacs
|
|
|
|
|
|
|
|
- icedtea_sync.sh: shellcheck: Double-quote variable references (SC2086)
|
|
|
|
|
|
|
|
- icedtea_sync.sh: shellcheck: Remove x-prefixes since we use Bash (SC2268)
|
|
|
|
|
|
|
|
- openjdk_news.sh: Set compile-command and indentation instructions for Emacs
|
|
|
|
|
|
|
|
- openjdk_news.sh: shellcheck: Double-quote variable references (SC2086)
|
|
|
|
|
|
|
|
- openjdk_news.sh: shellcheck: Remove x-prefixes since we use Bash (SC2268)
|
|
|
|
|
|
|
|
- openjdk_news.sh: shellcheck: Remove deprecated egrep usage (SC2196)
|
|
|
|
|
|
|
|
- generate_source_tarball.sh: Output values of new options WITH_TEMP and OPENJDK_LATEST
|
|
|
|
|
|
|
|
- generate_source_tarball.sh: Double-quote DEPTH reference (SC2086)
|
|
|
|
|
|
|
|
- Vary reproducible tar creation by version of tar detected
|
|
|
|
|
|
|
|
- Set OPENJDK_UPSTREAM_TAG_EPOCH & VERSION_FILE at start of build section as in 17u
|
|
|
|
|
|
|
|
- generate_source_tarball.sh: Avoid empty DEPTH reference while still appeasing shellcheck
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
* Wed Mar 20 2024 Thomas Fitzsimmons <fitzsim@redhat.com> - 1:21.0.3.0.1-0.2.ea
|
|
|
|
|
|
|
|
- generate_source_tarball.sh: Add WITH_TEMP environment variable
|
|
|
|
|
|
|
|
- generate_source_tarball.sh: Multithread xz on all available cores
|
|
|
|
|
|
|
|
- generate_source_tarball.sh: Add OPENJDK_LATEST environment variable
|
|
|
|
|
|
|
|
- generate_source_tarball.sh: Update comment about tarball naming
|
|
|
|
|
|
|
|
- generate_source_tarball.sh: Reformat comment header
|
|
|
|
|
|
|
|
- generate_source_tarball.sh: Reformat and update help output
|
|
|
|
|
|
|
|
- generate_source_tarball.sh: Do a shallow clone, for speed
|
|
|
|
|
|
|
|
- generate_source_tarball.sh: Append -ea designator when required
|
|
|
|
|
|
|
|
- generate_source_tarball.sh: Eliminate some removal prompting
|
|
|
|
|
|
|
|
- generate_source_tarball.sh: Make tarball reproducible
|
|
|
|
|
|
|
|
- generate_source_tarball.sh: Prefix temporary directory with temp-
|
|
|
|
|
|
|
|
- generate_source_tarball.sh: Remove temporary directory exit conditions
|
|
|
|
|
|
|
|
- generate_source_tarball.sh: Fix -ea logic to add dash
|
|
|
|
|
|
|
|
- generate_source_tarball.sh: Set compile-command in Emacs
|
|
|
|
|
|
|
|
- generate_source_tarball.sh: Remove REPO_NAME from FILE_NAME_ROOT
|
|
|
|
|
|
|
|
- generate_source_tarball.sh: Move PROJECT_NAME and REPO_NAME checks
|
|
|
|
|
|
|
|
- generate_source_tarball.sh: shellcheck: Remove x-prefixes since we use Bash (SC2268)
|
|
|
|
|
|
|
|
- generate_source_tarball.sh: shellcheck: Double-quote variable references (SC2086)
|
|
|
|
|
|
|
|
- generate_source_tarball.sh: shellcheck: Do not use -a (SC2166)
|
|
|
|
|
|
|
|
- generate_source_tarball.sh: shellcheck: Do not use $ on arithmetic variables (SC2004)
|
|
|
|
|
|
|
|
- Use backward-compatible patch syntax
|
|
|
|
|
|
|
|
- generate_source_tarball.sh: Ignore -ga tags with OPENJDK_LATEST
|
|
|
|
|
|
|
|
- generate_source_tarball.sh: Fix whitespace
|
|
|
|
|
|
|
|
- generate_source_tarball.sh: Remove trailing period in echo
|
|
|
|
|
|
|
|
- generate_source_tarball.sh: Use long-style argument to grep
|
|
|
|
|
|
|
|
- generate_source_tarball.sh: Add license
|
|
|
|
|
|
|
|
- generate_source_tarball.sh: Add indentation instructions for Emacs
|
|
|
|
|
|
|
|
- Remove -T0 argument from systemtap tar invocation
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
* Mon Mar 11 2024 Andrew Hughes <gnu.andrew@redhat.com> - 1:21.0.3.0.1-0.2.ea
|
|
|
|
|
|
|
|
- Introduce tar_opts to avoid repetition of lengthy tar creation options
|
|
|
|
|
|
|
|
- Add module build path to stripped directories to catch jpackageapplauncher files
|
|
|
|
|
|
|
|
- Move alt-java man page to the misc tarball so it is not in the JDK image
|
|
|
|
|
|
|
|
- Resolves: OPENJDK-2820
|
|
|
|
|
|
|
|
- Resolves: OPENJDK-2821
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
* Thu Feb 08 2024 Thomas Fitzsimmons <fitzsim@redhat.com> - 1:21.0.3.0.1-0.2.ea
|
|
|
|
|
|
|
|
- Invoke xz in multi-threaded mode
|
|
|
|
|
|
|
|
- Remove ppc64le with-jobs=1 workaround
|
|
|
|
|
|
|
|
- Make portable tarball modification times reproducible
|
|
|
|
|
|
|
|
- Use RHEL-7 tar-1.26-compatible invocations for reproducible tarballs
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
* Fri Feb 02 2024 Andrew Hughes <gnu.andrew@redhat.com> - 1:21.0.3.0.1-0.1.ea
|
|
|
|
|
|
|
|
- Update to jdk-21.0.3+1 (EA)
|
|
|
|
|
|
|
|
- Update release notes to 21.0.3+1
|
|
|
|
|
|
|
|
- Switch to EA mode
|
|
|
|
|
|
|
|
- Require tzdata 2023d due to upstream inclusion of JDK-8322725
|
|
|
|
|
|
|
|
- Bump FreeType version to 2.13.2 following JDK-8316028
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
* Sat Jan 27 2024 Andrew Hughes <gnu.andrew@redhat.com> - 1:21.0.2.0.13-2
|
|
|
|
|
|
|
|
- Sync with upstream release notes
|
|
|
|
|
|
|
|
|
|
|
|
* Tue Jan 09 2024 Andrew Hughes <gnu.andrew@redhat.com> - 1:21.0.2.0.13-1
|
|
|
|
* Tue Jan 09 2024 Andrew Hughes <gnu.andrew@redhat.com> - 1:21.0.2.0.13-1
|
|
|
|
- Update to jdk-21.0.2+13 (GA)
|
|
|
|
- Update to jdk-21.0.2+13 (GA)
|
|
|
|
- Update release notes to 21.0.2+13
|
|
|
|
- Update release notes to 21.0.2+13
|
|
|
|