X-Git-Url: https://code.th-h.de/?p=usenet%2Fnewsstats.git;a=blobdiff_plain;f=install%2Finstall.pl;h=e2acf663b60456e92e03b62a45f918d2d7f9cafd;hp=59920fa5a35b486ee73dd7951edbb852d5dae490;hb=fd0717a15cb1b36e25a019060d3f40aac9ca9517;hpb=38fa44f89b2f0a5dac65ef1b152aefebd5513c78 diff --git a/install/install.pl b/install/install.pl index 59920fa..e2acf66 100755 --- a/install/install.pl +++ b/install/install.pl @@ -3,27 +3,25 @@ # install.pl # # This script will create database tables as necessary. -# +# # It is part of the NewsStats package. # -# Copyright (c) 2010-2012 Thomas Hochstein +# Copyright (c) 2010-2013 Thomas Hochstein # -# It can be redistributed and/or modified under the same terms under +# It can be redistributed and/or modified under the same terms under # which Perl itself is published. BEGIN { - our $VERSION = "0.01"; + our $VERSION = "0.02"; use File::Basename; - # we're in .../install, so our module is in .. - push(@INC, dirname($0).'/..'); + # we're in .../install, so our module is in ../lib + push(@INC, dirname($0).'/../lib'); } use strict; use warnings; use NewsStats qw(:DEFAULT); -use Cwd; - use DBI; use Getopt::Long qw(GetOptions); Getopt::Long::config ('bundling'); @@ -31,18 +29,15 @@ Getopt::Long::config ('bundling'); ################################# Main program ################################# ### read commandline options -my ($OptUpdate); +my ($OptUpdate,$OptConfFile); GetOptions ('u|update=s' => \$OptUpdate, + 'conffile=s' => \$OptConfFile, 'h|help' => \&ShowPOD, 'V|version' => \&ShowVersion) or exit 1; -### change working directory to .. (as we're in .../install) -chdir dirname($FullPath).'/..'; -my $Path = cwd(); - ### read configuration print("Reading configuration.\n"); -my %Conf = %{ReadConfig($Path.'/newsstats.conf')}; +my %Conf = %{ReadConfig($OptConfFile)}; ##### -------------------------------------------------------------------------- ##### Database table definitions @@ -53,9 +48,9 @@ CREATE DATABASE IF NOT EXISTS `$Conf{'DBDatabase'}` DEFAULT CHARSET=utf8; SQLDB my %DBCreate = ('DBTableRaw' => < <prepare($DBCreate); $DBQuery->execute() or &Bleat(2, sprintf("Can't create database %s: %s%\n", $Conf{'DBDatabase'}, $DBI::errstr)); - + printf("Database table %s created succesfully.\n",$Conf{'DBDatabase'}); $DBHandle->disconnect; }; @@ -185,7 +180,7 @@ if (!$OptUpdate) { &CreateTable($Table); }; print "Database table generation done.\n"; - + # Display install instructions print $Install; } else { @@ -255,7 +250,7 @@ install - installation script =head1 SYNOPSIS -B [B<-Vh> [--update I] +B [B<-Vh> [--update I] [B<--conffile> I] =head1 REQUIREMENTS @@ -267,8 +262,9 @@ This script will create database tables as necessary and configured. =head2 Configuration -B will read its configuration from F via -Config::Auto. +B will read its configuration from F which should +be present in etc/ via Config::Auto or from a configuration file submitted +by the B<--conffile> option. See L for an overview of possible configuration options. @@ -288,21 +284,25 @@ Print this man page and exit. Don't do a fresh install, but update from I. +=item B<--conffile> I + +Load configuration from I instead of F. + =back =head1 FILES =over 4 -=item F +=item F The script itself. -=item F +=item F Library functions for the NewsStats package. -=item F +=item F Runtime configuration file. @@ -335,7 +335,7 @@ Thomas Hochstein =head1 COPYRIGHT AND LICENSE -Copyright (c) 2010-2012 Thomas Hochstein +Copyright (c) 2010-2013 Thomas Hochstein This program is free software; you may redistribute it and/or modify it under the same terms as Perl itself.