X-Git-Url: http://git.rot13.org/?p=BackupPC.git;a=blobdiff_plain;f=makeDist;h=ebc7a66352625b107758c91d65ac5277b21e3773;hp=1366c9f0d3de369120a706276f59af200bb22ea6;hb=ad8b6832fb9669c60644fd7d0a7d294828f6931c;hpb=548eaee4152cf67cf4f30205dff89a7b9dcfb452 diff --git a/makeDist b/makeDist index 1366c9f..ebc7a66 100755 --- a/makeDist +++ b/makeDist @@ -1,4 +1,4 @@ -#!/bin/perl +#!/usr/bin/env perl # # makeDist: Build a BackupPC distribution # @@ -14,13 +14,13 @@ # # Often the language files are not up to date, and makeDist # exits after complaining about the lang files being inconsistent. -# Use the -l option to turn off that behavior. +# Use the -nolangCheck option to turn off that behavior. # # AUTHOR # Craig Barratt # # COPYRIGHT -# Copyright (C) 2001-2007 Craig Barratt +# Copyright (C) 2001-2010 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 @@ -37,12 +37,13 @@ # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA # #======================================================================== -# use strict; use File::Path; use File::Copy; -use Getopt::Std; +use Getopt::Long; +use Data::Dumper; + use lib "./lib"; use BackupPC::Lib; use BackupPC::Config::Meta qw(:all); @@ -53,10 +54,6 @@ die("BackupPC::Lib->new failed\n") umask(0022); -my $Version = "3.1.0"; -my $ReleaseDate = "15 Apr 2007"; -my $DistDir = "dist/BackupPC-$Version"; - my @PerlSrc = qw( bin/BackupPC bin/BackupPC_archive @@ -74,7 +71,6 @@ my @PerlSrc = qw( bin/BackupPC_tarExtract bin/BackupPC_tarCreate bin/BackupPC_tarPCCopy - bin/BackupPC_compressPool bin/BackupPC_zipCreate bin/BackupPC_zcat lib/BackupPC/Attrib.pm @@ -107,32 +103,59 @@ my @PerlSrc = qw( lib/BackupPC/CGI/Summary.pm lib/BackupPC/CGI/View.pm lib/BackupPC/Config/Meta.pm + lib/BackupPC/Lang/cz.pm lib/BackupPC/Lang/de.pm lib/BackupPC/Lang/en.pm lib/BackupPC/Lang/es.pm lib/BackupPC/Lang/fr.pm lib/BackupPC/Lang/it.pm lib/BackupPC/Lang/nl.pm + lib/BackupPC/Lang/pl.pm lib/BackupPC/Lang/pt_br.pm lib/BackupPC/Lang/zh_CN.pm lib/BackupPC/Storage/Text.pm + lib/BackupPC/Xfer.pm lib/BackupPC/Xfer/Archive.pm - lib/BackupPC/Xfer/BackupPCd.pm - lib/BackupPC/Xfer/Smb.pm - lib/BackupPC/Xfer/Tar.pm + lib/BackupPC/Xfer/Ftp.pm + lib/BackupPC/Xfer/Protocol.pm lib/BackupPC/Xfer/Rsync.pm lib/BackupPC/Xfer/RsyncDigest.pm lib/BackupPC/Xfer/RsyncFileIO.pm + lib/BackupPC/Xfer/Smb.pm + lib/BackupPC/Xfer/Tar.pm lib/BackupPC/Zip/FileMember.pm + lib/Net/FTP/AutoReconnect.pm + lib/Net/FTP/RetrHandle.pm cgi-bin/BackupPC_Admin ); my %opts; -if ( !getopts("l", \%opts) || @ARGV != 0 ) { - print("usage: $0 [-l]\n"); +$opts{langCheck} = 1; +$opts{syntaxCheck} = 1; +if ( !GetOptions( + \%opts, + "langCheck!", + "syntaxCheck!", + "version=s", + "releasedate=s", + ) || @ARGV != 0 + || !defined($opts{version}) + ) { + print STDERR <{LogDir} = 2; $ConfVars->{ConfDir} = 2; $ConfVars->{InstallDir} = 2; $ConfVars->{CgiImageDir} = 2; +$ConfVars->{ClientCharsetLegacy} = 2; # actually used # # These config parameters are used in the code to be backward compatible, @@ -167,10 +191,23 @@ $ConfVars->{BlackoutHourEnd} = 2; $ConfVars->{BlackoutWeekDays} = 2; $ConfVars->{RsyncLogLevel} = 2; +if ( $opts{syntaxCheck} ) { + system("perl -Ilib -c conf/config.pl >& /dev/null") + && die("$0: conf/config.pl contains a syntax error (or someone killed me)\n"); +} foreach my $file ( @PerlSrc ) { + if ( $opts{syntaxCheck} ) { + system("perl -Ilib -c $file >& /dev/null") + && die("$0: $file contains a syntax error (or someone killed me)\n"); + } + # + # Skip checking of bundled libraries not explicitly part of + # BackupPC + # + next if ( $file =~ m/lib\/Net\/FTP/ ); $errCnt += CheckConfigParams($file, $ConfVars, 1); } -if ( !$opts{l} ) { +if ( !$opts{langCheck} ) { $errCnt += CheckLangUsage(); $errCnt += CheckLangTags(); } @@ -193,19 +230,21 @@ if ( $errCnt ) { rmtree($DistDir, 0, 0); mkpath($DistDir, 0, 0777); -foreach my $dir ( qw(bin doc conf images init.d/src cgi-bin +foreach my $dir ( qw(bin doc conf images init.d/src cgi-bin httpd/src lib/BackupPC/CGI lib/BackupPC/Config lib/BackupPC/Lang lib/BackupPC/Storage lib/BackupPC/Xfer lib/BackupPC/Zip + lib/Net/FTP ) ) { mkpath("$DistDir/$dir", 0, 0777); } my %ConfName; my $ConfPod = config2pod(); + rmtree("doc", 0, 0); mkpath("doc", 0, 0777); InstallFile("doc-src/BackupPC.pod", "doc/BackupPC.pod"); @@ -220,6 +259,7 @@ pod2html("doc/BackupPC.pod", foreach my $file ( (@PerlSrc, , , + , qw( conf/config.pl conf/hosts @@ -229,12 +269,14 @@ foreach my $file ( (@PerlSrc, init.d/README init.d/src/debian-backuppc init.d/src/freebsd-backuppc + init.d/src/freebsd-backuppc2 init.d/src/gentoo-backuppc init.d/src/gentoo-backuppc.conf init.d/src/linux-backuppc init.d/src/slackware-backuppc init.d/src/solaris-backuppc init.d/src/suse-backuppc + httpd/src/BackupPC.conf doc/BackupPC.pod doc/BackupPC.html README @@ -261,7 +303,7 @@ sub InstallFile my($file, $dest) = @_; unlink($dest) if ( -d $dest ); - if ( $file =~ /\.gif/ || $file =~ /\.png/ ) { + if ( $file =~ /\.gif/ || $file =~ /\.png/ || $file =~ /\.ico/ ) { die("can't copy($file, $dest)\n") unless copy($file, $dest); } else { open(FILE, $file) || die("can't open $file for reading\n"); @@ -276,10 +318,10 @@ sub InstallFile # # fixup for conf links # - if ( !/A NAME="item_(%|_)conf/i ) { + if ( !/a name="_conf/i ) { s/\$Conf{([^}]*)}/ defined($ConfName{$1}) - ? "\L\E\$Conf{$1}<\/A>" + ? "\L\E\$Conf{$1}<\/a>" : "\$Conf{$1}"/eg; } s/^
/

/; @@ -355,7 +397,7 @@ sub config2pod push(@conf, $_); my $text = "_conf_${var}_"; $text =~ s{[\W\s]}{_}g; - $ConfName{$var} = "item_$text"; + $ConfName{$var} = "$text"; } elsif ( /^$/ ) { if ( $str ne "" && @conf ) { $out .= "=item " . join("\n\n=item ", @conf) . "\n\n"; @@ -560,7 +602,7 @@ sub CheckLangTags my($en, $enVars) = LangParse("lib/BackupPC/Lang/en.pm"); my($errors); - foreach my $lang ( qw(fr.pm de.pm es.pm it.pm nl.pm pt_br.pm zh_CN.pm) ) { + foreach my $lang ( qw(cz.pm fr.pm de.pm es.pm it.pm nl.pm pl.pm pt_br.pm zh_CN.pm) ) { my($d, $dVars) = LangParse("lib/BackupPC/Lang/$lang"); foreach my $v1 ( @$en ) { my $v2 = shift(@$d);