* add a script that tries to migrate the systems /etc/aliases file if existant.
authorWilfried Göesgens <willi@citadel.org>
Mon, 19 Nov 2007 22:36:39 +0000 (22:36 +0000)
committerWilfried Göesgens <willi@citadel.org>
Mon, 19 Nov 2007 22:36:39 +0000 (22:36 +0000)
citadel/Makefile.in
citadel/debian/citadel-server.install
citadel/debian/citadel-server.postinst
citadel/migrate_aliases.sh [new file with mode: 0755]

index 9c8445176336d60b7e012e8b7498b30da9288ac4..e84984809f58d7caf4de035ea6b1cc5b8839003d 100644 (file)
@@ -276,7 +276,7 @@ install-exec: all
        $(srcdir)/mkinstalldirs $(DESTDIR)$(prefix)/unstripped
        cp $(SERVER_TARGETS) $(DESTDIR)$(prefix)/unstripped/
 
-       @for i in utilsmenu database_cleanup.sh citadel-openldap.schema; do \
+       @for i in utilsmenu database_cleanup.sh migrate_aliases.sh citadel-openldap.schema; do \
                if test -f $(srcdir)/$$i; then \
                        echo $(INSTALL) $(srcdir)/$$i $(DESTDIR)$(prefix)/$$i; \
                        $(INSTALL) $(srcdir)/$$i $(DESTDIR)$(prefix)/$$i; \
@@ -296,6 +296,7 @@ install-exec-new: all
                fi \
        done
        cp citserver $(DESTDIR)/$(UTILBIN_DIR)/citserver.unstripped
+       cp migrate_aliases.sh $(DESTDIR)/$(UTILBIN_DIR)/
        @for i in $(UTILBIN_TARGETS); do \
                if test -f $$i; then \
                        echo $(INSTALL) $$i $(DESTDIR)/$(UTILBIN_DIR)/$$i; \
index ff7819075f6dec06d7bc29f441d1ee098e3b7454..1eaa024eaae569d29e9a0f0a850338aed5930b8f 100644 (file)
@@ -7,6 +7,7 @@ usr/lib/citadel-server/base64
 usr/lib/citadel-server/chkpwd
 usr/lib/citadel-server/chkpw
 usr/lib/citadel-server/citserver.unstripped
+usr/lib/citadel-server/migrate_aliases.sh
 usr/sbin/aidepost
 usr/sbin/citmail
 usr/sbin/citserver
index b14199e5ba8883504688e7cbbf0973e9328a1bf1..d91229168743e97ffece16bcf4499a188faa8e16 100644 (file)
@@ -54,6 +54,7 @@ set >/tmp/citsetup
                 cat $WELCOMEHTML; 
                 printf "\r\n\r\n--$SEPERATOR--\r\n\r\n") | \
                     /usr/sbin/citmail -bm -r "$FROM" "$TO"
+           /usr/lib/citadel-server/migrate_aliases.sh
         fi
 
         if test -S /var/run/citadel/citadel.socket; then 
diff --git a/citadel/migrate_aliases.sh b/citadel/migrate_aliases.sh
new file mode 100755 (executable)
index 0000000..9408135
--- /dev/null
@@ -0,0 +1,26 @@
+#!/bin/bash
+
+CITALIAS=$1
+if test -f /etc/aliases; then
+    cat /etc/aliases | \
+       sed -e "s; *;;g" \
+            -e "s;\t*;;g" | \
+       grep -v ^root: | \
+       grep -v ^# | \
+       sed -e "s;:root;,room_aide;" \
+            -e "s;:;,;" >/tmp/aliases
+
+    NLINES=`cat /tmp/aliases|wc -l`
+    
+    for ((i=1; i <= $NLINES; i++)); do 
+       ALIAS=`head -n $i /tmp/aliases |tail -n 1`
+       ORG=`echo $ALIAS|sed "s;,.*;;"`
+       if grep $ORG $CITALIAS; then
+           echo "Ignoring Alias $ORG as its alreday there"
+       else
+           echo "$ALIAS" >>$CITALIAS
+       fi
+    done
+else
+    echo "no /etc/aliases found."
+fi 
\ No newline at end of file