X-Git-Url: http://git.rot13.org/?p=BackupPC.git;a=blobdiff_plain;f=lib%2FBackupPC%2FStorage%2FText.pm;h=72b2fba33f683e578a75b28f111a4c9a770bb6f8;hp=18f59136cd061f1802c9778e005d2810d10517fd;hb=refs%2Ftags%2Fv3_0_0beta1;hpb=5b3e6091d542c2e7445d5dd511cdf6e20aec8b8d diff --git a/lib/BackupPC/Storage/Text.pm b/lib/BackupPC/Storage/Text.pm index 18f5913..72b2fba 100644 --- a/lib/BackupPC/Storage/Text.pm +++ b/lib/BackupPC/Storage/Text.pm @@ -30,7 +30,7 @@ # #======================================================================== # -# Version 3.0.0alpha, released 23 Jan 2006. +# Version 3.0.0beta1, released 30 Jul 2006. # # See http://backuppc.sourceforge.net. # @@ -247,11 +247,13 @@ sub ConfigPath return "$s->{ConfDir}/config.pl" if ( !defined($host) ); if ( $s->{useFHS} ) { - return "$s->{ConfDir}/host/$host.pl"; + return "$s->{ConfDir}/pc/$host.pl"; } else { + return "$s->{TopDir}/pc/$host/config.pl" + if ( -f "$s->{TopDir}/pc/$host/config.pl" ); return "$s->{ConfDir}/$host.pl" if ( $host ne "config" && -f "$s->{ConfDir}/$host.pl" ); - return "$s->{TopDir}/pc/$host/config.pl"; + return "$s->{ConfDir}/pc/$host.pl"; } } @@ -287,6 +289,23 @@ sub ConfigDataRead $conf->{$param} = { "*" => $conf->{$param} }; } + # + # Handle backward compatibility with defunct BlackoutHourBegin, + # BlackoutHourEnd, and BlackoutWeekDays parameters. + # + if ( defined($conf->{BlackoutHourBegin}) ) { + push(@{$conf->{BlackoutPeriods}}, + { + hourBegin => $conf->{BlackoutHourBegin}, + hourEnd => $conf->{BlackoutHourEnd}, + weekDays => $conf->{BlackoutWeekDays}, + } + ); + delete($conf->{BlackoutHourBegin}); + delete($conf->{BlackoutHourEnd}); + delete($conf->{BlackoutWeekDays}); + } + return (undef, $conf); } @@ -340,15 +359,19 @@ sub ConfigFileMerge $contents .= "\$Conf{$var} = " . $value; $done->{$var} = 1; } - $endLine = $1 if ( /^\s*\$Conf\{[^}]*} *= *<<(.*);/ ); - $endLine = $1 if ( /^\s*\$Conf\{[^}]*} *= *<<'(.*)';/ ); + if ( /^\s*\$Conf\{[^}]*} *= *<<(.*);/ + || /^\s*\$Conf\{[^}]*} *= *<<'(.*)';/ ) { + $endLine = $1; + $skipVar = 1; + } else { + $endLine = undef; + $skipVar = /^[^#]*;/ ? 0 : 1; + } $out = ""; - $skipVar = 1; } elsif ( $skipVar ) { - if ( !defined($endLine) && (/^\s*[\r\n]*$/ || /^\s*#/) ) { + if ( !defined($endLine) && /^[^#]*;/ ) { $skipVar = 0; $comment = 1; - $out .= $_; } if ( defined($endLine) && /^\Q$endLine\E[\n\r]*$/ ) { $endLine = undef; @@ -428,12 +451,12 @@ sub HostInfoRead if ( @hdr ) { if ( defined($host) ) { next if ( lc($fld[0]) ne lc($host) ); - @{$hosts{$fld[0]}}{@hdr} = @fld; + @{$hosts{lc($fld[0])}}{@hdr} = @fld; close(HOST_INFO); close(LOCK); return \%hosts; } else { - @{$hosts{$fld[0]}}{@hdr} = @fld; + @{$hosts{lc($fld[0])}}{@hdr} = @fld; } } else { @hdr = @fld;