equal
deleted
inserted
replaced
11 cd $SRV |
11 cd $SRV |
12 fi |
12 fi |
13 |
13 |
14 source lib/update |
14 source lib/update |
15 |
15 |
16 function update { |
16 function commit { |
|
17 ## Commit |
|
18 # pre-commit check |
17 log "Testing hosts..." |
19 log "Testing hosts..." |
18 for hosts in $(list_files etc/hosts); do |
20 for hosts in $(list_files etc/hosts); do |
19 log_warn "TODO: check_hosts $hosts" |
21 log_warn "TODO: check_hosts $hosts" |
20 done |
22 done |
|
23 |
|
24 # commit, unless noop'd |
|
25 log "Commit..." |
|
26 update_commit etc |
|
27 } |
|
28 |
|
29 function update { |
|
30 if hg_modified etc; then |
|
31 serial=$(unix_time) |
|
32 log_warn "Using local unix time for uncommited changes: $serial" |
|
33 else |
|
34 serial=$(hg_time etc) |
|
35 log_update "Using HG commit timestamp: $serial" |
|
36 fi |
21 |
37 |
22 ## Hosts |
38 ## Hosts |
23 log "Updating forward host zones..." |
39 log "Updating forward host zones..." |
24 for zone in $(list_dirs etc/hosts/forward); do |
40 for zone in $(list_dirs etc/hosts/forward); do |
25 update_hosts_forward "var/zones/hosts/forward/$zone" "$zone" \ |
41 update_hosts_forward "var/zones/hosts/forward/$zone" "$zone" \ |
44 copy "var/zones/includes/$zone" "etc/zones/includes/$zone" |
60 copy "var/zones/includes/$zone" "etc/zones/includes/$zone" |
45 done |
61 done |
46 |
62 |
47 log "Updating zone serials..." |
63 log "Updating zone serials..." |
48 for zone in $(list_files etc/zones); do |
64 for zone in $(list_files etc/zones); do |
49 update_serial "var/serials/$zone" \ |
65 update_serial "var/serials/$zone" $serial \ |
50 "etc/zones/$zone" $(zone_includes var/include-cache/$zone etc/zones/$zone var/zones/) |
66 "etc/zones/$zone" $(zone_includes var/include-cache/$zone etc/zones/$zone var/zones/) |
51 done |
67 done |
52 |
68 |
53 log "Updating zones..." |
69 log "Updating zones..." |
54 for zone in $(list_files etc/zones); do |
70 for zone in $(list_files etc/zones); do |
55 update_zone "var/zones/$zone" "etc/zones/$zone" "var/serials/$zone" |
71 update_zone "var/zones/$zone" "etc/zones/$zone" "var/serials/$zone" \ |
|
72 $(zone_includes var/include-cache/$zone etc/zones/$zone var/zones/) |
56 done |
73 done |
57 |
74 |
58 log "Updating DHCP confs..." |
75 log "Updating DHCP confs..." |
59 for conf in $(list_files etc/dhcp); do |
76 for conf in $(list_files etc/dhcp); do |
60 update_dhcp_conf "var/dhcp/$conf" "etc/dhcp/$conf" |
77 update_dhcp_conf "var/dhcp/$conf" "etc/dhcp/$conf" |
77 reload_zones |
94 reload_zones |
78 |
95 |
79 log "Reload dhcp..." |
96 log "Reload dhcp..." |
80 reload_dhcp |
97 reload_dhcp |
81 |
98 |
82 log "Commit..." |
|
83 commit etc |
|
84 } |
99 } |
85 |
100 |
86 ## Main entry point |
101 ## Main entry point |
87 function main { |
102 function main { |
88 parse_args "$@" |
103 parse_args "$@" |
92 [ -d $dir ] || die "Missing directory: $dir" |
107 [ -d $dir ] || die "Missing directory: $dir" |
93 done |
108 done |
94 |
109 |
95 ## Output dirs |
110 ## Output dirs |
96 ensure_dir var |
111 ensure_dir var |
97 for dir in var/dhcp var/zones var/serials var/include-cache; do |
112 for dir in var/dhcp var/zones var/include-cache var/serials; do |
98 ensure_dir $dir |
113 ensure_dir $dir |
99 done |
114 done |
100 for dir in var/dhcp/hosts; do |
115 for dir in var/dhcp/hosts; do |
101 ensure_dir $dir |
116 ensure_dir $dir |
102 done |
117 done |
106 for dir in var/zones/hosts/forward var/zones/hosts/reverse; do |
121 for dir in var/zones/hosts/forward var/zones/hosts/reverse; do |
107 ensure_dir $dir |
122 ensure_dir $dir |
108 done |
123 done |
109 |
124 |
110 ## Go |
125 ## Go |
|
126 commit |
111 update |
127 update |
112 deploy |
128 deploy |
113 } |
129 } |
114 |
130 |
115 main "$@" |
131 main "$@" |