X-Git-Url: http://git.rot13.org/?a=blobdiff_plain;f=configure.pl;h=f95ed52f5a3faa65a57511a1eb2e5d45cd838c13;hb=2db0d881acbcc4b4e45fc48a357152c7760e5546;hp=262e7b38a58242abe17737f01b42a62062465e92;hpb=b6e98cb4e11dcc0d73163ee57509aeec2b6013d3;p=BackupPC.git diff --git a/configure.pl b/configure.pl index 262e7b3..f95ed52 100755 --- a/configure.pl +++ b/configure.pl @@ -40,6 +40,7 @@ #======================================================================== use strict; +no utf8; use vars qw(%Conf %OrigConf); use lib "./lib"; @@ -99,7 +100,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; @@ -416,6 +417,7 @@ foreach my $lib ( qw(BackupPC/Lib.pm BackupPC/FileZIO.pm BackupPC/Attrib.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 ) ) { InstallFile("lib/$lib", "$Conf{InstallDir}/lib/$lib", 0444); } @@ -429,7 +431,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); } @@ -502,7 +505,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'; @@ -542,7 +545,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 +601,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; s/__BACKUPPCUSER__/$Conf{BackupPCUser}/g; s/__CGIDIR__/$Conf{CgiDir}/g; if ( $first && /^#.*bin\/perl/ ) { - if ( $Perl56 ) { - # - # perl56 and later is taint ok - # - print OUT "#!$Conf{PerlPath} -T\n"; - } else { - # - # prior to perl56, File::Find fails taint checks, - # so we run without -T. It's still safe. - # - print OUT "#!$Conf{PerlPath}\n"; - } + # + # Fill in correct path to perl (no taint for >= 2.0.1). + # + print OUT "#!$Conf{PerlPath}\n"; } else { print OUT; } @@ -665,6 +677,7 @@ sub ConfigParse { my($file) = @_; open(C, $file) || die("can't open $file"); + binmode(C); my($out, @conf, $var); my $comment = 1; my $allVars = {};