update: link_zones for paivola.*.zone -> paivola.zone
authorTero Marttila <terom@paivola.fi>
Mon, 19 Mar 2012 13:11:30 +0200
changeset 30 1a8bc67b1eb7
parent 29 6fc1e0429518
child 31 2b7aad3466c6
update: link_zones for paivola.*.zone -> paivola.zone
bin/update
--- a/bin/update	Mon Mar 19 12:48:00 2012 +0200
+++ b/bin/update	Mon Mar 19 13:11:30 2012 +0200
@@ -419,6 +419,24 @@
     fi
 }
 
+function link_zone_view {
+    local zone=$1
+    local view=$2
+    local base=$3
+    
+    local lnk=$ZONES/$view/$zone.zone
+    local tgt=$ZONES/$view/$base.zone
+
+    if [ -e $ROOT/$lnk ] && [ $(readlink $ROOT/$lnk) == $ROOT/$tgt ]; then
+        log_info "Linking $lnk -> $tgt: not changed"
+
+    else
+        log_info "Linking $lnk -> $tgt..."
+
+        cmd ln -sf $ROOT/$tgt $ROOT/$lnk
+    fi
+}
+
 function update_hosts {
     local dst=$1; shift
     local src=$1; shift
@@ -558,6 +576,19 @@
         check_zone          paivola.fi                  $ZONES/internal/paivola.zone
         check_zone          235.197.194.in-addr.arpa    $ZONES/paivola-reverse.zone
 
+    # extra zones...
+    local views=(internal external)
+    local base_zone=paivola
+    local link_zones=(paivola.fi paivola.net paivola.org paivola.info paivola.mobi xn--pivl-load8j.fi)
+
+    log "Linking extra zones..."
+    for view in "${views[@]}"; do
+        for zone in "${link_zones[@]}"; do
+            link_zone_view  $zone   $view   $base_zone
+            check_zone      $zone   $ZONES/$view/$zone.zone
+        done
+    done
+
     ## deploy
     if [ $DEPLOY_SKIP ]; then
         log "Deploy zones: skipped"