lib/update.operations
branchdns-new
changeset 95 a756f317d083
parent 94 1b02d8075676
child 96 bed4765fc56f
--- a/lib/update.operations	Thu Dec 19 22:00:37 2013 +0200
+++ b/lib/update.operations	Thu Dec 19 23:22:12 2013 +0200
@@ -106,49 +106,44 @@
 
 ## Update .serial number:
 #
-#   do_update_serial $serial
+#   do_update_serial .../serials/$zone  $serial
 #
-# Shows old/new serial on debug.
 function do_update_serial {
-    local serial="$1"
+    local dst="$1"
+    local serial="$2"
 
-    # read
-    local old=$(test -e "$serial" && cat "$serial" || echo '')
-
-    cmd $OPT/bin/pvl.dns-serial "$serial"
-    
-    # read
-    local new=$(cat "$serial")
-        
-    debug "  $old -> $new"
+    echo $serial > $dst
 }
 
 
 ## Generate new serial for zone using pvl.dns-serial, if the zone data has changed:
 #
-#   update_serial   $zone   $deps...
+#   update_serial   .../serials/$zone   $serial     $deps...
 #
 # Supports SERIAL_FORCE/NOOP.
 # Updates $SERIALS/$zone.serial.
 function update_serial {
+    local dst="$1"; shift
     local serial="$1"; shift
+
+    local old=$(test -e "$dst" && cat "$dst" || echo '')
     
     # test
     if [ $SERIAL_FORCE ]; then
-        log_force "Updating $serial: forced"
+        log_force "Updating $dst: $old <- $serial: forced"
 
-        do_update_serial "$serial"
+        do_update_serial "$dst" "$serial"
 
-    elif ! check_update "$serial" "$@"; then
-        log_skip "Updating $serial: not changed"
+    elif ! check_update "$dst" "$@"; then
+        log_skip "Updating $dst: $old <- $serial: not changed"
 
     elif [ $SERIAL_NOOP ]; then
-        log_noop "Updating $serial: skipped"
+        log_noop "Updating $dst: $old <- $serial: skipped"
 
     else
-        log_update "Updating $serial..."
+        log_update "Updating $dst: $old <- $serial"
 
-        do_update_serial "$serial"
+        do_update_serial "$dst" "$serial"
     fi
 }
 
@@ -156,21 +151,20 @@
 #
 #   update_zone out/zones/$zone in/zones/$zone var/serials/$zone
 function update_zone {
-    local out="$1"
-    local src="$2"
-    local serial="$3"
+    local out="$1"; shift
+    local src="$1"; shift
+    local serial="$1"; shift
     local serial_opt=
 
     if [ -n "$serial" -a -f "$serial" ]; then
         serial_opt="--serial=$(cat "$serial")"
-
     elif [ $SERIAL_NOOP ]; then
         warn "$out: noop'd serial, omitting"
     else
         fail "$out: missing serial: $serial"
     fi
 
-    if check_update "$out" "$src" "$serial"; then
+    if check_update "$out" "$src" "$serial" "$@"; then
         log_update "Generating $out <- $src..." 
 
         do_update "$out" $OPT/bin/pvl.dns-zone "$src" \
@@ -356,7 +350,7 @@
 #   commit_data
 #
 # Invokes `hg commit`, first showing the diff.
-function commit {
+function update_commit {
     local repo=$1
     local commit_msg="$COMMIT_MSG"
 
@@ -364,7 +358,7 @@
 
     # operate?
     if [ $COMMIT_FORCE ]; then
-        log_force   "$msg..."
+        log_force   "$msg: $commit_msg"
 
         do_commit "$commit_msg"
 
@@ -377,7 +371,7 @@
         # still show diff, though
         [ $LOG_DIFF ] && indent "    " hg_diff $repo
     else
-        log_update  "$msg..."
+        log_update  "$msg: $commit_msg"
 
         do_commit $repo "$commit_msg"
     fi