chiark / gitweb /
Big changes to fully configure for group
[modbot-mtm.git] / get-settings
diff --git a/get-settings b/get-settings
new file mode 100644 (file)
index 0000000..5c55e77
--- /dev/null
@@ -0,0 +1,48 @@
+#
+
+paskeys='KEYSUBMIT KEYSTUMP2WEB KEYWEB2STUMP'
+pas="$paskeys"
+for k in $pas; do eval "$k=''"; export $k; done
+
+. settings
+export GROUP ABBREV INFOHEADER MODEMAIL GROUPURL
+
+. ../global-settings
+export ROOTBASEDIR CGIBASEURL DOMAIN SLIMYDOMAIN OURUSER ADMIN
+export LOGGROUPPREFIX LOGGROUPEMAILPREFIX TESTGROUP
+export STATICFILESURL STATICFILESDIR CGISCRIPTDIR
+
+BASEDIR=$ROOTBASEDIR/live-$ABBREV
+export BASEDIR
+
+
+# derivative settings:
+
+test -f persistent-autosettings || touch persistent-autosettings
+. persistent-autosettings
+
+exec 3>persistent-autosettings.new
+cat >&3 persistent-autosettings
+
+for k in $pas; do
+       eval "v=\$$k"
+       if [ "x$v" != x ]; then continue; fi
+
+       v="`dd if=/dev/urandom count=6 ibs=1 2> /dev/null \
+               | uuencode -m - \
+               | perl -ne 'y/A-Z\+\//a-z01/; print if $.==2;' `"
+       case $v in
+       ????????)       ;;
+       *)              exit 1;;
+       esac
+       case $v in
+       *[^0-9a-z]*)    echo >&2 "unexpected from dd etc.: $v"; exit 1 ;;
+       esac
+       echo >&3 "$k='$v'"
+done
+
+mv -f persistent-autosettings.new persistent-autosettings
+
+exec 3>&-
+. persistent-autosettings
+