diff -r a88766722d18 -r 620f4594a09d lib/update.operations --- a/lib/update.operations Wed Mar 21 17:11:00 2012 +0200 +++ b/lib/update.operations Wed Mar 21 17:16:26 2012 +0200 @@ -17,6 +17,19 @@ fi } +function copy_generic { + local out=$1 + local src=$2 + + if check_update $out $src; then + log_update "Copying $out <- $src..." + + do_update $out \ + cat $ROOT/$src + else + log_skip "Copying $out <- $src: not changed" + fi +} ## Hosts ## Update hosts from verbatim from input zone data: @@ -28,14 +41,11 @@ local zone=$1 local base=$2 - if check_update $zone $base; then - log_update "Copying hosts $zone <- $base..." + # XXX: filenames given directly + local out=$zone + local src=$base - do_update $zone \ - cat $ROOT/$base - else - log_skip "Copying hosts $zone <- $base: not changed" - fi + copy_generic $out $src } ## Generate hosts from input zone data using $BIN/process-zone: @@ -118,7 +128,6 @@ local out=$SERIALS/$zone.serial local tgt=$SERIALS/$base.serial - link_generic $out $tgt } @@ -135,14 +144,7 @@ local out=$ZONES/$view/$zone local src=$DATA/$base - if check_update $out $src; then - log_update "Copying $out <- $src..." - - do_update $out \ - cat $ROOT/$src - else - log_skip "Copying $out <- $src: not changed" - fi + copy_generic $out $src } ## Expand zone file from source using $BIN/expand-zone: @@ -203,6 +205,17 @@ link_generic $out $tgt } +## Copy dhcp conf from data to $DHCP +function copy_dhcp_conf { + local conf=$1 + local base=${2:-$conf} + + local out=$DHCP/$conf.conf + local src=$DHCP_DATA/$base.conf + + copy_generic $out $src +} + ## Test hosts zone for validity: # # check_hosts $DATA/$hosts --check-exempt ...