-#!/bin/perl
+#!/usr/bin/env perl
#============================================================= -*-perl-*-
#
# configure.pl: Configuration and installation program for BackupPC
# Craig Barratt <cbarratt@users.sourceforge.net>
#
# COPYRIGHT
-# Copyright (C) 2001-2006 Craig Barratt
+# Copyright (C) 2001-2007 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
#
#========================================================================
#
-# Version 3.0.0alpha, released 8 Jul 2006.
+# Version 3.1.0beta0, released 3 Sep 2007.
#
# See http://backuppc.sourceforge.net.
#
"cgi-dir=s",
"compress-level=i",
"config-path=s",
+ "config-override=s%",
"config-dir=s",
"data-dir=s",
"dest-dir=s",
# Create defaults for FHS setup
#
if ( $opts{fhs} ) {
- $Conf{TopDir} ||= "/data/BackupPC";
- $Conf{ConfDir} ||= $opts{"config-dir"} || "/etc/BackupPC";
- $Conf{InstallDir} ||= "/usr/local/BackupPC";
- $Conf{LogDir} ||= $opts{"log-dir"} || "/var/log/BackupPC";
+ $Conf{TopDir} ||= $opts{"data-dir"} || "/data/BackupPC";
+ $Conf{ConfDir} ||= $opts{"config-dir"} || "/etc/BackupPC";
+ $Conf{InstallDir} ||= $opts{"install-dir"} || "/usr/local/BackupPC";
+ $Conf{LogDir} ||= $opts{"log-dir"} || "/var/log/BackupPC";
+} else {
+ $Conf{TopDir} ||= $opts{"data-dir"} || "/data/BackupPC";
+ $Conf{ConfDir} ||= $opts{"config-dir"} || "$Conf{TopDir}/conf";
+ $Conf{InstallDir} ||= $opts{"install-dir"} || "/usr/local/BackupPC";
+ $Conf{LogDir} ||= $opts{"log-dir"} || "$Conf{TopDir}/log";
}
#
lib/BackupPC/Storage
lib/BackupPC/Xfer
lib/BackupPC/Zip
+ lib/Net/FTP
) ) {
next if ( -d "$DestDir$Conf{InstallDir}/$dir" );
mkpath("$DestDir$Conf{InstallDir}/$dir", 0, 0755);
InstallFile("init.d/src/$init", "init.d/$init", 0444);
}
+printf("Making Apache configuration file for suid-perl\n");
+InstallFile("httpd/src/BackupPC.conf", "httpd/BackupPC.conf", 0644);
+
printf("Installing docs in $DestDir$Conf{InstallDir}/doc\n");
foreach my $doc ( qw(BackupPC.pod BackupPC.html) ) {
InstallFile("doc/$doc", "$DestDir$Conf{InstallDir}/doc/$doc", 0444);
=~ s/(\s*\$Conf\{.*?\}\s*=\s*).*/$1$value/s;
}
+#
+# Apply any command-line configuration parameter settings
+#
+foreach my $param ( keys(%{$opts{"config-override"}}) ) {
+ my $val = eval { $opts{"config-override"}{$param} };
+ if ( @$ ) {
+ printf("Can't eval --config-override setting %s=%s\n",
+ $param, $opts{"config-override"}{$param});
+ exit(1);
+ }
+ if ( !defined($newVars->{$param}) ) {
+ printf("Unkown config parameter %s in --config-override\n", $param);
+ exit(1);
+ }
+ $newConf->[$newVars->{$param}]{text} = $opts{"config-override"}{$param};
+}
+
#
# Now backup and write the config file
#
if ( $prog =~ /Lib.pm/ );
s/__BACKUPPCUSER__/$Conf{BackupPCUser}/g;
s/__CGIDIR__/$Conf{CgiDir}/g;
+ s/__IMAGEDIR__/$Conf{CgiImageDir}/g;
+ s/__IMAGEDIRURL__/$Conf{CgiImageDirURL}/g;
if ( $first && /^#.*bin\/perl/ ) {
#
# Fill in correct path to perl (no taint for >= 2.0.1).
=head1 COPYRIGHT
-Copyright (C) 2001-2006 Craig Barratt.
+Copyright (C) 2001-2007 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