use Install;
use strict; # please develop with the strict pragma
+use vars qw( $input );
+
+Install::setlanguage 'en';
+
+my $domainname = `hostname`; # Note: must not have any arguments (portability)
+if ($domainname =~ /^[^\s\.]+\.([-a-z0-9\.]+)$/) {
+ $domainname = $1;
+} else {
+ undef $domainname;
+ if (open(INPUT, "</etc/resolv.conf")) {
+ while (<INPUT>) {
+ $domainname = $1 if /^domain\s+([-a-z0-9\.]+)\s*$/i;
+ last if defined $domainname;
+ }
+ close INPUT;
+ }
+}
+Install::setdomainname $domainname;
-$::language='en';
+my $etcdir = '/etc';
+Install::setetcdir $etcdir;
unless ($< == 0) {
print "You must be root to run this script.\n";
exit 1;
}
-$::kohaversion=`cat koha.version`;
-chomp $::kohaversion;
+my $kohaversion=`cat koha.version`;
+chomp $kohaversion;
+Install::setkohaversion $kohaversion;
-if ($::kohaversion =~ /RC/) {
+if ($kohaversion =~ /RC/) {
releasecandidatewarning();
}
-if (-e "/etc/koha.conf") {
- $::installedversion=`grep kohaversion= /etc/koha.conf`;
- chomp $::installedversion;
- $::installedversion=~m/kohaversion=(.*)/;
- $::installedversion=$1;
+checkabortedinstall();
+
+if (-e "$etcdir/koha.conf") {
+ my $installedversion=`grep kohaversion= $etcdir/koha.conf`;
+ chomp $installedversion;
+ $installedversion=~m/kohaversion=(.*)/;
+ $installedversion=$1;
my $installedversionmsg;
- if ($::installedversion) {
- $installedversionmsg=getmessage('KohaVersionInstalled', [$::installedversion]);
+ if ($installedversion) {
+ $installedversionmsg=getmessage('KohaVersionInstalled', [$installedversion]);
} else {
$installedversionmsg=getmessage('KohaUnknownVersionInstalled');
}
- my $message=getmessage('KohaAlreadyInstalled', [$::kohaversion, $installedversionmsg]);
+ my $message=getmessage('KohaAlreadyInstalled', [$etcdir, $kohaversion, $installedversionmsg]);
showmessage($message, 'none');
exit;
}
print $continuingmsg;
} else {
print qq|
-This installer currently does not support a completely automated
+This installer currently does not support a completely automated
setup.
-Please be sure to read the documentation, or visit the Koha website
+Please be sure to read the documentation, or visit the Koha website
at http://www.koha.org for more information.
|;
exit;
};
-my $input;
-$::domainname = `hostname -d`;
-chomp $::domainname;
-$::etcdir = '/etc';
-
-
# Check for missing Perl Modules
checkperlmodules();
databasesetup();
-restartapache();
+updatedatabase();
+populatedatabase();
-# Installation is complete. Rename the koha.conf.tmp file
+finalizeconfigfile();
-rename "$::etcdir/koha.conf.tmp", "$::etcdir/koha.conf" || warn "Couldn't rename file at $::etcdir. Must have write capability.\n";
+restartapache();
-updatedatabase();
-populatedatabase();
-showmessage(getmessage('AuthenticationWarning'), 'PressEnter');
+showmessage(getmessage('AuthenticationWarning', [$etcdir]), 'PressEnter');
-showmessage(getmessage('Completed', [ $::servername, $::intranetport, $::servername, $::opacport]), 'PressEnter');
+showmessage(getmessage('Completed', [ Install::getservername(), Install::getintranetport(), Install::getservername(), Install::getopacport()]), 'PressEnter');
-my $reply=showmessage('Would you like to complete a survey about your library?', 'yn', 'y');
-if ($reply=~/y/i) {
- system("perl kohareporter");
+if (-f "kohareporter") {
+ my $reply=showmessage('Would you like to complete a survey about your library?', 'yn', 'y');
+ if ($reply=~/y/i) {
+ system("perl kohareporter");
+ }
}
-