diff options
author | Greg Lewis <glewis@FreeBSD.org> | 2005-11-25 03:39:42 +0000 |
---|---|---|
committer | Greg Lewis <glewis@FreeBSD.org> | 2005-11-25 03:39:42 +0000 |
commit | 2481baa02dd090632449bec1fae79d95907febc1 (patch) | |
tree | abaceb97a702744e56e37af236f0dc61ad60cd15 /java/jdk14 | |
parent | b6f306f4cc8b973bfa705b0a0d7c567b99fc3f69 (diff) |
Notes
Diffstat (limited to 'java/jdk14')
-rw-r--r-- | java/jdk14/Makefile | 7 | ||||
-rw-r--r-- | java/jdk14/files/pkg-deinstall.in | 31 | ||||
-rw-r--r-- | java/jdk14/files/pkg-install.in | 58 |
3 files changed, 84 insertions, 12 deletions
diff --git a/java/jdk14/Makefile b/java/jdk14/Makefile index 9de98735414e..590e853377b8 100644 --- a/java/jdk14/Makefile +++ b/java/jdk14/Makefile @@ -35,6 +35,11 @@ BUILD_DEPENDS+= ${X11BASE}/lib/libXm.so:${PORTSDIR}/x11-toolkits/open-motif .endif PKGINSTALL= ${WRKDIR}/pkg-install +PKGDEINSTALL= ${WRKDIR}/pkg-deinstall +SUB_FILES+= pkg-install \ + pkg-deinstall +SUB_LIST+= JRE_HOME=${PREFIX}/jdk${JDK_VERSION}/jre \ + ARCH=${MACHINE_ARCH} WRKSRC= ${WRKDIR}/control/make @@ -335,8 +340,6 @@ post-install: ${FIND} "${PREFIX}/jdk${JDK_VERSION}/jre/plugin" -type d | ${XARGS} ${CHMOD} a+rx .endif @${LOCALBASE}/bin/registervm "${PREFIX}/jdk${JDK_VERSION}/bin/java # FREEBSD-JDK${JDK_VERSION}" - @${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 .include <bsd.port.post.mk> diff --git a/java/jdk14/files/pkg-deinstall.in b/java/jdk14/files/pkg-deinstall.in new file mode 100644 index 000000000000..54724931d7b1 --- /dev/null +++ b/java/jdk14/files/pkg-deinstall.in @@ -0,0 +1,31 @@ +#!/bin/sh +# $FreeBSD$ + +# Set up a standard path +PATH=/usr/bin:/bin + +# Don't do anything during post-deinstall +if [ "$2" = "POST-DEINSTALL" ]; then + exit 0 +fi + +# Remove the plugin + +# Plugin location variables +BROWSERPLUGINDIR="%%X11BASE%%/lib/browser_plugins" +JAVAPLUGINDIR="%%JRE_HOME%%/plugin/%%ARCH%%/ns610" +PLUGIN=libjavaplugin_oji.so + +# Check if the package includes the plugin +if [ ! -e "${JAVAPLUGINDIR}/${PLUGIN}" ]; then + exit 0 +fi + +# See if the browser plugin is a link to the package plugin and remove it if so. +if [ -e "${BROWSERPLUGINDIR}/${PLUGIN}" -a \ + -L "${BROWSERPLUGINDIR}/${PLUGIN}" -a \ + x`ls -l "${BROWSERPLUGINDIR}/${PLUGIN}" 2>/dev/null | awk '/->/{print $NF;exit 0}END{exit 1}'` = x"${JAVAPLUGINDIR}/${PLUGIN}" ]; then + rm -f "${BROWSERPLUGINDIR}/${PLUGIN}" +fi + +exit 0 diff --git a/java/jdk14/files/pkg-install.in b/java/jdk14/files/pkg-install.in index fa980a9778f0..53fd8ef1b97c 100644 --- a/java/jdk14/files/pkg-install.in +++ b/java/jdk14/files/pkg-install.in @@ -1,19 +1,57 @@ #!/bin/sh +# $FreeBSD$ # System preference location -PREFS_LOCATION=%%JRE_HOME%% +JRE_HOME=%%JRE_HOME%% -# Set up system preferences during post install +# Post-install actions if [ "$2" = "POST-INSTALL" ]; then - if [ ! -d "${PREFS_LOCATION}/.systemPrefs" ] ; then - mkdir -m 755 "${PREFS_LOCATION}/.systemPrefs" + # Set up system preferences + if [ ! -d "${JRE_HOME}/.systemPrefs" ] ; then + mkdir -m 755 "${JRE_HOME}/.systemPrefs" fi - if [ ! -f "${PREFS_LOCATION}/.systemPrefs/.system.lock" ] ; then - touch "${PREFS_LOCATION}/.systemPrefs/.system.lock" - chmod 644 "${PREFS_LOCATION}/.systemPrefs/.system.lock" + if [ ! -f "${JRE_HOME}/.systemPrefs/.system.lock" ] ; then + touch "${JRE_HOME}/.systemPrefs/.system.lock" + chmod 644 "${JRE_HOME}/.systemPrefs/.system.lock" fi - if [ ! -f "${PREFS_LOCATION}/.systemPrefs/.systemRootModFile" ] ; then - touch "${PREFS_LOCATION}/.systemPrefs/.systemRootModFile" - chmod 644 "${PREFS_LOCATION}/.systemPrefs/.systemRootModFile" + if [ ! -f "${JRE_HOME}/.systemPrefs/.systemRootModFile" ] ; then + touch "${JRE_HOME}/.systemPrefs/.systemRootModFile" + chmod 644 "${JRE_HOME}/.systemPrefs/.systemRootModFile" fi + + # Install the plugin + BROWSERPLUGINDIR="%%X11BASE%%/lib/browser_plugins" + JAVAPLUGINDIR="${JRE_HOME}/plugin/%%ARCH%%/ns610" + PLUGIN=libjavaplugin_oji.so + + # Check if the browser plugin exists + if [ ! -e "${JAVAPLUGINDIR}/${PLUGIN}" ]; then + exit 0 + fi + + # Check if the plugin directory exists. + if [ ! -d "${BROWSERPLUGINDIR}" ]; then + exit 0 + fi + + # Check if the browser plugin currently exists + if [ ! -e "${BROWSERPLUGINDIR}/${PLUGIN}" ]; then + # Create symbolic link + ln -sf "${JAVAPLUGINDIR}/${PLUGIN}" \ + "${BROWSERPLUGINDIR}/${PLUGIN}" + exit 0 + fi + + # If the browser plugin exists and is a symlink, but the link + # doesn't exist, then overwrite with our plugin. + if [ -L "${BROWSERPLUGINDIR}/${PLUGIN}" ]; then + # Check if the linked to file exists. + if [ ! -e `ls -l "${BROWSERPLUGINDIR}/${PLUGIN}" 2>/dev/null | awk '/->/{print $NF;exit 0}END{exit 1}'` ]; then + ln -sf "${JAVAPLUGINDIR}/${PLUGIN}" \ + "${BROWSERPLUGINDIR}/${PLUGIN}" + exit 0 + fi + fi + + exit 0 fi |