exit 1
fi
+#
+# Helper functions
+#
+
+# Run a command on both mire and deleuze; assumes that no escaping is
+# needed.
+function mire_and_deleuze() {
+ $*
+ ssh mire.hcoop.net $*
+}
#
# Kerberos principals
vos examine user.$USER 2>/dev/null || \
vos create deleuze.hcoop.net /vicepa user.$USER -maxquota 400000
mkdir -p `dirname $HOMEPATH`
-fs ls $HOMEPATH || fs mkm $HOMEPATH user.$USER
+fs ls $HOMEPATH || test -L $HOMEPATH || fs mkm $HOMEPATH user.$USER
chown $USER:nogroup $HOMEPATH
fs sa $HOMEPATH $USER all
fs sa $HOMEPATH system:anyuser l
vos examine mail.$USER 2>/dev/null || \
vos create deleuze.hcoop.net /vicepa mail.$USER -maxquota 400000
mkdir -p `dirname $MAILPATH`
-chown $USER:nogroup $MAILPATH
fs ls $MAILPATH || fs mkm $MAILPATH mail.$USER
fs ls $HOMEPATH/Maildir || fs mkm $HOMEPATH/Maildir mail.$USER
+chown $USER:nogroup $MAILPATH
+chown $USER:nogroup $HOMEPATH/Maildir
fs sa $MAILPATH $USER all
fs sa $MAILPATH $USER.daemon all
vos syncvldb deleuze
# refresh volume location cache (takes ~2hrs otherwise)
-fs checkvolumes
-ssh mire.hcoop.net fs checkvolumes
+mire_and_deleuze fs checkvolumes
+
+#
+# Non-AFS files and directories
+#
+
+# Make per-user apache DAV lock directory -- the directory must be
+# both user and group-writable, which is silly.
+mire_and_deleuze sudo mkdir -p /var/lock/apache2/dav/$USER
+mire_and_deleuze sudo chown $USER:www-data /var/lock/apache2/dav/$USER
+mire_and_deleuze sudo chmod ug=rwx,o= /var/lock/apache2/dav/$USER