X-Git-Url: http://git.rot13.org/?p=BackupPC.git;a=blobdiff_plain;f=lib%2FBackupPC%2FLib.pm;h=48c4766b04641382cba85ca10af71cf5e8c91a65;hp=68056420bf11d8dedc28846ebc8ea2a20ac305a5;hb=27f513f89d885d24bf1a01242fba676c7a840fd5;hpb=546f9691f118c9ea2d164f377994b4a018a60d02 diff --git a/lib/BackupPC/Lib.pm b/lib/BackupPC/Lib.pm index 6805642..48c4766 100644 --- a/lib/BackupPC/Lib.pm +++ b/lib/BackupPC/Lib.pm @@ -29,7 +29,7 @@ # #======================================================================== # -# Version 2.1.0, released 20 Jun 2004. +# Version 3.0.0alpha, released 23 Jan 2006. # # See http://backuppc.sourceforge.net. # @@ -60,37 +60,41 @@ sub new # Whether to use filesystem hierarchy standard for file layout. # If set, text config files are below /etc/BackupPC. # - my $useFSH = 0; + my $useFHS = 0; my $paths; + # + # Set defaults for $topDir and $installDir. + # + $topDir = '/tera0/backup/BackupPC' if ( $topDir eq "" ); + $installDir = '/usr/local/BackupPC' if ( $installDir eq "" ); + # # Pick some initial defaults. For FHS the only critical # path is the ConfDir, since we get everything else out # of the main config file. # - if ( $useFSH ) { + if ( $useFHS ) { $paths = { - useFSH => $useFSH, - TopDir => $topDir || '/data/BackupPC', - BinDir => $installDir ? "$installDir/bin" : '/usr/local/BackupPC/bin', - LibDir => $installDir ? "$installDir/lib" : '/usr/local/BackupPC/lib', - ConfDir => $confDir || '/etc/BackupPC', - LogDir => $topDir ? "$topDir/log" : '/var/log/BackupPC', + useFHS => $useFHS, + TopDir => $topDir, + InstallDir => $installDir, + ConfDir => $confDir eq "" ? '/etc/BackupPC' : $confDir, + LogDir => '/var/log/BackupPC', }; } else { $paths = { - useFSH => $useFSH, - TopDir => $topDir || '/data/BackupPC', - BinDir => $installDir ? "$installDir/bin" : '/usr/local/BackupPC/bin', - LibDir => $installDir ? "$installDir/lib" : '/usr/local/BackupPC/lib', - ConfDir => $topDir ? "$topDir/conf" : '/data/BackupPC/conf', - LogDir => $topDir ? "$topDir/log" : '/data/BackupPC/log', + useFHS => $useFHS, + TopDir => $topDir, + InstallDir => $installDir, + ConfDir => $confDir eq "" ? "$topDir/conf" : $confDir, + LogDir => "$topDir/log", }; } my $bpc = bless { %$paths, - Version => '2.1.0', + Version => '3.0.0alpha', }, $class; $bpc->{storage} = BackupPC::Storage->new($paths); @@ -109,8 +113,8 @@ sub new # # Update the paths based on the config file # - foreach my $dir ( qw(TopDir BinDir LibDir ConfDir LogDir) ) { - next if ( !defined($bpc->{Conf}{$dir}) ); + foreach my $dir ( qw(TopDir ConfDir InstallDir LogDir) ) { + next if ( $bpc->{Conf}{$dir} eq "" ); $paths->{$dir} = $bpc->{$dir} = $bpc->{Conf}{$dir}; } $bpc->{storage}->setPaths($paths); @@ -137,7 +141,7 @@ sub TopDir sub BinDir { my($bpc) = @_; - return $bpc->{BinDir}; + return "$bpc->{InstallDir}/bin"; } sub LogDir @@ -155,7 +159,13 @@ sub ConfDir sub LibDir { my($bpc) = @_; - return $bpc->{LibDir}; + return "$bpc->{InstallDir}/lib"; +} + +sub InstallDir +{ + my($bpc) = @_; + return $bpc->{InstallDir}; } sub useFHS @@ -341,7 +351,7 @@ sub ConfigRead # Load language file # return "No language setting" if ( !defined($bpc->{Conf}{Language}) ); - my $langFile = "$bpc->{LibDir}/BackupPC/Lang/$bpc->{Conf}{Language}.pm"; + my $langFile = "$bpc->{InstallDir}/lib/BackupPC/Lang/$bpc->{Conf}{Language}.pm"; if ( !defined($ret = do $langFile) && ($! || $@) ) { $mesg = "Couldn't open language file $langFile: $!" if ( $! ); $mesg = "Couldn't execute language file $langFile: $@" if ( $@ ); @@ -505,7 +515,7 @@ sub ServerConnect # # First try the unix-domain socket # - my $sockFile = "$bpc->{TopDir}/log/BackupPC.sock"; + my $sockFile = "$bpc->{LogDir}/BackupPC.sock"; socket(*FH, PF_UNIX, SOCK_STREAM, 0) || return "unix socket: $!"; if ( !connect(*FH, sockaddr_un($sockFile)) ) { my $err = "unix connect: $!";