--- a/bin/update Thu Dec 19 03:08:19 2013 +0200
+++ b/bin/update Thu Dec 19 18:55:53 2013 +0200
@@ -55,7 +55,7 @@
log "Updating DHCP hosts..."
for hosts in $(list_files etc/hosts); do
- update_hosts_dhcp "var/dhcp/$hosts.conf" \
+ update_hosts_dhcp "var/dhcp/hosts/$hosts.conf" \
"etc/hosts/$hosts"
done
@@ -73,14 +73,19 @@
log "Updating zone serials..."
for zone in $(list_files etc/zones); do
- update_serial "var/serials/$zone" "etc/zones/$zone" \
- $(zone_includes var/include-cache/$zone etc/zones/$zone var/zones/)
+ update_serial "var/serials/$zone" \
+ "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"
done
+
+ log "Updating DHCP confs..."
+ for conf in $(list_files etc/dhcp); do
+ update_dhcp_conf "var/dhcp/$conf" "etc/dhcp/$conf"
+ done
## Check
log "Testing zones..."
@@ -88,7 +93,7 @@
check_zone "var/zones/$zone" $zone
done
- log "Testing dhcp hosts..."
+ log "Testing DHCP confs..."
for conf in var/dhcp/*.conf; do
check_dhcp $conf
done
@@ -114,11 +119,13 @@
done
## Output dirs
- for dir in var var/dhcp var/zones var/serials var/include-cache; do
+ ensure_dir var
+ for dir in var/dhcp var/zones var/serials var/include-cache; do
ensure_dir $dir
done
-
- # sub-$ZONES
+ for dir in var/dhcp/hosts; do
+ ensure_dir $dir
+ done
for dir in var/zones/includes var/zones/hosts var/zones/reverse-hosts; do
ensure_dir $dir
done
--- a/lib/update.operations Thu Dec 19 03:08:19 2013 +0200
+++ b/lib/update.operations Thu Dec 19 18:55:53 2013 +0200
@@ -185,6 +185,21 @@
fi
}
+## Generate dhcp confs from source using pvl.dhcp-conf:
+function update_dhcp_conf {
+ local out="$1"
+ local src="$2"
+
+ if check_update "$out" "$src"; then
+ log_update "Generating $out <- $src..."
+
+ do_update "$out" $OPT/bin/pvl.dhcp-conf "$src" \
+ --include-path=$SRV/var/dhcp
+ else
+ log_skip "Generating $out <- $src: not changed"
+ fi
+}
+
## Test hosts zone for validity using pvl.hosts-check:
#
# check_hosts .../hosts