Date: Wed, 28 Sep 2005 16:26:59 -0600 From: Greg Lewis <glewis@eyesbeyond.com> To: Panagiotis Astithas <past@ebs.gr> Cc: freebsd-java@freebsd.org Subject: Re: [patch] Install a desktop icon for the jdk15 Control Panel Message-ID: <20050928222659.GA21920@misty.eyesbeyond.com> In-Reply-To: <433B067C.2020500@ebs.gr> References: <433B067C.2020500@ebs.gr>
next in thread | previous in thread | raw e-mail | index | archive | help
Hi Panagiotis, On Thu, Sep 29, 2005 at 12:09:16AM +0300, Panagiotis Astithas wrote: > I cooked up this patch to fix something that has been annoying me for a > long time. 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 jdk15 and creates the > necessary menu entry for Gnome and KDE (although I haven't tested on the > latter). It should be trivial to make the same changes for jdk14, by > using MINIMAL instead of WITHOUT_WEB. Thanks working this up. Can you please send-pr it? I'm worried that it will get lost otherwise since I'm currently tracking some other patches as well. It would be good if someone could test your changes against KDE as well. I have some minor comments on the patch. > --- /usr/ports/java/jdk15/Makefile Tue Sep 20 23:00:08 2005 > +++ jdk15/Makefile Wed Sep 28 23:57:17 2005 > @@ -43,6 +43,7 @@ > MAKE_ENV+= BROWSER=mozilla > .endif > USE_ICONV= yes > +USE_GNOME= desktopfileutils Does this pull in any extra dependencies other than desktop-file-utils? the jdk is already pretty fat with dependencies, and I particularly don't want to pull in a bunch of KDE and/or Gnome dependencies. > 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) > @@ -284,9 +288,20 @@ > ${MKDIR} ${PREFIX}/jdk${JDK_VERSION} > cd ${JDKIMAGEDIR} && ${FIND} . \ > | ${CPIO} -pdmu -R ${LIBOWN}:${LIBGRP} ${PREFIX}/jdk${JDK_VERSION} > +.if !defined(WITHOUT_WEB) > + @${SED} -e 's#Exec=INSTALL_DIR/JRE_NAME_VERSION/bin/ControlPanel#Exec=${PREFIX}/jdk${JDK_VERSION}/bin/ControlPanel#' \ > + -e 's#Icon=INSTALL_DIR/JRE_NAME_VERSION/plugin/desktop/sun_java.png#Icon=${PREFIX}/jdk${JDK_VERSION}/jre/plugin/desktop/sun_java.png#' \ > + < ${JDKIMAGEDIR}/jre/plugin/desktop/sun_java.desktop \ > + > ${JDKIMAGEDIR}/jre/plugin/desktop/sun_java.desktop.tmp > + ${INSTALL_DATA} ${JDKIMAGEDIR}/jre/plugin/desktop/sun_java.desktop.tmp ${PREFIX}/share/applications/sun_java15.desktop > +.endif It feels like maybe it would be more appropriate to have a patch for the source file and then use REINPLACE_CMD on it in post-patch and simply install the icon here. > @${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) > + @-update-desktop-database You may want to consider using ${LOCALBASE}/bin/update-desktop-database here. Also, it seems more appropriate to do this in the post-install step. > + @${ECHO_MSG} '@exec ${PREFIX}/bin/update-desktop-database > /dev/null || /usr/bin/true' >> ${TMPPLIST} This should use LOCALBASE rather than PREFIX. > +.endif > .if defined(WITH_DEBUG) > cd ${JDKIMAGEDIR_G} && ${FIND} . \ > | ${CPIO} -pdmu -R ${LIBOWN}:${LIBGRP} ${PREFIX}/jdk${JDK_VERSION} > @@ -296,6 +311,9 @@ > @${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 ${PREFIX}/bin/update-desktop-database > /dev/null || /usr/bin/true' >> ${TMPPLIST} Ditto with PREFIX -> LOCALBASE. > +.endif > > # XXX: put unregistervm into install script ? > post-install: -- Greg Lewis Email : glewis@eyesbeyond.com Eyes Beyond Web : http://www.eyesbeyond.com Information Technology FreeBSD : glewis@FreeBSD.org
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20050928222659.GA21920>