From 940e4623b3612aec1ccd4934e4a50fa670d2f23b Mon Sep 17 00:00:00 2001 From: Alexander Barton Date: Fri, 11 Jun 2010 11:13:53 +0200 Subject: [PATCH] Moved installation routine to separate script (don't depend on make) --- Makefile | 18 ++---------------- install.sh | 54 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 56 insertions(+), 16 deletions(-) create mode 100755 install.sh diff --git a/Makefile b/Makefile index 41c9d08..3f6dd64 100644 --- a/Makefile +++ b/Makefile @@ -16,8 +16,6 @@ NAME = "servertools.macosx" TOOLS = odbackup -PREFIX = /usr/local - all: $(TOOLS) clean: @@ -26,7 +24,8 @@ distclean: clean maintainer-clean: distclean -install: all install-odbackup +install: all + @./install.sh $(TOOLS) check: all @@ -41,18 +40,5 @@ distcheck: check dist odbackup: -install-odbackup: - mkdir -p $(PREFIX)/sbin - install -c -m 755 -o root -g wheel \ - odbackup/odbackup $(PREFIX)/sbin - launchctl list de.maccc.odbackup >/dev/null 2>&1 \ - && launchctl unload -w /Library/LaunchDaemons/de.maccc.odbackup.plist \ - || true - install -c -m 644 -o root -g wheel \ - odbackup/de.maccc.odbackup.plist /Library/LaunchDaemons - [ -x /usr/sbin/slapconfig ] \ - && launchctl load -w /Library/LaunchDaemons/de.maccc.odbackup.plist \ - || echo "\n *** 'slapconfig' not found, not enabling odbackup!\n" - .PHONY: all clean distclean maintainer-clean install check dist distcheck \ $(TOOLS) diff --git a/install.sh b/install.sh new file mode 100755 index 0000000..32210a1 --- /dev/null +++ b/install.sh @@ -0,0 +1,54 @@ +#!/bin/bash + +NAME="servertools.macosx" +PREFIX="/usr/local" + +if [ -z "$*" ]; then + echo "Usage: `basename \"$0\"` [ [...]]" + exit 1 +fi + +msg() { + echo " * $*" +} +warn() { + echo " > $*" +} +abort() { + echo -n " ! ERROR, aborting!" + [ -n "$*" ] && echo " ($*)" || echo + exit 1 +} + +install_odbackup() { + msg "Installing 'odbackup' ..." + mkdir -p $PREFIX/sbin || aboirt "mkdir" + install -c -m 755 -o root -g wheel \ + odbackup/odbackup $PREFIX/sbin || abort "install odbackup" + launchctl list de.maccc.odbackup >/dev/null 2>&1 + if [ $? -eq 0 ]; then + launchctl unload -w \ + /Library/LaunchDaemons/de.maccc.odbackup.plist \ + || abort "unloading de.maccc.odbackup.plist" + fi + install -c -m 644 -o root -g wheel \ + odbackup/de.maccc.odbackup.plist /Library/LaunchDaemons \ + || abort "install de.maccc.odbackup.plist" + if [ -x /usr/sbin/slapconfig ]; then + launchctl load -w \ + /Library/LaunchDaemons/de.maccc.odbackup.plist \ + || abort "loading de.maccc.odbackup.plist" + msg "Enabled odbackup launch daemon." + else + warn "'slapconfig' not found, not enabling launch daemon!" + fi +} + +for tool in $*; do + type "install_${tool}" >/dev/null 2>&1 + if [ $? -ne 0 ]; then + echo "`basename \"$0\"`: tool \"${tool}\" not found!" + exit 1 + fi + install_${tool} +done -- 2.39.2