From 2ca19336085c1e64674107be0904aac1463bb810 Mon Sep 17 00:00:00 2001 From: Jiri Date: Nov 23 2020 21:09:49 +0000 Subject: made to use alt-java if it exists Retured shell launchers in meantime --- diff --git a/altjava.patch b/altjava.patch new file mode 100644 index 0000000..400060e --- /dev/null +++ b/altjava.patch @@ -0,0 +1,40 @@ +--- icedtea-web-master/launchers/shell-launcher/launchers.sh.in ++++ icedtea-web-master/launchers/shell-launcher/launchers.sh.in +@@ -193,6 +193,12 @@ + shift + done + ++java_dir="`dirname ${JAVA}`" ++alt_java="alt-java" ++if [ -e "$java_dir/$alt_java" ] ; then ++ JAVA="`dirname ${JAVA}`/$alt_java" ++fi ++ + # TODO: inline args without using COMMAND[array] to unify linux/windows scripts + k=0 + COMMAND[k]="${JAVA}" +--- icedtea-web-master/launchers/rust-launcher/src/os_access.rs ++++ icedtea-web-master/launchers/rust-launcher/src/os_access.rs +@@ -5,9 +5,19 @@ + use log_helper; + + pub fn create_java_cmd(os: &Os,jre_dir: &std::path::PathBuf, args: &Vec) -> std::process::Command { +- let mut bin_java = jre_dir.clone(); +- bin_java.push("bin"); +- bin_java.push("java"); ++ let mut alt_bin_java = jre_dir.clone(); ++ alt_bin_java.push("bin"); ++ alt_bin_java.push("alt-java"); ++ let mut bin_java; ++ if alt_bin_java.exists() { ++ os.log("itw-rust-debug: alt-java found"); ++ bin_java = alt_bin_java; ++ } else { ++ os.log("itw-rust-debug: alt-java NOT found"); ++ bin_java = jre_dir.clone(); ++ bin_java.push("bin"); ++ bin_java.push("java"); ++ } + let mut cmd = std::process::Command::new(&bin_java); + for ar in args.into_iter() { + cmd.arg(ar); diff --git a/icedtea-web.spec b/icedtea-web.spec index e7b30cb..5ca4e2b 100644 --- a/icedtea-web.spec +++ b/icedtea-web.spec @@ -21,7 +21,7 @@ Name: icedtea-web Version: 2.0.0 -Release: pre.0.3.alpha13.patched1%{?dist}.4 +Release: pre.0.3.alpha13.patched1%{?dist}.5 Summary: Additional Java components for OpenJDK - Java Web Start implementation License: LGPLv2+ and GPLv2 with exceptions @@ -31,6 +31,7 @@ Patch0: patchOutDunce.patch Patch1: launchersPhase.patch # this should be upstreamed. In build tasks which lauches java are using runtime JRE, should beusing SDK, but there is no place where to set it Patch2: usePathJdkForDifferentBuildAndRuntimeJre.patch +Patch3: altjava.patch BuildRequires: javapackages-tools #for deprecated add_maven_depmap, see https://www.spinics.net/lists/fedora-devel/msg233211.html @@ -115,6 +116,8 @@ This package contains ziped sources of the IcedTea-Web project. dos2unix launchers/pom.xml %patch1 -p0 %patch2 -p1 +%patch3 -p1 + %pom_remove_plugin org.codehaus.mojo:buildnumber-maven-plugin %pom_remove_plugin org.apache.maven.plugins:maven-source-plugin %pom_remove_plugin org.jacoco:jacoco-maven-plugin @@ -159,10 +162,13 @@ tail launchers/build.log -n 100 %mvn_artifact pom.xml launchers/target//usr/share/icedtea-web/javaws.jar mkdir -p $RPM_BUILD_ROOT%{_libexecdir}/%{name} -# build provides also .bat and .sh files, we do not want them +# build provides also .bat files, we do not want them cp -v launchers/target/%{_libexecdir}/%{name}/javaws $RPM_BUILD_ROOT%{_libexecdir}/%{name}/ cp -v launchers/target/%{_libexecdir}/%{name}/itweb-settings $RPM_BUILD_ROOT%{_libexecdir}/%{name}/ cp -v launchers/target/%{_libexecdir}/%{name}/policyeditor $RPM_BUILD_ROOT%{_libexecdir}/%{name}/ +cp -v launchers/target/%{_libexecdir}/%{name}/javaws.sh $RPM_BUILD_ROOT%{_libexecdir}/%{name}/ +cp -v launchers/target/%{_libexecdir}/%{name}/itweb-settings.sh $RPM_BUILD_ROOT%{_libexecdir}/%{name}/ +cp -v launchers/target/%{_libexecdir}/%{name}/policyeditor.sh $RPM_BUILD_ROOT%{_libexecdir}/%{name}/ mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/java/%{name}/ cp -v launchers/target/%{_sysconfdir}/java/%{name}/itw-modularjdk.args $RPM_BUILD_ROOT%{_sysconfdir}/java/%{name}/ @@ -213,14 +219,25 @@ cp pom.xml $RPM_BUILD_ROOT/%{_mavenpomdir}/%{name}.pom if [ ! "x$ITW_20_18" == "xtrue" ] ; then alternatives --remove javaws.%{_arch} %{_prefix}/bin/javaws.itweb fi + +PRIORITY=%{priority} alternatives \ - --install %{_bindir}/javaws javaws.%{_arch} %{_libexecdir}/%{name}/javaws %{priority} --family %{preffered_jre}.%{_arch} \ + --install %{_bindir}/javaws javaws.%{_arch} %{_libexecdir}/%{name}/javaws $PRIORITY --family %{preffered_jre}.%{_arch} \ --slave %{_bindir}/itweb-settings itweb-settings %{_libexecdir}/%{name}/itweb-settings \ --slave %{_bindir}/policyeditor policyeditor %{_libexecdir}/%{name}/policyeditor \ --slave %{_bindir}/ControlPanel ControlPanel %{_libexecdir}/%{name}/itweb-settings \ --slave %{_mandir}/man1/javaws.1.gz javaws.1.gz %{_mandir}/man1/javaws.itweb.1.gz \ --slave %{_mandir}/man1/ControlPanel.1.gz ControlPanel.1.gz %{_mandir}/man1/itweb-settings.1.gz +let PRIORITY=PRIORITY-1 +alternatives \ + --install %{_bindir}/javaws javaws.%{_arch} %{_libexecdir}/%{name}/javaws.sh $PRIORITY --family %{preffered_jre}.%{_arch} \ + --slave %{_bindir}/itweb-settings itweb-settings %{_libexecdir}/%{name}/itweb-settings.sh \ + --slave %{_bindir}/policyeditor policyeditor %{_libexecdir}/%{name}/policyeditor.sh \ + --slave %{_bindir}/ControlPanel ControlPanel %{_libexecdir}/%{name}/itweb-settings \ + --slave %{_mandir}/man1/javaws.1.gz javaws.1.gz %{_mandir}/man1/javaws.itweb.1.gz \ + --slave %{_mandir}/man1/ControlPanel.1.gz ControlPanel.1.gz %{_mandir}/man1/itweb-settings.1.gz + gconftool-2 -s %{jnlphandler}/command '%{_libexecdir}/%{name}/javaws %s' --type String &> /dev/null || : gconftool-2 -s %{jnlphandler}/enabled --type Boolean true &> /dev/null || : @@ -231,6 +248,7 @@ gconftool-2 -s %{jnlpshandler}/enabled --type Boolean true &> /dev/null || : if [ $1 -eq 0 ] then alternatives --remove javaws.%{_arch} %{_libexecdir}/%{name}/javaws + alternatives --remove javaws.%{_arch} %{_libexecdir}/%{name}/javaws.sh gconftool-2 -u %{jnlphandler}/command &> /dev/null || : gconftool-2 -u %{jnlphandler}/enabled &> /dev/null || : gconftool-2 -u %{jnlpshandler}/command &> /dev/null || : @@ -256,6 +274,10 @@ exit 0 %changelog +* Fri Jul 10 2020 Jiri Vanek - 2.0.0-pre.0.3.alpha13.patched1.5 +- returned shell launchers +- made to use alt-java if it exists + * Fri Jul 10 2020 Jiri Vanek - 2.0.0-pre.0.3.alpha13.patched1.4 - removed all javadocs, likely broken after usage of xmvn to javadocs generation - https://src.fedoraproject.org/rpms/javapackages-tools/pull-request/3#comment-46283