TOOLS = odbackup
-PREFIX = /usr/local
-
all: $(TOOLS)
clean:
maintainer-clean: distclean
-install: all install-odbackup
+install: all
+ @./install.sh $(TOOLS)
check: all
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)
--- /dev/null
+#!/bin/bash
+
+NAME="servertools.macosx"
+PREFIX="/usr/local"
+
+if [ -z "$*" ]; then
+ echo "Usage: `basename \"$0\"` <tool> [<tool> [...]]"
+ 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