hcoop-git-maint: Only update page if new content is nonempty.
[clinton/scripts.git] / import-list
index 14e7edb..8965669 100755 (executable)
@@ -11,8 +11,9 @@ LISTDIR=$MMDIR/lists
 WORKDIR=/tmp/mmdir
 
 function usage() {
-    echo "Usage: import-list [--new] [--archive MBOX-FILE] [--conf CONF-FILE]"
-    echo "                   [--url WEB-PAGE-URL] LIST"
+    echo >&2 "Usage: import-list [--new] [--archive MBOX-FILE]" \
+        "[--conf CONF-FILE]"
+    echo >&2 "                   [--domain DOMAIN] [--url WEB-PAGE-URL] LIST"
 }
 
 function newlist() {
@@ -35,9 +36,16 @@ function newlist() {
     echo
 }
 
+if test "$UID" != "0"; then
+    echo "This program must be run as root"
+    usage
+    exit 1
+fi
+
 # Argument processing
 ARCH=
 CONF=
+DOM=
 NEW=n
 URL=
 
@@ -51,6 +59,14 @@ while test "forever"; do
        CONF=$1
        shift
         continue
+    elif test "$1" = "--domain"; then
+        shift
+       DOM=$1
+       shift
+        continue
+    elif test "$1" = "--help"; then
+        usage
+        exit 0
     elif test "$1" = "--new"; then
         NEW=y
         shift
@@ -75,7 +91,6 @@ elif test -n "$2"; then
     exit 1
 else
     LIST=$1
-    URL=$2
 fi
 
 # Create list if --new passed
@@ -107,8 +122,18 @@ if test -n "$CONF"; then
     echo
 fi
 
+# Change domain for accepting email
+if test -n "$DOM"; then
+    echo "Changing email domain for $LIST to $DOM ..."
+    echo "host_name = '$DOM'" >  $WORKDIR/$LIST.cfg
+    chown list:list $WORKDIR/$LIST.cfg
+    sudo -u list $BINDIR/config_list -i $WORKDIR/$LIST.cfg $LIST
+    rm -f $WORKDIR/$LIST.cfg
+    echo
+fi
+
 # Change URL for web interface
-if test -n "$CONF" && test -n "$URL"; then
+if test -n "$URL"; then
     echo "Changing web page URL for $LIST to $URL ..."
     echo "web_page_url = '$URL'" >  $WORKDIR/$LIST.cfg
     chown list:list $WORKDIR/$LIST.cfg
@@ -134,7 +159,7 @@ echo "Reloading mailman ..."
 /etc/init.d/mailman reload
 echo
 
-if test -n "$CONF"; then
+if test -n "$CONF" || test -n "$DOM"; then
     echo "Updating mailman definitions for Exim ..."
     /afs/hcoop.net/common/etc/scripts/mailman-update-exim-db
     echo