From ffd7bb292793eeb0f9e67f7917c6ef618f280b33 Mon Sep 17 00:00:00 2001 From: Jiri Date: Mon, 23 Nov 2020 23:16:42 +0100 Subject: [PATCH] Create a copy of java as alt-java with alternatives and man pages - java-11-openjdk doesn't have a JRE tree, so don't try and copy alt-java there... --- java-latest-openjdk.spec | 30 +++++++++++++++++++++++++----- 1 file changed, 25 insertions(+), 5 deletions(-) diff --git a/java-latest-openjdk.spec b/java-latest-openjdk.spec index 4446952..c3902b6 100644 --- a/java-latest-openjdk.spec +++ b/java-latest-openjdk.spec @@ -68,8 +68,8 @@ # the ghosts are here to allow installation via query like `dnf install /usr/bin/java` # you can list those files, with appropriate sections: cat *.spec | grep -e --install -e --slave -e post_ # TODO - fix those hardcoded lists via single list -# those files ,must *NOT* be ghosted for *slowdebug* packages -# FIXME - if you are moving jshell or jlink or simialr, always modify all three sections +# Those files must *NOT* be ghosted for *slowdebug* packages +# FIXME - if you are moving jshell or jlink or similar, always modify all three sections # you can check via headless and devels: # rpm -ql --noghost java-11-openjdk-headless-11.0.1.13-8.fc29.x86_64.rpm | grep bin # == rpm -ql java-11-openjdk-headless-slowdebug-11.0.1.13-8.fc29.x86_64.rpm | grep bin @@ -245,7 +245,7 @@ %global top_level_dir_name %{origin} %global minorver 0 %global buildver 9 -%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 %if %is_system_jdk %global priority %( printf '%02d%02d%02d%02d' %{majorver} %{minorver} %{securityver} %{buildver} ) @@ -329,6 +329,8 @@ %define sdkbindir() %{expand:%{_jvmdir}/%{sdkdir -- %{?1}}/bin} %define jrebindir() %{expand:%{_jvmdir}/%{sdkdir -- %{?1}}/bin} +%global alt_java_name alt-java + %global rpm_state_dir %{_localstatedir}/lib/rpm-state/ %if %{with_systemtap} @@ -374,11 +376,14 @@ ext=.gz alternatives \\ --install %{_bindir}/java java %{jrebindir -- %{?1}}/java $PRIORITY --family %{name}.%{_arch} \\ --slave %{_jvmdir}/jre jre %{_jvmdir}/%{sdkdir -- %{?1}} \\ + --slave %{_bindir}/%{alt_java_name} %{alt_java_name} %{jrebindir -- %{?1}}/%{alt_java_name} \\ --slave %{_bindir}/keytool keytool %{jrebindir -- %{?1}}/keytool \\ --slave %{_bindir}/rmid rmid %{jrebindir -- %{?1}}/rmid \\ --slave %{_bindir}/rmiregistry rmiregistry %{jrebindir -- %{?1}}/rmiregistry \\ --slave %{_mandir}/man1/java.1$ext java.1$ext \\ %{_mandir}/man1/java-%{uniquesuffix -- %{?1}}.1$ext \\ + --slave %{_mandir}/man1/%{alt_java_name}.1$ext %{alt_java_name}.1$ext \\ + %{_mandir}/man1/%{alt_java_name}-%{uniquesuffix -- %{?1}}.1$ext \\ --slave %{_mandir}/man1/keytool.1$ext keytool.1$ext \\ %{_mandir}/man1/keytool-%{uniquesuffix -- %{?1}}.1$ext \\ --slave %{_mandir}/man1/rmid.1$ext rmid.1$ext \\ @@ -592,6 +597,7 @@ exit 0 %{_jvmdir}/%{jrelnk -- %{?1}} %dir %{_jvmdir}/%{sdkdir -- %{?1}}/bin %{_jvmdir}/%{sdkdir -- %{?1}}/bin/java +%{_jvmdir}/%{sdkdir -- %{?1}}/bin/%{alt_java_name} %{_jvmdir}/%{sdkdir -- %{?1}}/bin/keytool %{_jvmdir}/%{sdkdir -- %{?1}}/bin/rmid %{_jvmdir}/%{sdkdir -- %{?1}}/bin/rmiregistry @@ -648,6 +654,7 @@ exit 0 %{_jvmdir}/%{sdkdir -- %{?1}}/lib/jfr/default.jfc %{_jvmdir}/%{sdkdir -- %{?1}}/lib/jfr/profile.jfc %{_mandir}/man1/java-%{uniquesuffix -- %{?1}}.1* +%{_mandir}/man1/%{alt_java_name}-%{uniquesuffix -- %{?1}}.1* %{_mandir}/man1/keytool-%{uniquesuffix -- %{?1}}.1* %{_mandir}/man1/rmid-%{uniquesuffix -- %{?1}}.1* %{_mandir}/man1/rmiregistry-%{uniquesuffix -- %{?1}}.1* @@ -696,6 +703,7 @@ exit 0 %if %is_system_jdk %if %{is_release_build -- %{?1}} %ghost %{_bindir}/java +%ghost %{_bindir}/%{alt_java_name} %ghost %{_jvmdir}/jre %ghost %{_bindir}/keytool %ghost %{_bindir}/pack200 @@ -788,6 +796,7 @@ exit 0 %if %{is_release_build -- %{?1}} %ghost %{_bindir}/javac %ghost %{_jvmdir}/java +%ghost %{_jvmdir}/%{alt_java_name} %ghost %{_bindir}/jaotc %ghost %{_bindir}/jlink %ghost %{_bindir}/jmod @@ -1590,6 +1599,14 @@ install -m 644 nss.cfg $JAVA_HOME/conf/security/ rm $JAVA_HOME/lib/tzdb.dat ln -s %{_datadir}/javazi-1.8/tzdb.dat $JAVA_HOME/lib/tzdb.dat +# Create fake alt-java as a placeholder for future alt-java +pushd ${JAVA_HOME} +cp -a bin/java bin/%{alt_java_name} +# 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 + # build cycles done @@ -1746,7 +1763,6 @@ pushd %{buildoutputdir $suffix}/images/%{jdkimage} ln -sf %{sdkdir -- $suffix} %{jrelnk -- $suffix} popd - # Install man pages install -d -m 755 $RPM_BUILD_ROOT%{_mandir}/man1 for manpage in man/man1/* @@ -2039,6 +2055,10 @@ require "copy_jdk_configs.lua" %endif %changelog +* Mon Nov 23 2020 Jiri Vanek - 1:15.0.1.9-2.rolling +- Create a copy of java as alt-java with alternatives and man pages +- java-11-openjdk doesn't have a JRE tree, so don't try and copy alt-java there... + * Sun Oct 25 2020 Petra Alice Mikova - 1:15.0.1.9-1.rolling - updated to October CPU 2020 sources @@ -2455,7 +2475,7 @@ require "copy_jdk_configs.lua" - renamed zip javadoc * Tue Apr 10 2018 Severin Gehwolf - 1:10.0.0.46-12 -- Enable basic EC ciphers test in %check. +- Enable basic EC ciphers test in %%check. * Tue Apr 10 2018 Severin Gehwolf - 1:10.0.0.46-11 - Port Martin Balao's JDK 9 patch for system NSS support to JDK 10.