X-Git-Url: http://git.rot13.org/?p=BackupPC.git;a=blobdiff_plain;f=configure.pl;h=0abc9a7dd001c0cf48013eb164697bf617445a57;hp=ea152e8b7d18547d7b9a31f95684e5b08318b6ef;hb=567f78c78b11de16e73e0d6cd1f290a02b420f72;hpb=ca1666a5ccf9893f7f20240c4335088859414ac2 diff --git a/configure.pl b/configure.pl index ea152e8..0abc9a7 100755 --- a/configure.pl +++ b/configure.pl @@ -40,6 +40,7 @@ #======================================================================== use strict; +no utf8; use vars qw(%Conf %OrigConf); use lib "./lib"; @@ -99,11 +100,11 @@ 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; - my $err = $bpc->ServerConnect($Conf{ServerHost}, $Conf{ServerPort}, 1); + my $err = $bpc->ServerConnect($Conf{ServerHost}, $Conf{ServerPort}, 1); if ( $err eq "" ) { print < 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,11 +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 +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); } @@ -429,7 +458,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); } @@ -542,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) @@ -597,6 +628,20 @@ will need to do: Enjoy! EOF +if ( $ENV{LANG} =~ /utf/i && $^V ge v5.8.0 ) { + print <$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 ( ) { s/__INSTALLDIR__/$Conf{InstallDir}/g; s/__TOPDIR__/$Conf{TopDir}/g; @@ -665,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 = {};