aboutsummaryrefslogtreecommitdiff
path: root/bin/dojar
blob: 77dadfee04d2225e97a3b944b3d0b713fc301633 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
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