* A failed full dump is now saved as a partial (incomplete) dump,
[BackupPC.git] / configure.pl
index b98bccc..0abc9a7 100755 (executable)
@@ -40,6 +40,7 @@
 #========================================================================
 
 use strict;
+no  utf8;
 use vars qw(%Conf %OrigConf);
 use lib "./lib";
 
@@ -103,7 +104,7 @@ if ( $ConfigPath ne "" && -r $ConfigPath ) {
     %Conf = $bpc->Conf();
     %OrigConf = %Conf;
     $Conf{TopDir} = $topDir;
-    my $err = $bpc->ServerConnect($Conf{ServerHost}, $Conf{ServerPort}, 1); 
+    my $err = $bpc->ServerConnect($Conf{ServerHost}, $Conf{ServerPort}, 1);
     if ( $err eq "" ) {
         print <<EOF;
 
@@ -359,8 +360,12 @@ exit unless prompt("--> Do you want to continue?", "y") =~ /y/i;
 #
 # Create install directories
 #
-foreach my $dir ( qw(bin lib/BackupPC/Xfer lib/BackupPC/Zip
-                    lib/BackupPC/Lang doc) ) {
+foreach my $dir ( qw(bin doc
+                    lib/BackupPC/CGI
+                    lib/BackupPC/Lang
+                    lib/BackupPC/Xfer
+                    lib/BackupPC/Zip
+                ) ) {
     next if ( -d "$Conf{InstallDir}/$dir" );
     mkpath("$Conf{InstallDir}/$dir", 0, 0775);
     if ( !-d "$Conf{InstallDir}/$dir"
@@ -411,12 +416,35 @@ foreach my $prog ( qw(BackupPC BackupPC_dump BackupPC_link BackupPC_nightly
 unlink("$Conf{InstallDir}/bin/BackupPC_queueAll");
 
 printf("Installing library in $Conf{InstallDir}/lib\n");
-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/es.pm
+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/es.pm
         BackupPC/Lang/de.pm
+       BackupPC/CGI/Browse.pm
+       BackupPC/CGI/DirHistory.pm
+       BackupPC/CGI/EmailSummary.pm
+       BackupPC/CGI/GeneralInfo.pm
+       BackupPC/CGI/HostInfo.pm
+       BackupPC/CGI/Lib.pm
+       BackupPC/CGI/LOGlist.pm
+       BackupPC/CGI/Queue.pm
+       BackupPC/CGI/RestoreFile.pm
+       BackupPC/CGI/RestoreInfo.pm
+       BackupPC/CGI/Restore.pm
+       BackupPC/CGI/StartStopBackup.pm
+       BackupPC/CGI/Summary.pm
+       BackupPC/CGI/View.pm
     ) ) {
     InstallFile("lib/$lib", "$Conf{InstallDir}/lib/$lib", 0444);
 }
@@ -544,7 +572,8 @@ if ( -f $dest && !-f $confCopy ) {
                                            unless chown($uid, $gid, $confCopy);
     die("can't chmod $mode $confCopy\n")   unless chmod($mode, $confCopy);
 }
-open(OUT, ">$dest") || die("can't open $dest for writing\n");
+open(OUT, ">", $dest) || die("can't open $dest for writing\n");
+binmode(OUT);
 my $blockComment;
 foreach my $var ( @$newConf ) {
     if ( length($blockComment)
@@ -636,8 +665,10 @@ sub InstallFile
     if ( $binary ) {
        die("can't copy($prog, $dest)\n") unless copy($prog, $dest);
     } else {
-       open(PROG, $prog)   || die("can't open $prog for reading\n");
-       open(OUT, ">$dest") || die("can't open $dest for writing\n");
+       open(PROG, $prog)     || die("can't open $prog for reading\n");
+       open(OUT, ">", $dest) || die("can't open $dest for writing\n");
+       binmode(PROG);
+       binmode(OUT);
        while ( <PROG> ) {
            s/__INSTALLDIR__/$Conf{InstallDir}/g;
            s/__TOPDIR__/$Conf{TopDir}/g;
@@ -681,6 +712,7 @@ sub ConfigParse
 {
     my($file) = @_;
     open(C, $file) || die("can't open $file");
+    binmode(C);
     my($out, @conf, $var);
     my $comment = 1;
     my $allVars = {};