summaryrefslogtreecommitdiff
path: root/package/control
diff options
context:
space:
mode:
Diffstat (limited to 'package/control')
-rwxr-xr-xpackage/control36
1 files changed, 36 insertions, 0 deletions
diff --git a/package/control b/package/control
new file mode 100755
index 0000000..8f2bdf8
--- /dev/null
+++ b/package/control
@@ -0,0 +1,36 @@
+#!/bin/sh
+
+shout() { echo "$0: $@" >&2; }
+barf() { shout "fatal: $@"; exit 111; }
+safe() { "$@" || barf "cannot $@"; }
+
+here=`env - PATH=$PATH pwd`
+mypwd=${here%package}
+mypwd=${mypwd%/}
+home=`head -1 $mypwd/conf-home`
+
+safe umask 022
+[ -d package ] || barf "no package directory"
+[ -d command ] || barf "no command directory"
+[ -d ctl ] || barf "no ctl directory"
+[ -d $home/control ] || barf "no s/qmail/control directory"
+
+[ -x command/hostname ] || barf "no 'hostname' file"
+
+[ -f $home/control/me ] || \
+safe command/hostname > $home/control/me
+
+[ -f $home/control/rcpthosts ] || \
+safe command/hostname > $home/control/rcpthosts
+
+[ -f $home/control/tlsdestinations ] || \
+safe echo '*:' > $home/control/tlsdestinations
+
+for i in `ls ctl`
+do
+ [ -f $home/control/$i ] || safe cp ctl/$i $home/control/
+done
+
+shout "s/qmail control files populated."
+
+exit 0