diff options
Diffstat (limited to 'java/jdk16/files')
-rw-r--r-- | java/jdk16/files/pkg-deinstall.in | 31 | ||||
-rw-r--r-- | java/jdk16/files/pkg-install.in | 36 |
2 files changed, 67 insertions, 0 deletions
diff --git a/java/jdk16/files/pkg-deinstall.in b/java/jdk16/files/pkg-deinstall.in new file mode 100644 index 000000000000..85c89b9d0a51 --- /dev/null +++ b/java/jdk16/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%%/ns7" +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/jdk16/files/pkg-install.in b/java/jdk16/files/pkg-install.in index 6b1b106336c9..0521efe53563 100644 --- a/java/jdk16/files/pkg-install.in +++ b/java/jdk16/files/pkg-install.in @@ -17,4 +17,40 @@ if [ "$2" = "POST-INSTALL" ]; 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%%/ns7" + 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 |