# HG changeset patch # User Jiri Vanek # Date 1547052115 -3600 # Node ID 3a998e74a0f9bb087b43c3581cc212cd90d191a8 # Parent fcb8413807122c511b8fc859f682d653c46650eb With hope to backport windows desktop support and portable launchers from 1.8, adapted makefiles to be like 1.8 * Makefile: backported all targets and variables except rust ones and javaws.jar one from 1.8 * configure.ac: declared dummy ENABLE_SHELL_LAUNCHERS, as always yes and ENABLE_NATIVE_LAUNCHERS, as always no * launcher/launchers.sh.in: renamed from launcher/launchers.in diff -r fcb841380712 -r 3a998e74a0f9 ChangeLog --- a/ChangeLog Tue Dec 18 11:22:16 2018 +0100 +++ b/ChangeLog Wed Jan 09 17:41:55 2019 +0100 @@ -1,3 +1,10 @@ +2019-01-09 Jiri Vanek + + With hope to backport windows desktop support and portable launchers from 1.8, adapted makefiles to be like 1.8 + * Makefile: backported all targets and variables except rust ones and javaws.jar one from 1.8 + * configure.ac: declared dummy ENABLE_SHELL_LAUNCHERS, as always yes and ENABLE_NATIVE_LAUNCHERS, as always no + * launcher/launchers.sh.in: renamed from launcher/launchers.in + 2018-12-10 Jiri Vanek jtesdall diff -r fcb841380712 -r 3a998e74a0f9 Makefile.am --- a/Makefile.am Tue Dec 18 11:22:16 2018 +0100 +++ b/Makefile.am Wed Jan 09 17:41:55 2019 +0100 @@ -29,6 +29,31 @@ WIN_LAUNCHERS= endif +if ENABLE_SHELL_LAUNCHERS + SHELL_LUNCHERS=$(WIN_LAUNCHERS) launcher.build/$(javaws).sh launcher.build/$(itweb_settings).sh launcher.build/$(policyeditor).sh +else + SHELL_LUNCHERS= +endif + + +if ENABLE_NATIVE_LAUNCHERS + NATIVE_LUNCHERS=launcher.build/$(javaws) launcher.build/$(itweb_settings) launcher.build/$(policyeditor) + DESKTOP_SUFFIX= +else + NATIVE_LUNCHERS= + DESKTOP_SUFFIX=.sh +endif + +# javaws is program name, JAVAWS is used executable name. +# ITW 1.7 always do javaws and javaws.sh +JAVAWS=$(javaws)$(DESKTOP_SUFFIX) +ITWEB_SETTINGS=$(itweb_settings)$(DESKTOP_SUFFIX) +POLICYEDITOR=$(policyeditor)$(DESKTOP_SUFFIX) + +LAUNCHERS=$(NATIVE_LUNCHERS) $(SHELL_LUNCHERS) +DESKTOP_FILES=javaws.desktop itweb-settings.desktop policyeditor.desktop +DESKTOP_IN_FILES=javaws.desktop.in itweb-settings.desktop.in policyeditor.desktop.in + export WIN_INSTALLER_DIR = $(TOP_BUILD_DIR)/win-installer.build export WIN_INSTALLER_SRC_DIR = $(TOP_SRC_DIR)/win-installer export NETX_DIR = $(TOP_BUILD_DIR)/netx.build @@ -40,6 +65,7 @@ export WIN_ALL_DEPS=$(DESTDIR)$(prefix)/win-deps-all export WIN_RUN_DEPS=$(DESTDIR)$(prefix)/win-deps-runtime +export LINUX_BIN_DIST_DEPS=$(DESTDIR)$(prefix)/linux-deps-runtime export REPORT_STYLES_DIRNAME=report-styles @@ -137,6 +163,8 @@ PLUGIN_JAR=$(datadir)/$(PACKAGE_NAME)/plugin.jar JSOBJECT_JAR=$(datadir)/$(PACKAGE_NAME)/jsobject.jar endif + NETX_JAR=$(datadir)/$(PACKAGE_NAME)/netx.jar + SPLASH_PNG=$(datadir)/$(PACKAGE_NAME)/javaws_splash.png # Conditional defintions if HAVE_TAGSOUP @@ -159,7 +187,7 @@ # IllegalAccessException # - we want full privileges # -export UNIFIED_CLASSPATH_SEGMENTS=$(datadir)/$(PACKAGE_NAME)/netx.jar $(PLUGIN_JAR) $(JSOBJECT_JAR) $(RHINO_JAR) $(TAGSOUP_JAR) +export UNIFIED_CLASSPATH_SEGMENTS=$(NETX_JAR) $(PLUGIN_JAR) $(JSOBJECT_JAR) $(RHINO_JAR) $(TAGSOUP_JAR) export UNIFIED_JACOCO_CLASSPATH_SEGMENTS=$(UNIFIED_CLASSPATH_SEGMENTS) $(JACOCO_CLASSPATH) export UNIFIED_CLASSPATH=$(call joinsegments, $(UNIFIED_CLASSPATH_SEGMENTS)) export UNIFIED_JACOCO_CLASSPATH=$(call joinsegments, $(UNIFIED_JACOCO_CLASSPATH_SEGMENTS)) @@ -260,12 +288,12 @@ export PLUGIN_VERSION = IcedTea-Web $(FULL_VERSION) -export EXTRA_DIST = $(top_srcdir)/netx $(top_srcdir)/plugin javaws.png javaws.desktop.in policyeditor.desktop.in $(top_srcdir)/completion \ - itweb-settings.desktop.in launcher $(top_srcdir)/tests html-gen.sh NEW_LINE_IFS $(top_srcdir)/metadata.in $(top_srcdir)/win-installer +export EXTRA_DIST = $(top_srcdir)/netx $(top_srcdir)/plugin javaws.png $(DESKTOP_IN_FILES) $(top_srcdir)/completion \ + launcher $(top_srcdir)/tests html-gen.sh NEW_LINE_IFS $(top_srcdir)/metadata.in $(top_srcdir)/win-installer # reproducers `D`shortcuts export DTEST_SERVER=-Dtest.server.dir=$(REPRODUCERS_TESTS_SERVER_DEPLOYDIR) -export DJAVAWS_BUILD=-Djavaws.build.bin=$(DESTDIR)$(bindir)/$(javaws) +export DJAVAWS_BUILD=-Djavaws.build.bin=$(DESTDIR)$(bindir)/$(JAVAWS) export DBROWSERS=-Dused.browsers=$(FIREFOX):$(CHROMIUM):$(CHROME):$(OPERA):$(MIDORI):$(EPIPHANY) export REPRODUCERS_DPARAMETERS= $(DTEST_SERVER) $(DJAVAWS_BUILD) $(DBROWSERS) $(BROWSER_TESTS_MODIFICATION) # end of `D`shortcuts @@ -287,22 +315,23 @@ # make-time from configure-time edit_launcher_script = sed \ -e "s|[@]LAUNCHER_BOOTCLASSPATH[@]|$(LAUNCHER_BOOTCLASSPATH)|g" \ - -e "s|[@]JAVAWS_SPLASH_LOCATION[@]|$(datadir)/$(PACKAGE_NAME)/javaws_splash.png|g" \ + -e "s|[@]JAVAWS_SPLASH_LOCATION[@]|$(SPLASH_PNG)|g" \ -e "s|[@]JAVA[@]|$(JAVA)|g" \ -e "s|[@]JRE[@]|$(SYSTEM_JRE_DIR)|g" \ -e "s|[@]MAIN_CLASS[@]|$${MAIN_CLASS}|g" \ -e "s|[@]BIN_LOCATION[@]|$${BIN_LOCATION}|g" \ - -e "s|[@]NETX_JAR[@]|$(datadir)/$(PACKAGE_NAME)/netx.jar|g" \ + -e "s|[@]NETX_JAR[@]|$(NETX_JAR)|g" \ -e "s|[@]PLUGIN_JAR[@]|$(PLUGIN_JAR)|g" \ -e "s|[@]JSOBJECT_JAR[@]|$(JSOBJECT_JAR)|g" \ + -e "s|[@]TAGSOUP_JAR[@]|$(TAGSOUP_JAR)|g" \ + -e "s|[@]RHINO_JAR[@]|$(RHINO_JAR)|g" \ -e "s|[@]PROGRAM_NAME[@]|$${PROGRAM_NAME}|g" # Top-Level Targets # ================= all-local: stamps/netx-dist.stamp stamps/plugin.stamp stamps/docs.stamp \ - $(WIN_LAUNCHERS) \ - launcher.build/$(javaws) javaws.desktop launcher.build/$(itweb_settings) itweb-settings.desktop launcher.build/$(policyeditor) policyeditor.desktop + $(LAUNCHERS) $(DESKTOP_FILES) check-local: $(RHINO_TESTS) $(JUNIT_TESTS) @@ -324,20 +353,27 @@ ${INSTALL_PROGRAM} $(PLUGIN_DIR)/$(BUILT_PLUGIN_LIBRARY) $(DESTDIR)$(libdir) endif if ENABLE_PLUGINJAR - ${INSTALL_DATA} $(TOP_BUILD_DIR)/liveconnect/lib/classes-applet.jar $(DESTDIR)$(datadir)/$(PACKAGE_NAME)/plugin.jar - ${INSTALL_DATA} $(TOP_BUILD_DIR)/liveconnect/lib/classes-jsobject.jar $(DESTDIR)$(datadir)/$(PACKAGE_NAME)/jsobject.jar + ${INSTALL_DATA} $(TOP_BUILD_DIR)/liveconnect/lib/classes-applet.jar $(DESTDIR)$(PLUGIN_JAR) + ${INSTALL_DATA} $(TOP_BUILD_DIR)/liveconnect/lib/classes-jsobject.jar $(DESTDIR)$(JSOBJECT_JAR) endif - ${INSTALL_DATA} $(NETX_DIR)/lib/classes.jar $(DESTDIR)$(datadir)/$(PACKAGE_NAME)/netx.jar - ${INSTALL_DATA} $(NETX_SRCDIR)/javaws_splash.png $(DESTDIR)$(datadir)/$(PACKAGE_NAME)/javaws_splash.png + ${INSTALL_DATA} $(NETX_DIR)/lib/classes.jar $(DESTDIR)$(NETX_JAR) + ${INSTALL_DATA} $(NETX_SRCDIR)/javaws_splash.png $(DESTDIR)$(SPLASH_PNG) ${INSTALL_DATA} $(TOP_SRC_DIR)/javaws.png $(ICONS_DEST_DIR)/ +if ENABLE_NATIVE_LAUNCHERS ${INSTALL_PROGRAM} launcher.build/$(javaws) $(DESTDIR)$(bindir) ${INSTALL_PROGRAM} launcher.build/$(itweb_settings) $(DESTDIR)$(bindir) ${INSTALL_PROGRAM} launcher.build/$(policyeditor) $(DESTDIR)$(bindir) +endif +if ENABLE_SHELL_LAUNCHERS + ${INSTALL_PROGRAM} launcher.build/$(javaws).sh $(DESTDIR)$(bindir) + ${INSTALL_PROGRAM} launcher.build/$(itweb_settings).sh $(DESTDIR)$(bindir) + ${INSTALL_PROGRAM} launcher.build/$(policyeditor).sh $(DESTDIR)$(bindir) if WINDOWS ${INSTALL_PROGRAM} launcher.build/$(javaws).bat $(DESTDIR)$(bindir) ${INSTALL_PROGRAM} launcher.build/$(itweb_settings).bat $(DESTDIR)$(bindir) ${INSTALL_PROGRAM} launcher.build/$(policyeditor).bat $(DESTDIR)$(bindir) endif +endif ${INSTALL_DATA} $(TOP_BUILD_DIR)/completion/itweb-settings.bash $(BASH_CMPL_DEST_DIR)/ ${INSTALL_DATA} $(TOP_BUILD_DIR)/completion/javaws.bash $(BASH_CMPL_DEST_DIR)/ ${INSTALL_DATA} $(TOP_BUILD_DIR)/completion/policyeditor.bash $(BASH_CMPL_DEST_DIR)/ @@ -387,6 +423,26 @@ endif endif +#no npapi plugin at all! +linux-bin-dist: install + rm -f $(DESTDIR)$(libdir)/$(BUILT_PLUGIN_LIBRARY) + mkdir -p $(LINUX_BIN_DIST_DEPS) +if WITH_RHINO + filteredName=`basename $(RHINO_JAR) | sed "s/[^a-zA-Z]//g" | sed "s/jar$$/.jar/"` ; \ + cp -v $(RHINO_JAR) $(LINUX_BIN_DIST_DEPS)/$$filteredName +endif +if HAVE_TAGSOUP + filteredName=`basename $(TAGSOUP_JAR) | sed "s/[^a-zA-Z]//g" | sed "s/jar$$/.jar/"` ; \ + cp -v $(TAGSOUP_JAR) $(LINUX_BIN_DIST_DEPS)/$$filteredName +endif + cp $(NETX_DIR)/lib/src.zip $(DESTDIR)$(prefix)/netx.src.zip +if ENABLE_PLUGINJAR + cp $(TOP_BUILD_DIR)/liveconnect/lib/src.zip $(DESTDIR)$(prefix)/plugin.src.zip +endif +if ENABLE_DOCS + cp -r $(DOCS_DIR)/html $(DESTDIR)$(prefix)/icedtea-web-docs +endif + (cd $(DESTDIR)$(prefix)/.. && $(ZIP) -qr $(TOP_BUILD_DIR)/$(distdir).linux.bin.zip `basename $(DESTDIR)$(prefix)` ); win-bin-dist: win-only-image (cd $(DESTDIR)$(prefix)/.. && $(ZIP) -qr $(TOP_BUILD_DIR)/$(distdir).win.bin.zip `basename $(DESTDIR)$(prefix)` ); @@ -439,6 +495,7 @@ if ls -1qA $$dirCandidate | grep -q . ; then echo "$$dirCandidate not empty"; else rmdir -v $$dirCandidate ; fi ; # all generated manpages must be removed one by one +# shell (only shell!) lunchers must go away uninstall-linux-only: KNOWN_MANS="icedtea-web.1 icedtea-web-plugin.1 itweb-settings.1 javaws.1 policyeditor.1" ; \ KNOWN_DIRS="man1 de/man1 pl/man1 cs/man1" ; \ @@ -448,18 +505,18 @@ done ; \ done rm -f $(DESTDIR)$(libdir)/$(BUILT_PLUGIN_LIBRARY) - rm -f $(DESTDIR)$(bindir)/$(javaws) - rm -f $(DESTDIR)$(bindir)/$(itweb_settings) - rm -f $(DESTDIR)$(bindir)/$(policyeditor) + rm -f $(DESTDIR)$(bindir)/$(javaws).sh + rm -f $(DESTDIR)$(bindir)/$(itweb_settings).sh + rm -f $(DESTDIR)$(bindir)/$(policyeditor).sh rm -f $(BASH_CMPL_DEST_DIR)/itweb-settings.bash rm -f $(BASH_CMPL_DEST_DIR)/javaws.bash rm -f $(BASH_CMPL_DEST_DIR)/policyeditor.bash uninstall-local: uninstall-linux-only - rm -f $(DESTDIR)$(datadir)/$(PACKAGE_NAME)/plugin.jar - rm -f $(DESTDIR)$(datadir)/$(PACKAGE_NAME)/jsobject.jar - rm -f $(DESTDIR)$(datadir)/$(PACKAGE_NAME)/netx.jar - rm -r $(DESTDIR)$(datadir)/$(PACKAGE_NAME)/javaws_splash.png + rm -f $(DESTDIR)$(PLUGIN_JAR) + rm -f $(DESTDIR)$(JSOBJECT_JAR) + rm -f $(DESTDIR)$(NETX_JAR) + rm -r $(DESTDIR)$(SPLASH_PNG) rm -r $(ICONS_DEST_DIR)/javaws.png rm -rf $(DESTDIR)$(htmldir) if WINDOWS @@ -493,14 +550,14 @@ $(DEFS) $(VERSION_DEFS) \ -DJDK_UPDATE_VERSION="\"$(JDK_UPDATE_VERSION)\"" \ -DPLUGIN_NAME="\"IcedTea-Web Plugin\"" \ - -DJAVAWS_BIN="\"$(bindir)/$(javaws)\"" \ + -DJAVAWS_BIN="\"$(bindir)/$(JAVAWS)\"" \ -DJAVAWS_NAME="\"$(javaws)\"" \ -DPLUGIN_VERSION="\"$(PLUGIN_VERSION)\"" \ -DPACKAGE_URL="\"$(PACKAGE_URL)\"" \ -DMOZILLA_VERSION_COLLAPSED="$(MOZILLA_VERSION_COLLAPSED)" \ -DICEDTEA_WEB_JRE="\"$(SYSTEM_JRE_DIR)\"" \ -DPLUGIN_BOOTCLASSPATH=$(PLUGIN_BOOTCLASSPATH) \ - -DNETX_JAR="\"$(datadir)/$(PACKAGE_NAME)/netx.jar\"" \ + -DNETX_JAR="\"$(NETX_JAR)\"" \ -DPLUGIN_JAR="\"$(PLUGIN_JAR)\"" \ -DJSOBJECT_JAR="\"$(JSOBJECT_JAR)\""\ $(GLIB_CFLAGS) \ @@ -548,14 +605,14 @@ $(DEFS) $(VERSION_DEFS) \ -DJDK_UPDATE_VERSION="\"$(JDK_UPDATE_VERSION)\"" \ -DPLUGIN_NAME="\"IcedTea-Web Plugin\"" \ - -DJAVAWS_BIN="\"$(bindir)/$(javaws)\"" \ + -DJAVAWS_BIN="\"$(bindir)/$(JAVAWS)\"" \ -DJAVAWS_NAME="\"$(javaws)\"" \ -DPLUGIN_VERSION="\"$(PLUGIN_VERSION)\"" \ -DPACKAGE_URL="\"$(PACKAGE_URL)\"" \ -DMOZILLA_VERSION_COLLAPSED="$(MOZILLA_VERSION_COLLAPSED)" \ -DICEDTEA_WEB_JRE="\"$(SYSTEM_JRE_DIR)\"" \ -DPLUGIN_BOOTCLASSPATH=$(PLUGIN_BOOTCLASSPATH) \ - -DNETX_JAR="\"$(datadir)/$(PACKAGE_NAME)/netx.jar\"" \ + -DNETX_JAR="\"$(NETX_JAR)\"" \ -DPLUGIN_JAR="\"$(PLUGIN_JAR)\"" \ -DJSOBJECT_JAR="\"$(JSOBJECT_JAR)\""\ $(GLIB_CFLAGS) \ @@ -834,28 +891,31 @@ clean-desktop-files: rm -f javaws.desktop rm -f itweb-settings.desktop + rm -f policyeditor.desktop -launcher.build/$(javaws): launcher/launchers.in +if ENABLE_SHELL_LAUNCHERS +launcher.build/$(javaws).sh: launcher/launchers.sh.in mkdir -p launcher.build MAIN_CLASS=net.sourceforge.jnlp.runtime.Boot ;\ - BIN_LOCATION=$(bindir)/$(javaws) ;\ + BIN_LOCATION=$(bindir)/$(javaws).sh ;\ PROGRAM_NAME=$(javaws) ;\ $(edit_launcher_script) < $< > $@ -launcher.build/$(itweb_settings): launcher/launchers.in +launcher.build/$(itweb_settings).sh: launcher/launchers.sh.in mkdir -p launcher.build MAIN_CLASS=net.sourceforge.jnlp.controlpanel.CommandLine ;\ - BIN_LOCATION=$(bindir)/$(itweb_settings) ;\ + BIN_LOCATION=$(bindir)/$(itweb_settings).sh ;\ PROGRAM_NAME=$(itweb_settings) ;\ $(edit_launcher_script) < $< > $@ -launcher.build/$(policyeditor): launcher/launchers.in +launcher.build/$(policyeditor).sh: launcher/launchers.sh.in mkdir -p launcher.build MAIN_CLASS=net.sourceforge.jnlp.security.policyeditor.PolicyEditor ;\ - BIN_LOCATION=$(bindir)/$(policyeditor) ;\ + BIN_LOCATION=$(bindir)/$(policyeditor).sh ;\ PROGRAM_NAME=$(policyeditor) ;\ $(edit_launcher_script) < $< > $@ +if WINDOWS # TODO get rid of this copypaste launcher.build/$(javaws).bat: launcher/launchers.bat.in mkdir -p launcher.build @@ -880,29 +940,39 @@ BIN_LOCATION=$(bindir)/$(policyeditor) ;\ PROGRAM_NAME=$(policyeditor) ;\ $(edit_launcher_script) < $< > $@ +endif +endif clean-launchers: +if ENABLE_NATIVE_LAUNCHERS rm -f launcher.build/$(javaws) rm -f launcher.build/$(itweb_settings) rm -f launcher.build/$(policyeditor) + rm -rf launcher.in* +endif +if ENABLE_SHELL_LAUNCHERS + rm -f launcher.build/$(javaws).sh + rm -f launcher.build/$(itweb_settings).sh + rm -f launcher.build/$(policyeditor).sh if WINDOWS rm -f launcher.build/$(javaws).bat rm -f launcher.build/$(itweb_settings).bat rm -f launcher.build/$(policyeditor).bat endif +endif if [ -e launcher.build ] ; then \ rmdir launcher.build ; \ fi javaws.desktop: javaws.desktop.in - sed "s#PATH_TO_JAVAWS#$(bindir)/$(javaws)#" < $(srcdir)/javaws.desktop.in > javaws.desktop + sed "s#PATH_TO_JAVAWS#$(bindir)/$(JAVAWS)#" < $(srcdir)/javaws.desktop.in > javaws.desktop itweb-settings.desktop: $(srcdir)/itweb-settings.desktop.in - sed "s#PATH_TO_ITWEB_SETTINGS#$(bindir)/$(itweb_settings)#" \ + sed "s#PATH_TO_ITWEB_SETTINGS#$(bindir)/$(ITWEB_SETTINGS)#" \ < $(srcdir)/itweb-settings.desktop.in > itweb-settings.desktop policyeditor.desktop: $(srcdir)/policyeditor.desktop.in - sed 's#PATH_TO_POLICYEDITOR#$(bindir)/$(policyeditor)#' \ + sed "s#PATH_TO_POLICYEDITOR#$(bindir)/$(POLICYEDITOR)#" \ < $(srcdir)/policyeditor.desktop.in > policyeditor.desktop # documentation @@ -1265,8 +1335,8 @@ done ; \ echo $$class_names > $(REPRODUCERS_CLASS_NAMES) -stamps/run-netx-dist-tests.stamp: stamps/netx-dist.stamp stamps/plugin.stamp launcher.build/$(javaws) \ - javaws.desktop stamps/docs.stamp launcher.build/$(itweb_settings) itweb-settings.desktop launcher.build/$(policyeditor) policyeditor.desktop \ +stamps/run-netx-dist-tests.stamp: stamps/netx-dist.stamp stamps/plugin.stamp stamps/docs.stamp \ + $(LAUNCHERS) $(DESKTOP_FILES) \ stamps/netx.stamp stamps/junit-jnlp-dist-dirs stamps/netx-dist-tests-import-cert-to-public \ stamps/test-extensions-compile.stamp stamps/compile-reproducers-testcases.stamp $(JUNIT_RUNNER_JAR) stamps/copy-reproducers-resources.stamp\ $(TESTS_DIR)/$(REPORT_STYLES_DIRNAME) $(REPRODUCERS_CLASS_NAMES) stamps/process-custom-reproducers.stamp @@ -1312,7 +1382,7 @@ #icedtea-web plugin inside browser it is intended for testing purposes if ENABLE_NATIVE_PLUGIN stamps/user-links.stamp: stamps/netx-dist.stamp stamps/plugin.stamp \ - launcher.build/$(javaws) stamps/netx.stamp $(DESTDIR)$(libdir)/$(BUILT_PLUGIN_LIBRARY) + $(LAUNCHERS) stamps/netx.stamp $(DESTDIR)$(libdir)/$(BUILT_PLUGIN_LIBRARY) if [ $(MOZILLA_FAMILY_TEST) ] ; then \ if [ -e $(MOZILLA_LOCAL_PLUGINDIR)/$(PLUGIN_LINK_NAME) ] ; then \ mv -f $(MOZILLA_LOCAL_PLUGINDIR)/$(PLUGIN_LINK_NAME) $(MOZILLA_LOCAL_BACKUP_FILE) ; \ @@ -1341,7 +1411,7 @@ rm -f stamps/user-links.stamp ; \ fi -stamps/global-links.stamp: stamps/netx-dist.stamp stamps/plugin.stamp launcher.build/$(javaws) \ +stamps/global-links.stamp: stamps/netx-dist.stamp stamps/plugin.stamp $(LAUNCHERS) \ stamps/netx.stamp $(DESTDIR)$(libdir)/$(BUILT_PLUGIN_LIBRARY) if [ $(MOZILLA_FAMILY_TEST) ] ; then \ dir="$(MOZILLA_GLOBAL32_PLUGINDIR)" ; \ @@ -1517,7 +1587,7 @@ $(DEFS) $(VERSION_DEFS) \ -DJDK_UPDATE_VERSION="\"$(JDK_UPDATE_VERSION)\"" \ -DPLUGIN_NAME="\"IcedTea-Web Plugin with jacoco coverage agent\"" \ - -DJAVAWS_BIN="\"$(bindir)/$(javaws)\"" \ + -DJAVAWS_BIN="\"$(bindir)/$(JAVAWS)\"" \ -DJAVAWS_NAME="\"$(javaws)\"" \ -DPLUGIN_VERSION="\"$(PLUGIN_VERSION)\"" \ -DPACKAGE_URL="\"$(PACKAGE_URL)\"" \ @@ -1525,7 +1595,7 @@ -DICEDTEA_WEB_JRE="\"$(SYSTEM_JRE_DIR)\"" \ -DPLUGIN_BOOTCLASSPATH=$(PLUGIN_COVERAGE_BOOTCLASSPATH) \ -DCOVERAGE_AGENT=$(JACOCO_AGENT_PLUGIN_SWITCH) \ - -DNETX_JAR="\"$(datadir)/$(PACKAGE_NAME)/netx.jar\"" \ + -DNETX_JAR="\"$(NETX_JAR)\"" \ -DPLUGIN_JAR="\"$(PLUGIN_JAR)\"" \ -DJSOBJECT_JAR="\"$(JSOBJECT_JAR)\""\ $(GLIB_CFLAGS) \ @@ -1553,13 +1623,13 @@ for file in $(COVERAGE_MODIFIED_FILES) ; do \ mv $(TEST_EXTENSIONS_DIR)/$$file $(TEST_EXTENSIONS_DIR)/"$$file""$(EMMA_BACKUP_SUFFIX)" ; \ done ;\ - echo "backuping javaws in $(DESTDIR)$(bindir)" ; \ + echo "backuping $(JAVAWS) in $(DESTDIR)$(bindir)" ; \ javaws_backup=$(DESTDIR)$(bindir)/javaws_backup ; \ - mv $(DESTDIR)$(bindir)/javaws $$javaws_backup ; \ - echo "patching $(javaws)" ; \ + mv $(DESTDIR)$(bindir)/$(JAVAWS) $$javaws_backup ; \ + echo "patching $(JAVAWS)" ; \ nw_bootclasspath="-Xbootclasspath/a:$(UNIFIED_JACOCO_CLASSPATH)" ; \ - cat $$javaws_backup | sed "s|COMMAND.k.=\"..JAVA.\"|COMMAND[k]=\"\\$$\\{JAVA\\}\" ; k=1 ; COMMAND[k]=$(JACOCO_AGENT_JAVAWS_SWITCH)|" | sed "s,$(LAUNCHER_BOOTCLASSPATH),$$nw_bootclasspath," > $(DESTDIR)$(bindir)/$(javaws) ; \ - chmod 777 $(DESTDIR)$(bindir)/$(javaws) ; \ + cat $$javaws_backup | sed "s|COMMAND.k.=\"..JAVA.\"|COMMAND[k]=\"\\$$\\{JAVA\\}\" ; k=1 ; COMMAND[k]=$(JACOCO_AGENT_JAVAWS_SWITCH)|" | sed "s,$(LAUNCHER_BOOTCLASSPATH),$$nw_bootclasspath," > $(DESTDIR)$(bindir)/$(JAVAWS) ; \ + chmod 777 $(DESTDIR)$(bindir)/$(JAVAWS) ; \ echo "backuping plugin in $(DESTDIR)/$(libdir)$(BUILT_PLUGIN_LIBRARY)" ; \ plugin_backup=$(DESTDIR)$(libdir)/$(BUILT_PLUGIN_LIBRARY)_backup ; \ mv $(DESTDIR)$(libdir)/$(BUILT_PLUGIN_LIBRARY) $$plugin_backup ; \ @@ -1605,9 +1675,9 @@ --input-srcs $(NETX_SRCDIR) $(PLUGIN_SRCDIR)/java $(JUNIT_RUNNER_SRCDIR) $(TEST_EXTENSIONS_SRCDIR) $(TEST_EXTENSIONS_TESTS_SRCDIR) "$${testcases_srcs[@]}" \ --input-builds $(NETX_DIR)/lib/classes.jar $(TOP_BUILD_DIR)/liveconnect/lib/classes.jar $(JUNIT_RUNNER_JAR) $(TEST_EXTENSIONS_DIR) $(TEST_EXTENSIONS_TESTS_DIR) \ --title "IcedTea-Web reproducers-tests codecoverage" ; \ - echo "restoring javaws in $(DESTDIR)$(bindir)" ; \ + echo "restoring $(JAVAWS) in $(DESTDIR)$(bindir)" ; \ rm -f $(DESTDIR)$(bindir)/$(javaws); \ - mv $$javaws_backup $(DESTDIR)$(bindir)/$(javaws); \ + mv $$javaws_backup $(DESTDIR)$(bindir)/$(JAVAWS); \ echo "restoring plugin in $(DESTDIR)/$(libdir)$(BUILT_PLUGIN_LIBRARY)" ; \ mv $$plugin_backup $(DESTDIR)$(libdir)/$(BUILT_PLUGIN_LIBRARY) ; \ for file in $(COVERAGE_MODIFIED_FILES) ; do \ diff -r fcb841380712 -r 3a998e74a0f9 configure.ac --- a/configure.ac Tue Dec 18 11:22:16 2018 +0100 +++ b/configure.ac Wed Jan 09 17:41:55 2019 +0100 @@ -39,6 +39,11 @@ AC_MSG_ERROR([/bin/bash is used in runtime and for about generation. Dying sooner rather then later]) fi +#shell launchers are only opinion for 1.7 +AM_CONDITIONAL([ENABLE_SHELL_LAUNCHERS], [true]) +#native launchers do not exists in 1.7 +AM_CONDITIONAL([ENABLE_NATIVE_LAUNCHERS], [false]) + build_linux=no build_windows=no case "${host_os}" in diff -r fcb841380712 -r 3a998e74a0f9 launcher/launchers.in --- a/launcher/launchers.in Tue Dec 18 11:22:16 2018 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,206 +0,0 @@ -#!/bin/bash - -NASHORN=lib/ext/nashorn.jar -JAVA=@JAVA@ -LAUNCHER_BOOTCLASSPATH='@LAUNCHER_BOOTCLASSPATH@' -LAUNCHER_FLAGS=-Xms8m -CLASSNAME=@MAIN_CLASS@ -BINARY_LOCATION=@BIN_LOCATION@ -SPLASH_LOCATION=@JAVAWS_SPLASH_LOCATION@ -PROGRAM_NAME=@PROGRAM_NAME@ -CP=@JRE@/lib/rt.jar:@JRE@/lib/jfxrt.jar - -CONFIG_HOME=$XDG_CONFIG_HOME -if [ "x$CONFIG_HOME" = "x" ] ; then - CONFIG_HOME=~/.config -fi; -PROPERTY_NAME=deployment.jre.dir -CUSTOM_JRE_REGEX="^$PROPERTY_NAME *= *" -CUSTOM_JRE=`grep "$CUSTOM_JRE_REGEX" $CONFIG_HOME/icedtea-web/deployment.properties 2>/dev/null | sed "s/$CUSTOM_JRE_REGEX//g"` -#now check in legacy one -if [ "x$CUSTOM_JRE" = "x" ] ; then - CUSTOM_JRE=`grep "$CUSTOM_JRE_REGEX" ~/.icedtea/deployment.properties 2>/dev/null | sed "s/$CUSTOM_JRE_REGEX//g"` -fi; -#now check in global one -if [ "x$CUSTOM_JRE" = "x" ] ; then - CUSTOM_JRE=`grep "$CUSTOM_JRE_REGEX" /etc/.java/.deploy/deployment.properties 2>/dev/null | sed "s/$CUSTOM_JRE_REGEX//g"` -fi; -if [ "x$CUSTOM_JRE" != "x" ] ; then - if [ -e "$CUSTOM_JRE" -a -e "$CUSTOM_JRE/bin/java" ] ; then - JAVA=$CUSTOM_JRE/bin/java - CP=$CUSTOM_JRE/lib/rt.jar:$CUSTOM_JRE/lib/jfxrt.jar - LAUNCHER_BOOTCLASSPATH=$LAUNCHER_BOOTCLASSPATH:$CUSTOM_JRE/$NASHORN - else - echo "Your custom JRE $CUSTOM_JRE read from deployment.properties under key $PROPERTY_NAME as $CUSTOM_JRE is not valid. Using default ($JAVA, $CP) in attempt to start. Please fix this." - fi -else - LAUNCHER_BOOTCLASSPATH="$LAUNCHER_BOOTCLASSPATH:@JRE@/$NASHORN" -fi; - -MODULAR_JDK="NO" -version=`${JAVA} -version 2>&1 | head -n 1 | cut -d'-' -f1 | cut -d'"' -f2 | cut -d'.' -f1` -if [ $version -eq "1" ]; then - version=`${JAVA} -version 2>&1 | head -n 1 | cut -d'-' -f1 | cut -d'"' -f2 | cut -d'.' -f2` -fi -if [ $version -ge "9" ]; then - MODULAR_JDK="YES" -fi - -JAVA_ARGS=( ) -ARGS=( ) -COMMAND=() - -i=0 -j=0 - -SPLASH="false" -if [ "x$ICEDTEA_WEB_SPLASH" = "x" ] ; then -SPLASH="true" -fi; -while [ "$#" -gt "0" ]; do - case "$1" in - -J*) - JAVA_ARGS[$i]="${1##-J}" - i=$((i+1)) - ;; - *) - ARGS[$j]="$1" - j=$((j+1)) - if [[ "$1" =~ ^[-]*headless ]] ; then - SPLASH="false" - fi - ;; - esac - shift -done - -k=0 -COMMAND[k]="${JAVA}" -k=$((k+1)) -if [ "$SPLASH" = "true" ] ; then -COMMAND[k]="-splash:${SPLASH_LOCATION}" -k=$((k+1)) -fi; -COMMAND[k]="${LAUNCHER_BOOTCLASSPATH}" -k=$((k+1)) -COMMAND[k]="${LAUNCHER_FLAGS}" -k=$((k+1)) - -if [ "x$MODULAR_JDK" == "xYES" ] ; then -COMMAND[k]="--patch-module" -k=$((k+1)) -COMMAND[k]="java.desktop=@PLUGIN_JAR@:@NETX_JAR@" -k=$((k+1)) -# jsobject must be pathched separately from plugin -# otherwise netscape pkg would be shared by two modules, which is forbiden -JSOBJECT_JAR=@JSOBJECT_JAR@ -# plugin jar may not be built -if [ ! "x$JSOBJECT_JAR" == "x" ] ; then - COMMAND[k]="--patch-module" - k=$((k+1)) - COMMAND[k]="jdk.jsobject=$JSOBJECT_JAR" - k=$((k+1)) -fi - -COMMAND[k]="--add-reads" -k=$((k+1)) -COMMAND[k]="java.base=ALL-UNNAMED,java.desktop" -k=$((k+1)) -COMMAND[k]="--add-reads" -k=$((k+1)) -COMMAND[k]="java.desktop=ALL-UNNAMED,java.naming" -k=$((k+1)) -COMMAND[k]="--add-reads" -k=$((k+1)) -COMMAND[k]="java.naming=ALL-UNNAMED,java.desktop" -k=$((k+1)) - -COMMAND[k]="--add-exports" -k=$((k+1)) -COMMAND[k]="java.desktop/sun.awt=ALL-UNNAMED,java.desktop" -k=$((k+1)) -COMMAND[k]="--add-exports" -k=$((k+1)) -COMMAND[k]="java.desktop/javax.jnlp=ALL-UNNAMED,java.desktop" -k=$((k+1)) -COMMAND[k]="--add-exports" -k=$((k+1)) -COMMAND[k]="java.base/sun.security.provider=ALL-UNNAMED,java.desktop" -k=$((k+1)) -COMMAND[k]="--add-exports" -k=$((k+1)) -COMMAND[k]="java.base/sun.security.util=ALL-UNNAMED,java.desktop" -k=$((k+1)) -COMMAND[k]="--add-exports" -k=$((k+1)) -COMMAND[k]="java.base/sun.security.x509=ALL-UNNAMED,java.desktop" -k=$((k+1)) -COMMAND[k]="--add-exports" -k=$((k+1)) -COMMAND[k]="java.base/jdk.internal.util.jar=ALL-UNNAMED,java.desktop" -k=$((k+1)) -COMMAND[k]="--add-exports" -k=$((k+1)) -COMMAND[k]="java.base/sun.security.validator=ALL-UNNAMED,java.desktop" -k=$((k+1)) -COMMAND[k]="--add-exports" -k=$((k+1)) -COMMAND[k]="java.base/com.sun.net.ssl.internal.ssl=ALL-UNNAMED,java.desktop" -k=$((k+1)) -COMMAND[k]="--add-exports" -k=$((k+1)) -COMMAND[k]="java.base/sun.net.www.protocol.jar=ALL-UNNAMED,java.desktop" -k=$((k+1)) -COMMAND[k]="--add-exports" -k=$((k+1)) -COMMAND[k]="java.desktop/sun.awt.X11=ALL-UNNAMED,java.desktop" -k=$((k+1)) -COMMAND[k]="--add-exports" -k=$((k+1)) -COMMAND[k]="java.naming/com.sun.jndi.toolkit.url=ALL-UNNAMED,java.desktop" -k=$((k+1)) -COMMAND[k]="--add-exports" -k=$((k+1)) -COMMAND[k]="java.desktop/sun.applet=ALL-UNNAMED,java.desktop" -k=$((k+1)) -COMMAND[k]="--add-exports" -k=$((k+1)) -COMMAND[k]="java.base/sun.security.action=ALL-UNNAMED,java.desktop" -k=$((k+1)) -COMMAND[k]="--add-exports" -k=$((k+1)) -COMMAND[k]="java.base/sun.net.www.protocol.http=ALL-UNNAMED,java.desktop" -k=$((k+1)) -COMMAND[k]="--add-exports" -k=$((k+1)) -COMMAND[k]="java.desktop/sun.applet=ALL-UNNAMED,jdk.jsobject" -k=$((k+1)) -fi - - -i=0 -while [ "$i" -lt "${#JAVA_ARGS[@]}" ]; do - COMMAND[k]="${JAVA_ARGS[$i]}" - i=$((i+1)) - k=$((k+1)) -done -COMMAND[k]="-classpath" -k=$((k+1)) -COMMAND[k]="${CP}" -k=$((k+1)) -COMMAND[k]="-Dicedtea-web.bin.name=${PROGRAM_NAME}" -k=$((k+1)) -COMMAND[k]="-Dicedtea-web.bin.location=${BINARY_LOCATION}" -k=$((k+1)) -COMMAND[k]="${CLASSNAME}" -k=$((k+1)) -j=0 -while [ "$j" -lt "${#ARGS[@]}" ]; do - COMMAND[k]="${ARGS[$j]}" - j=$((j+1)) - k=$((k+1)) -done - -exec -a "$PROGRAM_NAME" "${COMMAND[@]}" - -exit $? diff -r fcb841380712 -r 3a998e74a0f9 launcher/launchers.sh.in --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/launcher/launchers.sh.in Wed Jan 09 17:41:55 2019 +0100 @@ -0,0 +1,206 @@ +#!/bin/bash + +NASHORN=lib/ext/nashorn.jar +JAVA=@JAVA@ +LAUNCHER_BOOTCLASSPATH='@LAUNCHER_BOOTCLASSPATH@' +LAUNCHER_FLAGS=-Xms8m +CLASSNAME=@MAIN_CLASS@ +BINARY_LOCATION=@BIN_LOCATION@ +SPLASH_LOCATION=@JAVAWS_SPLASH_LOCATION@ +PROGRAM_NAME=@PROGRAM_NAME@ +CP=@JRE@/lib/rt.jar:@JRE@/lib/jfxrt.jar + +CONFIG_HOME=$XDG_CONFIG_HOME +if [ "x$CONFIG_HOME" = "x" ] ; then + CONFIG_HOME=~/.config +fi; +PROPERTY_NAME=deployment.jre.dir +CUSTOM_JRE_REGEX="^$PROPERTY_NAME *= *" +CUSTOM_JRE=`grep "$CUSTOM_JRE_REGEX" $CONFIG_HOME/icedtea-web/deployment.properties 2>/dev/null | sed "s/$CUSTOM_JRE_REGEX//g"` +#now check in legacy one +if [ "x$CUSTOM_JRE" = "x" ] ; then + CUSTOM_JRE=`grep "$CUSTOM_JRE_REGEX" ~/.icedtea/deployment.properties 2>/dev/null | sed "s/$CUSTOM_JRE_REGEX//g"` +fi; +#now check in global one +if [ "x$CUSTOM_JRE" = "x" ] ; then + CUSTOM_JRE=`grep "$CUSTOM_JRE_REGEX" /etc/.java/.deploy/deployment.properties 2>/dev/null | sed "s/$CUSTOM_JRE_REGEX//g"` +fi; +if [ "x$CUSTOM_JRE" != "x" ] ; then + if [ -e "$CUSTOM_JRE" -a -e "$CUSTOM_JRE/bin/java" ] ; then + JAVA=$CUSTOM_JRE/bin/java + CP=$CUSTOM_JRE/lib/rt.jar:$CUSTOM_JRE/lib/jfxrt.jar + LAUNCHER_BOOTCLASSPATH=$LAUNCHER_BOOTCLASSPATH:$CUSTOM_JRE/$NASHORN + else + echo "Your custom JRE $CUSTOM_JRE read from deployment.properties under key $PROPERTY_NAME as $CUSTOM_JRE is not valid. Using default ($JAVA, $CP) in attempt to start. Please fix this." + fi +else + LAUNCHER_BOOTCLASSPATH="$LAUNCHER_BOOTCLASSPATH:@JRE@/$NASHORN" +fi; + +MODULAR_JDK="NO" +version=`${JAVA} -version 2>&1 | head -n 1 | cut -d'-' -f1 | cut -d'"' -f2 | cut -d'.' -f1` +if [ $version -eq "1" ]; then + version=`${JAVA} -version 2>&1 | head -n 1 | cut -d'-' -f1 | cut -d'"' -f2 | cut -d'.' -f2` +fi +if [ $version -ge "9" ]; then + MODULAR_JDK="YES" +fi + +JAVA_ARGS=( ) +ARGS=( ) +COMMAND=() + +i=0 +j=0 + +SPLASH="false" +if [ "x$ICEDTEA_WEB_SPLASH" = "x" ] ; then +SPLASH="true" +fi; +while [ "$#" -gt "0" ]; do + case "$1" in + -J*) + JAVA_ARGS[$i]="${1##-J}" + i=$((i+1)) + ;; + *) + ARGS[$j]="$1" + j=$((j+1)) + if [[ "$1" =~ ^[-]*headless ]] ; then + SPLASH="false" + fi + ;; + esac + shift +done + +k=0 +COMMAND[k]="${JAVA}" +k=$((k+1)) +if [ "$SPLASH" = "true" ] ; then +COMMAND[k]="-splash:${SPLASH_LOCATION}" +k=$((k+1)) +fi; +COMMAND[k]="${LAUNCHER_BOOTCLASSPATH}" +k=$((k+1)) +COMMAND[k]="${LAUNCHER_FLAGS}" +k=$((k+1)) + +if [ "x$MODULAR_JDK" == "xYES" ] ; then +COMMAND[k]="--patch-module" +k=$((k+1)) +COMMAND[k]="java.desktop=@PLUGIN_JAR@:@NETX_JAR@" +k=$((k+1)) +# jsobject must be pathched separately from plugin +# otherwise netscape pkg would be shared by two modules, which is forbiden +JSOBJECT_JAR=@JSOBJECT_JAR@ +# plugin jar may not be built +if [ ! "x$JSOBJECT_JAR" == "x" ] ; then + COMMAND[k]="--patch-module" + k=$((k+1)) + COMMAND[k]="jdk.jsobject=$JSOBJECT_JAR" + k=$((k+1)) +fi + +COMMAND[k]="--add-reads" +k=$((k+1)) +COMMAND[k]="java.base=ALL-UNNAMED,java.desktop" +k=$((k+1)) +COMMAND[k]="--add-reads" +k=$((k+1)) +COMMAND[k]="java.desktop=ALL-UNNAMED,java.naming" +k=$((k+1)) +COMMAND[k]="--add-reads" +k=$((k+1)) +COMMAND[k]="java.naming=ALL-UNNAMED,java.desktop" +k=$((k+1)) + +COMMAND[k]="--add-exports" +k=$((k+1)) +COMMAND[k]="java.desktop/sun.awt=ALL-UNNAMED,java.desktop" +k=$((k+1)) +COMMAND[k]="--add-exports" +k=$((k+1)) +COMMAND[k]="java.desktop/javax.jnlp=ALL-UNNAMED,java.desktop" +k=$((k+1)) +COMMAND[k]="--add-exports" +k=$((k+1)) +COMMAND[k]="java.base/sun.security.provider=ALL-UNNAMED,java.desktop" +k=$((k+1)) +COMMAND[k]="--add-exports" +k=$((k+1)) +COMMAND[k]="java.base/sun.security.util=ALL-UNNAMED,java.desktop" +k=$((k+1)) +COMMAND[k]="--add-exports" +k=$((k+1)) +COMMAND[k]="java.base/sun.security.x509=ALL-UNNAMED,java.desktop" +k=$((k+1)) +COMMAND[k]="--add-exports" +k=$((k+1)) +COMMAND[k]="java.base/jdk.internal.util.jar=ALL-UNNAMED,java.desktop" +k=$((k+1)) +COMMAND[k]="--add-exports" +k=$((k+1)) +COMMAND[k]="java.base/sun.security.validator=ALL-UNNAMED,java.desktop" +k=$((k+1)) +COMMAND[k]="--add-exports" +k=$((k+1)) +COMMAND[k]="java.base/com.sun.net.ssl.internal.ssl=ALL-UNNAMED,java.desktop" +k=$((k+1)) +COMMAND[k]="--add-exports" +k=$((k+1)) +COMMAND[k]="java.base/sun.net.www.protocol.jar=ALL-UNNAMED,java.desktop" +k=$((k+1)) +COMMAND[k]="--add-exports" +k=$((k+1)) +COMMAND[k]="java.desktop/sun.awt.X11=ALL-UNNAMED,java.desktop" +k=$((k+1)) +COMMAND[k]="--add-exports" +k=$((k+1)) +COMMAND[k]="java.naming/com.sun.jndi.toolkit.url=ALL-UNNAMED,java.desktop" +k=$((k+1)) +COMMAND[k]="--add-exports" +k=$((k+1)) +COMMAND[k]="java.desktop/sun.applet=ALL-UNNAMED,java.desktop" +k=$((k+1)) +COMMAND[k]="--add-exports" +k=$((k+1)) +COMMAND[k]="java.base/sun.security.action=ALL-UNNAMED,java.desktop" +k=$((k+1)) +COMMAND[k]="--add-exports" +k=$((k+1)) +COMMAND[k]="java.base/sun.net.www.protocol.http=ALL-UNNAMED,java.desktop" +k=$((k+1)) +COMMAND[k]="--add-exports" +k=$((k+1)) +COMMAND[k]="java.desktop/sun.applet=ALL-UNNAMED,jdk.jsobject" +k=$((k+1)) +fi + + +i=0 +while [ "$i" -lt "${#JAVA_ARGS[@]}" ]; do + COMMAND[k]="${JAVA_ARGS[$i]}" + i=$((i+1)) + k=$((k+1)) +done +COMMAND[k]="-classpath" +k=$((k+1)) +COMMAND[k]="${CP}" +k=$((k+1)) +COMMAND[k]="-Dicedtea-web.bin.name=${PROGRAM_NAME}" +k=$((k+1)) +COMMAND[k]="-Dicedtea-web.bin.location=${BINARY_LOCATION}" +k=$((k+1)) +COMMAND[k]="${CLASSNAME}" +k=$((k+1)) +j=0 +while [ "$j" -lt "${#ARGS[@]}" ]; do + COMMAND[k]="${ARGS[$j]}" + j=$((j+1)) + k=$((k+1)) +done + +exec -a "$PROGRAM_NAME" "${COMMAND[@]}" + +exit $?