summaryrefslogtreecommitdiff
path: root/bin/dojar
diff options
context:
space:
mode:
Diffstat (limited to 'bin/dojar')
-rwxr-xr-xbin/dojar54
1 files changed, 54 insertions, 0 deletions
diff --git a/bin/dojar b/bin/dojar
new file mode 100755
index 00000000..77dadfee
--- /dev/null
+++ b/bin/dojar
@@ -0,0 +1,54 @@
+#!/bin/sh
+# Copyright 1999-2004 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-src/portage/bin/dojar,v 1.8 2004/10/04 13:56:50 vapier Exp $
+# Author Karl Trygve Kalleberg <karltk@gentoo.org>
+
+#
+# Typical usage:
+# dojar foo.jar bar.jar
+# - installs foo.jar and bar.jar into /usr/share/${PN}/lib, and adds them
+# both to /usr/share/${PN}/classpath.env
+#
+# Detailed usage
+# dojar <list-of-jars>
+# - installs <list-of-jars> into /usr/share/${PN}/lib and adds each to
+# /usr/share/${PN}/classpath.env.
+#
+# The classpath.env file is currently merely a convenience for the user as
+# it allows him to:
+# export CLASSPATH=${CLASSPATH}:`cat /usr/share/foo/classpath.env`
+#
+# For many packages that set FOO_HOME, placing the jar files into
+# lib will allow the user to set FOO_HOME=/usr/share/foo and have the
+# scripts work as expected.
+#
+# Possibly a jarinto will be needed in the future.
+#
+
+if [ -z "$JARDESTTREE" ] ; then
+ JARDESTTREE="lib"
+fi
+
+jarroot="${DESTTREE}/share/${PN}/"
+jardest="${DESTTREE}/share/${PN}/${JARDESTTREE}/"
+pf="${D}${jarroot}/package.env"
+
+dodir "${jardest}"
+
+for i in $* ; do
+ bn="$(basename $i)"
+
+ if [ -f "$pf" ] ; then
+ oldcp=`grep "CLASSPATH=" "$pf" | sed "s/CLASSPATH=//"`
+ grep -v "CLASSPATH=" "$pf" > "${pf}.new"
+ echo "CLASSPATH=${oldcp}:${jardest}${bn}" >> "${pf}.new"
+ mv "${pf}.new" "$pf"
+ else
+ echo "DESCRIPTION=\"${DESCRIPTION}\"" > "$pf"
+ echo "CLASSPATH=${jardest}${bn}" >> "$pf"
+ fi
+
+ cp "$i" "${D}${jardest}/"
+ chmod 0444 "${D}${jardest}/${bn}"
+done