X-Git-Url: http://git.rot13.org/?p=BackupPC.git;a=blobdiff_plain;f=configure.pl;h=ff910d0578e994d6e9f4f0328f15b4441b311e04;hp=b7a427a4fb89906e783d25859ea07857342230af;hb=d8688e487de3be336df16de54cfdfc8165a9090d;hpb=e9453b7611be63303572ae443d5fb56b73364678 diff --git a/configure.pl b/configure.pl index b7a427a..ff910d0 100755 --- a/configure.pl +++ b/configure.pl @@ -15,7 +15,7 @@ # Craig Barratt # # COPYRIGHT -# Copyright (C) 2001 Craig Barratt +# Copyright (C) 2001-2003 Craig Barratt # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -33,7 +33,7 @@ # #======================================================================== # -# Version __VERSION__, released __RELEASEDATE__. +# Version 2.0.0_CVS, released 18 Jan 2003. # # See http://backuppc.sourceforge.net. # @@ -99,7 +99,7 @@ my $bpc; if ( $ConfigPath ne "" && -r $ConfigPath ) { (my $topDir = $ConfigPath) =~ s{/[^/]+/[^/]+$}{}; die("BackupPC::Lib->new failed\n") - if ( !($bpc = BackupPC::Lib->new($topDir, ".")) ); + if ( !($bpc = BackupPC::Lib->new($topDir, ".", 1)) ); %Conf = $bpc->Conf(); %OrigConf = %Conf; $Conf{TopDir} = $topDir; @@ -127,7 +127,7 @@ my %Programs = ( rsync => "RsyncClientPath", ping => "PingPath", df => "DfPath", - 'ssh2/ssh' => "SshPath", + 'ssh/ssh2' => "SshPath", sendmail => "SendmailPath", hostname => "HostnamePath", ); @@ -415,7 +415,8 @@ foreach my $lib ( qw(BackupPC/Lib.pm BackupPC/FileZIO.pm BackupPC/Attrib.pm BackupPC/PoolWrite.pm BackupPC/View.pm BackupPC/Xfer/Tar.pm BackupPC/Xfer/Smb.pm BackupPC/Xfer/Rsync.pm BackupPC/Xfer/RsyncFileIO.pm BackupPC/Zip/FileMember.pm - BackupPC/Lang/en.pm BackupPC/Lang/fr.pm + BackupPC/Lang/en.pm BackupPC/Lang/fr.pm BackupPC/Lang/es.pm + BackupPC/Lang/de.pm ) ) { InstallFile("lib/$lib", "$Conf{InstallDir}/lib/$lib", 0444); } @@ -429,7 +430,8 @@ if ( $Conf{CgiImageDir} ne "" ) { } printf("Making init.d scripts\n"); -foreach my $init ( qw(linux-backuppc solaris-backuppc debian-backuppc) ) { +foreach my $init ( qw(gentoo-backuppc gentoo-backuppc.conf linux-backuppc + solaris-backuppc debian-backuppc suse-backuppc) ) { InstallFile("init.d/src/$init", "init.d/$init", 0444); } @@ -456,20 +458,75 @@ if ( -f $dest ) { } $Conf{EMailFromUserName} ||= $Conf{BackupPCUser}; $Conf{EMailAdminUserName} ||= $Conf{BackupPCUser}; + +# +# Update various config parameters +# + +# +# Guess $Conf{CgiURL} +# +if ( !defined($Conf{CgiURL}) ) { + if ( $Conf{CgiDir} =~ m{cgi-bin(/.*)} ) { + $Conf{CgiURL} = "'http://$Conf{ServerHost}/cgi-bin$1/BackupPC_Admin'"; + } else { + $Conf{CgiURL} = "'http://$Conf{ServerHost}/cgi-bin/BackupPC_Admin'"; + } +} + +# +# The smbclient commands have moved from hard-coded to the config file. +# $Conf{SmbClientArgs} no longer exists, so merge it into the new +# commands if it still exists. +# +if ( defined($Conf{SmbClientArgs}) ) { + if ( $Conf{SmbClientArgs} ne "" ) { + foreach my $param ( qw(SmbClientRestoreCmd SmbClientFullCmd + SmbClientIncrCmd) ) { + $newConf->[$newVars->{$param}]{text} + =~ s/(-E\s+-N)/$1 $Conf{SmbClientArgs}/; + } + } + delete($Conf{SmbClientArgs}); +} + # # IncrFill should now be off # $Conf{IncrFill} = 0; + # # Figure out sensible arguments for the ping command # -if ( $^O eq "solaris" || $^O eq "sunos" ) { - $Conf{PingArgs} ||= '-s $host 56 1'; -} elsif ( ($^O eq "linux" || $^O eq "openbsd" || $^O eq "netbsd") - && !system("$Conf{PingClientPath} -c 1 -w 3 localhost") ) { - $Conf{PingArgs} ||= '-c 1 -w 3 $host'; -} else { - $Conf{PingArgs} ||= '-c 1 $host'; +if ( defined($Conf{PingArgs}) ) { + $Conf{PingCmd} = '$pingPath ' . $Conf{PingArgs}; +} elsif ( !defined($Conf{PingCmd}) ) { + if ( $^O eq "solaris" || $^O eq "sunos" ) { + $Conf{PingCmd} = '$pingPath -s $host 56 1'; + } elsif ( ($^O eq "linux" || $^O eq "openbsd" || $^O eq "netbsd") + && !system("$Conf{PingClientPath} -c 1 -w 3 localhost") ) { + $Conf{PingCmd} = '$pingPath -c 1 -w 3 $host'; + } else { + $Conf{PingCmd} = '$pingPath -c 1 $host'; + } + delete($Conf{PingArgs}); +} + +# +# Figure out sensible arguments for the df command +# +if ( !defined($Conf{DfCmd}) ) { + if ( $^O eq "solaris" || $^O eq "sunos" ) { + $Conf{DfCmd} = '$dfPath -k $topDir'; + } +} + +# +# $Conf{SmbClientTimeout} is now $Conf{ClientTimeout} +# +if ( defined($Conf{SmbClientTimeout}) ) { + $Conf{ClientTimeout} = $Conf{SmbClientTimeout}; + delete($Conf{SmbClientTimeout}); } my $confCopy = "$dest.pre-__VERSION__"; @@ -518,7 +575,7 @@ if ( $Conf{CgiDir} ne "" ) { print < ) { - if ( /^\s*#/ ) { + if ( /^#/ ) { if ( $comment ) { $out .= $_; } else { @@ -635,7 +692,7 @@ sub ConfigParse $allVars->{$var} = @conf if ( defined($var) ); push(@conf, { text => $out, - var => $var, + var => $var, }); $out = $_; } else {