Perform static library build on a separate source tree with bundled image libraries
Make static library build optional Ported from java-11-openjdk. Work of Andrew Hughes.
This commit is contained in:
parent
551c2470a9
commit
7ba3ca3fe3
@ -22,9 +22,16 @@
|
|||||||
%bcond_without slowdebug
|
%bcond_without slowdebug
|
||||||
# Enable release builds by default on relevant arches.
|
# Enable release builds by default on relevant arches.
|
||||||
%bcond_without release
|
%bcond_without release
|
||||||
|
# Enable static library builds by default.
|
||||||
|
%bcond_without staticlibs
|
||||||
|
|
||||||
# Workaround for stripping of debug symbols from static libraries
|
# Workaround for stripping of debug symbols from static libraries
|
||||||
|
%if %{with staticlibs}
|
||||||
%define __brp_strip_static_archive %{nil}
|
%define __brp_strip_static_archive %{nil}
|
||||||
|
%global include_staticlibs 1
|
||||||
|
%else
|
||||||
|
%global include_staticlibs 0
|
||||||
|
%endif
|
||||||
|
|
||||||
# The -g flag says to use strip -g instead of full strip on DSOs or EXEs.
|
# The -g flag says to use strip -g instead of full strip on DSOs or EXEs.
|
||||||
# This fixes detailed NMT and other tools which need minimal debug info.
|
# This fixes detailed NMT and other tools which need minimal debug info.
|
||||||
@ -42,10 +49,14 @@
|
|||||||
# (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 debug_on with full debugging on
|
%global debug_on with full debugging on
|
||||||
@ -162,6 +173,12 @@
|
|||||||
# Test slowdebug first as it provides the best diagnostics
|
# Test slowdebug first as it provides the best diagnostics
|
||||||
%global rev_build_loop %{slowdebug_build} %{fastdebug_build} %{normal_build}
|
%global rev_build_loop %{slowdebug_build} %{fastdebug_build} %{normal_build}
|
||||||
|
|
||||||
|
%if %{include_staticlibs}
|
||||||
|
%global staticlibs_loop %{staticlibs_suffix}
|
||||||
|
%else
|
||||||
|
%global staticlibs_loop %{nil}
|
||||||
|
%endif
|
||||||
|
|
||||||
%ifarch %{bootstrap_arches}
|
%ifarch %{bootstrap_arches}
|
||||||
%global bootstrap_build 1
|
%global bootstrap_build 1
|
||||||
%else
|
%else
|
||||||
@ -169,12 +186,20 @@
|
|||||||
%endif
|
%endif
|
||||||
|
|
||||||
%if %{bootstrap_build}
|
%if %{bootstrap_build}
|
||||||
%global release_targets bootcycle-images static-libs-image docs-zip
|
%global release_targets bootcycle-images docs-zip
|
||||||
%else
|
%else
|
||||||
%global release_targets images docs-zip static-libs-image
|
%global release_targets images docs-zip
|
||||||
%endif
|
%endif
|
||||||
# No docs nor bootcycle for debug builds
|
# No docs nor bootcycle for debug builds
|
||||||
%global debug_targets images static-libs-image
|
%global debug_targets images
|
||||||
|
|
||||||
|
%if %{include_staticlibs}
|
||||||
|
# Extra target for producing the static-libraries. Separate from
|
||||||
|
# other targets since this target is configured to use in-tree
|
||||||
|
# AWT dependencies: lcms, libjpeg, libpng, libharfbuzz, giflib
|
||||||
|
# and possibly others
|
||||||
|
%global static_libs_target static-libs-image
|
||||||
|
%endif
|
||||||
|
|
||||||
|
|
||||||
# Filter out flags from the optflags macro that cause problems with the OpenJDK build
|
# Filter out flags from the optflags macro that cause problems with the OpenJDK build
|
||||||
@ -271,8 +296,9 @@
|
|||||||
%global origin openjdk
|
%global origin openjdk
|
||||||
%global origin_nice OpenJDK
|
%global origin_nice OpenJDK
|
||||||
%global top_level_dir_name %{origin}
|
%global top_level_dir_name %{origin}
|
||||||
|
%global top_level_dir_name_backup %{top_level_dir_name}-backup
|
||||||
%global buildver 36
|
%global buildver 36
|
||||||
%global rpmrelease 1
|
%global rpmrelease 2
|
||||||
# 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
|
||||||
%if %is_system_jdk
|
%if %is_system_jdk
|
||||||
# Using 10 digits may overflow the int used for priority, so we combine the patch and build versions
|
# Using 10 digits may overflow the int used for priority, so we combine the patch and build versions
|
||||||
@ -334,7 +360,7 @@
|
|||||||
%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:openjdk/build%{?1}}
|
%define buildoutputdir() %{expand:build/jdk%{featurever}.build%{?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}}
|
||||||
# main id and dir of this jdk
|
# main id and dir of this jdk
|
||||||
@ -1288,6 +1314,8 @@ The %{origin_nice} %{featurever} development tools .
|
|||||||
%{fastdebug_warning}
|
%{fastdebug_warning}
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
|
%if %{include_staticlibs}
|
||||||
|
|
||||||
%if %{include_normal_build}
|
%if %{include_normal_build}
|
||||||
%package static-libs
|
%package static-libs
|
||||||
Summary: %{origin_nice} %{featurever} libraries for static linking
|
Summary: %{origin_nice} %{featurever} libraries for static linking
|
||||||
@ -1320,6 +1348,9 @@ The %{origin_nice} %{featurever} libraries for static linking.
|
|||||||
%{fastdebug_warning}
|
%{fastdebug_warning}
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
|
# staticlibs
|
||||||
|
%endif
|
||||||
|
|
||||||
%if %{include_normal_build}
|
%if %{include_normal_build}
|
||||||
%package jmods
|
%package jmods
|
||||||
Summary: JMods for %{origin_nice} %{featurever}
|
Summary: JMods for %{origin_nice} %{featurever}
|
||||||
@ -1482,9 +1513,10 @@ if [ $prioritylength -ne 8 ] ; then
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
# OpenJDK patches
|
# OpenJDK patches
|
||||||
|
# Remove libraries that are linked by both static and dynamic builds
|
||||||
|
sh %{SOURCE12} %{top_level_dir_name}
|
||||||
|
|
||||||
# Remove libraries that are linked
|
# Patch the JDK
|
||||||
sh %{SOURCE12}
|
|
||||||
pushd %{top_level_dir_name}
|
pushd %{top_level_dir_name}
|
||||||
%patch1 -p1
|
%patch1 -p1
|
||||||
%patch2 -p1
|
%patch2 -p1
|
||||||
@ -1581,16 +1613,37 @@ else
|
|||||||
debugbuild=`echo $suffix | sed "s/-//g"`
|
debugbuild=`echo $suffix | sed "s/-//g"`
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Variable used in hs_err hook on build failures
|
for loop in %{main_suffix} %{staticlibs_loop} ; do
|
||||||
top_dir_abs_path=$(pwd)/%{top_level_dir_name}
|
|
||||||
|
|
||||||
|
if test "x${loop}" = "x%{main_suffix}" ; then
|
||||||
|
# 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
|
||||||
|
# Variable used by configure and hs_err hook on build failures
|
||||||
|
link_opt="system"
|
||||||
|
# Debug builds don't need same targets as release for
|
||||||
|
# build speed-up
|
||||||
|
maketargets="%{release_targets}"
|
||||||
|
if echo $debugbuild | grep -q "debug" ; then
|
||||||
|
maketargets="%{debug_targets}"
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
# Variable used by configure and hs_err hook on build failures
|
||||||
|
link_opt="bundled"
|
||||||
|
# Static library cycle only builds the static libraries
|
||||||
|
maketargets="%{static_libs_target}"
|
||||||
|
fi
|
||||||
|
|
||||||
|
top_dir_abs_src_path=$(pwd)/%{top_level_dir_name}
|
||||||
|
top_dir_abs_build_path=$(pwd)/%{buildoutputdir -- ${suffix}${loop}}
|
||||||
# The OpenJDK version file includes the current
|
# The OpenJDK version file includes the current
|
||||||
# upstream version information. For some reason,
|
# upstream version information. For some reason,
|
||||||
# configure does not automatically use the
|
# configure does not automatically use the
|
||||||
# default pre-version supplied there (despite
|
# default pre-version supplied there (despite
|
||||||
# what the file claims), so we pass it manually
|
# what the file claims), so we pass it manually
|
||||||
# to configure
|
# to configure
|
||||||
VERSION_FILE=${top_dir_abs_path}/make/autoconf/version-numbers
|
VERSION_FILE=${top_dir_abs_src_path}/make/autoconf/version-numbers
|
||||||
if [ -f ${VERSION_FILE} ] ; then
|
if [ -f ${VERSION_FILE} ] ; then
|
||||||
EA_DESIGNATOR=$(grep '^DEFAULT_PROMOTED_VERSION_PRE' ${VERSION_FILE} | cut -d '=' -f 2)
|
EA_DESIGNATOR=$(grep '^DEFAULT_PROMOTED_VERSION_PRE' ${VERSION_FILE} | cut -d '=' -f 2)
|
||||||
else
|
else
|
||||||
@ -1602,10 +1655,10 @@ if [ "x${EA_DESIGNATOR}" != "x%{expected_ea_designator}" ] ; then
|
|||||||
exit 17
|
exit 17
|
||||||
fi
|
fi
|
||||||
|
|
||||||
mkdir -p %{buildoutputdir -- $suffix}
|
mkdir -p ${top_dir_abs_build_path}
|
||||||
pushd %{buildoutputdir -- $suffix}
|
pushd ${top_dir_abs_build_path}
|
||||||
|
|
||||||
bash ../configure \
|
bash ${top_dir_abs_src_path}/configure \
|
||||||
%ifnarch %{jit_arches}
|
%ifnarch %{jit_arches}
|
||||||
--with-jvm-variants=zero \
|
--with-jvm-variants=zero \
|
||||||
%endif
|
%endif
|
||||||
@ -1625,11 +1678,11 @@ bash ../configure \
|
|||||||
--with-native-debug-symbols=internal \
|
--with-native-debug-symbols=internal \
|
||||||
--enable-unlimited-crypto \
|
--enable-unlimited-crypto \
|
||||||
--with-zlib=system \
|
--with-zlib=system \
|
||||||
--with-libjpeg=system \
|
--with-libjpeg=${link_opt} \
|
||||||
--with-giflib=system \
|
--with-giflib=${link_opt} \
|
||||||
--with-libpng=system \
|
--with-libpng=${link_opt} \
|
||||||
--with-lcms=system \
|
--with-lcms=${link_opt} \
|
||||||
--with-harfbuzz=system \
|
--with-harfbuzz=${link_opt} \
|
||||||
--with-stdc++lib=dynamic \
|
--with-stdc++lib=dynamic \
|
||||||
--with-extra-cxxflags="$EXTRA_CPP_FLAGS" \
|
--with-extra-cxxflags="$EXTRA_CPP_FLAGS" \
|
||||||
--with-extra-cflags="$EXTRA_CFLAGS" \
|
--with-extra-cflags="$EXTRA_CFLAGS" \
|
||||||
@ -1642,33 +1695,37 @@ bash ../configure \
|
|||||||
%endif
|
%endif
|
||||||
--disable-warnings-as-errors
|
--disable-warnings-as-errors
|
||||||
|
|
||||||
# Debug builds don't need same targets as release for
|
|
||||||
# build speed-up
|
|
||||||
maketargets="%{release_targets}"
|
|
||||||
if echo $debugbuild | grep -q "debug" ; then
|
|
||||||
maketargets="%{debug_targets}"
|
|
||||||
fi
|
|
||||||
make \
|
make \
|
||||||
JAVAC_FLAGS=-g \
|
JAVAC_FLAGS=-g \
|
||||||
LOG=trace \
|
LOG=trace \
|
||||||
WARNINGS_ARE_ERRORS="-Wno-error" \
|
WARNINGS_ARE_ERRORS="-Wno-error" \
|
||||||
CFLAGS_WARNINGS_ARE_ERRORS="-Wno-error" \
|
CFLAGS_WARNINGS_ARE_ERRORS="-Wno-error" \
|
||||||
$maketargets || ( pwd; find $top_dir_abs_path -name "hs_err_pid*.log" | xargs cat && false )
|
$maketargets || ( pwd; find ${top_dir_abs_src_path} ${top_dir_abs_build_path} -name "hs_err_pid*.log" | xargs cat && false )
|
||||||
|
|
||||||
|
popd >& /dev/null
|
||||||
|
|
||||||
|
# Restore original source tree if we modified it by removing full in-tree sources
|
||||||
|
if [ -d %{top_level_dir_name_backup} ] ; then
|
||||||
|
rm -rf %{top_level_dir_name}
|
||||||
|
mv %{top_level_dir_name_backup} %{top_level_dir_name}
|
||||||
|
fi
|
||||||
|
|
||||||
|
done # end of main / staticlibs loop
|
||||||
|
|
||||||
|
top_dir_abs_main_build_path=$(pwd)/%{buildoutputdir -- ${suffix}%{main_suffix}}
|
||||||
|
|
||||||
# the build (erroneously) removes read permissions from some jars
|
# the build (erroneously) removes read permissions from some jars
|
||||||
# this is a regression in OpenJDK 7 (our compiler):
|
# this is a regression in OpenJDK 7 (our compiler):
|
||||||
# http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1437
|
# http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1437
|
||||||
find images/%{jdkimage} -iname '*.jar' -exec chmod ugo+r {} \;
|
find ${top_dir_abs_main_build_path}/images/%{jdkimage} -iname '*.jar' -exec chmod ugo+r {} \;
|
||||||
|
|
||||||
# Build screws up permissions on binaries
|
# Build screws up permissions on binaries
|
||||||
# https://bugs.openjdk.java.net/browse/JDK-8173610
|
# https://bugs.openjdk.java.net/browse/JDK-8173610
|
||||||
find images/%{jdkimage} -iname '*.so' -exec chmod +x {} \;
|
find ${top_dir_abs_main_build_path}/images/%{jdkimage} -iname '*.so' -exec chmod +x {} \;
|
||||||
find images/%{jdkimage}/bin/ -exec chmod +x {} \;
|
find ${top_dir_abs_main_build_path}/images/%{jdkimage}/bin/ -exec chmod +x {} \;
|
||||||
|
|
||||||
popd >& /dev/null
|
|
||||||
|
|
||||||
# Install nss.cfg right away as we will be using the JRE above
|
# Install nss.cfg right away as we will be using the JRE above
|
||||||
export JAVA_HOME=$(pwd)/%{buildoutputdir -- $suffix}/images/%{jdkimage}
|
export JAVA_HOME=${top_dir_abs_main_build_path}/images/%{jdkimage}
|
||||||
|
|
||||||
# Install nss.cfg right away as we will be using the JRE above
|
# Install nss.cfg right away as we will be using the JRE above
|
||||||
install -m 644 nss.cfg $JAVA_HOME/conf/security/
|
install -m 644 nss.cfg $JAVA_HOME/conf/security/
|
||||||
@ -1685,14 +1742,19 @@ cat man/man1/java.1 >> man/man1/%{alt_java_name}.1
|
|||||||
popd
|
popd
|
||||||
|
|
||||||
# build cycles
|
# build cycles
|
||||||
done
|
done # end of release / debug cycle loop
|
||||||
|
|
||||||
%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 %{rev_build_loop} ; do
|
for suffix in %{rev_build_loop} ; do
|
||||||
|
|
||||||
export JAVA_HOME=$(pwd)/%{buildoutputdir -- $suffix}/images/%{jdkimage}
|
top_dir_abs_main_build_path=$(pwd)/%{buildoutputdir -- ${suffix}%{main_suffix}}
|
||||||
|
%if %{include_staticlibs}
|
||||||
|
top_dir_abs_staticlibs_build_path=$(pwd)/%{buildoutputdir -- ${suffix}%{staticlibs_loop}}
|
||||||
|
%endif
|
||||||
|
|
||||||
|
export JAVA_HOME=${top_dir_abs_main_build_path}/images/%{jdkimage}
|
||||||
|
|
||||||
#check Shenandoah is enabled
|
#check Shenandoah is enabled
|
||||||
%if %{use_shenandoah_hotspot}
|
%if %{use_shenandoah_hotspot}
|
||||||
@ -1721,10 +1783,12 @@ nm $JAVA_HOME/bin/%{alt_java_name} | grep set_speculation
|
|||||||
if ! nm $JAVA_HOME/bin/%{alt_java_name} | grep set_speculation ; then true ; else false; fi
|
if ! nm $JAVA_HOME/bin/%{alt_java_name} | grep set_speculation ; then true ; else false; fi
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
|
%if %{include_staticlibs}
|
||||||
# Check debug symbols in static libraries (smoke test)
|
# Check debug symbols in static libraries (smoke test)
|
||||||
export STATIC_LIBS_HOME=$(pwd)/%{buildoutputdir -- $suffix}/images/%{static_libs_image}
|
export STATIC_LIBS_HOME=${top_dir_abs_staticlibs_build_path}/images/%{static_libs_image}
|
||||||
readelf --debug-dump $STATIC_LIBS_HOME/lib/libfdlibm.a | grep w_remainder.c
|
readelf --debug-dump $STATIC_LIBS_HOME/lib/libfdlibm.a | grep w_remainder.c
|
||||||
readelf --debug-dump $STATIC_LIBS_HOME/lib/libfdlibm.a | grep e_remainder.c
|
readelf --debug-dump $STATIC_LIBS_HOME/lib/libfdlibm.a | grep e_remainder.c
|
||||||
|
%endif
|
||||||
|
|
||||||
# Check debug symbols are present and can identify code
|
# Check debug symbols are present and can identify code
|
||||||
find "$JAVA_HOME" -iname '*.so' -print0 | while read -d $'\0' lib
|
find "$JAVA_HOME" -iname '*.so' -print0 | while read -d $'\0' lib
|
||||||
@ -1815,12 +1879,17 @@ STRIP_KEEP_SYMTAB=libjvm*
|
|||||||
|
|
||||||
for suffix in %{build_loop} ; do
|
for suffix in %{build_loop} ; do
|
||||||
|
|
||||||
|
top_dir_abs_main_build_path=$(pwd)/%{buildoutputdir -- ${suffix}%{main_suffix}}
|
||||||
|
%if %{include_staticlibs}
|
||||||
|
top_dir_abs_staticlibs_build_path=$(pwd)/%{buildoutputdir -- ${suffix}%{staticlibs_loop}}
|
||||||
|
%endif
|
||||||
|
jdk_image=${top_dir_abs_main_build_path}/images/%{jdkimage}
|
||||||
|
|
||||||
# Install the jdk
|
# Install the jdk
|
||||||
mkdir -p $RPM_BUILD_ROOT%{_jvmdir}
|
mkdir -p $RPM_BUILD_ROOT%{_jvmdir}
|
||||||
cp -a %{buildoutputdir -- $suffix}/images/%{jdkimage} \
|
cp -a ${jdk_image} $RPM_BUILD_ROOT%{_jvmdir}/%{sdkdir -- $suffix}
|
||||||
$RPM_BUILD_ROOT%{_jvmdir}/%{sdkdir -- $suffix}
|
|
||||||
|
|
||||||
pushd %{buildoutputdir $suffix}/images/%{jdkimage}
|
pushd ${jdk_image}
|
||||||
|
|
||||||
%if %{with_systemtap}
|
%if %{with_systemtap}
|
||||||
# Install systemtap support files
|
# Install systemtap support files
|
||||||
@ -1864,17 +1933,19 @@ pushd %{buildoutputdir $suffix}/images/%{jdkimage}
|
|||||||
|
|
||||||
popd
|
popd
|
||||||
# Install static libs artefacts
|
# Install static libs artefacts
|
||||||
|
%if %{include_staticlibs}
|
||||||
mkdir -p $RPM_BUILD_ROOT%{_jvmdir}/%{sdkdir -- $suffix}/lib/static/linux-%{archinstall}/glibc
|
mkdir -p $RPM_BUILD_ROOT%{_jvmdir}/%{sdkdir -- $suffix}/lib/static/linux-%{archinstall}/glibc
|
||||||
cp -a %{buildoutputdir -- $suffix}/images/%{static_libs_image}/lib/*.a \
|
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
|
$RPM_BUILD_ROOT%{_jvmdir}/%{sdkdir -- $suffix}/lib/static/linux-%{archinstall}/glibc
|
||||||
|
%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 %{buildoutputdir -- $suffix}/images/docs $RPM_BUILD_ROOT%{_javadocdir}/%{uniquejavadocdir -- $suffix}
|
cp -a ${top_dir_abs_main_build_path}/images/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
|
||||||
cp -a %{buildoutputdir -- $suffix}/bundles/${built_doc_archive} \
|
cp -a ${top_dir_abs_main_build_path}/bundles/${built_doc_archive} \
|
||||||
$RPM_BUILD_ROOT%{_javadocdir}/%{uniquejavadocdir -- $suffix}.zip || ls -l %{buildoutputdir -- $suffix}/bundles/
|
$RPM_BUILD_ROOT%{_javadocdir}/%{uniquejavadocdir -- $suffix}.zip || ls -l ${top_dir_abs_main_build_path}/bundles/
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Install release notes
|
# Install release notes
|
||||||
@ -2077,8 +2148,10 @@ require "copy_jdk_configs.lua"
|
|||||||
%files devel
|
%files devel
|
||||||
%{files_devel %{nil}}
|
%{files_devel %{nil}}
|
||||||
|
|
||||||
|
%if %{include_staticlibs}
|
||||||
%files static-libs
|
%files static-libs
|
||||||
%{files_static_libs %{nil}}
|
%{files_static_libs %{nil}}
|
||||||
|
%endif
|
||||||
|
|
||||||
%files jmods
|
%files jmods
|
||||||
%{files_jmods %{nil}}
|
%{files_jmods %{nil}}
|
||||||
@ -2109,8 +2182,10 @@ require "copy_jdk_configs.lua"
|
|||||||
%files devel-slowdebug
|
%files devel-slowdebug
|
||||||
%{files_devel -- %{debug_suffix_unquoted}}
|
%{files_devel -- %{debug_suffix_unquoted}}
|
||||||
|
|
||||||
|
%if %{include_staticlibs}
|
||||||
%files static-libs-slowdebug
|
%files static-libs-slowdebug
|
||||||
%{files_static_libs -- %{debug_suffix_unquoted}}
|
%{files_static_libs -- %{debug_suffix_unquoted}}
|
||||||
|
%endif
|
||||||
|
|
||||||
%files jmods-slowdebug
|
%files jmods-slowdebug
|
||||||
%{files_jmods -- %{debug_suffix_unquoted}}
|
%{files_jmods -- %{debug_suffix_unquoted}}
|
||||||
@ -2132,8 +2207,10 @@ require "copy_jdk_configs.lua"
|
|||||||
%files devel-fastdebug
|
%files devel-fastdebug
|
||||||
%{files_devel -- %{fastdebug_suffix_unquoted}}
|
%{files_devel -- %{fastdebug_suffix_unquoted}}
|
||||||
|
|
||||||
|
%if %{include_staticlibs}
|
||||||
%files static-libs-fastdebug
|
%files static-libs-fastdebug
|
||||||
%{files_static_libs -- %{fastdebug_suffix_unquoted}}
|
%{files_static_libs -- %{fastdebug_suffix_unquoted}}
|
||||||
|
%endif
|
||||||
|
|
||||||
%files jmods-fastdebug
|
%files jmods-fastdebug
|
||||||
%{files_jmods -- %{fastdebug_suffix_unquoted}}
|
%{files_jmods -- %{fastdebug_suffix_unquoted}}
|
||||||
@ -2147,6 +2224,11 @@ require "copy_jdk_configs.lua"
|
|||||||
%endif
|
%endif
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Thu Mar 11 2021 Andrew Hughes <gnu.andrew@redhat.com> - 1:16.0.0.0.36-2.rolling
|
||||||
|
- Perform static library build on a separate source tree with bundled image libraries
|
||||||
|
- Make static library build optional
|
||||||
|
- Based on initial work by Severin Gehwolf
|
||||||
|
|
||||||
* Tue Mar 09 2021 Jiri Vanek <jvanek@redhat.com> - 1:16.0.0.0.36-1.rolling
|
* Tue Mar 09 2021 Jiri Vanek <jvanek@redhat.com> - 1:16.0.0.0.36-1.rolling
|
||||||
- fixed suggests of wrong pcsc-lite-devel%{?_isa} to correct pcsc-lite-libs%{?_isa}
|
- fixed suggests of wrong pcsc-lite-devel%{?_isa} to correct pcsc-lite-libs%{?_isa}
|
||||||
- bumped buildjdkver to build by itself - 16
|
- bumped buildjdkver to build by itself - 16
|
||||||
|
@ -1,24 +1,52 @@
|
|||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
|
|
||||||
|
# Arguments: <JDK TREE> <MINIMAL|FULL>
|
||||||
|
TREE=${1}
|
||||||
|
TYPE=${2}
|
||||||
|
|
||||||
ZIP_SRC=src/java.base/share/native/libzip/zlib/
|
ZIP_SRC=src/java.base/share/native/libzip/zlib/
|
||||||
JPEG_SRC=src/java.desktop/share/native/libjavajpeg/
|
JPEG_SRC=src/java.desktop/share/native/libjavajpeg/
|
||||||
GIF_SRC=src/java.desktop/share/native/libsplashscreen/giflib/
|
GIF_SRC=src/java.desktop/share/native/libsplashscreen/giflib/
|
||||||
PNG_SRC=src/java.desktop/share/native/libsplashscreen/libpng/
|
PNG_SRC=src/java.desktop/share/native/libsplashscreen/libpng/
|
||||||
LCMS_SRC=src/java.desktop/share/native/liblcms/
|
LCMS_SRC=src/java.desktop/share/native/liblcms/
|
||||||
|
|
||||||
cd openjdk
|
if test "x${TREE}" = "x"; then
|
||||||
|
echo "$0 <JDK_TREE> (MINIMAL|FULL)";
|
||||||
|
exit 1;
|
||||||
|
fi
|
||||||
|
|
||||||
|
if test "x${TYPE}" = "x"; then
|
||||||
|
TYPE=minimal;
|
||||||
|
fi
|
||||||
|
|
||||||
|
if test "x${TYPE}" != "xminimal" -a "x${TYPE}" != "xfull"; then
|
||||||
|
echo "Type must be minimal or full";
|
||||||
|
exit 2;
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo "Removing in-tree libraries from ${TREE}"
|
||||||
|
echo "Cleansing operation: ${TYPE}";
|
||||||
|
|
||||||
|
cd ${TREE}
|
||||||
|
|
||||||
echo "Removing built-in libs (they will be linked)"
|
echo "Removing built-in libs (they will be linked)"
|
||||||
|
|
||||||
|
# On full runs, allow for zlib having already been deleted by minimal
|
||||||
echo "Removing zlib"
|
echo "Removing zlib"
|
||||||
if [ ! -d ${ZIP_SRC} ]; then
|
if [ "x${TYPE}" = "xminimal" -a ! -d ${ZIP_SRC} ]; then
|
||||||
echo "${ZIP_SRC} does not exist. Refusing to proceed."
|
echo "${ZIP_SRC} does not exist. Refusing to proceed."
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
rm -rvf ${ZIP_SRC}
|
rm -rvf ${ZIP_SRC}
|
||||||
|
|
||||||
|
# Minimal is limited to just zlib so finish here
|
||||||
|
if test "x${TYPE}" = "xminimal"; then
|
||||||
|
echo "Finished.";
|
||||||
|
exit 0;
|
||||||
|
fi
|
||||||
|
|
||||||
echo "Removing libjpeg"
|
echo "Removing libjpeg"
|
||||||
if [ ! -f ${JPEG_SRC}/jdhuff.c ]; then # some file that sound definitely exist
|
if [ ! -f ${JPEG_SRC}/jdhuff.c ]; then # some file that should definitely exist
|
||||||
echo "${JPEG_SRC} does not contain jpeg sources. Refusing to proceed."
|
echo "${JPEG_SRC} does not contain jpeg sources. Refusing to proceed."
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
Loading…
Reference in New Issue
Block a user