--- trunk/INSTALL 2003/10/09 10:22:35 132 +++ trunk/INSTALL 2004/04/17 20:40:28 304 @@ -1,4 +1,4 @@ -beta-beta-beta INSTALL INSTRUCTIONS +INSTALL INSTRUCTIONS Feel free to contact me via e-mail to dpavlin@rot13.org if those instructions don't work for you. @@ -25,6 +25,20 @@ change data for index often, you might want to drop and re-create database to erase tables for indexes which are removed. + SQLite can be quite faster than PostgreSQL (for reference see SQLite + site: http://www.hwaci.com/sw/sqlite/speed.html). Since WebPAC doesn't + use advanced database facilities of PostgreSQL you would probably be + better off with SQLite if you don't have PostgreSQL already installed. + + If you are using SQLite, there is no need to specify dbi_user or dbi_pass. + So, just leave them like this: + + dbi_user="" + dbi_passwd="" + + If you specify dbi_user and than try to index using different user, + you won't be able to write into database. + 2. Use CPAN shell to install modules used: $ sudo cpan @@ -36,20 +50,19 @@ to get this one from http://savannah.nongnu.org/projects/unac/ Config::IniFiles - DBD::Pg or some other DBD driver, you can also - use the one which came with distribution - (e.g. libdbd-pg-perl on Debian) + DBD::Pg or some other DBD driver like DBD::SQLite CGI::Application - HTML::Pager HTML::Template HTML::FillInForm - SWISH - SWISH::Fork and of course, swish-e executable - (e.g. swish-e package on Debian) + SWISH::API XML::Simple + Text::Iconv + TDB_File + HTML::Entities (part of HTML::Parser) CPAN shell will also download some more modules to satisfy dependencies. + If you plan to use M$ Excel files for import (type=excel), you will need: Spreadsheet::ParseExcel @@ -58,26 +71,84 @@ MARC + +2.1 Installation on Debian GNU/Linux + + You will need following packages to get started: + + perl + swish-e + + and all additional packages which are dependencies. + + You also don't have to install all CPAN modules manually. Just use + following Debian packages: + + libtext-unaccent-perl + libconfig-inifiles-perl + libdbd-pg-perl or some other DBD driver + libdbd-sqlite-perl like DBD::SQLite + libhtml-template-perl + libxml-simple-perl + libtext-iconv-perl + tdb-dev (for TDB_File module later) + libhtml-parser-perl + + and install following packages by hand from CPAN + because they are not part of Debian distribution: + + CGI::Application + HTML::FillInForm + SWISH::API + + and optionally some of those modules: + + Spreadsheet::ParseExcel + MARC + + For compilation of OpenIsis in next step, you will also need following + packages: + + make + gcc + libc-dev + 3. You will need OpenIsis if you are using ISIS as an import format. - Currently, WebPac uses OpenIsis 0.9.0 which *HAVE TO BE PATCHED* + Currently, WebPAC uses OpenIsis 0.9.0 which *HAVE TO BE PATCHED* with special patch so that perl module OpenIsis.pm have close call (because there is hard-limit of 32 ISIS files in OpenIsis.pm, and that is too low for our use). - Get OpenIsis from: + You can do that yourself, or if you did checkout of our subversion repository + you will already have latest OpenIsis in webpac/openisis/ directory. + + If you want to do it yourself, first get OpenIsis from: http://openisis.org/Doc/GetIt - Get patch for close from: + Then get patch for close from: http://www.rot13.org/~dpavlin/projects/openisis-0.9.0-perl_close.diff - Unpack OpenIsis archive and apply patch -p0 to source tree. Type make, and - than: + Unpack OpenIsis archive and apply patch -p0 to source tree. + + Eater way, now you got OpenIsis 0.9.0 with close support for perl. So, + first compile C parts: + make + + And then compile perl module and install it: + + make perl cd perl - perl Makefile.PL - make sudo make install -4. edit global.conf and all2xml.conf to suit your needs. Comments inside + Since you need development tools on target machine to compile OpenIsis, + you might want to compile it on another machine and just copy perl module. + +4. Edit global.conf and all2xml.conf to suit your needs. Comments inside those files should help get you started. +5. All perl code will use locale to do sorting. That also include indexes + which, while being RDBMS-based, also use perl sorting (because each + entry has ordinal number created by perl). So, be sure that LC_COLLATE + environment variable is configured for your locale (which also has to + be enabled, check dpkg-reconfigure locales if you are using Debian).