X-Git-Url: https://code.th-h.de/?p=usenet%2Fnewsstats.git;a=blobdiff_plain;f=install%2Finstall.pl;h=1ef21fb990d45ac9300bb708de69c50e2668d83c;hp=61e8ef1ee8a3ab27bb35307316ac76235f0e3a08;hb=dfc2b81c37c38c2b7bcc8afeead0ec927845b90f;hpb=1fa947994652e526566d286e1527e2b58860cc83 diff --git a/install/install.pl b/install/install.pl index 61e8ef1..1ef21fb 100755 --- a/install/install.pl +++ b/install/install.pl @@ -1,23 +1,24 @@ -#! /usr/bin/perl -W +#! /usr/bin/perl # # 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"; 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); @@ -36,17 +37,21 @@ GetOptions ('u|update=s' => \$OptUpdate, 'V|version' => \&ShowVersion) or exit 1; ### change working directory to .. (as we're in .../install) -chdir dirname($0).'/..'; +chdir dirname($FullPath).'/..'; my $Path = cwd(); ### read configuration print("Reading configuration.\n"); -my %Conf = %{ReadConfig($HomePath.'/newsstats.conf')}; +my %Conf = %{ReadConfig('')}; ##### -------------------------------------------------------------------------- ##### Database table definitions ##### -------------------------------------------------------------------------- +my $DBCreate = < < < INSTALL -my $Upgrade = <connect(sprintf('DBI:%s:host=%s',$Conf{'DBDriver'}, + $Conf{'DBHost'}), $Conf{'DBUser'}, + $Conf{'DBPw'}, { PrintError => 0 }); + my $DBQuery = $DBHandle->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; +}; + ### DB init, read list of tables print "Reading database information.\n"; my $DBHandle = InitDB(\%Conf,1); @@ -155,13 +180,12 @@ my %TablesInDB = if (!$OptUpdate) { ##### installation mode - print "----------\nStarting database table generation.\n"; # check for tables and create them, if they don't exist yet foreach my $Table (keys %DBCreate) { &CreateTable($Table); }; print "Database table generation done.\n"; - + # Display install instructions print $Install; } else { @@ -270,15 +294,15 @@ Don't do a fresh install, but update from I. =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.