lib/update.operations
changeset 587 620f4594a09d
parent 586 a88766722d18
child 589 482d06935d96
equal deleted inserted replaced
586:a88766722d18 587:620f4594a09d
    15     else
    15     else
    16         log_skip "Linking $out -> $tgt: not changed"
    16         log_skip "Linking $out -> $tgt: not changed"
    17     fi
    17     fi
    18 }
    18 }
    19 
    19 
       
    20 function copy_generic {
       
    21     local out=$1
       
    22     local src=$2
       
    23 
       
    24     if check_update $out $src; then
       
    25         log_update "Copying $out <- $src..."
       
    26 
       
    27         do_update $out \
       
    28             cat $ROOT/$src
       
    29     else
       
    30         log_skip "Copying $out <- $src: not changed"
       
    31     fi
       
    32 }
    20 
    33 
    21 ## Hosts
    34 ## Hosts
    22 ## Update hosts from verbatim from input zone data:
    35 ## Update hosts from verbatim from input zone data:
    23 #
    36 #
    24 #   copy_hosts      $ZONES/$zone    $DATA/$base
    37 #   copy_hosts      $ZONES/$zone    $DATA/$base
    26 # Writes updated zone to $zone, deps on $base.
    39 # Writes updated zone to $zone, deps on $base.
    27 function copy_hosts {
    40 function copy_hosts {
    28     local zone=$1
    41     local zone=$1
    29     local base=$2
    42     local base=$2
    30 
    43 
    31     if check_update $zone $base; then
    44     # XXX: filenames given directly
    32         log_update "Copying hosts $zone <- $base..."
    45     local out=$zone
    33 
    46     local src=$base
    34         do_update $zone \
    47 
    35             cat $ROOT/$base
    48     copy_generic $out $src
    36     else
       
    37         log_skip "Copying hosts $zone <- $base: not changed"
       
    38     fi
       
    39 }
    49 }
    40 
    50 
    41 ## Generate hosts from input zone data using $BIN/process-zone:
    51 ## Generate hosts from input zone data using $BIN/process-zone:
    42 #
    52 #
    43 #   update_hosts    $ZONES/$zone    $DATA/$base
    53 #   update_hosts    $ZONES/$zone    $DATA/$base
   116     local base=$2
   126     local base=$2
   117 
   127 
   118     local out=$SERIALS/$zone.serial
   128     local out=$SERIALS/$zone.serial
   119     local tgt=$SERIALS/$base.serial
   129     local tgt=$SERIALS/$base.serial
   120 
   130 
   121 
       
   122     link_generic $out $tgt
   131     link_generic $out $tgt
   123 }
   132 }
   124 
   133 
   125 ## Update zone file verbatim from source:
   134 ## Update zone file verbatim from source:
   126 #
   135 #
   133     local base=${3:-$zone}
   142     local base=${3:-$zone}
   134 
   143 
   135     local out=$ZONES/$view/$zone
   144     local out=$ZONES/$view/$zone
   136     local src=$DATA/$base
   145     local src=$DATA/$base
   137 
   146 
   138     if check_update $out $src; then
   147     copy_generic $out $src
   139         log_update "Copying $out <- $src..."
       
   140 
       
   141         do_update $out \
       
   142             cat $ROOT/$src
       
   143     else
       
   144         log_skip "Copying $out <- $src: not changed"
       
   145     fi
       
   146 }
   148 }
   147 
   149 
   148 ## Expand zone file from source using $BIN/expand-zone:
   150 ## Expand zone file from source using $BIN/expand-zone:
   149 #
   151 #
   150 #   update_zone $view   $zone   [$base]
   152 #   update_zone $view   $zone   [$base]
   201     local tgt=$(choose_link $out $DHCP/$base.conf $DHCP_DATA/$base.conf)
   203     local tgt=$(choose_link $out $DHCP/$base.conf $DHCP_DATA/$base.conf)
   202 
   204 
   203     link_generic $out $tgt
   205     link_generic $out $tgt
   204 }
   206 }
   205 
   207 
       
   208 ## Copy dhcp conf from data to $DHCP
       
   209 function copy_dhcp_conf {
       
   210     local conf=$1
       
   211     local base=${2:-$conf}
       
   212 
       
   213     local out=$DHCP/$conf.conf
       
   214     local src=$DHCP_DATA/$base.conf
       
   215 
       
   216     copy_generic $out $src
       
   217 }
       
   218 
   206 ## Test hosts zone for validity:
   219 ## Test hosts zone for validity:
   207 #
   220 #
   208 #   check_hosts     $DATA/$hosts    --check-exempt ...
   221 #   check_hosts     $DATA/$hosts    --check-exempt ...
   209 #
   222 #
   210 # Fails if the check fails.
   223 # Fails if the check fails.