Added shenandoah hotspot
This commit is contained in:
parent
21dec0ead1
commit
18a7b44611
1
.gitignore
vendored
1
.gitignore
vendored
@ -4,3 +4,4 @@
|
||||
/jdk-updates-jdk10u-jdk-10.0.1+10.tar.xz
|
||||
/jdk-jdk-jdk-11+16.tar.xz
|
||||
/jdk-jdk-jdk-11+19.tar.xz
|
||||
/jdk-shenandoah-jdk-ac148db384ee.tar.xz
|
||||
|
@ -1,3 +1,8 @@
|
||||
# JDK 11 branch of java-openjdk
|
||||
Package of LTS OpenJDK 11
|
||||
OpenJDK have release cadence of 6 months. but 3/4 of them are Short Term Supported for 6 months only. This package is designed to harbore them. Currently it is build on openJDK 11. LTSs (next is 15) will go as separate packages.
|
||||
|
||||
JDK11 is last LTS release of Java platform. It is bringing many cool improvements - http://openjdk.java.net/projects/jdk/11/ and is landing to your Fedora. Where it will be maintained for several years. You will always be allowed to install Used LTSs in build root, and alongside via alternatives.
|
||||
|
||||
See announcement: http://mail.openjdk.java.net/pipermail/discuss/2017-September/004281.html
|
||||
See java SIG plans: https://jvanek.fedorapeople.org/devconf/2018/changesInjavaReleaseProcess.pdf
|
||||
|
||||
This is used by the jdk-11 module.
|
||||
|
@ -1,3 +1,26 @@
|
||||
# RPM conditionals so as to be able to dynamically produce
|
||||
# slowdebug/release builds. See:
|
||||
# http://rpm.org/user_doc/conditional_builds.html
|
||||
#
|
||||
# Examples:
|
||||
#
|
||||
# Produce release *and* slowdebug builds on x86_64 (default):
|
||||
# $ rpmbuild -ba java-1.8.0-openjdk.spec
|
||||
#
|
||||
# Produce only release builds (no slowdebug builds) on x86_64:
|
||||
# $ rpmbuild -ba java-1.8.0-openjdk.spec --without slowdebug
|
||||
#
|
||||
# Only produce a release build on x86_64:
|
||||
# $ fedpkg mockbuild --without slowdebug
|
||||
#
|
||||
# Only produce a debug build on x86_64:
|
||||
# $ fedpkg local --without release
|
||||
#
|
||||
# Enable slowdebug builds by default on relevant arches.
|
||||
%bcond_without slowdebug
|
||||
# Enable release builds by default on relevant arches.
|
||||
%bcond_without release
|
||||
|
||||
# note: parametrized macros are order-sensitive (unlike not-parametrized) even with normal macros
|
||||
# also necessary when passing it as parameter to other macros. If not macro, then it is considered a switch
|
||||
# see the difference between global and deffine:
|
||||
@ -13,8 +36,12 @@
|
||||
%global debug_on with full debug on
|
||||
%global for_debug for packages with debug on
|
||||
|
||||
# by default we build normal build
|
||||
%if %{with release}
|
||||
%global include_normal_build 1
|
||||
%else
|
||||
%global include_normal_build 0
|
||||
%endif
|
||||
|
||||
%if %{include_normal_build}
|
||||
%global build_loop1 %{normal_suffix}
|
||||
%else
|
||||
@ -30,6 +57,7 @@
|
||||
%global aot_arches x86_64 %{aarch64}
|
||||
|
||||
# By default, we build a debug build during main build on JIT architectures
|
||||
%if %{with slowdebug}
|
||||
%ifarch %{jit_arches}
|
||||
# Temporarily disable slowdebug build for Aarch64 since it does not
|
||||
# bootcycle. See JDK-8204331.
|
||||
@ -41,6 +69,17 @@
|
||||
%else
|
||||
%global include_debug_build 0
|
||||
%endif
|
||||
%else
|
||||
%global include_debug_build 0
|
||||
%endif
|
||||
|
||||
# On x86_64 and AArch64, we use the Shenandoah HotSpot
|
||||
%ifarch x86_64 %{aarch64}
|
||||
%global use_shenandoah_hotspot 1
|
||||
%else
|
||||
%global use_shenandoah_hotspot 0
|
||||
%endif
|
||||
|
||||
|
||||
%if %{include_debug_build}
|
||||
%global build_loop2 %{debug_suffix}
|
||||
@ -66,6 +105,7 @@
|
||||
%global targets all docs
|
||||
%endif
|
||||
|
||||
|
||||
# Filter out flags from the optflags macro that cause problems with the OpenJDK build
|
||||
# We filter out -O flags so that the optimisation of HotSpot is not lowered from O3 to O2
|
||||
# We filter out -Wall which will otherwise cause HotSpot to produce hundreds of thousands of warnings (100+mb logs)
|
||||
@ -91,7 +131,7 @@
|
||||
|
||||
|
||||
# fix for https://bugzilla.redhat.com/show_bug.cgi?id=1111349
|
||||
%global _privatelibs libsplashscreen[.]so.*|libawt_xawt[.]so.*|libjawt[.]so.*|libjli[.]so.*|libattach[.]so.*|libawt[.]so.*|libextnet[.]so.*|libjsig[.]so.*|libawt_headless[.]so.*|libdt_socket[.]so.*|libfontmanager[.]so.*|libinstrument[.]so.*|libj2gss[.]so.*|libj2pcsc[.]so.*|libj2pkcs11[.]so.*|libjaas[.]so.*|libjava[.]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.*|libunpack[.]so.*|libverify[.]so.*|libzip[.]so.*
|
||||
%global _privatelibs libjsoundalsa[.]so.*|libsplashscreen[.]so.*|libawt_xawt[.]so.*|libjawt[.]so.*|libjli[.]so.*|libattach[.]so.*|libawt[.]so.*|libextnet[.]so.*|libjsig[.]so.*|libawt_headless[.]so.*|libdt_socket[.]so.*|libfontmanager[.]so.*|libinstrument[.]so.*|libj2gss[.]so.*|libj2pcsc[.]so.*|libj2pkcs11[.]so.*|libjaas_unix[.]so.*|libjava[.]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.*|libunpack[.]so.*|libverify[.]so.*|libzip[.]so.*|lib[.]so\\(SUNWprivate_.*
|
||||
|
||||
%global __provides_exclude ^(%{_privatelibs})$
|
||||
%global __requires_exclude ^(%{_privatelibs})$
|
||||
@ -528,8 +568,8 @@ exit 0
|
||||
%{_jvmdir}/%{sdkdir -- %{?1}}/lib/client/
|
||||
%ifarch %{jit_arches}
|
||||
%ifnarch %{power64}
|
||||
%attr(664, root, root) %ghost %{_jvmdir}/%{sdkdir -- %{?1}}/lib/server/classes.jsa
|
||||
%attr(664, root, root) %ghost %{_jvmdir}/%{sdkdir -- %{?1}}/lib/client/classes.jsa
|
||||
%attr(444, root, root) %ghost %{_jvmdir}/%{sdkdir -- %{?1}}/lib/server/classes.jsa
|
||||
%attr(444, root, root) %ghost %{_jvmdir}/%{sdkdir -- %{?1}}/lib/client/classes.jsa
|
||||
%endif
|
||||
%endif
|
||||
%dir %{etcjavasubdir}
|
||||
@ -802,7 +842,7 @@ Provides: java-%{javaver}-%{origin}-src%{?1} = %{epoch}:%{version}-%{release}
|
||||
# Prevent brp-java-repack-jars from being run
|
||||
%global __jar_repack 0
|
||||
|
||||
Name: java-%{origin}
|
||||
Name: java-%{javaver}-%{origin}
|
||||
Version: %{newjavaver}.%{buildver}
|
||||
Release: 1%{?dist}
|
||||
# java-1.5.0-ibm from jpackage.org set Epoch to 1 for unknown reasons
|
||||
@ -834,6 +874,10 @@ URL: http://openjdk.java.net/
|
||||
|
||||
Source0: jdk-jdk-jdk-%{majorver}+%{buildver}.tar.xz
|
||||
|
||||
# Shenandoah HotSpot
|
||||
# current name used with tip and bleading edge may be incorrect
|
||||
Source1: jdk-shenandoah-jdk-ac148db384ee.tar.xz
|
||||
|
||||
# Use 'generate_tarballs.sh' to generate the following tarballs
|
||||
# They are based on code contained in the IcedTea7 project
|
||||
|
||||
@ -1123,7 +1167,7 @@ else
|
||||
exit 12
|
||||
fi
|
||||
if [ %{include_debug_build} -eq 0 -a %{include_normal_build} -eq 0 ] ; then
|
||||
echo "You have disabled both include_debug_build and include_debug_build. That is a no go."
|
||||
echo "You have disabled both include_debug_build and include_normal_build. That is a no go."
|
||||
exit 13
|
||||
fi
|
||||
%setup -q -c -n %{uniquesuffix ""} -T -a 0
|
||||
@ -1134,6 +1178,15 @@ if [ $prioritylength -ne 7 ] ; then
|
||||
exit 14
|
||||
fi
|
||||
|
||||
%if %{use_shenandoah_hotspot}
|
||||
# On Shenandoah-supported architectures, replace HotSpot with
|
||||
# the Shenandoah version
|
||||
pushd openjdk/src
|
||||
rm -rf hotspot
|
||||
tar -xf %{SOURCE1}
|
||||
popd
|
||||
%endif
|
||||
|
||||
# OpenJDK patches
|
||||
|
||||
# Remove libraries that are linked
|
1
sources
1
sources
@ -1,2 +1,3 @@
|
||||
SHA512 (systemtap-tapset-3.6.0pre02.tar.xz) = 848f42ef7ca751e723fd50e3a6da14c0965ad4da37ea3331568658e27497b7a7e4b9aad3dedd264ad0bb5566c37a92302b905f10258a4e2c89dc4ba609e55481
|
||||
SHA512 (jdk-jdk-jdk-11+19.tar.xz) = f99aef9e7a4896dfbcdb80f620ad44e69e07760b7fcf100be8cd12070797f8e7a568baec998f32bf8727595d6ed246fd2b53ad9ce39e984859d5174015cedf7a
|
||||
SHA512 (jdk-shenandoah-jdk-ac148db384ee.tar.xz) = 1aa6a6663eaa9e6cb681753a3015929fab5ff4e339cd718f96281ed6adcc5cf09e764732cc9a06cc97ae071ca4e70172f23909383ff8e777a5fc124069aa5d74
|
||||
|
@ -61,15 +61,12 @@ else
|
||||
echo "${FILENAME} already exists, using"
|
||||
fi
|
||||
|
||||
echo "nothing more TBD for 11 for now!!"
|
||||
exit 0
|
||||
|
||||
echo "Touching spec: $SPEC"
|
||||
sed -i "s/^%global\s\+project.*/%global project ${PROJECT_NAME}/" $SPEC
|
||||
sed -i "s/^%global\s\+repo.*/%global repo ${REPO_NAME}/" $SPEC
|
||||
sed -i "s/^%global\s\+revision.*/%global revision ${VERSION}/" $SPEC
|
||||
#echo "Touching spec: $SPEC"
|
||||
#sed -i "s/^%global\s\+project.*/%global project ${PROJECT_NAME}/" $SPEC
|
||||
#sed -i "s/^%global\s\+repo.*/%global repo ${REPO_NAME}/" $SPEC
|
||||
#sed -i "s/^%global\s\+revision.*/%global revision ${VERSION}/" $SPEC
|
||||
# updated sources, resetting release
|
||||
sed -i "s/^Release:.*/Release: $RELEASE.%{buildver}%{?dist}/" $SPEC
|
||||
#sed -i "s/^Release:.*/Release: $RELEASE.%{buildver}%{?dist}/" $SPEC
|
||||
|
||||
#https://en.wikibooks.org/wiki/Algorithm_Implementation/Strings/Levenshtein_distance#Bash
|
||||
function levenshtein {
|
||||
@ -111,14 +108,21 @@ if [ "x$VERSION" = "xtip" ] ; then
|
||||
VERSION="tip"
|
||||
else
|
||||
#hardcoding version for anything else except tip
|
||||
VERSION="aarch64-shenandoah-jdk8u131-b12-shenandoah-merge-2017-04-20"
|
||||
VERSION="tip"
|
||||
fi
|
||||
MAIN_REPO_NAME=$REPO_NAME
|
||||
REPO_NAME=jdk8u-shenandoah
|
||||
MAIN_REPO_NAME=shenandoah
|
||||
REPO_NAME=jdk
|
||||
#PROJECT_NAME=$REPO_NAME-$MAIN_REPO_NAME ???
|
||||
MAIN_FILE_NAME_ROOT=$FILE_NAME_ROOT
|
||||
FILE_NAME_ROOT=${PROJECT_NAME}-${REPO_NAME}-${VERSION}
|
||||
FILENAME_SH=${FILE_NAME_ROOT}.tar.${COMPRESSION}
|
||||
|
||||
echo "this fialed last time, got http://hg.openjdk.java.net/shenandoah/jdk/archive/ac148db384ee.zip instead"
|
||||
###TODO! compress only hotspot!!!
|
||||
REPOS="hotspot"
|
||||
###TODO! compress only hotspot!!!
|
||||
|
||||
exit 1
|
||||
|
||||
if [ ! -f ${FILENAME_SH} ] ; then
|
||||
echo "Generating ${FILENAME_SH}"
|
||||
@ -127,9 +131,15 @@ else
|
||||
echo "${FILENAME_SH} already exists, using"
|
||||
fi
|
||||
|
||||
mv jdk-jdk-tip.tar.xz jdk-shenandoah-jdk-tip.tar.xz
|
||||
|
||||
sed -i "s/^Source1:.*/Source1: ${FILENAME_SH}/" $SPEC
|
||||
git --no-pager diff $SPEC
|
||||
|
||||
echo "shenandoah hotpsot source generated and used"
|
||||
echo "nothing more for shenandoah jdk 11 now!"
|
||||
exit 0
|
||||
|
||||
# find the most similar sources name and replace it by newly generated one.
|
||||
echo "Old sources"
|
||||
cat sources
|
||||
|
Loading…
Reference in New Issue
Block a user