The following configuration keywords are available:
PREFIX,
-BASE_DIR, CGI_DIR, LOG_DIR,
+BASE_DIR, CGI_DIR, LOG_DIR, INSTALL_BASE,
DB_TYPE, DB_HOST, DB_PORT, DB_NAME, DB_PASS, DB_USER, WEBMASTER_EMAIL, WEBSERVER_DOMAIN,
WEBSERVER_HOST, WEBSERVER_IP, WEBSERVER_PORT, WEBSERVER_PORT_LIBRARIAN, ZEBRA_PASS, ZEBRA_USER
$mydomain =~ s/^.*?\.//;
# This is set here to rescue systems with broken DNS
$myip = $ENV{'WEBSERVER_IP'} || inet_ntoa(scalar gethostbyname($myhost||'localhost')) || die "Cannot get our own IP address: DNS fault?";
-$prefix = $ENV{'PREFIX'} || "/usr/local";
+$prefix = $ENV{'INSTALL_BASE'} || "/usr";
# These are our configuration guesses
# Keys were extracted by
# <grep -o '__.*__' etc/* | cut -f2 -d: | sort -u | sed -e 's/^/ "/;s/$/" => "",/'
%configuration = (
- "__BASE_DIR__" => ($ENV{'INSTALLSITELIB'} || sprintf($prefix."/lib/perl/%vd",$^V))."/koha",
- # Corrected to match Debian Perl req's.... -fbcit
- "__CGI_DIR__" => $prefix."/lib/cgi-bin/koha",
+ "__KOHA_INSTALLED_VERSION__" => "no_version_found",
"__LOG_DIR__" => "/var/log",
"__DB_TYPE__" => "mysql",
"__DB_NAME__" => "koha",
"__DB_PORT__" => "3306",
"__DB_USER__" => "kohaadmin",
"__DB_PASS__" => "katikoan",
- "__PREFIX__" => $prefix,
"__WEBMASTER_EMAIL__" => 'webmaster@'.$mydomain,
"__WEBSERVER_DOMAIN__" => $mydomain,
"__WEBSERVER_HOST__" => $myhost,
"__WEBSERVER_IP__" => $myip,
"__WEBSERVER_PORT__" => "80",
"__WEBSERVER_PORT_LIBRARIAN__" => "8080",
+ "__ZEBRA_SRU_HOST__" => $myhost,
+ "__ZEBRA_SRU_BIBLIOS_PORT__" => "9998",
+ "__ZEBRA_SRU_AUTHORITIES_PORT__" => "9999",
+ "__KOHA_USER__" => "koha",
+ "__KOHA_GROUP__" => "koha",
"__ZEBRA_PASS__" => "zebrastripes",
"__ZEBRA_USER__" => "kohauser",
- "__MARCFLAVOUR__" => "marc21",
+ '__INTRANET_CGI_DIR__' => "$prefix/intranet/cgi-bin",
+ '__INTRANET_TMPL_DIR__' => "$prefix/intranet/templates",
+ '__INTRANET_WWW_DIR__' => "$prefix/intranet/www",
+ '__OPAC_CGI_DIR__' => "$prefix/opac/cgi-bin",
+ '__OPAC_TMPL_DIR__' => "$prefix/opac/templates",
+ '__OPAC_WWW_DIR__' => "$prefix/opac/www",
+ '__PERL_MODULE_DIR__' => ($ENV{'INSTALLSITELIB'} || sprintf($prefix."/lib/perl5/site_perl/%vd",$^V))."/koha",
+ '__KOHA_CONF_DIR__' => "$prefix/etc/koha",
+ '__ZEBRA_CONF_DIR__' => "$prefix/etc/koha/zebradb",
+ '__PAZPAR2_CONF_DIR__' => "$prefix/etc/koha/pazpar2",
+ '__MISC_DIR__' => "$prefix/misc",
+ '__SCRIPT_DIR__' => "$prefix/bin",
+ '__MAN_DIR__' => "$prefix/man",
+ '__DOC_DIR__' => "$prefix/doc",
+ '__ZEBRA_LOCK_DIR__' => "$prefix/var/lock/zebradb",
+ '__ZEBRA_DATA_DIR__' => "$prefix/var/lib/zebradb",
+ '__ZEBRA_RUN_DIR__' => "$prefix/var/run/zebradb",
+ '__ZEBRA_MARC_FORMAT__' => 'marc21',
+ '__ZEBRA_LANGUAGE__' => 'en',
+ '__ZEBRA_AUTH_CFG__' => 'zebra-authorities.cfg',
+ '__AUTH_RETRIEVAL_CFG__' => 'retrieval-info-auth-grs1.xml',
+ "__MERGE_SERVER_HOST__" => $myhost,
+ "__MERGE_SERVER_PORT__" => '11001',
+ "__PAZPAR2_HOST__" => $myhost,
+ "__PAZPAR2_PORT__" => '11002',
+ "__INSTALL_MODE__" => 'standard',
+ "__INSTALL_BASE__" => '/usr/share/koha',
+ "__INSTALL_ZEBRA__" => 'yes',
+ "__INSTALL_SRU__" => 'yes',
+ "__INSTALL_PAZPAR2__" => 'no',
+ "__AUTH_INDEX_MODE__" => 'grs1',
);
# Override configuration from the environment
$fname = $ARGV[0];
$file = read_file($fname);
-$file =~ s/__.*?__/$configuration{$&}/seg;
-chmod 0644, $fname;
+$file =~ s/__.*?__/exists $configuration{$&} ? $configuration{$&} : $&/seg;
+
+# At this point, file is in 'blib' and by default
+# has mode a-w. Therefore, must change permission
+# to make it writable. Note that stat and chmod
+# (the Perl functions) should work on Win32
+my $old_perm;
+$old_perm = (stat $fname)[2] & 07777;
+my $new_perm = $old_perm | 0200;
+chmod $new_perm, $fname;
+
open(OUTPUT,">$fname") || die "Can't open $fname for write: $!";
print OUTPUT $file;
close(OUTPUT);
+chmod $old_perm, $fname;
+
# Idea taken from perlfaq5
sub read_file($) {
local(*INPUT,$/);