java/86804: [PATCH] Install a desktop icon for the java/jdk15 Control Panel

"Panagiotis Astithas" <Panagiotis Astithas past at ebs.gr
Sat Oct 1 13:30:21 PDT 2005


>Number:         86804
>Category:       java
>Synopsis:       [PATCH] Install a desktop icon for the java/jdk15 Control Panel
>Confidential:   no
>Severity:       non-critical
>Priority:       medium
>Responsible:    freebsd-java
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          change-request
>Submitter-Id:   current-users
>Arrival-Date:   Sat Oct 01 20:30:19 GMT 2005
>Closed-Date:
>Last-Modified:
>Originator:     Panagiotis Astithas
>Release:        FreeBSD 6.0-BETA5 i386
>Organization:
EBS Ltd. 
>Environment:


System: FreeBSD 6.0-BETA5 #6: Fri Sep 30 22:09:56 EEST 2005
    past at ajax.ebs.gr:/usr/obj/usr/src/sys/GENERIC



>Description:


When we install the jdk we don't fix the provided sun_java.desktop file, or install it in a suitable place for desktop environments to pick up. This patch is for java/jdk15 and creates the necessary menu entry for Gnome and KDE (although I haven't tested on the latter).


>How-To-Repeat:


Install java/jdk15. Observe that no desktop environment menu entries are created.


>Fix:


--- jdk15.patch begins here ---
diff -ruN /usr/ports/java/jdk15/Makefile jdk15/Makefile
--- /usr/ports/java/jdk15/Makefile	Tue Sep 20 23:00:08 2005
+++ jdk15/Makefile	Sat Oct  1 20:43:45 2005
@@ -43,6 +43,7 @@
 MAKE_ENV+=	BROWSER=mozilla
 .endif
 USE_ICONV=	yes
+USE_GNOME=	desktopfileutils
 MAKE_ENV+=	ALT_MOZILLA_HEADERS_PATH="${X11BASE}/include"
 .endif
 
@@ -118,6 +119,9 @@
 
 PLIST_FILES=	jdk${JDK_VERSION}/jre/.systemPrefs/.system.lock \
 		jdk${JDK_VERSION}/jre/.systemPrefs/.systemRootModFile
+.if !defined(WITHOUT_WEB)
+PLIST_FILES+=	share/applications/sun_java15.desktop
+.endif
 PLIST_DIRS=	jdk${JDK_VERSION}/jre/.systemPrefs
 
 .if (${ARCH} == amd64)
@@ -225,6 +229,9 @@
 		${REINPLACE_CMD} -e "s:-pthread:${PTHREAD_LIBS}:g" \
 			${WRKSRC}/$${file}; \
 	done
+	${REINPLACE_CMD} -e "s:%%PREFIX%%:${PREFIX}:g" \
+		-e "s:%%JDK_VERSION%%:${JDK_VERSION}:g"\
+		${WRKSRC}/../../deploy/src/plugin/solaris/controlpanel/sun_java.desktop
 
 .if defined(WITH_LINUX_BOOTSTRAP)
 pre-build:
@@ -284,9 +291,16 @@
 	${MKDIR} ${PREFIX}/jdk${JDK_VERSION}
 	cd ${JDKIMAGEDIR} && ${FIND} . \
 	  | ${CPIO} -pdmu -R ${LIBOWN}:${LIBGRP} ${PREFIX}/jdk${JDK_VERSION}
+.if !defined(WITHOUT_WEB)
+	${INSTALL_DATA} ${JDKIMAGEDIR}/jre/plugin/desktop/sun_java.desktop \
+		${PREFIX}/share/applications/sun_java15.desktop
+.endif
 	@${ECHO_MSG} "@unexec ${LOCALBASE}/bin/unregistervm ${PREFIX}/jdk${JDK_VERSION}/bin/java" >> ${TMPPLIST}
 	@${FIND} -s ${JDKIMAGEDIR} -not -type d | \
 	  ${SED} -ne 's#^${JDKIMAGEDIR}#jdk${JDK_VERSION}#p' >> ${TMPPLIST}
+.if !defined(WITHOUT_WEB)
+	@${ECHO_MSG} '@exec ${LOCALBASE}/bin/update-desktop-database > /dev/null || /usr/bin/true' >> ${TMPPLIST}
+.endif
 .if defined(WITH_DEBUG)
 	cd ${JDKIMAGEDIR_G} && ${FIND} . \
 	  | ${CPIO} -pdmu -R ${LIBOWN}:${LIBGRP} ${PREFIX}/jdk${JDK_VERSION}
@@ -296,10 +310,16 @@
 	@${FIND} -s -d ${PREFIX}/jdk${JDK_VERSION} -type d | \
 	  ${SED} -ne 's#^${PREFIX}/#@dirrm #p' >> ${TMPPLIST}
 	@${ECHO_MSG} "@exec ${LOCALBASE}/bin/registervm ${PREFIX}/jdk${JDK_VERSION}/bin/java # FREEBSD-JDK${JDK_VERSION}" >> ${TMPPLIST}
+.if !defined(WITHOUT_WEB)
+	@${ECHO_MSG} '@unexec ${LOCALBASE}/bin/update-desktop-database > /dev/null || /usr/bin/true' >> ${TMPPLIST}
+.endif
 
 # XXX: put unregistervm into install script ?
 post-install:
 	@${LOCALBASE}/bin/registervm "${PREFIX}/jdk${JDK_VERSION}/bin/java # FREEBSD-JDK${JDK_VERSION}"
+.if !defined(WITHOUT_WEB)
+	@-update-desktop-database
+.endif
 	@${SED} -e "s:%%JRE_HOME%%:${PREFIX}/jdk${JDK_VERSION}/jre:g" \
 	  < ${FILESDIR}/pkg-install.in > ${PKGINSTALL}
 	@${SETENV} PKG_PREFIX=${PREFIX} ${SH} ${PKGINSTALL} ${PKGNAME} POST-INSTALL
diff -ruN /usr/ports/java/jdk15/files/patch-sun_java.desktop jdk15/files/patch-sun_java.desktop
--- /usr/ports/java/jdk15/files/patch-sun_java.desktop	Thu Jan  1 02:00:00 1970
+++ jdk15/files/patch-sun_java.desktop	Sat Oct  1 20:26:16 2005
@@ -0,0 +1,13 @@
+--- ../../deploy/src/plugin/solaris/controlpanel/sun_java.desktop.orig	Sat Oct  1 20:14:45 2005
++++ ../../deploy/src/plugin/solaris/controlpanel/sun_java.desktop	Sat Oct  1 20:16:12 2005
+@@ -1,8 +1,8 @@
+ [Desktop Entry]
+ Name=Java
+ Comment=Java Control Panel
+-Exec=INSTALL_DIR/JRE_NAME_VERSION/bin/ControlPanel
+-Icon=INSTALL_DIR/JRE_NAME_VERSION/plugin/desktop/sun_java.png
++Exec=%%PREFIX%%/jdk%%JDK_VERSION%%/bin/ControlPanel
++Icon=%%PREFIX%%/jdk%%JDK_VERSION%%/jre/plugin/desktop/sun_java.png
+ Terminal=0
+ Type=Application
+ Categories=Application;Settings;X-Sun-Supported;X-Red-Hat-Base;
--- jdk15.patch ends here ---



>Release-Note:
>Audit-Trail:
>Unformatted:


More information about the freebsd-java mailing list