use vars qw( $input );
-$::language='en';
-$::domainname = `hostname -d`;
-chomp $::domainname;
-$::etcdir = '/etc';
-
-
-unless ($< == 0) {
- print "You must be root to run this script.\n";
- exit 1;
+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;
+###############################################
+# SET THE etcdir ENVIRONMENT VAR INSTEAD #
+###############################################
+my $etcdir = $ENV{etcdir}||'/etc';
+system("mkdir -p $etcdir");
+
+Install::setetcdir $etcdir;
unless (-d 'intranet-html') {
print <<EOP;
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();
}
-#checkabortedinstall();
+checkabortedinstall();
-if (-e "$::etcdir/koha.conf") {
- $::installedversion=`grep kohaversion= $::etcdir/koha.conf`;
- chomp $::installedversion;
- $::installedversion=~m/kohaversion=(.*)/;
- $::installedversion=$1;
+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', [$::etcdir, $::kohaversion, $installedversionmsg]);
+ my $message=getmessage('KohaAlreadyInstalled', [$etcdir, $kohaversion, $installedversionmsg]);
showmessage($message, 'none');
exit;
}
installfiles();
+backupmycnf();
+
databasesetup();
updatedatabase();
-updatemarc();
-
populatedatabase();
-restartapache();
+restoremycnf();
+finalizeconfigfile();
+
+restartapache();
-# Installation is complete. Rename the koha.conf.tmp file
-rename "$::etcdir/koha.conf.tmp", "$::etcdir/koha.conf" || warn "Couldn't rename file at $::etcdir. Must have write capability.\n";
-showmessage(getmessage('AuthenticationWarning', [$::etcdir]), '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');