lib/pvl pvl/hosts/update.sh: handle either file or directory based dhcp/hosts, zones/forward, zones/reverse sources
--- a/lib/pvl/hosts/dhcp.sh Sun Mar 01 20:15:18 2015 +0200
+++ b/lib/pvl/hosts/dhcp.sh Sun Mar 01 20:24:51 2015 +0200
@@ -11,17 +11,10 @@
function update_hosts_dhcp {
local out="$1"
local src="$2"
- local srcs=
+ local srcs=($(list_tree $src))
local msg="$out: Generating DHCP hosts: $src"
- # src can be either a dir with symlinks, or a symlink
- if [ -d "$src" ]; then
- srcs=$(list "$src")
- else
- srcs="$src"
- fi
-
- if apply_check "$out" $src $srcs; then
+ if apply_check "$out" "${srcs[@]}"; then
log_skip "$msg"
else
log_apply "$msg"
--- a/lib/pvl/hosts/update.sh Sun Mar 01 20:15:18 2015 +0200
+++ b/lib/pvl/hosts/update.sh Sun Mar 01 20:24:51 2015 +0200
@@ -76,12 +76,12 @@
## Hosts
log "Updating forward host zones..."
for zone in $(list_dirs etc/zones/forward); do
- update_hosts_forward "var/zones/forward/$zone" "etc/zones/forward/$zone/"
+ update_hosts_forward "var/zones/forward/$zone" "etc/zones/forward/$zone"
done
log "Updating reverse host zones..."
for zone in $(list_dirs etc/zones/reverse); do
- update_hosts_reverse "var/zones/reverse/$zone" "etc/zones/reverse/$zone/"
+ update_hosts_reverse "var/zones/reverse/$zone" "etc/zones/reverse/$zone"
done
log "Updating DHCP hosts..."
--- a/lib/pvl/hosts/zone.sh Sun Mar 01 20:15:18 2015 +0200
+++ b/lib/pvl/hosts/zone.sh Sun Mar 01 20:24:51 2015 +0200
@@ -16,7 +16,7 @@
function update_hosts_forward {
local out="$1"
local src="$2"
- local srcs=($src/*)
+ local srcs=($(list_tree $src))
local msg="$out: Generating forward hosts zone: $src"
if apply_check "$out" "${srcs[@]}"; then
@@ -36,10 +36,10 @@
function update_hosts_reverse {
local out="$1"
local src="$2"
- local srcs=$src/*
+ local srcs=($(list_tree $src))
local msg="$out: Generating reverse hosts zone: $src"
- if apply_check "$out" $srcs; then
+ if apply_check "$out" "${srcs[@]}"; then
log_skip "$msg"
else
log_apply "$msg"