gunnar: server cvs-kolab.sh,NONE,1.1
cvs at kolab.org
cvs at kolab.org
Fri Aug 24 15:49:07 CEST 2007
Author: gunnar
Update of /kolabrepository/server
In directory doto:/tmp/cvs-serv7898
Added Files:
cvs-kolab.sh
Log Message:
A draft shell script for installing a kolav-cvs environment.
--- NEW FILE: cvs-kolab.sh ---
#!/bin/bash
KOLAB_PACKAGES=/kolab-packages
KOLAB_DEV_USER=koldev
ACTION_INSTALL=0
ACTION_UPDATE=0
ACTION_CLEAN=0
FLAG_HORDE=0
FLAG_FBVIEW=0
INSTALL_OPTS=""
usage() {
echo "This tool allows you to install a CVS based Kolab server."
echo "The script is still highly experimental and might not work as expected."
echo
echo "Usage:"
echo " -i create a Kolab CVS environment"
echo " -u Update the CVS and installed system"
echo " -c uninstall the Kolab CVS environment"
echo " -h (display this help)"
echo
echo "Options:"
echo " -b Package directory (default: ${KOLAB_PACKAGES})"
echo " -d Kolab development user (default: ${KOLAB_DEV_USER})"
exit 1
}
install() {
if [ ! -e "/${KOLAB_DEV_USER}/CVS" ]; then
mkdir -p "${KOLAB_PACKAGES}/source-original"
cd "${KOLAB_PACKAGES}/source-original"
wget -r -l1 -nd --no-parent http://ftp.belnet.be/packages/kolab/server/beta/kolab-server-2.2-beta-1/sources/
gpg --recv-key 5816791A
gpg --verify MD5SUMS
md5sum -c MD5SUMS
cvs -d :pserver:anonymous at intevation.de:/home/kroupware/jail/kolabrepository co server/install-kolab.sh
rm install-kolab.sh
mv server/install-kolab.sh .
./install-kolab.sh -t "${KOLAB_DEV_USER}" -I 20414
mkdir "/${KOLAB_DEV_USER}/CVS"
fi
cd "/${KOLAB_DEV_USER}/CVS"
if [ ! -e "server" ]; then
cvs -q -d :pserver:anonymous at intevation.de:/home/kroupware/jail/kolabrepository co server
cd server
else
cd server
cvs -q update -P -d
fi
chown -R "${KOLAB_DEV_USER}:" "/${KOLAB_DEV_USER}/CVS"
su "${KOLAB_DEV_USER}" -c make
cd "${KOLAB_PACKAGES}/source-original"
if [ ! -e "${KOLAB_PACKAGES}/binary-${KOLAB_DEV_USER}" ]; then
./install-kolab.sh -D -t "${KOLAB_DEV_USER}"
mv "/${KOLAB_DEV_USER}/RPM/BDIST/" "${KOLAB_PACKAGES}/binary-${KOLAB_DEV_USER}"
fi
./install-kolab.sh -S -t "${KOLAB_DEV_USER}"
if [ ! -e "${KOLAB_PACKAGES}/source-${KOLAB_DEV_USER}" ]; then
mv "/${KOLAB_DEV_USER}/RPM/SDIST/" "${KOLAB_PACKAGES}/source-${KOLAB_DEV_USER}"
else
rsync -avz "/${KOLAB_DEV_USER}/RPM/SDIST/" "${KOLAB_PACKAGES}/source-${KOLAB_DEV_USER}/"
fi
cd "${KOLAB_PACKAGES}/source-${KOLAB_DEV_USER}"
./install-kolab.sh ${INSTALL_OPTS}
./install-kolab.sh -D
if [ ! -e "${KOLAB_PACKAGES}/binary-kolab" ]; then
mv /kolab/RPM/BDIST/ "${KOLAB_PACKAGES}/binary-kolab"
else
rsync -avz /kolab/RPM/BDIST/ "${KOLAB_PACKAGES}/binary-kolab/"
fi
echo "Everything finished!"
echo "You should now run:"
echo
echo " /kolab/etc/kolab/kolab_bootstrap -b"
echo " /kolab/bin/openpkg rc all start"
exit 0
}
update() {
cd "/${KOLAB_DEV_USER}/CVS/server"
cvs -q update -P -d
chown -R "${KOLAB_DEV_USER}:" "/${KOLAB_DEV_USER}/CVS"
su "${KOLAB_DEV_USER}" -c make
cd "${KOLAB_PACKAGES}/source-original"
./install-kolab.sh -S -t "${KOLAB_DEV_USER}"
rsync -avz "/${KOLAB_DEV_USER}/RPM/SDIST/" "${KOLAB_PACKAGES}/source-${KOLAB_DEV_USER}/"
./install-kolab.sh -D -t "${KOLAB_DEV_USER}"
rsync -avz "/${KOLAB_DEV_USER}/RPM/BDIST/" "${KOLAB_PACKAGES}/binary-${KOLAB_DEV_USER}/"
cd "${KOLAB_PACKAGES}/source-${KOLAB_DEV_USER}"
./install-kolab.sh ${INSTALL_OPTS}
./install-kolab.sh -D
rsync -avz /kolab/RPM/BDIST/ "${KOLAB_PACKAGES}/binary-kolab/"
/kolab/sbin/kolabconf
/kolab/bin/openpkg rc all restart
exit 0
}
clean() {
echo "This will completely wipe ${KOLAB_PACKAGES}, /${KOLAB_DEV_USER}, and /kolab."
echo "Are you certain you want to do that (YES/NO)?"
read ANSWER
if [ "$ANSWER" == "YES" ]; then
rm -rf "${KOLAB_PACKAGES}"
rm -rf "/${KOLAB_DEV_USER}"
rm -rf "/kolab"
exit 0
else
echo "Not cleaning."
exit 0
fi
}
while getopts hicuHFb:d: ARGS; do
case $ARGS in
h) # Display help
usage
;;
i) # Install
ACTION_INSTALL=1
;;
c) # Clean
ACTION_CLEAN=1
;;
u) # Update
ACTION_UPDATE=1
;;
H) # Include Horde in the installation
FLAG_HORDE=1
;;
F) # Include Fbview in the installation
FLAG_FBVIEW=1
;;
b) # User wants a different package directory
KOLAB_PACKAGES="${OPTARG}"
;;
d) # User wants a different development user
KOLAB_DEV_USER="${OPTARG}"
;;
esac
done
if [ "${FLAG_HORDE}" == "1" ]; then
INSTALL_OPTS="${INSTALL_OPTS} -H"
fi
if [ "${FLAG_FBVIEW}" == "1" ]; then
INSTALL_OPTS="${INSTALL_OPTS} -F"
fi
if [ "${ACTION_INSTALL}" == "1" ]; then
install
fi
if [ "${ACTION_CLEAN}" == "1" ]; then
clean
fi
update
More information about the commits
mailing list