X-Git-Url: http://git.rot13.org/?p=BackupPC.git;a=blobdiff_plain;f=configure.pl;h=1f787dfe146c852e664f72e4700eaa6b1c471324;hp=0abc9a7dd001c0cf48013eb164697bf617445a57;hb=8f5625f9cdf47f8e04be654c4954838b2df3e26d;hpb=329e870f56fb6572fa697998d33676588034c149 diff --git a/configure.pl b/configure.pl index 0abc9a7..1f787df 100755 --- a/configure.pl +++ b/configure.pl @@ -15,7 +15,7 @@ # Craig Barratt # # COPYRIGHT -# Copyright (C) 2001-2003 Craig Barratt +# Copyright (C) 2001-2004 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 @@ -121,16 +121,21 @@ EOF # These are the programs whose paths we need to find # my %Programs = ( - perl => "PerlPath", - 'gtar/tar' => "TarClientPath", - smbclient => "SmbClientPath", - nmblookup => "NmbLookupPath", - rsync => "RsyncClientPath", - ping => "PingPath", - df => "DfPath", - 'ssh/ssh2' => "SshPath", - sendmail => "SendmailPath", - hostname => "HostnamePath", + perl => "PerlPath", + 'gtar/tar' => "TarClientPath", + smbclient => "SmbClientPath", + nmblookup => "NmbLookupPath", + rsync => "RsyncClientPath", + ping => "PingPath", + df => "DfPath", + 'ssh/ssh2' => "SshPath", + sendmail => "SendmailPath", + hostname => "HostnamePath", + split => "SplitPath", + 'parchive/par' => "ParPath", + cat => "CatPath", + gzip => "GzipPath", + bzip2 => "Bzip2Path", ); foreach my $prog ( sort(keys(%Programs)) ) { @@ -149,7 +154,7 @@ I found the following locations for these programs: EOF foreach my $prog ( sort(keys(%Programs)) ) { - printf(" %-11s => %s\n", $prog, $Conf{$Programs{$prog}}); + printf(" %-12s => %s\n", $prog, $Conf{$Programs{$prog}}); } print "\n"; last if (prompt('--> Are these paths correct?', 'y') =~ /^y/i); @@ -406,6 +411,7 @@ printf("Installing binaries in $Conf{InstallDir}/bin\n"); foreach my $prog ( qw(BackupPC BackupPC_dump BackupPC_link BackupPC_nightly BackupPC_sendEmail BackupPC_tarCreate BackupPC_trashClean BackupPC_tarExtract BackupPC_compressPool BackupPC_zcat + BackupPC_archive BackupPC_archiveHost BackupPC_restore BackupPC_serverMesg BackupPC_zipCreate ) ) { InstallFile("bin/$prog", "$Conf{InstallDir}/bin/$prog", 0555); } @@ -422,15 +428,21 @@ foreach my $lib ( qw( BackupPC/Attrib.pm BackupPC/PoolWrite.pm BackupPC/View.pm + BackupPC/Xfer/Archive.pm BackupPC/Xfer/Tar.pm BackupPC/Xfer/Smb.pm BackupPC/Xfer/Rsync.pm + BackupPC/Xfer/RsyncDigest.pm BackupPC/Xfer/RsyncFileIO.pm BackupPC/Zip/FileMember.pm BackupPC/Lang/en.pm BackupPC/Lang/fr.pm BackupPC/Lang/es.pm BackupPC/Lang/de.pm + BackupPC/Lang/it.pm + BackupPC/CGI/AdminOptions.pm + BackupPC/CGI/Archive.pm + BackupPC/CGI/ArchiveInfo.pm BackupPC/CGI/Browse.pm BackupPC/CGI/DirHistory.pm BackupPC/CGI/EmailSummary.pm @@ -439,10 +451,13 @@ foreach my $lib ( qw( BackupPC/CGI/Lib.pm BackupPC/CGI/LOGlist.pm BackupPC/CGI/Queue.pm + BackupPC/CGI/ReloadServer.pm BackupPC/CGI/RestoreFile.pm BackupPC/CGI/RestoreInfo.pm BackupPC/CGI/Restore.pm + BackupPC/CGI/StartServer.pm BackupPC/CGI/StartStopBackup.pm + BackupPC/CGI/StopServer.pm BackupPC/CGI/Summary.pm BackupPC/CGI/View.pm ) ) { @@ -455,6 +470,16 @@ if ( $Conf{CgiImageDir} ne "" ) { (my $destImg = $img) =~ s{^images/}{}; InstallFile($img, "$Conf{CgiImageDir}/$destImg", 0444, 1); } + + # + # Install new CSS file, making a backup copy if necessary + # + my $cssBackup = "$Conf{CgiImageDir}/BackupPC_stnd.css.pre-__VERSION__"; + if ( -f "$Conf{CgiImageDir}/BackupPC_stnd.css" && !-f $cssBackup ) { + rename("$Conf{CgiImageDir}/BackupPC_stnd.css", $cssBackup); + } + InstallFile("conf/BackupPC_stnd.css", + "$Conf{CgiImageDir}/BackupPC_stnd.css", 0444, 0); } printf("Making init.d scripts\n"); @@ -518,6 +543,41 @@ if ( defined($Conf{SmbClientArgs}) ) { delete($Conf{SmbClientArgs}); } +# +# CSS is now stored in a file rather than a big config variable. +# +delete($Conf{CSSstylesheet}); + +# +# The blackout timing settings are now stored in a list of hashes, rather +# than three scalar parameters. +# +if ( defined($Conf{BlackoutHourBegin}) ) { + $Conf{BlackoutPeriods} = [ + { + hourBegin => $Conf{BlackoutHourBegin}, + hourEnd => $Conf{BlackoutHourEnd}, + weekDays => $Conf{BlackoutWeekDays}, + } + ]; + delete($Conf{BlackoutHourBegin}); + delete($Conf{BlackoutHourEnd}); + delete($Conf{BlackoutWeekDays}); +} + +# +# $Conf{RsyncLogLevel} has been replaced by $Conf{XferLogLevel} +# +if ( defined($Conf{RsyncLogLevel}) ) { + $Conf{XferLogLevel} = $Conf{RsyncLogLevel}; + delete($Conf{RsyncLogLevel}); +} + +# +# In 2.1.0 the default for $Conf{CgiNavBarAdminAllHosts} is now 1 +# +$Conf{CgiNavBarAdminAllHosts} = 1; + # # IncrFill should now be off # @@ -532,7 +592,7 @@ if ( defined($Conf{PingArgs}) ) { 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") ) { + && !system("$Conf{PingPath} -c 1 -w 3 localhost") ) { $Conf{PingCmd} = '$pingPath -c 1 -w 3 $host'; } else { $Conf{PingCmd} = '$pingPath -c 1 $host'; @@ -623,23 +683,33 @@ will need to do: - BackupPC should be ready to start. Don't forget to run it as user $Conf{BackupPCUser}! The installation also contains an init.d/backuppc script that can be copied to /etc/init.d - so that BackupPC can auto-start on boot. See init.d/README. + so that BackupPC can auto-start on boot. This will also enable + administrative users to start the server from the CGI interface. + See init.d/README. Enjoy! EOF -if ( $ENV{LANG} =~ /utf/i && $^V ge v5.8.0 ) { +if ( `$Conf{PerlPath} -V` =~ /uselargefiles=undef/ ) { print <= 2.0.1). + # + print OUT "#!$Conf{PerlPath}\n"; } else { print OUT; } @@ -716,8 +778,9 @@ sub ConfigParse my($out, @conf, $var); my $comment = 1; my $allVars = {}; + my $endLine = undef; while ( ) { - if ( /^#/ ) { + if ( /^#/ && !defined($endLine) ) { if ( $comment ) { $out .= $_; } else { @@ -745,7 +808,10 @@ sub ConfigParse $out .= $_; } $var = $1; + $endLine = $1 if ( /^\s*\$Conf\{[^}]*} *= *<<(.*);/ ); + $endLine = $1 if ( /^\s*\$Conf\{[^}]*} *= *<<'(.*)';/ ); } else { + $endLine = undef if ( defined($endLine) && /^\Q$endLine[\n\r]*$/ ); $out .= $_; } }