changeset 2649:03f444adc703

PR2544: Desktop files do not allow installation from multiple versions of IcedTea 2016-03-31 Andrew John Hughes <gnu_andrew@member.fsf.org> PR2544: Desktop files do not allow installation from multiple versions of IcedTea * Makefile.am: (uninstall-local): Replace hard-coded "1.8.0" with @JAVA_VER@. 2015-07-16 Andrew John Hughes <gnu_andrew@member.fsf.org> PR2544: Desktop files do not allow installation from multiple versions of IcedTea * jconsole.desktop: Moved to jconsole.desktop.in. * policytool.desktop: Moved to policytool.desktop.in. * Makefile.am: (DESKTOP_FILES): Add Java version to filenames. (EXTRA_DIST): Remove $(DESKTOP_FILES) as they are now handled by autoconf and generated versions shouldn't be packaged. (all-local): Depend on $(DESKTOP_FILES) being created. (clean-local): Add clean-policytool-@JAVA_VER@.desktop and clean-jconsole-@JAVA_VER@.desktop (.PHONY): Likewise. (policytool-@JAVA_VER@.desktop): Generate desktop file by replacing _BINDIR_ with actual make variable $(bindir). (clean-policytool-@JAVA_VER@.desktop): Remove generated file. (jconsole-@JAVA_VER@.desktop): Generate desktop file by replacing _BINDIR_ with actual make variable $(bindir). (clean-jconsole-@JAVA_VER@.desktop): Remove generated file. (install-data-local): Replace hard-coded "1.8.0" with @JAVA_VER@. Copy desktop files from build directory. * NEWS: Updated. * acinclude.m4: (IT_DETERMINE_VERSION): Set JAVA_VER to 1.8.0 and include in configure output. * configure.ac: Generate jconsole.desktop and policytool.desktop. Drop AC_PREFIX_DEFAULT invocation, reverting to /usr/local as default installation directory. * jconsole.desktop.in: Moved from jconsole.desktop so that @JAVA_VER@ can be replaced by configure and _BINDIR_ by the build. * policytool.desktop.in: Likewise for policytool.desktop.
author Andrew John Hughes <gnu_andrew@member.fsf.org>
date Fri, 01 Apr 2016 02:35:07 +0100
parents 0637ff9bfd77
children 5b874b8529b9
files ChangeLog Makefile.am NEWS acinclude.m4 configure.ac jconsole.desktop jconsole.desktop.in policytool.desktop policytool.desktop.in
diffstat 9 files changed, 92 insertions(+), 32 deletions(-) [+]
line wrap: on
line diff
--- a/ChangeLog	Fri Apr 01 01:37:13 2016 +0100
+++ b/ChangeLog	Fri Apr 01 02:35:07 2016 +0100
@@ -1,3 +1,46 @@
+2016-03-31  Andrew John Hughes  <gnu_andrew@member.fsf.org>
+
+	PR2544: Desktop files do not allow installation from
+	multiple versions of IcedTea
+	* Makefile.am:
+	(uninstall-local): Replace hard-coded "1.8.0" with @JAVA_VER@.
+
+2015-07-16  Andrew John Hughes  <gnu_andrew@member.fsf.org>
+
+	PR2544: Desktop files do not allow installation from
+	multiple versions of IcedTea
+	* jconsole.desktop: Moved to jconsole.desktop.in.
+	* policytool.desktop: Moved to policytool.desktop.in.
+	* Makefile.am:
+	(DESKTOP_FILES): Add Java version to filenames.
+	(EXTRA_DIST): Remove $(DESKTOP_FILES) as they are
+	now handled by autoconf and generated versions shouldn't
+	be packaged.
+	(all-local): Depend on $(DESKTOP_FILES) being created.
+	(clean-local): Add clean-policytool-@JAVA_VER@.desktop
+	and clean-jconsole-@JAVA_VER@.desktop
+	(.PHONY): Likewise.
+	(policytool-@JAVA_VER@.desktop): Generate desktop file
+	by replacing _BINDIR_ with actual make variable $(bindir).
+	(clean-policytool-@JAVA_VER@.desktop): Remove generated file.
+	(jconsole-@JAVA_VER@.desktop): Generate desktop file
+	by replacing _BINDIR_ with actual make variable $(bindir).
+	(clean-jconsole-@JAVA_VER@.desktop): Remove generated file.
+	(install-data-local): Replace hard-coded "1.8.0" with @JAVA_VER@.
+	Copy desktop files from build directory.
+	* NEWS: Updated.
+	* acinclude.m4:
+	(IT_DETERMINE_VERSION): Set JAVA_VER to 1.8.0 and include in
+	configure output.
+	* configure.ac:
+	Generate jconsole.desktop and policytool.desktop.
+	Drop AC_PREFIX_DEFAULT invocation, reverting to
+	/usr/local as default installation directory.
+	* jconsole.desktop.in: Moved from jconsole.desktop so
+	that @JAVA_VER@ can be replaced by configure and
+	_BINDIR_ by the build.
+	* policytool.desktop.in: Likewise for policytool.desktop.
+
 2016-03-31  Andrew John Hughes  <gnu_andrew@member.fsf.org>
 
 	PR2541: Allow the user to specify the cacerts file
--- a/Makefile.am	Fri Apr 01 01:37:13 2016 +0100
+++ b/Makefile.am	Fri Apr 01 02:35:07 2016 +0100
@@ -637,14 +637,13 @@
 	$(top_srcdir)/test/jtreg/JavaTest.cmdMgrs.lst \
 	$(top_srcdir)/test/jtreg/excludelist.langtools.jtx 
 
-DESKTOP_FILES = jconsole.desktop policytool.desktop
+DESKTOP_FILES = jconsole-@JAVA_VER@.desktop policytool-@JAVA_VER@.desktop
 
 EXTRA_DIST = $(top_srcdir)/patches/*.patch \
 	$(top_srcdir)/patches/cacao/*.patch \
 	$(top_srcdir)/patches/jamvm/*.patch \
 	tools-copy contrib overlays \
-	$(JTREG_SRCS) $(DESKTOP_FILES) \
-	HACKING autogen.sh \
+	$(JTREG_SRCS) HACKING autogen.sh \
 	tapset/hotspot.stp.in \
 	tapset/hotspot_jni.stp.in \
 	tapset/jstack.stp.in \
@@ -658,7 +657,7 @@
 # Top-Level Targets
 # =================
 
-all-local: icedtea-stage2
+all-local: icedtea-stage2 $(DESKTOP_FILES)
 
 check-local: jtregcheck $(SYSTEMTAP_TEST_SUITE) stamps/check-ecc.stamp
 
@@ -670,7 +669,8 @@
  clean-bootstrap-directory-symlink-stage1 clean-bootstrap-directory-symlink-stage2 \
  clean-extract clean-native-ecj clean-icedtea-stage2 \
  clean-icedtea-debug-stage2 clean-icedtea-stage1 clean-add-zero clean-add-zero-debug \
- clean-add-cacao clean-add-cacao-debug clean-cryptocheck clean-ecccheck
+ clean-add-cacao clean-add-cacao-debug clean-cryptocheck clean-ecccheck \
+ clean-policytool-@JAVA_VER@.desktop clean-jconsole-@JAVA_VER@.desktop
 	if [ -e bootstrap ]; then \
 	  rmdir bootstrap ; \
 	fi
@@ -706,7 +706,7 @@
 	clean-add-archive clean-add-archive-debug clean-add-archive-boot clean-cryptocheck \
 	clean-tests clean-tapset-report clean-ecccheck clean-check-ecc \
 	check-jdk check-hotspot check-langtools jtregcheck check-tapset check-tapset-probes \
-	check-tapset-jstack
+	check-tapset-jstack clean-policytool-@JAVA_VER@.desktop clean-jconsole-@JAVA_VER@.desktop
 
 env:
 	@echo 'unset JAVA_HOME'
@@ -2546,6 +2546,20 @@
 clean-check-ecc:
 	rm -f stamps/check-ecc.stamp
 
+# File substitution
+
+policytool-@JAVA_VER@.desktop: policytool.desktop
+	cat $< | $(SED) "s#_BINDIR_#$(bindir)#" > $@
+
+clean-policytool-@JAVA_VER@.desktop:
+	rm -f policytool-@JAVA_VER@.desktop
+
+jconsole-@JAVA_VER@.desktop: jconsole.desktop
+	cat $< | $(SED) "s#_BINDIR_#$(bindir)#" > $@
+
+clean-jconsole-@JAVA_VER@.desktop:
+	rm -f jconsole-@JAVA_VER@.desktop
+
 # Installation Targets
 # ====================
 
@@ -2697,10 +2711,10 @@
 	for sizes in 16 24 32 48 ; do \
 	  ${mkinstalldirs} $(DESTDIR)$(datadir)/icons/hicolor/$${sizes}x$${sizes}/apps ; \
 	  ${INSTALL_DATA} openjdk/jdk/src/solaris/classes/sun/awt/X11/java-icon$${sizes}.png \
-	    $(DESTDIR)$(datadir)/icons/hicolor/$${sizes}x$${sizes}/apps/java-1.8.0.png ; \
+	    $(DESTDIR)$(datadir)/icons/hicolor/$${sizes}x$${sizes}/apps/java-@JAVA_VER@.png ; \
 	done
 	for files in $(DESKTOP_FILES) ; do \
-	  ${INSTALL_DATA} $(srcdir)/$${files} $(DESTDIR)$(datadir)/applications ; \
+	  ${INSTALL_DATA} $(builddir)/$${files} $(DESTDIR)$(datadir)/applications ; \
 	done
 	touch $(DESTDIR)/${prefix}/jre/.systemPrefs/.system.lock
 	touch $(DESTDIR)/${prefix}/jre/.systemPrefs/.systemRootModFile
@@ -2822,7 +2836,7 @@
 	rm -rf $(DESTDIR)$(docdir)/THIRD_PARTY_README
 	rm -rf $(DESTDIR)$(docdir)/TRADEMARK
 	for sizes in 16 24 32 48 ; do \
-	  rm -vf $(DESTDIR)$(datadir)/icons/hicolor/$${sizes}x$${sizes}/apps/java-1.8.0.png; \
+	  rm -vf $(DESTDIR)$(datadir)/icons/hicolor/$${sizes}x$${sizes}/apps/java-@JAVA_VER@.png; \
 	done
 	for files in $(DESKTOP_FILES) ; do \
 	  rm -vf $(DESTDIR)$(datadir)/applications/$$(basename $${files}); \
--- a/NEWS	Fri Apr 01 01:37:13 2016 +0100
+++ b/NEWS	Fri Apr 01 02:35:07 2016 +0100
@@ -128,6 +128,7 @@
   - PR2459: Policy JAR files should be timestamped with the date of the policy file they hold
   - PR2511: Reset success following calls in LayoutManager.cpp
   - PR2541: Allow the user to specify the cacerts file to use
+  - PR2544: Desktop files do not allow installation from multiple versions of IcedTea 
   - PR2631: jvm.cfg missing for ppc64le
   - PR2633: s390 builds still fail as BUILD_NUM_BITS is never set
   - PR2675: Update ppc64le autotools infrastructure following PR2237
--- a/acinclude.m4	Fri Apr 01 01:37:13 2016 +0100
+++ b/acinclude.m4	Fri Apr 01 02:35:07 2016 +0100
@@ -1919,9 +1919,11 @@
 AC_DEFUN_ONCE([IT_DETERMINE_VERSION],
 [
   AC_MSG_CHECKING([which branch and release of IcedTea is being built])
+  JAVA_VER=1.8.0
   ICEDTEA_RELEASE=$(echo ${PACKAGE_VERSION} | sed 's#pre.*##')
   ICEDTEA_BRANCH=$(echo ${ICEDTEA_RELEASE}|sed 's|\.[[0-9]]$||')
-  AC_MSG_RESULT([branch ${ICEDTEA_BRANCH}, release ${ICEDTEA_RELEASE}])
+  AC_MSG_RESULT([branch ${ICEDTEA_BRANCH}, release ${ICEDTEA_RELEASE} for OpenJDK ${JAVA_VER}])
+  AC_SUBST([JAVA_VER])
   AC_SUBST([ICEDTEA_RELEASE])
   AC_SUBST([ICEDTEA_BRANCH])
 ])
--- a/configure.ac	Fri Apr 01 01:37:13 2016 +0100
+++ b/configure.ac	Fri Apr 01 02:35:07 2016 +0100
@@ -14,11 +14,11 @@
 
 IT_DETERMINE_VERSION
 AC_CONFIG_FILES([hotspot.map fsg.sh])
+AC_CONFIG_FILES([jconsole.desktop])
+AC_CONFIG_FILES([policytool.desktop])
 
 AC_CANONICAL_HOST
 
-AC_PREFIX_DEFAULT([bootstrap])
-
 AC_PROG_CC
 AC_PROG_CXX
 
--- a/jconsole.desktop	Fri Apr 01 01:37:13 2016 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,10 +0,0 @@
-[Desktop Entry]
-Name=OpenJDK Monitoring & Management Console
-Comment=Monitor and manage OpenJDK applications
-Exec=/usr/bin/jconsole
-Icon=java
-Terminal=false
-Type=Application
-StartupWMClass=sun-tools-jconsole-JConsole
-Categories=Development;Monitor;Java;
-Version=1.0
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jconsole.desktop.in	Fri Apr 01 02:35:07 2016 +0100
@@ -0,0 +1,10 @@
+[Desktop Entry]
+Name=OpenJDK @JAVA_VER@ Monitoring & Management Console
+Comment=Monitor and manage OpenJDK applications
+Exec=_BINDIR_/jconsole
+Icon=java
+Terminal=false
+Type=Application
+StartupWMClass=sun-tools-jconsole-JConsole
+Categories=Development;Monitor;Java;
+Version=1.0
--- a/policytool.desktop	Fri Apr 01 01:37:13 2016 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,10 +0,0 @@
-[Desktop Entry]
-Name=OpenJDK Policy Tool
-Comment=Manage OpenJDK policy files
-Exec=/usr/bin/policytool
-Icon=java
-Terminal=false
-Type=Application
-StartupWMClass=sun-security-tools-PolicyTool
-Categories=Development;Java;
-Version=1.0
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/policytool.desktop.in	Fri Apr 01 02:35:07 2016 +0100
@@ -0,0 +1,10 @@
+[Desktop Entry]
+Name=OpenJDK @JAVA_VER@ Policy Tool
+Comment=Manage OpenJDK policy files
+Exec=_BINDIR_/policytool
+Icon=java
+Terminal=false
+Type=Application
+StartupWMClass=sun-security-tools-PolicyTool
+Categories=Development;Java;
+Version=1.0