diff options
Diffstat (limited to 'java/jdk14/files/pkg-install.in')
-rw-r--r-- | java/jdk14/files/pkg-install.in | 58 |
1 files changed, 48 insertions, 10 deletions
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 |