Changeset 1292

Show
Ignore:
Timestamp:
08/26/07 19:48:36 (4 years ago)
Author:
jo
Message:

Moved mkdir_p from munin-update to Munin.pm.

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • people/jo/multilevel-groups/server/Munin.pm.in

    r1291 r1292  
    5959           'munin_set_var_loc', 
    6060           'munin_copy_node_toloc', 
    61            'munin_get_separated_node' 
     61           'munin_get_separated_node', 
     62           'munin_mkdir_p' 
    6263           ); 
    6364 
     
    11621163} 
    11631164 
     1165# munin_mkdir_p: Make directory (and path to it) 
     1166# Parameters: 
     1167# - $dirname: Directory to create 
     1168# - $umask: Umask (in addition to the user umask) 
     1169# Returns: 
     1170# - Success: $dirname 
     1171# - Failure: undef 
     1172sub munin_mkdir_p 
     1173{ 
     1174    my $dirname = shift; 
     1175    my $umask   = shift; 
     1176 
     1177    return $dirname if (-e $dirname); 
     1178 
     1179    (my $prev = $dirname) =~ s/\/[^\/]+$//; 
     1180    if (mkdir_p ($prev, $umask)) { 
     1181        if (mkdir ($dirname, $umask)) { 
     1182            return $dirname; 
     1183        } else { 
     1184            return undef; 
     1185        } 
     1186    } else { 
     1187        return undef; 
     1188    } 
     1189} 
     1190 
    11641191 
    116511921; 
  • people/jo/multilevel-groups/server/munin-update.in

    r1291 r1292  
    979979            if (! -f "$fname") { 
    980980                logger ("creating rrd-file for $servname->$field: \"$fname\""); 
    981                 mkdir_p ($dirname, 0777); 
     981                munin_mkdir_p ($dirname, 0777); 
    982982                my @args = ("$fname", 
    983983                        "DS:42:".munin_get($fhash, "type", "GAUGE").":600:". 
     
    11601160} 
    11611161 
    1162 sub mkdir_p  
    1163 { 
    1164     my $dirname = shift; 
    1165     my $umask   = shift; 
    1166  
    1167     return $dirname if (-e $dirname); 
    1168  
    1169     (my $prev = $dirname) =~ s/\/[^\/]+$//; 
    1170     if (mkdir_p ($prev, $umask)) { 
    1171         if (mkdir ($dirname, $umask)) { 
    1172             return $dirname; 
    1173         } else { 
    1174             return undef; 
    1175         } 
    1176     } else { 
    1177         return undef; 
    1178     } 
    1179 } 
    1180  
    118111621; 
    11821163