=head1 DESCRIPTION
-This helper script replaces placeholders in the
+This helper script replaces keywords in the
configuration files with value either supplied through
the environment (with export, or by putting them on
-the start of the make command linke) or with reasonable
+the start of the make command line) or with reasonable
guesses worked out by the script.
-=head2 KEYS
+=head2 KEYWORDS
-The following configuration keys are available:
+The following configuration keywords are available:
-BASE_DIR, MYSQL_DB, MYSQL_HOST, MYSQL_PASS, MYSQL_USER, WEBSERVER_DOMAIN,
-WEBSERVER_HOST, WEBSERVER_IP, ZEBRA_PASS, ZEBRA_USER
+PREFIX,
+BASE_DIR, CGI_DIR, LOG_DIR,
+MYSQL_DB, MYSQL_HOST, MYSQL_PASS, MYSQL_USER, WEBMASTER_EMAIL, WEBSERVER_DOMAIN,
+WEBSERVER_HOST, WEBSERVER_IP, WEBSERVER_PORT, WEBSERVER_PORT_LIBRARIAN, ZEBRA_PASS, ZEBRA_USER
+
+=head1 EXAMPLES
+
+To override the guessed hostname and email address, run:
+
+ WEBSERVER_HOST=mysecrethostname.com.invalid \
+ WEBMASTER_EMAIL=webmaster@publichost.com make install
+
+Note that if WEBSERVER_HOST does not resolve to an IP address, you will
+also need to override WEBSERVER_IP.
=cut
$myhost = hostname();
$mydomain = $myhost;
$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";
# These are our configuration guesses
# Keys were extracted by
# <grep -o '__.*__' etc/* | cut -f2 -d: | sort -u | sed -e 's/^/ "/;s/$/" => "",/'
%configuration = (
- "__BASE_DIR__" => sprintf("/usr/lib/perl5/site-perl/%vd/koha",$^V),
+ "__BASE_DIR__" => ($ENV{'INSTALLSITELIB'} || sprintf($prefix."/lib/perl5/site_perl/%vd",$^V))."/koha",
+ "__CGI_DIR__" => $prefix."/lib/cgi-bin/koha",
+ "__LOG_DIR__" => "/var/log",
"__MYSQL_DB__" => "koha",
"__MYSQL_HOST__" => $myhost,
"__MYSQL_PASS__" => "katikoan",
"__MYSQL_USER__" => "kohaadmin",
+ "__PREFIX__" => $prefix,
+ "__WEBMASTER_EMAIL__" => 'webmaster@'.$mydomain,
"__WEBSERVER_DOMAIN__" => $mydomain,
"__WEBSERVER_HOST__" => $myhost,
- # This is set like this to rescue systems with broken DNS
- "__WEBSERVER_IP__" => $ENV{'WEBSERVER_IP'} || inet_ntoa(scalar gethostbyname($myhost||'localhost')) || die "Cannot get our own IP address: DNS fault?",
+ "__WEBSERVER_IP__" => $myip,
+ "__WEBSERVER_PORT__" => "80",
+ "__WEBSERVER_PORT_LIBRARIAN__" => "8080",
"__ZEBRA_PASS__" => "zebrastripes",
"__ZEBRA_USER__" => "kohauser",
);