--- 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
}