#!/bin/sh # # Small script to install a jar in multiple version-specific locations # # JPackage project # # $Id: jvmjar,v 1.1 2004/12/15 16:23:45 robert Exp $ # System-wide java configuration JAVA_CONF="/etc/java/java.conf" if [ -z "$JAVA_LIBDIR" ] ; then [ -r "$JAVA_CONF" ] && . "$JAVA_CONF" || JAVA_LIBDIR="/usr/share/java" fi usage() { cat << EOF_USAGE Usage: $0 [ ... ] - l|u: link/unlink jars - jar: name of the jar present in $JAVA_LIBDIR-ext to install as a jvm extension For example: jaf for $JAVA_LIBDIR-ext/jaf.jar Only required with -l - extension: name under which the jar should be known in the jvm dirs For example: activation for activation.jar This is necessary when the same extension is provided by different jars depending on jvm version (i.e. classes.jar, classes12.jar and so on). - versionX: versions of the java standard (1.2, 1.3...) that support this jar as an external extension EOF_USAGE exit 0 } [ $# -lt 3 ] && usage case "$1" in -l|--link|-c|--create) LINK="true" [ $# -lt 4 ] && usage shift ORIGINAL_JAR_NAME="$1" if ! [ -e "$JAVA_LIBDIR-ext/$ORIGINAL_JAR_NAME.jar" ] ; then echo "Could not find $JAVA_LIBDIR-ext/$ORIGINAL_JAR_NAME.jar" >&2 exit 1 fi ;; -u|--unlink|-d|--delete) LINK="false" ;; *) usage esac shift EXTENSION_NAME="$1" shift for version in "$@" ; do if [ $LINK = "true" ] ; then [ -d $JAVA_LIBDIR-$version ] || install -d -m 755 $JAVA_LIBDIR-$version ln -fs "../java-ext/$ORIGINAL_JAR_NAME.jar" \ $JAVA_LIBDIR-$version/$EXTENSION_NAME.jar else rm -f "$JAVA_LIBDIR-$version/$EXTENSION_NAME.jar" fi done