Change to domtool-publish script usage
authorAdam Chlipala <adamc@hcoop.net>
Sat, 9 Dec 2006 18:37:08 +0000 (18:37 +0000)
committerAdam Chlipala <adamc@hcoop.net>
Sat, 9 Dec 2006 18:37:08 +0000 (18:37 +0000)
Makefile
configDefault/apache.cfg
configDefault/bind.cfg
configDefault/bind.csg
configDefault/exim.cfg
configDefault/mailman.cfg
scripts/domtool-publish [new file with mode: 0755]
src/domain.sml

index fd671a9..a4ab474 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -77,6 +77,7 @@ bin/domtool-client: openssl/mlton/FFI/libssl.h.mlb \
        mlton -output bin/domtool-client -link-opt -ldl src/domtool-client.mlb
 
 install:
        mlton -output bin/domtool-client -link-opt -ldl src/domtool-client.mlb
 
 install:
-       -cp openssl/openssl_sml.so /usr/local/lib/
-       -cp bin/domtool-server /usr/local/sbin/
-       -cp bin/domtool-client /usr/local/bin/domtool
+       cp scripts/domtool-publish /usr/local/sbin/
+       cp openssl/openssl_sml.so /usr/local/lib/
+       cp bin/domtool-server /usr/local/sbin/
+       cp bin/domtool-client /usr/local/bin/domtool
index 2a1f173..89f8b70 100644 (file)
@@ -1,7 +1,6 @@
 structure Apache :> APACHE_CONFIG = struct
 
 structure Apache :> APACHE_CONFIG = struct
 
-val reload = "/usr/bin/rsync --delete /var/domtool/vhosts/* /etc/apache2/ ; echo \"I would reload Apache now.\""
-(*"/etc/init.d/apache2 reload"*)
+val reload = "/usr/local/sbin/domtool-publish apache"
 
 val confDir = "/var/domtool/vhosts"
 
 
 val confDir = "/var/domtool/vhosts"
 
index 4756423..f3aa9c1 100644 (file)
@@ -3,10 +3,10 @@ structure Bind :> BIND_CONFIG = struct
 val defaultTTL = 172800
 
 val zonePath = "/var/domtool/zones"
 val defaultTTL = 172800
 
 val zonePath = "/var/domtool/zones"
+val zonePath_real = "/etc/bind/zones"
 
 val namedConf = "/var/domtool/named.conf.local"
 
 
 val namedConf = "/var/domtool/named.conf.local"
 
-val reload = "/usr/bin/rsync --delete /var/domtool/zones/* /etc/bind/zones/ ; /bin/cp /var/domtool/named.conf.local /etc/bind/ ; echo \"I would reload Bind now.\""
-(*"/etc/init.d/bind9 reload"*)
+val reload = "/usr/local/sbin/domtool-publish bind"
 
 end
 
 end
index 31760e1..e89b146 100644 (file)
@@ -3,6 +3,7 @@ signature BIND_CONFIG = sig
     val defaultTTL : int
 
     val zonePath : string
     val defaultTTL : int
 
     val zonePath : string
+    val        zonePath_real : string
 
     val        namedConf : string
 
 
     val        namedConf : string
 
index f10a815..997b370 100644 (file)
@@ -4,8 +4,7 @@ val aliases = "/var/domtool/aliases"
 val aliasesDefault = "/var/domtool/aliases.default"
 val handleDomains = "/var/domtool/local_domains.cfg"
 
 val aliasesDefault = "/var/domtool/aliases.default"
 val handleDomains = "/var/domtool/local_domains.cfg"
 
-val reload = "cp /var/domtool/aliases /etc/ ; cp /var/domtool/aliases.default /etc/ ; cp /var/domtool/local_domains.cfg /etc/exim4/ ; echo \"I would reload Exim now.\""
-(*"/etc/init.d/exim4 reload"*)
+val reload = "/usr/local/sbin/domtool-publish exim"
 
 val aliasTo = ["deleuze"]
 
 
 val aliasTo = ["deleuze"]
 
index 837554d..017dd14 100644 (file)
@@ -4,7 +4,6 @@ val node = "deleuze"
 
 val mapFile = "/var/domtool/mailman.map"
 
 
 val mapFile = "/var/domtool/mailman.map"
 
-val reload = "cp /var/domtool/mailman.map /etc/mailman ; echo \"I would reload Mailman now.\""
-(*"/etc/init.d/mailman reload"*)
+val reload = "/usr/local/sbin/domtool-publish mailman"
 
 end
 
 end
diff --git a/scripts/domtool-publish b/scripts/domtool-publish
new file mode 100755 (executable)
index 0000000..5a23f7e
--- /dev/null
@@ -0,0 +1,29 @@
+#!/bin/sh -e
+
+case $1 in
+       apache)
+               /usr/bin/rsync --delete /var/domtool/vhosts/* /etc/apache2/
+               echo "I would reload Apache now."
+#              /etc/init.d/apache2 reload
+       ;;
+       bind)
+               /usr/bin/rsync --delete /var/domtool/zones/* /etc/bind/zones/
+               /bin/cp /var/domtool/named.conf.local /etc/bind/
+               echo "I would reload Bind now."
+#              /etc/init.d/bind9 reload
+       ;;
+       exim)
+               /bin/cp /var/domtool/aliases /etc/
+               /bin/cp /var/domtool/aliases.default /etc/
+               /bin/cp /var/domtool/local_domains.cfg /etc/exim4/
+               echo "I would reload Exim now."
+#              /etc/init.d/exim4 reload
+       ;;
+       mailman)
+               /bin/cp /var/domtool/mailman.map /etc/mailman
+               echo "I would reload Mailman now."
+#              /etc/init.d/mailman reload
+       ;;
+       *)
+               echo "Usage: domtool-publish [apache|bind|exim|mailman]"
+       ;;
index 34d6d10..f22c73b 100644 (file)
@@ -474,7 +474,7 @@ val _ = Env.containerV_one "domain"
                                           TextIO.output (outf, "\" IN {\n\ttype ");
                                           TextIO.output (outf, kind);
                                           TextIO.output (outf, ";\n\tfile \"");
                                           TextIO.output (outf, "\" IN {\n\ttype ");
                                           TextIO.output (outf, kind);
                                           TextIO.output (outf, ";\n\tfile \"");
-                                          TextIO.output (outf, Config.Bind.zonePath);
+                                          TextIO.output (outf, Config.Bind.zonePath_real);
                                           TextIO.output (outf, "/");
                                           TextIO.output (outf, dom);
                                           TextIO.output (outf, ".zone\";\n");
                                           TextIO.output (outf, "/");
                                           TextIO.output (outf, dom);
                                           TextIO.output (outf, ".zone\";\n");