cn: $USER
gidNumber: $ID
memberUid: $USER
-" | sudo ldapadd -x -D cn=admin,dc=hcoop,dc=net -y /etc/ldap.secret
+" | sudo ldapadd -x -D cn=admin,dc=hcoop,dc=net -y /etc/ldap.secret || true
# USER.mailfilter entry
echo "
cn: $USER.mailfilter
gidNumber: $ID_MF
memberUid: $USER.mailfilter
-" | sudo ldapadd -x -D cn=admin,dc=hcoop,dc=net -y /etc/ldap.secret
+" | sudo ldapadd -x -D cn=admin,dc=hcoop,dc=net -y /etc/ldap.secret || true
# USER.cgi entry
echo "
cn: $USER.cgi
gidNumber: $ID_CGI
memberUid: $USER.cgi
-" | sudo ldapadd -x -D cn=admin,dc=hcoop,dc=net -y /etc/ldap.secret
+" | sudo ldapadd -x -D cn=admin,dc=hcoop,dc=net -y /etc/ldap.secret || true
#
#
# HOME VOLUME
-vos create deleuze.hcoop.net /vicepa user.$USER -maxquota 400000
+vos examine user.$USER 2>/dev/null || \
+ vos create deleuze.hcoop.net /vicepa user.$USER -maxquota 400000
mkdir -p `dirname $HOMEPATH`
-fs mkm $HOMEPATH user.$USER
+test -e $HOMEPATH || fs mkm $HOMEPATH user.$USER
chown $USER $HOMEPATH
fs sa $HOMEPATH $USER all
fs sa $HOMEPATH system:anyuser rl
fs sa $HOMEPATH/logs/apache $USER.cgi rlwidk
# MAIL VOLUME
-vos create deleuze.hcoop.net /vicepa mail.$USER -maxquota 400000
+vos examine mail.$USER 2>/dev/null || \
+ vos create deleuze.hcoop.net /vicepa mail.$USER -maxquota 400000
mkdir -p `dirname $MAILPATH`
-fs mkm $MAILPATH mail.$USER
-fs mkm $HOMEPATH/Maildir mail.$USER
+test -e $MAILPATH || fs mkm $MAILPATH mail.$USER
+test -e $HOMEPATH/Maildir || fs mkm $HOMEPATH/Maildir mail.$USER
fs sa $MAILPATH $USER all
fs sa $MAILPATH $USER.mailfilter all
mkdir -p `dirname /afs/hcoop.net/old/user/$PATHBITS`
mkdir -p `dirname /afs/hcoop.net/old/mail/$PATHBITS`
-fs mkm /afs/hcoop.net/old/user/$PATHBITS user.$USER.backup
-fs mkm /afs/hcoop.net/old/mail/$PATHBITS mail.$USER.backup
+test -e /afs/hcoop.net/old/user/$PATHBITS || \
+ fs mkm /afs/hcoop.net/old/user/$PATHBITS user.$USER.backup
+test -e /afs/hcoop.net/old/mail/$PATHBITS || \
+ fs mkm /afs/hcoop.net/old/mail/$PATHBITS mail.$USER.backup
vos syncserv deleuze
vos syncvldb deleuze
#
# Finally, set password for main user's principal
# Aborting this operation is harmless. Just re-invoke cpw.
+#
+# kadmin.local doesn't report errors properly, so we have to
+# check manually
#
-sudo kadmin.local -p root/admin -q "cpw $USER@HCOOP.NET"
+sudo kadmin.local -p root/admin -q "cpw $USER@HCOOP.NET" \
+ 2>&1 | grep 'Password for .* changed' || \
+ (echo "*** kadmin.local -q cpw failed!"; exit -1)