[pkg-jboss-commits] cvs commit to jboss3/debian by agx

pkg-jboss-commits@lists.alioth.debian.org pkg-jboss-commits@lists.alioth.debian.org
Wed, 07 Jul 2004 07:28:26 -0600


Update of /cvsroot/pkg-jboss/jboss3/debian
In directory haydn:/tmp/cvs-serv25067/debian

Added Files:
	create-server-config 
Log Message:
add script to create custom configs

--- NEW FILE: create-server-config ---
#!/bin/bash -e
# Create a custom jboss config based on one shipped by debian
#
# It will be placed under /srv/jboss/<config>, variable data goes into
# /var/cache, log files still end up in /var/log
#
# (c) 2004 Guido Guenther <agx@sigxcpu.org>
#
# Licence GPLv2

PKG=jboss3

. /etc/default/${PKG}

# set DESTDIR for e.g. package builds
BASE=/usr/share/${PKG}/server
TARGET_REAL=/srv/${PKG}
TARGET=${DESTDIR}/${TARGET_REAL}
VAR_REAL=/var/cache/${PKG}
VAR=${DESTDIR}/${VAR_REAL}
LOG_REAL=/var/log/${PKG}
LOG=${DESTDIR}/${LOG_REAL}
# Make sure JBOSS_USER is sane, even when unset in /etc/default/${PKG}
JBOSS_USER=${JBOSS_USER:-jboss}

function usage()
{
	echo `basename $0` old_config  new_config
}

if [ ! -z "$DESTDIR" ]; then 
	mkdir -p $DESTDIR/$BASE
fi

if [ -z "$1" -o -z "$2" ]; then
	usage
	exit 1
else
	OLD=$1
	BASE_DIR=$BASE/$OLD
	NEW=$2
	TARGET_DIR=$TARGET/$NEW
	TARGET_REAL_DIR=$TARGET_REAL/$NEW
	VAR_DIR=$VAR/$NEW
	VAR_REAL_DIR=$VAR_REAL/$NEW
	LOG_DIR=$LOG/$NEW
	LOG_REAL_DIR=$LOG_REAL/$NEW
fi

if [ -d $TARGET/$NEW ]; then
	echo "Config already exists. Giving up."
	exit 1
fi

echo "Creating config in $TARGET_DIR..."

echo -n "Copying files to $TARGET_DIR"
mkdir -p $TARGET_DIR
for i in deploy lib; do
	cp -r --dereference $BASE_DIR/$i $TARGET_DIR
done

# these are not present in all configs
for i in deploy-hasingleton; do
	[ -d $BASE_DIR/$i ] && cp -r --dereference $BASE_DIR/$i $TARGET_DIR
done
echo .

# these neither, but they also need special permissions
if [ -d  $BASE_DIR/farm ]; then 
	echo -n "Creating farm/ dir"
	mkdir $TARGET_DIR/farm
	chown ${JBOSS_USER}:root $TARGET_DIR/farm
	echo .
fi

echo -n "Creating varibale data storage in $VAR_DIR"
for i in tmp work data; do
	mkdir -p $VAR_DIR/$i
	ln -s $VAR_REAL_DIR/$i $TARGET_DIR
done
chown -R ${JBOSS_USER}:root $VAR_DIR
echo .

echo -n "Creating log dir in $LOG"
mkdir -p $LOG_DIR
ln -s $LOG_REAL_DIR $TARGET_DIR/log
chown -R ${JBOSS_USER}:root $LOG_DIR
echo .

# Conf is special since it may contain symlinks which we don't want to dereference
echo -n "Copying conf/ to $TARGET_DIR"
mkdir $TARGET_DIR/conf/
cp -r $BASE_DIR/conf/* $TARGET_DIR/conf/
# Still needs special handling, buah.
if [ -L $TARGET_DIR/conf/jboss.web ]; then
	mkdir -p $VAR_DIR/jboss.web
	rm $TARGET_DIR/conf/jboss.web 
	ln -s $VAR_REAL_DIR/jboss.web $TARGET_DIR/conf/
fi
echo .


echo -n "Creating symlink in $BASE"
if [ -f "$BASE/$NEW" ]; then
	echo "$BASE/$NEW exists, please remove."
	exit 1
else
	ln -s $TARGET_REAL_DIR ${DESTDIR}/$BASE/$NEW
fi
echo .

echo "Done."