Bug 17600: Standardize our EXPORT_OK
[srvgit] / t / db_dependent / zebra_config.pl
index d98230f..169c51e 100755 (executable)
@@ -1,23 +1,60 @@
 #!/usr/bin/perl
 
 use Modern::Perl;
-use File::Copy;
-use File::Path qw(make_path);
-use File::Find;
-use File::Basename;
+
+use File::Copy qw( copy );
+use File::Path qw( make_path );
+use File::Find qw( find );
+use File::Basename qw( dirname );
 use File::Spec;
 
+use C4::Context;
+
 my $source = File::Spec->rel2abs('.');
-my $destination = File::Spec->rel2abs('.') . "/t/db_dependent/data";
+my $destination = $ARGV[0];
+my $marc_type = $ARGV[1] || 'marc21';
+my $indexing_mode = $ARGV[2] || 'dom';
+
+$ENV{__ZEBRA_MARC_FORMAT__} = $marc_type;
+$ENV{__ZEBRA_BIB_CFG__} = 'zebra-biblios-dom.cfg';
+$ENV{__BIB_RETRIEVAL_CFG__} = 'retrieval-info-bib-dom.xml';
+$ENV{__ZEBRA_AUTH_CFG__} = 'zebra-authorities-dom.cfg';
+$ENV{__AUTH_RETRIEVAL_CFG__} = 'retrieval-info-auth-dom.xml';
 
 make_path("$destination/var/lock/zebradb");
+make_path("$destination/var/lock/zebradb/biblios");
+make_path("$destination/var/lock/zebradb/authorities");
+make_path("$destination/var/lock/zebradb/rebuild");
 make_path("$destination/var/lib/zebradb");
+make_path("$destination/var/lib/zebradb/biblios");
+make_path("$destination/var/lib/zebradb/biblios/key");
+make_path("$destination/var/lib/zebradb/biblios/register");
+make_path("$destination/var/lib/zebradb/biblios/shadow");
+make_path("$destination/var/lib/zebradb/biblios/tmp");
+make_path("$destination/var/lib/zebradb/authorities");
+make_path("$destination/var/lib/zebradb/authorities/key");
+make_path("$destination/var/lib/zebradb/authorities/register");
+make_path("$destination/var/lib/zebradb/authorities/shadow");
+make_path("$destination/var/lib/zebradb/authorities/tmp");
+make_path("$destination/var/log/koha");
 make_path("$destination/var/run/zebradb");
 
 $ENV{'INSTALL_BASE'} = $destination;
 $ENV{'__INSTALL_BASE__'} = $destination;
 
-my @files = ( "$source/etc/koha-conf.xml" );
+$ENV{'__DB_TYPE__'} = C4::Context->config('db_scheme') // 'mysql';
+$ENV{'__DB_NAME__'} = C4::Context->config('database')  // 'koha';
+$ENV{'__DB_HOST__'} = C4::Context->config('hostname')  // 'localhost';
+$ENV{'__DB_PORT__'} = C4::Context->config('port')      // '3306';
+$ENV{'__DB_USER__'} = C4::Context->config('user')      // 'kohaadmin';
+$ENV{'__DB_PASS__'} = C4::Context->config('pass')      // 'katikoan';
+
+$ENV{'__LOG_DIR__'} = "$destination/var/log/koha";
+
+my @files = (
+    "$source/etc/koha-conf.xml",
+    "$source/etc/log4perl.conf",
+);
 
 find(sub { push @files, $File::Find::name if ( -f $File::Find::name ); }, "$source/etc/zebradb");
 
@@ -25,6 +62,7 @@ foreach my $file (@files) {
     my $target = "$file";
     $target =~ s#$source#$destination#;
     $target =~ s#etc/zebradb#etc/koha/zebradb#;
+    $target =~ s#etc/log4perl\.conf#etc/koha/log4perl.conf#;
     unlink($target);
     make_path(dirname($target));
     copy("$file", "$target");