X-Git-Url: http://git.rot13.org/?a=blobdiff_plain;f=rewrite-config.PL;h=6167c5ee009fbcf1daaf2dfa7834d2cb0d4aaab0;hb=603ab05edf8172ff3de2d9b11117261e2e56c42d;hp=9f4297ab2525e98e550b24f209a8118843390e49;hpb=de04e990f269ef00fe24cb2861b6fc48b6407779;p=koha.git diff --git a/rewrite-config.PL b/rewrite-config.PL index 9f4297ab25..6167c5ee00 100644 --- a/rewrite-config.PL +++ b/rewrite-config.PL @@ -64,13 +64,18 @@ $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?"; +if ( !gethostbyname( $myhost || 'localhost' ) ) { + die 'Could not get the IP address of ' . ( $myhost || 'localhost' ) . ', DNS fault?'; +} + +$myip = $ENV{'WEBSERVER_IP'} || inet_ntoa( scalar gethostbyname( $myhost||'localhost' ) ); $prefix = $ENV{'INSTALL_BASE'} || "/usr"; # These are our configuration guesses # Keys were extracted by # "",/' %configuration = ( + "__KOHA_INSTALLED_VERSION__" => "no_version_found", "__LOG_DIR__" => "/var/log", "__DB_TYPE__" => "mysql", "__DB_NAME__" => "koha", @@ -84,6 +89,11 @@ $prefix = $ENV{'INSTALL_BASE'} || "/usr"; "__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", '__INTRANET_CGI_DIR__' => "$prefix/intranet/cgi-bin", @@ -95,6 +105,7 @@ $prefix = $ENV{'INSTALL_BASE'} || "/usr"; '__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", @@ -104,6 +115,22 @@ $prefix = $ENV{'INSTALL_BASE'} || "/usr"; '__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', + "__PAZPAR2_TOGGLE_XML_PRE__" => '', + "__AUTH_INDEX_MODE__" => 'grs1', + "__RUN_DATABASE_TESTS__" => 'no', + "__PATH_TO_ZEBRA__" => "", ); # Override configuration from the environment @@ -113,14 +140,32 @@ foreach $key (keys %configuration) { } } +# munge commenting out the PazPar2 mergeserver +# entry in koha-conf.xml if necessary +if ($configuration{'__INSTALL_PAZPAR2__'} eq 'yes') { + $configuration{'__PAZPAR2_TOGGLE_XML_PRE__'} = ''; + $configuration{'__PAZPAR2_TOGGLE_XML_POST__'} = ''; +} + $fname = $ARGV[0]; -$file = read_file($fname); +$file = &read_file($fname); $file =~ s/__.*?__/exists $configuration{$&} ? $configuration{$&} : $&/seg; -chmod 0644, $fname; + +# 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,$/);