view setup @ 3:0d4378996672 draft

improve setup script Signed-off-by: Changaco <changaco ατ changaco δοτ net>
author Changaco <changaco ατ changaco δοτ net>
date Mon, 16 Apr 2012 00:24:59 +0200
parents a68d7feeba88
children 70bf588021fa
line wrap: on
line source

#!/bin/sh

usage () {
	echo "usage: [DESTDIR=/] [PREFIX=/usr] $(basename "$0") install|uninstall|update" && exit 1
}

remove () {
	[ -e "$1" ] && rm -vrf --preserve-root "$1"
}

install_dir () {
	mkdir -p "$2"
	cp -rv "$1" "$2"
}

[ $# -eq 1 ] && action=$1 || usage

[ -z "$DESTDIR" ] && DESTDIR=/
[ -z "$PREFIX" ] && PREFIX=/usr
_PREFIX=${DESTDIR%%/}/${PREFIX##/}

[ ! -w "$DESTDIR" ] && echo "You don't have write access on $DESTDIR" && exit 1

progname=feed-push
confdir="${DESTDIR}etc/$progname"

if [ "$action" == install ]; then
	install -v -m 755 -D $progname "$_PREFIX/bin/$progname"
	install_dir examples "$_PREFIX/share/$progname"
	[ -d /etc/rc.d ] && install_dir rc.d "${DESTDIR}etc" && mkdir -v "$confdir"
elif [ "$action" == uninstall ]; then
	remove "$_PREFIX/bin/$progname"
	remove "$_PREFIX/share/$progname/examples"
	remove "${DESTDIR}etc/rc.d/$progname"
	if [ $(ls -a "$confdir") -eq 2 ]; then rmdir "$confdir"
	else echo "not removing config dir $confdir (not empty)"
	fi
elif [ "$action" == update ]; then
	$0 uninstall &>/dev/null
	$0 install
else
	usage
fi

exit 0