diff -r 1b02d8075676 -r a756f317d083 bin/update --- a/bin/update Thu Dec 19 22:00:37 2013 +0200 +++ b/bin/update Thu Dec 19 23:22:12 2013 +0200 @@ -13,12 +13,28 @@ source lib/update -function update { +function commit { + ## Commit + # pre-commit check log "Testing hosts..." for hosts in $(list_files etc/hosts); do log_warn "TODO: check_hosts $hosts" done + # commit, unless noop'd + log "Commit..." + update_commit etc +} + +function update { + if hg_modified etc; then + serial=$(unix_time) + log_warn "Using local unix time for uncommited changes: $serial" + else + serial=$(hg_time etc) + log_update "Using HG commit timestamp: $serial" + fi + ## Hosts log "Updating forward host zones..." for zone in $(list_dirs etc/hosts/forward); do @@ -46,13 +62,14 @@ log "Updating zone serials..." for zone in $(list_files etc/zones); do - update_serial "var/serials/$zone" \ + update_serial "var/serials/$zone" $serial \ "etc/zones/$zone" $(zone_includes var/include-cache/$zone etc/zones/$zone var/zones/) done log "Updating zones..." for zone in $(list_files etc/zones); do - update_zone "var/zones/$zone" "etc/zones/$zone" "var/serials/$zone" + update_zone "var/zones/$zone" "etc/zones/$zone" "var/serials/$zone" \ + $(zone_includes var/include-cache/$zone etc/zones/$zone var/zones/) done log "Updating DHCP confs..." @@ -79,8 +96,6 @@ log "Reload dhcp..." reload_dhcp - log "Commit..." - commit etc } ## Main entry point @@ -94,7 +109,7 @@ ## Output dirs ensure_dir var - for dir in var/dhcp var/zones var/serials var/include-cache; do + for dir in var/dhcp var/zones var/include-cache var/serials; do ensure_dir $dir done for dir in var/dhcp/hosts; do @@ -108,6 +123,7 @@ done ## Go + commit update deploy }