From: dbs Date: Wed, 27 Aug 2008 20:12:04 +0000 (+0000) Subject: Start using automake/autoconf for configuring, building, and installing Evergreen X-Git-Url: https://old-git.evergreen-ils.org/?a=commitdiff_plain;h=c97146409f6bd96fd26b4ba921de7ca34f675536;p=Evergreen.git Start using automake/autoconf for configuring, building, and installing Evergreen git-svn-id: svn://svn.open-ils.org/ILS/trunk@10466 dcc99617-32d9-48b4-a31d-7c20da2025e4 --- diff --git a/AUTHORS b/AUTHORS new file mode 100644 index 0000000000..5650c91566 --- /dev/null +++ b/AUTHORS @@ -0,0 +1 @@ +#AUTHORS diff --git a/ChangeLog b/ChangeLog new file mode 100644 index 0000000000..3323187d13 --- /dev/null +++ b/ChangeLog @@ -0,0 +1 @@ +#ChangeLog diff --git a/Evergreen/Makefile.am b/Evergreen/Makefile.am new file mode 100644 index 0000000000..cea18352e7 --- /dev/null +++ b/Evergreen/Makefile.am @@ -0,0 +1,53 @@ +#-------------------------------------------------------------------- +# Makefile.am for Evergreen +# Author: Kevin Beswick (kevinbeswick00@gmail.com) +## Process this file with automake to generate Makefile.in +#------------------------------------------------------------------- + +NEW_OPAC_URL=myopac.domain +NEW_XUL_PACKAGE_NAME=openils +NEW_XUL_PACKAGE_LABEL=OpenILS + +if BUILDEGCORE +EGCORE_INST = circ-install iplist-install perl-install web-install +endif + +if BUILDEGXULCLIENT +EGXUL_INST = xul +endif + +install-data-hook: $(EGCORE_INST) $(EGXUL_INST) + +xul: + @echo $@ + cp -R staff_client local_staff_client + find local_staff_client/ -type f -exec sed -i s/evergreen/${NEW_XUL_PACKAGE_NAME}/g {} \; + find local_staff_client/ -type f -exec sed -i s/Evergreen/${NEW_XUL_PACKAGE_LABEL}/g {} \; + (cd local_staff_client/chrome/skin/evergreen; mv evergreen.css ${NEW_XUL_PACKAGE_NAME}.css) + (cd local_staff_client/defaults/preferences; mv evergreen.js ${NEW_XUL_PACKAGE_NAME}.js) + (cd local_staff_client/chrome/content; mv evergreen ${NEW_XUL_PACKAGE_NAME}) + (cd local_staff_client/chrome/locale/en-US/; mv evergreen ${NEW_XUL_PACKAGE_NAME}) + (cd local_staff_client/chrome/skin; mv evergreen ${NEW_XUL_PACKAGE_NAME}) + make -C local_staff_client build + find local_staff_client/ -type f -exec sed -i s/gapines.org/${NEW_OPAC_URL}/g {} \; + make -C local_staff_client package + +perl-install: + @echo $@ + mkdir -p $(PERLDIR) + cp -r src/perlmods/* $(PERLDIR) + +circ-install: + @echo $@ + mkdir -p $(CIRCRULESDIR) + cp src/javascript/backend/circ/*.js $(CIRCRULESDIR) + +iplist-install: + @echo $@ + mkdir -p $(ETCDIR) + cp conf/lib_ips.txt $(ETCDIR) + +web-install: + @echo $@ + cp web/opac/images/* $(WEBDIR)/opac/images/ + diff --git a/Makefile b/Makefile deleted file mode 100644 index a193e39373..0000000000 --- a/Makefile +++ /dev/null @@ -1,45 +0,0 @@ -# vim:noet:ts=4 -# -------------------------------------------------------------------- -# Copyright (C) 2005 Georgia Public Library Service -# Bill Erickson -# -# This program is free software; you can redistribute it and/or -# modify it under the terms of the GNU General Public License -# as published by the Free Software Foundation; either version 2 -# of the License, or (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -------------------------------------------------------------------- - -SHELL=/bin/bash - -all: build - -verbose: oldconfig - @./install.sh build verbose - -config: - @./config.sh - -default_config: - @./config.sh default - -oldconfig: install.conf - -install.conf: - @./config.sh - -build: oldconfig - @./install.sh build - -install: - @./install.sh install - -clean: - @./install.sh clean - -test: - @./install.sh test diff --git a/Makefile.am b/Makefile.am new file mode 100644 index 0000000000..c65e70293f --- /dev/null +++ b/Makefile.am @@ -0,0 +1,50 @@ +#---------------------------------------------------------- +# Makefile.am for openils +# Author: Kevin Beswick (kevinbeswick00@gmail.com) +## Process this file with automake to generate Makefile.in +#---------------------------------------------------------- + +# Set some variables + +export PREFIX=@prefix@ +export BINDIR=@bindir@ +export LIBDIR=@libdir@ +export perldir=$(LIBDIR)/perl5 +export INCLUDEDIR=@includedir@ +export ETCDIR=@sysconfdir@ +export WEBDIR=@localstatedir@/web +export CGIDIR=@localstatedir@/cgi-bin +export TEMPLATEDIR=@localstatedir@/templates + +export datadir=@localstatedir@/data +export circrulesdir=@localstatedir@/circ +export catalogscriptdir=@localstatedir@/catalog +export penaltyrulesdir=@localstatedir@/penalty +export XSLDIR=@localstatedir@/xsl +export REPORTERDIR=@localstatedir@/reporter +export ADMINDIR=@localstatedir@/admin +export SOCK=@localstatedir@/lock +export PID=@localstatedir@/run +export LOG=@localstatedir@/log + + + +# Derived from autoconf: +export TMP = @TMP@ +export APXS2 = @APXS2@ +export APACHE2_HEADERS = @APACHE2_HEADERS@ +export APR_HEADERS = @APR_HEADERS@ +export LIBXML2_HEADERS = @LIBXML2_HEADERS@ +export DBI_LIBS = @DBI_LIBS@ +export OPENSRF_HEADERS = @OPENSRF_HEADERS@ +export OPENSRF_LIBS = @OPENSRF_LIBS@ +#export DBDRVR = @DBDRVR@ +#export DBHOST = @DBHOST@ +#export DBPORT = @DBPORT@ +#export DBNAME = @DBNAME@ +#export DBUSER = @DBUSER@ +#export DBPW = @DBPW@ +#export DBVER = @DBVER@ + +SUBDIRS = Open-ILS/src + diff --git a/NEWS b/NEWS new file mode 100644 index 0000000000..2aafebb12c --- /dev/null +++ b/NEWS @@ -0,0 +1 @@ +#NEWS diff --git a/Open-ILS/admin/ils_admin/settings.py.example b/Open-ILS/admin/ils_admin/settings.py.example index ad556c61cf..9dc74eef82 100644 --- a/Open-ILS/admin/ils_admin/settings.py.example +++ b/Open-ILS/admin/ils_admin/settings.py.example @@ -10,7 +10,7 @@ ADMINS = ( MANAGERS = ADMINS DATABASE_ENGINE = 'sqlite3' # 'postgresql', 'mysql', 'sqlite3' or 'ado_mssql'. -DATABASE_NAME = '/openils/var/data/django.db' # Or path to database file if using sqlite3. +DATABASE_NAME = 'LOCALSTATEDIR/data/django.db' # Or path to database file if using sqlite3. DATABASE_SCHEMAS = '' DATABASE_USER = '' # Not used with sqlite3. DATABASE_PASSWORD = '' # Not used with sqlite3. @@ -85,7 +85,7 @@ TEMPLATE_DIRS = ( # Put strings here, like "/home/html/django_templates" or "C:/www/django/templates". # Always use forward slashes, even on Windows. # Don't forget to use absolute paths, not relative paths. - '/openils/var/admin/ils_admin/templates/default' + 'LOCALSTATEDIR/admin/ils_admin/templates/default' ) INSTALLED_APPS = ( diff --git a/Open-ILS/examples/Makefile b/Open-ILS/examples/Makefile deleted file mode 100644 index 607184b5ee..0000000000 --- a/Open-ILS/examples/Makefile +++ /dev/null @@ -1,48 +0,0 @@ -# vim:noet:ts=4 -# -# This is a simple implementation of a test suite for XML validity -# (where possible) or well-formedness (if no schema is available) -# to ensure that our sample XML configuration files are reasonably -# clean. - -TESTIDL := $(shell xmllint --noout --schema fm_IDL.xsd fm_IDL.xml 2>&1 | wc -l) -TESTOSRF := $(shell xmllint --noout opensrf.xml 2>&1 | wc -l) -TESTOSRFCORE := $(shell xmllint --noout opensrf_core.xml 2>&1 | wc -l) - -test_idl: -TOTAL := $(TOTAL). -ifeq ($(TESTIDL), 1) -SUCCESS := $(SUCCESS). -else -$(warning fm_IDL.xml does not validate) -endif - -test_osrf: -TOTAL := $(TOTAL). -ifeq ($(TESTOSRF), 1) -SUCCESS := $(SUCCESS). -else -$(warning opensrf.xml is not well-formed) -endif - -test_osrf_core: -TOTAL := $(TOTAL). -ifeq ($(TESTOSRFCORE), 1) -SUCCESS := $(SUCCESS). -else -$(warning opensrf_core.xml is not well-formed) -endif - -test: test_idl test_osrf test_osrf_core -# First we count the number of characters returned -SUCCESSES ?= $(shell echo $(SUCCESS) | wc -m ) -FAILED ?= $(shell echo $(FAILURE) | wc -m ) -TOTALED ?= $(shell echo $(TOTAL) | wc -m ) -# Then we subtract one from the count to make it accurate -SUCCESSTESTS ?= $(shell echo $(SUCCESSES) - 1 | bc ) -FAILEDTESTS ?= $(shell echo $(FAILED) -1 | bc ) -TOTALTESTS ?= $(shell echo $(TOTALED) -1 | bc ) -$(info Succesful tests: $(SUCCESSTESTS)/$(TOTALTESTS)) -$(info Failed tests: $(FAILEDTESTS)/$(TOTALTESTS)) - - diff --git a/Open-ILS/examples/Makefile.in b/Open-ILS/examples/Makefile.in new file mode 100644 index 0000000000..607184b5ee --- /dev/null +++ b/Open-ILS/examples/Makefile.in @@ -0,0 +1,48 @@ +# vim:noet:ts=4 +# +# This is a simple implementation of a test suite for XML validity +# (where possible) or well-formedness (if no schema is available) +# to ensure that our sample XML configuration files are reasonably +# clean. + +TESTIDL := $(shell xmllint --noout --schema fm_IDL.xsd fm_IDL.xml 2>&1 | wc -l) +TESTOSRF := $(shell xmllint --noout opensrf.xml 2>&1 | wc -l) +TESTOSRFCORE := $(shell xmllint --noout opensrf_core.xml 2>&1 | wc -l) + +test_idl: +TOTAL := $(TOTAL). +ifeq ($(TESTIDL), 1) +SUCCESS := $(SUCCESS). +else +$(warning fm_IDL.xml does not validate) +endif + +test_osrf: +TOTAL := $(TOTAL). +ifeq ($(TESTOSRF), 1) +SUCCESS := $(SUCCESS). +else +$(warning opensrf.xml is not well-formed) +endif + +test_osrf_core: +TOTAL := $(TOTAL). +ifeq ($(TESTOSRFCORE), 1) +SUCCESS := $(SUCCESS). +else +$(warning opensrf_core.xml is not well-formed) +endif + +test: test_idl test_osrf test_osrf_core +# First we count the number of characters returned +SUCCESSES ?= $(shell echo $(SUCCESS) | wc -m ) +FAILED ?= $(shell echo $(FAILURE) | wc -m ) +TOTALED ?= $(shell echo $(TOTAL) | wc -m ) +# Then we subtract one from the count to make it accurate +SUCCESSTESTS ?= $(shell echo $(SUCCESSES) - 1 | bc ) +FAILEDTESTS ?= $(shell echo $(FAILED) -1 | bc ) +TOTALTESTS ?= $(shell echo $(TOTALED) -1 | bc ) +$(info Succesful tests: $(SUCCESSTESTS)/$(TOTALTESTS)) +$(info Failed tests: $(FAILEDTESTS)/$(TOTALTESTS)) + + diff --git a/Open-ILS/examples/oils_sip.xml.example b/Open-ILS/examples/oils_sip.xml.example index 295666d841..115ea9a2ec 100644 --- a/Open-ILS/examples/oils_sip.xml.example +++ b/Open-ILS/examples/oils_sip.xml.example @@ -54,7 +54,7 @@ - /openils/conf/opensrf_core.xml + SYSCONFDIR/opensrf_core.xml USD @@ -90,8 +90,8 @@ - /openils/var/ - /openils/var/catalog/ + LOCALSTATEDIR/ + LOCALSTATEDIR/catalog/ circ/circ_item_config.js diff --git a/Open-ILS/examples/opensrf.xml.example b/Open-ILS/examples/opensrf.xml.example index 9be8ab7ff0..5b0794ce1e 100644 --- a/Open-ILS/examples/opensrf.xml.example +++ b/Open-ILS/examples/opensrf.xml.example @@ -10,12 +10,12 @@ vim:et:ts=4:sw=4: - /openils/var/log - /openils/var/sock - /openils/var/pid - /openils/var/xsl - - /openils/var + LOCALSTATEDIR/log + LOCALSTATEDIR/lock + LOCALSTATEDIR/run + LOCALSTATEDIR/xsl + + LOCALSTATEDIR @@ -26,15 +26,15 @@ vim:et:ts=4:sw=4: - /openils/conf/fm_IDL.xml + SYSCONFDIR/fm_IDL.xml prefork - /openils/var/data/ils_events.xml + LOCALSTATEDIR/data/ils_events.xml - + localhost - /openils/var/data/overdue - /openils/var/data/templates/overdue_combined_xml.example + LOCALSTATEDIR/data/overdue + LOCALSTATEDIR/data/templates/overdue_combined_xml.example @@ -70,7 +70,7 @@ vim:et:ts=4:sw=4: true - /openils/var/data/templates/overdue_7day.example + LOCALSTATEDIR/data/templates/overdue_7day.example @@ -86,7 +86,7 @@ vim:et:ts=4:sw=4: 1 day false true - /openils/var/data/templates/predue_1day.example + LOCALSTATEDIR/data/templates/predue_1day.example @@ -107,9 +107,9 @@ vim:et:ts=4:sw=4: - /openils/var/web/reporter - /openils/var/data/report-success - /openils/var/data/report-fail + LOCALSTATEDIR/web/reporter + LOCALSTATEDIR/data/report-success + LOCALSTATEDIR/data/report-fail @@ -351,7 +351,7 @@ vim:et:ts=4:sw=4: 10 - + @@ -393,7 +393,7 @@ vim:et:ts=4:sw=4: - /openils/var/templates/marc/k_book.xml + LOCALSTATEDIR/templates/marc/k_book.xml @@ -471,9 +471,9 @@ vim:et:ts=4:sw=4: penalty/patron_penalty.js - /openils/lib/javascript - /openils/var - /openils/var/catalog + LIBDIR/javascript + LOCALSTATEDIR + LOCALSTATEDIR/catalog @@ -499,9 +499,9 @@ vim:et:ts=4:sw=4: - /openils/lib/javascript - /openils/var - /openils/var/catalog + LIBDIR/javascript + LOCALSTATEDIR + LOCALSTATEDIR/catalog false circ/circ_permit_patron.js @@ -591,9 +591,9 @@ vim:et:ts=4:sw=4: 5 - /openils/lib/javascript/ - /openils/var/catalog/ - /openils/var/web/opac/common/js/ + LIBDIR/javascript/ + LOCALSTATEDIR/catalog/ + LOCALSTATEDIR/web/opac/common/js/ biblio_fingerprint.js biblio_descriptor.js @@ -617,8 +617,8 @@ vim:et:ts=4:sw=4: 5 - /openils/lib/javascript/ - /openils/var/catalog/ + LIBDIR/javascript/ + LOCALSTATEDIR/catalog/ biblio_fingerprint.js diff --git a/Open-ILS/examples/opensrf_core.xml.example b/Open-ILS/examples/opensrf_core.xml.example index c3aca94ddb..58d9934a8e 100644 --- a/Open-ILS/examples/opensrf_core.xml.example +++ b/Open-ILS/examples/opensrf_core.xml.example @@ -21,7 +21,7 @@ vim:et:ts=2:sw=2: 5222 - /openils/var/log/osrfsys.log + LOCALSTATEDIR/log/osrfsys.log @@ -35,7 +35,7 @@ vim:et:ts=2:sw=2: 3 - /openils/conf/opensrf.xml + SYSCONFDIR/opensrf.xml @@ -51,7 +51,7 @@ vim:et:ts=2:sw=2: secret 10.0.0.3 3 - /openils/var/log/osrfsys.log + LOCALSTATEDIR/log/osrfsys.log @@ -85,7 +85,7 @@ vim:et:ts=2:sw=2: mylogin mypassword 5222 - /openils/var/log/gateway.log + LOCALSTATEDIR/log/gateway.log 3 @@ -126,7 +126,7 @@ vim:et:ts=2:sw=2: 5 - /openils/var/log/router.log + LOCALSTATEDIR/log/router.log 2 diff --git a/Open-ILS/src/Makefile b/Open-ILS/src/Makefile deleted file mode 100644 index 4c71189797..0000000000 --- a/Open-ILS/src/Makefile +++ /dev/null @@ -1,205 +0,0 @@ -# vim:noet:ts=4 - -export LDFLAGS += -L . -L$(TMP) -L $(OPENSRF_LIBS) -export CFLAGS += -pipe -g -Wall -O2 -fPIC -I../../include -I$(LIBXML2_HEADERS) -I$(APACHE2_HEADERS) -I$(APR_HEADERS) \ - -D_LARGEFILE64_SOURCE -I$(LIBXML2_HEADERS)/libxml -I$(TMP) -I$(OPENSRF_HEADERS) - -export INCDIR = "$(INCLUDEDIR)/openils/" - -export STAFF_CLIENT_BUILD_ID = `/bin/cat ../xul/staff_client/build/BUILD_ID` - -all: c_apps client-xul mod_xmlent python-build - -install: perl-install python-install web-install server-xul string-templates-install xsl-install c_apps-install circ_rules-install offline-install storage-bootstrap cgi-bootstrap - -web-install: webcore-install autojs-install mod_xmlent-install offline-install reporter-install - -circ_rules-install: - @echo $@ - mkdir -p $(CIRCRULESDIR) - mkdir -p $(PENALTYRULESDIR) - mkdir -p $(CATALOGSCRIPTDIR) - cp javascript/backend/circ/*.js $(CIRCRULESDIR) - cp javascript/backend/penalty/*.js $(PENALTYRULESDIR) - cp javascript/backend/catalog/*.js $(CATALOGSCRIPTDIR) - cp support-scripts/fine_generator.pl $(BINDIR) - cp support-scripts/hold_targeter.pl $(BINDIR) - cp support-scripts/reshelving_complete.srfsh $(BINDIR) - cp support-scripts/thaw_expired_frozen_holds.srfsh $(BINDIR) - cp support-scripts/long-overdue-status-update.pl $(BINDIR) - - -# ----------------------------------------------------------------------------------- -# Web stuff -# ----------------------------------------------------------------------------------- -mod_xmlent: - @echo $@ - make -C apachemods mod_xmlent.so - -mod_xmlent-install: - @echo $@ - make -C apachemods mod_xmlent-install - -client-xul: - @echo $@ - @echo "Building staff client" - make -C ../xul/staff_client - -server-xul: - @echo $@ - mkdir -p ${WEBDIR} - @echo "Creating ${WEBDIR}/xul/" - mkdir -p ${WEBDIR}/xul/ - @echo "BUILD_ID = ${STAFF_CLIENT_BUILD_ID}" - @echo "Copying xul into ${WEBDIR}/xul/${STAFF_CLIENT_BUILD_ID}" - mkdir -p "${WEBDIR}/xul/${STAFF_CLIENT_BUILD_ID}" - cp -R ../xul/staff_client/build/server "${WEBDIR}/xul/${STAFF_CLIENT_BUILD_ID}/" - -webcore-install: - @echo $@ - echo "Copying web into $(WEBDIR)" - mkdir -p $(ADMINDIR) - cp -r ../admin/* $(ADMINDIR) - mkdir -p $(WEBDIR) - mkdir -p $(WEBDIR)/js/dojo/opensrf/ - mkdir -p $(WEBDIR)/opac/extras/xsl/ - cp -r ../web/* $(WEBDIR) - cp $(OPENSRF_LIBS)/javascript/* $(WEBDIR)/opac/common/js/ - # dojo-ified opensrf libs - cp $(OPENSRF_LIBS)/javascript/md5.js $(WEBDIR)/js/dojo/opensrf/ - cp $(OPENSRF_LIBS)/javascript/JSON_v1.js $(WEBDIR)/js/dojo/opensrf/ - cp $(OPENSRF_LIBS)/javascript/opensrf*js $(WEBDIR)/js/dojo/opensrf/ - cp $(OPENSRF_LIBS)/javascript/DojoSRF.js $(WEBDIR)/js/dojo/ - ln -sf $(WEBDIR)/opac/skin/default/xml/index.xml $(WEBDIR)/opac/skin/default/xml/mresult.xml - ln -sf $(WEBDIR)/opac/skin/default/xml/index.xml $(WEBDIR)/opac/skin/default/xml/rresult.xml - ln -sf $(WEBDIR)/opac/skin/default/xml/index.xml $(WEBDIR)/opac/skin/default/xml/rdetail.xml - ln -sf $(WEBDIR)/opac/skin/default/xml/index.xml $(WEBDIR)/opac/skin/default/xml/advanced.xml - ln -sf $(WEBDIR)/opac/skin/default/xml/index.xml $(WEBDIR)/opac/skin/default/xml/myopac.xml - ln -sf $(WEBDIR)/opac/skin/default/xml/index.xml $(WEBDIR)/opac/skin/default/xml/cnbrowse.xml - cp ../xul/staff_client/chrome//content//util/date.js $(WEBDIR)/opac/common/js/ - cp ../xsl/*.xsl $(WEBDIR)/opac/extras/xsl/ - ln -sf $(ETCDIR)/fm_IDL.xml $(WEBDIR)/reports/ - cp ../xul/staff_client/server/admin/adminlib.js $(WEBDIR)/reports/ - mkdir -p $(WEBDIR)/opac/extras/slimpac/ - mkdir -p $(WEBDIR)/standalone/ - - -c_apps: - @echo $@ - make -C c-apps - make -C extras oils_requestor - -c_apps-install: - @echo $@ - make -C c-apps install - make -C extras oils_requestor-install - -autojs-install: - @echo $@ - cp extras/fieldmapper.pl $(BINDIR) - cp extras/org_tree_js.pl $(BINDIR) - cp extras/org_lasso_js.pl $(BINDIR) - cp extras/org_tree_html_options.pl $(BINDIR) - cp extras/org_tree_proximity.pl $(BINDIR) - cp extras/autogen.sh $(BINDIR) - cp extras/openurl_map.pl $(BINDIR) - cp support-scripts/offline-blocked-list.pl $(BINDIR) # this should probably be somewhere else -# ----------------------------------------------------------------------------------- - -perl-install: - @echo $@ - @echo "Installing Perl modules to $(PERLDIR)" - mkdir -p $(PERLDIR) - mkdir -p $(DATADIR) - mkdir -p $(BINDIR) - mkdir -p $(DATADIR)/overdue/ - cp extras/ils_events.xml $(DATADIR) - cp -r perlmods/* $(PERLDIR) - cp ../examples/opensrf.xml.example $(ETCDIR) - cp ../examples/opensrf_core.xml.example $(ETCDIR) - cp ../examples/fm_IDL.xml $(ETCDIR) - cp ../examples/oils_sip.xml.example $(ETCDIR) - cp ../examples/hold_notification_template.example $(DATADIR) - cp ../examples/oils_ctl.sh $(BINDIR) - cp ../examples/lib_ips.txt.example $(ETCDIR) - mkdir -p $(TEMPLATEDIR) - cp -r templates/marc $(TEMPLATEDIR) - -# ------------------------------------------------------------------------------ - -python-build: - if [ -n "$(EG_PYTHON_INSTALL)" ]; then echo $@; make -C python build; fi; - -# ----------------------------------------------------------------------------------- - -python-install: - if [ -n "$(EG_PYTHON_INSTALL)" ]; then echo $@; make -C python install; fi; - -# ----------------------------------------------------------------------------------- - -reporter-install: - @echo $@ - @echo "Installing Reporter email templates to $(REPORTERDIR) and example configs to $(ETCDIR)" - cp reporter/clark-kent.pl $(BINDIR) - cp reporter/find_orphaned_reports.pl $(BINDIR) - cp reporter/report-fail $(DATADIR) - cp reporter/report-success $(DATADIR) - mkdir -p $(REPORTERDIR) - -# ----------------------------------------------------------------------------------- -offline-install: - @echo "Installing offline CGIs to $(CGIDIR)/offline"; - mkdir -p $(CGIDIR)/offline; - mkdir -p $(DATADIR)/offline; - perl -pe "s{##CONFIG##}{$(ETCDIR)}" < offline/offline.pl > $(TMP)/offline.pl; - cp offline/offline-config.pl $(ETCDIR) - cp $(TMP)/offline.pl $(CGIDIR)/offline/ - chmod +x $(CGIDIR)/offline/offline.pl - -# ----------------------------------------------------------------------------------- - -cgi-bootstrap: - @echo "Installing cgi's to $(CGIDIR)" - mkdir -p $(TMP)/cgi-bin - mkdir -p $(CGIDIR) - for i in cgi-bin/*cgi; do perl -pe "s{##CONFIG##}{$(ETCDIR)}" < $$i > $(TMP)/$$i; done - cp $(TMP)/cgi-bin/*cgi $(CGIDIR) - cp -r cgi-bin/support $(CGIDIR) - cp cgi-bin/setup.pl $(ETCDIR)/live-db-setup.pl - chmod 755 $(CGIDIR)/*cgi - -storage-bootstrap: - @echo $@ - @echo "" - @echo "WARNING!" - @echo "" - @echo "storage-bootstrap will DESTROY all data within all of the ILS tables in your database." - @echo "The database this script will touch has a DBI DSN of" - @echo " dbi:$(DBDRVR):host=$(DBHOST);dbname=$(DBNAME);port=$(DBPORT)" - @echo "Type control-c to avoid destroying all of the data. Type enter to continue..." - @echo "" - @read X; - ./extras/import/build-oils-db.sh $(DBDRVR) $(DBHOST) $(DBPORT) $(DBNAME) $(DBUSER) $(DBPW) - -# ----------------------------------------------------------------------------------- - - -string-templates-install: - @echo "Installing string templates to $(TEMPLATEDIR)" - mkdir -p $(TEMPLATEDIR) - cp -r templates/strings $(TEMPLATEDIR) - -xsl-install: - @echo "Installing XSL files to $(XSLDIR)" - mkdir -p $(XSLDIR) - cp ../xsl/*.xsl $(XSLDIR) -# mkdir -p $(WEBDIR)/xsl/ -# cp ../xsl/*.xsl $(WEBDIR)/xsl/ - -clean: - @echo $@ - make -C extras clean - make -C apachemods clean - make -C c-apps clean - if [ -n "$(EG_PYTHON_INSTALL)" ]; then echo $@; make -C python clean --all; fi; - diff --git a/Open-ILS/src/Makefile.am b/Open-ILS/src/Makefile.am new file mode 100644 index 0000000000..ad3abff020 --- /dev/null +++ b/Open-ILS/src/Makefile.am @@ -0,0 +1,283 @@ +# Copyright (C) 2008 Equinox Software, Inc. +# Kevin Beswick +# +# This program is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License +# as published by the Free Software Foundation; either version 2 +# of the License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +## Process this file with automake to generate Makefile.in + + +export INCDIR = "$(INCLUDEDIR)/openils/" +export STAFF_CLIENT_BUILD_ID = `/bin/cat @top_srcdir@/Open-ILS/xul/staff_client/build/BUILD_ID` +export DEF_LDFLAGS = -L. -L$(TMP) -L$(OPENSRF_LIBS) +export DEF_CFLAGS = -D_LARGEFILE64_SOURCE -pipe -g -Wall -O2 -fPIC -I@top_srcdir@/include -I$(LIBXML2_HEADERS) -I$(APACHE2_HEADERS) -I$(APR_HEADERS) -I$(LIBXML2_HEADERS)/libxml -I$(TMP) -I$(OPENSRF_HEADERS) +export DEF_LDLIBS = -lopensrf + + +# Establish some installation directories and such +prefix=@prefix@ +exec_prefix=@exec_prefix@ +datadir=@localstatedir@/data +circrulesdir=@localstatedir@/circ +catalogscriptdir=@localstatedir@/catalog +penaltyrulesdir=@localstatedir@/penalty +examples = @top_srcdir@/Open-ILS/examples +jsbackend = @srcdir@/javascript/backend +supportscr = @srcdir@/support-scripts +webdir = $(WEBDIR) +admindir = $(ADMINDIR) +opacjsdir = $(DESTDIR)$(WEBDIR)/opac/common/js +jsdojodir = $(DESTDIR)$(WEBDIR)/js/dojo +jsdojoosrfdir = $(DESTDIR)$(WEBDIR)/js/dojo/opensrf +opacextrasdir = $(DESTDIR)$(WEBDIR)/opac/extras/xsl/ +reportsdir = $(DESTDIR)$(WEBDIR)/reports/ + +# Collect files to be used by multiple targets + +autojsbinscripts = @srcdir@/extras/fieldmapper.pl \ + @srcdir@/extras/org_tree_js.pl \ + @srcdir@/extras/org_lasso_js.pl \ + @srcdir@/extras/org_tree_html_options.pl \ + @srcdir@/extras/org_tree_proximity.pl \ + @srcdir@/extras/autogen.sh \ + @srcdir@/support-scripts/offline-blocked-list.pl + +# Decide which entities to build + +#---------------------------- +# Build ILS CORE +#---------------------------- + +if BUILDILSCORE + +#Add directories to build +OILSCORE_DIRS = c-apps extras +#Add manual (non-automake) install targets for simplicity of installing. +OILSCORE_INST = ilscore-install + +core_data = @srcdir@/extras/ils_events.xml \ + $(examples)/hold_notification_template.example + +sysconf_DATA = $(examples)/opensrf.xml.example \ + $(examples)/opensrf_core.xml.example \ + $(examples)/fm_IDL.xml \ + $(examples)/oils_sip.xml.example \ + $(examples)/lib_ips.txt.example + +core_scripts = $(examples)/oils_ctl.sh \ + $(supportscr)/fine_generator.pl \ + $(supportscr)/hold_targeter.pl \ + $(supportscr)/reshelving_complete.srfsh \ + $(supportscr)/thaw_expired_frozen_holds.srfsh \ + $(supportscr)/long-overdue-status-update.pl \ + $(srcdir)/extras/openurl_map.pl + +installautojs = $(autojsbinscripts) + +#circ-rules-install +circrules_SCRIPTS = $(jsbackend)/circ/circ_duration.js \ + $(jsbackend)/circ/circ_groups.js \ + $(jsbackend)/circ/circ_item_config.js \ + $(jsbackend)/circ/circ_lib.js \ + $(jsbackend)/circ/circ_permit_copy.js \ + $(jsbackend)/circ/circ_permit_hold.js \ + $(jsbackend)/circ/circ_permit_patron.js \ + $(jsbackend)/circ/circ_permit_renew.js +penaltyrules_SCRIPTS = $(jsbackend)/penalty/patron_penalty.js +catalogscript_SCRIPTS = $(jsbackend)/catalog/biblio_descriptor.js \ + $(jsbackend)/catalog/biblio_fingerprint.js \ + $(jsbackend)/catalog/fixed_fields.js \ + $(jsbackend)/catalog/phys_char.js \ + $(jsbackend)/catalog/record_type.js + +endif + +#-------------------- +# Build ILS WEB +#-------------------- + +if BUILDILSWEB +OILSWEB_DIRS = apachemods +OILSWEB_INST = webcore-install offline-install cgi-bootstrap + +#webcore-install + +reports_SCRIPTS = @top_srcdir@/Open-ILS/xul/staff_client/server/admin/adminlib.js +opacjs_SCRIPTS = $(OPENSRF_LIBS)/javascript/DojoSRF.js \ + $(OPENSRF_LIBS)/javascript/JSON_v0.js \ + $(OPENSRF_LIBS)/javascript/JSON_v1.js \ + $(OPENSRF_LIBS)/javascript/md5.js \ + $(OPENSRF_LIBS)/javascript/opensrf.js \ + $(OPENSRF_LIBS)/javascript/opensrf_xhr.js \ + $(OPENSRF_LIBS)/javascript/opensrf_xmpp.js \ + @top_srcdir@/Open-ILS/xul/staff_client/chrome//content//util/date.js +jsdojo_SCRIPTS = $(OPENSRF_LIBS)/javascript/DojoSRF.js +jsdojoosrf_SCRIPTS = $(OPENSRF_LIBS)/javascript/md5.js \ + $(OPENSRF_LIBS)/javascript/JSON_v1.js \ + $(OPENSRF_LIBS)/javascript/opensrf.js \ + $(OPENSRF_LIBS)/javascript/opensrf_xhr.js \ + $(OPENSRF_LIBS)/javascript/opensrf_xmpp.js + +installautojs = $(autojsbinscripts) + + +endif + + +#--------------------- +# Build ILS Reporter +#--------------------- + +if BUILDILSREPORTER +OILSREP_INST = reporter-install +#reporter-install +reporter_scripts = @srcdir@/reporter/clark-kent.pl \ + @srcdir@/reporter/find_orphaned_reports.pl +reporter_data = @srcdir@/reporter/report-fail \ + @srcdir@/reporter/report-success +endif + +#------------------------------ +# Build ILS XUL CLIENT/SERVER +#------------------------------ + +if BUILDILSCLIENT +OILSCLIENT_DIRS = ../xul/staff_client +OILSSERVER_INST = server-xul +endif + +#------------------------------ +# Build EVERGREEN PYTHON +#------------------------------ + +if BUILDEGPYTHON +OILSPYTHON_DIR = python +endif + +#------------------------------ +# Build EVERGREEN JAVA +#------------------------------ + +if BUILDEGJAVA +OILSJAVA_DIR = java +endif + +bin_SCRIPTS = $(core_scripts) $(reporter_scripts) $(installautojs) @srcdir@/extras/eg_config +data_DATA = $(core_data) $(reporter_data) + +# Take care of which subdirectories to build, and which extra files to include in a distibution. + +SUBDIRS = $(OILSCORE_DIRS) $(OILSWEB_DIRS) $(OILSCLIENT_DIRS) $(OILSPYTHON_DIR) $(OILSJAVA_DIR) + +EXTRA_DIST = @srcdir@/perlmods @srcdir@/templates @top_srcdir@/Open-ILS/xsl @srcdir@/cgi-bin + +# Install header files + +oilsincludedir = $(DESTDIR)@includedir@/openils +headsdir = @top_srcdir@/Open-ILS/include/openils +oilsinclude_HEADERS = $(headsdir)/idl_fieldmapper.h $(headsdir)/oils_constants.h $(headsdir)/oils_event.h $(headsdir)/oils_idl.h $(headsdir)/oils_utils.h + +# Install everything that did not get installed by autotools + +install-data-hook: $(OILSCORE_INST) $(OILSWEB_INST) $(OILSREP_INST) $(OILSSERVER_INST) + +uninstall-hook: + rm -R $(perldir) + rm -R $(TEMPLATEDIR) + rm -R $(XSLDIR) + rm -R $(CGIDIR) + rm -R $(admindir) + rm -R $(webdir) + rm -R $(opacextrasdir) + + +#perl-install and string-templates-install +ilscore-install: + @echo $@ + @echo "Installing Perl modules" + mkdir -p $(perldir) + mkdir -p $(TEMPLATEDIR) + cp -r @srcdir@/perlmods/* $(perldir) + cp -r @srcdir@/templates/marc $(TEMPLATEDIR) + sed -i 's|SYSCONFDIR|@sysconfdir@|g' '$(DESTDIR)@libdir@/perl5/OpenILS/WWW/Web.pm' + sed -i 's|SYSCONFDIR|@sysconfdir@|g' '$(DESTDIR)@libdir@/perl5/OpenILS/WWW/Method.pm' + @echo "Installing string templates to $(TEMPLATEDIR)" + mkdir -p $(TEMPLATEDIR) + mkdir -p $(datadir)/overdue/ + cp -r @srcdir@/templates/strings $(TEMPLATEDIR) + sed -i 's|LOCALSTATEDIR|@localstatedir@|g' '$(DESTDIR)@sysconfdir@/oils_sip.xml.example' + sed -i 's|SYSCONFDIR|@sysconfdir@|g' '$(DESTDIR)@sysconfdir@/oils_sip.xml.example' + sed -i 's|LOCALSTATEDIR|@localstatedir@|g' '$(DESTDIR)@sysconfdir@/opensrf_core.xml.example' + sed -i 's|SYSCONFDIR|@sysconfdir@|g' '$(DESTDIR)@sysconfdir@/opensrf_core.xml.example' + sed -i 's|LOCALSTATEDIR|@localstatedir@|g' '$(DESTDIR)@sysconfdir@/opensrf.xml.example' + sed -i 's|SYSCONFDIR|@sysconfdir@|g' '$(DESTDIR)@sysconfdir@/opensrf.xml.example' + sed -i 's|LIBDIR|@libdir@|g' '$(DESTDIR)@sysconfdir@/opensrf.xml.example' + sed -i 's|SYSCONFDIR|@sysconfdir@|g' '$(DESTDIR)@bindir@/autogen.sh' + sed -i 's|LOCALSTATEDIR|@localstatedir@|g' '$(DESTDIR)@bindir@/autogen.sh' + sed -i 's|BINDIR|@bindir@|g' '$(DESTDIR)@bindir@/reshelving_complete.srfsh' + sed -i 's|BINDIR|@bindir@|g' '$(DESTDIR)@bindir@/long-overdue-status-update.pl' + sed -i 's|SYSCONFDIR|@sysconfdir@|g' '$(DESTDIR)@bindir@/long-overdue-status-update.pl' + sed -i 's|BINDIR|@bindir@|g' '$(DESTDIR)@bindir@/thaw_expired_frozen_holds.srfsh' + sed -i 's|BINDIR|@bindir@|g' '$(DESTDIR)@bindir@/offline-blocked-list.pl' + +webcore-install: + mkdir -p $(WEBDIR) + mkdir -p $(WEBDIR)/opac/extras/slimpac/ + mkdir -p $(WEBDIR)/standalone/ + mkdir -p $(opacextrasdir) + mkdir -p $(XSLDIR) + cp -r @top_srcdir@/Open-ILS/admin/ @localstatedir@ + cp -r @top_srcdir@/Open-ILS/web/ @localstatedir@ + cp @top_srcdir@/Open-ILS/xsl/*.xsl $(opacextrasdir) + cp @top_srcdir@/Open-ILS/xsl/*.xsl $(XSLDIR) + ln -sf $(DESTDIR)$(WEBDIR)/opac/skin/default/xml/index.xml $(DESTDIR)$(WEBDIR)/opac/skin/default/xml/mresult.xml + ln -sf $(DESTDIR)$(WEBDIR)/opac/skin/default/xml/index.xml $(DESTDIR)$(WEBDIR)/opac/skin/default/xml/rresult.xml + ln -sf $(DESTDIR)$(WEBDIR)/opac/skin/default/xml/index.xml $(DESTDIR)$(WEBDIR)/opac/skin/default/xml/rdetail.xml + ln -sf $(DESTDIR)$(WEBDIR)/opac/skin/default/xml/index.xml $(DESTDIR)$(WEBDIR)/opac/skin/default/xml/advanced.xml + ln -sf $(DESTDIR)$(WEBDIR)/opac/skin/default/xml/index.xml $(DESTDIR)$(WEBDIR)/opac/skin/default/xml/myopac.xml + ln -sf $(DESTDIR)$(WEBDIR)/opac/skin/default/xml/index.xml $(DESTDIR)$(WEBDIR)/opac/skin/default/xml/cnbrowse.xml + ln -sf $(DESTDIR)@sysconfdir@/fm_IDL.xml $(DESTDIR)$(WEBDIR)/reports/ + sed -i 's|LOCALSTATEDIR|@localstatedir@|g' '$(DESTDIR)@localstatedir@/admin/ils_admin/settings.py.example' + + +offline-install: + @echo "Installing offline CGIs to $(CGIDIR)/offline"; + mkdir -p $(TMP) + mkdir -p $(CGIDIR)/offline; + mkdir -p $(datadir)/offline; + perl -pe "s{##CONFIG##}{@sysconfdir@}" < @srcdir@/offline/offline.pl > $(TMP)/offline.pl; + cp @srcdir@/offline/offline-config.pl @sysconfdir@ + cp $(TMP)/offline.pl $(DESTDIR)$(CGIDIR)/offline/ + chmod +x $(DESTDIR)$(CGIDIR)/offline/offline.pl + +cgi-bootstrap: + @echo "Installing cgi's to $(CGIDIR)" + mkdir -p $(TMP)/cgi-bin + mkdir -p $(CGIDIR) + for i in @srcdir@/cgi-bin/*cgi; do perl -pe "s{##CONFIG##}{@sysconfdir@}" < $$i > $(TMP)/$$i; done + cp $(TMP)/cgi-bin/*cgi $(CGIDIR) + cp -r @srcdir@/cgi-bin/support $(CGIDIR) + cp @srcdir@/cgi-bin/setup.pl @sysconfdir@/live-db-setup.pl + chmod 755 $(DESTDIR)$(CGIDIR)/*cgi + +server-xul: + @echo $@ + mkdir -p $(WEBDIR) + mkdir -p $(WEBDIR)/xul/ + @echo "BUILD_ID = $(STAFF_CLIENT_BUILD_ID)" + @echo "Copying xul into $(WEBDIR)/xul/$(STAFF_CLIENT_BUILD_ID)" + mkdir -p "$(WEBDIR)/xul/$(STAFF_CLIENT_BUILD_ID)" + cp -R @top_srcdir@/Open-ILS/xul/staff_client/build/server "${WEBDIR}/xul/${STAFF_CLIENT_BUILD_ID}/" + +reporter-install: + sed -i 's|SYSCONFDIR|@sysconfdir@|g' '$(DESTDIR)@bindir@/clark-kent.pl' + sed -i 's|SYSCONFDIR|@sysconfdir@|g' '$(DESTDIR)@bindir@/find_orphaned_reports.pl' + + diff --git a/Open-ILS/src/apachemods/Makefile b/Open-ILS/src/apachemods/Makefile deleted file mode 100644 index 88a84b7ec2..0000000000 --- a/Open-ILS/src/apachemods/Makefile +++ /dev/null @@ -1,18 +0,0 @@ -LDLIBS += -lxml2 -lopensrf -lxslt - -all: mod_xmlent.so - -install: mod_xmlent-install - -mod_xmlent.o: mod_xmlent.c -mod_xmlent.so: mod_xmlent.o - @echo $@ - $(CC) $(LDFLAGS) $(LDLIBS) -shared -W1 mod_xmlent.o -lexpat -o $@ - -mod_xmlent-install: - $(APXS2) -i -a -n xmlent mod_xmlent.so - - -clean: - echo $@ - /bin/rm -f *.o *.so diff --git a/Open-ILS/src/apachemods/Makefile.am b/Open-ILS/src/apachemods/Makefile.am new file mode 100644 index 0000000000..e2c3fc042f --- /dev/null +++ b/Open-ILS/src/apachemods/Makefile.am @@ -0,0 +1,17 @@ +#------------------------------------------------------------- +# Makefile.am for Open-ILS/src/apachemods +# Author: Kevin Beswick (kevinbeswick00@gmail.com) +## Process this file with automake to generate Makefile.in +#------------------------------------------------------------- + +AM_CFLAGS = -D_LARGEFILE64_SOURCE -Wall -I@abs_top_srcdir@/Open-ILS/include/ -I$(LIBXML2_HEADERS) -I$(APACHE2_HEADERS) -I$(APR_HEADERS) -I$(OPENSRF_HEADERS) +AM_LDFLAGS = -L$(LIBDIR) -L$(OPENSRF_LIBS) + + + +install-exec-local: + $(APXS2) -c $(AM_LDFLAGS) -lxml2 -lopensrf -lxslt -lexpat $(AM_CFLAGS) @srcdir@/mod_xmlent.c + $(APXS2) -i -a @srcdir@/mod_xmlent.la + +clean-local: + rm @srcdir@/mod_xmlent.la @srcdir@/mod_xmlent.lo @srcdir@/mod_xmlent.slo diff --git a/Open-ILS/src/c-apps/Makefile.am b/Open-ILS/src/c-apps/Makefile.am new file mode 100644 index 0000000000..2db42f55cd --- /dev/null +++ b/Open-ILS/src/c-apps/Makefile.am @@ -0,0 +1,34 @@ +#----------------------------------------------------------- +# Makefile.am for Open-ILS/src/c-apps +# Author: Kevin Beswick (kevinbeswick00@gmail.com) +# Process this file with automake to generate Makefile.in +#----------------------------------------------------------- + +AM_CFLAGS = $(DEF_CFLAGS) -DOSRF_LOG_PARAMS -I@top_srcdir@/include/ +AM_LDFLAGS = $(DEF_LDFLAGS) -L$(DBI_LIBS) -lopensrf + +bin_PROGRAMS = oils_dataloader +oils_dataloader_SOURCES = oils_dataloader.c +oils_dataloader_LDFLAGS = $(AM_LDFLAGS) -loils_idl +oils_dataloader_DEPENDENCIES = liboils_idl.la liboils_utils.la + +lib_LTLIBRARIES = liboils_idl.la liboils_utils.la oils_cstore.la oils_rstore.la oils_auth.la + +liboils_idl_la_SOURCES = oils_idl-core.c + +liboils_utils_la_SOURCES = oils_utils.c oils_event.c + +oils_cstore_la_SOURCES = oils_cstore.c +oils_cstore_la_LDFLAGS = $(AM_LDFLAGS) -loils_idl -ldbi -loils_utils -ldbdpgsql -module +oils_cstore_la_DEPENDENCIES = liboils_utils.la liboils_idl.la + +oils_rstore_la_SOURCES = oils_cstore.c +oils_rstore_la_CFLAGS = $(AM_CFLAGS) -DRSTORE -c +oils_rstore_la_LDFLAGS = $(AM_LDFLAGS) -loils_idl -ldbi -ldbdpgsql -module +oils_rstore_la_DEPENDENCIES = liboils_utils.la liboils_idl.la + +oils_auth_la_SOURCES = oils_auth.c +oils_auth_la_LDFLAGS = -module -loils_idl -loils_utils +oils_auth_la_DEPENDENCIES = liboils_utils.la + + diff --git a/Open-ILS/src/extras/Makefile b/Open-ILS/src/extras/Makefile deleted file mode 100644 index 76cb9b6cc9..0000000000 --- a/Open-ILS/src/extras/Makefile +++ /dev/null @@ -1,12 +0,0 @@ -LDLIBS += -lreadline -loils_utils -lopensrf -lxml2 -loils_idl -L../c-apps -CFLAGS += -I../../include -all: oils_requestor - -oils_requestor: oils_requestor.o -oils_requestor-install: - cp oils_requestor $(BINDIR) - -oils_requestor.o: oils_requestor.c - -clean: - /bin/rm -f *.o oils_requestor diff --git a/Open-ILS/src/extras/Makefile.am b/Open-ILS/src/extras/Makefile.am new file mode 100644 index 0000000000..6f25e3b8b4 --- /dev/null +++ b/Open-ILS/src/extras/Makefile.am @@ -0,0 +1,13 @@ +#-------------------------------------------------------------- +# Makefile.am for Open-ILS/src/extras +# Author: Kevin Beswick (kevinbeswick00@gmail.com) +## Process this file with automake to generate Makefile.in +#------------------------------------------------------------- + +LDADD = $(DEF_LDLIBS) -lreadline -loils_utils -lopensrf -lxml2 -loils_idl +AM_LDFLAGS = -L@top_builddir@/Open-ILS/src/c-apps -L$(OPENSRF_LIBS) +AM_CFLAGS = $(DEF_CFLAGS) -I@top_srcdir@/include + +bin_PROGRAMS = oils_requestor +oils_requestor_SOURCES = oils_requestor.c +oils_requestor_LDADD = $(LDADD) diff --git a/Open-ILS/src/extras/autogen.sh b/Open-ILS/src/extras/autogen.sh index cb266b46e1..381e84fb9e 100755 --- a/Open-ILS/src/extras/autogen.sh +++ b/Open-ILS/src/extras/autogen.sh @@ -35,11 +35,11 @@ function usage { echo "Examples:"; echo ""; echo " Update organization tree:"; - echo " $0 -c /openils/conf/opensrf_core.xml"; - echo " $0 /openils/conf/opensrf_core.xml"; + echo " $0 -c SYSCONFDIR/opensrf_core.xml"; + echo " $0 SYSCONFDIR/opensrf_core.xml"; echo ""; echo " Update organization tree and refresh proximity:"; - echo " $0 -u -c /openils/conf/opensrf_core.xml"; + echo " $0 -u -c SYSCONFDIR/opensrf_core.xml"; echo ""; exit; } @@ -69,9 +69,9 @@ done [ -z "$CONFIG" ] && usage; -JSDIR="/openils/var/web/opac/common/js/"; -FMDOJODIR="/openils/var/web/js/dojo/fieldmapper/"; -SLIMPACDIR="/openils/var/web/opac/extras/slimpac/"; +JSDIR="LOCALSTATEDIR/web/opac/common/js/"; +FMDOJODIR="LOCALSTATEDIR/web/js/dojo/fieldmapper/"; +SLIMPACDIR="LOCALSTATEDIR/web/opac/extras/slimpac/"; echo "Updating fieldmapper"; perl fieldmapper.pl "$CONFIG" > "$JSDIR/fmall.js"; diff --git a/Open-ILS/src/extras/eg_config.in b/Open-ILS/src/extras/eg_config.in new file mode 100644 index 0000000000..568ba0360a --- /dev/null +++ b/Open-ILS/src/extras/eg_config.in @@ -0,0 +1,140 @@ +# Copyright (C) 2008 Equinox Software, Inc. +# Kevin Beswick +# +# This program is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License +# as published by the Free Software Foundation; either version 2 +# of the License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# + +# Shows configuration options of Evergreen + +prefix=@prefix@ +exec_prefix=@prefix@ +datarootdir=@datarootdir@ + +function showInstalled { + if test "@BUILDILSCORE_TRUE@" = ""; then + echo "EG_CORE" + fi + if test "@BUILDILSWEB_TRUE@" = ""; then + echo "EG_WEB" + fi + if test "@BUILDILSREPORTER_TRUE@" = ""; then + echo "EG_REPORTER" + fi + if test "@BUILDILSCLIENT_TRUE@" = ""; then + echo "EG_CLIENT" + fi + if test "@BUILDEGJAVA_TRUE@" = ""; then + echo "EG_JAVA" + fi + if test "@BUILDEGPYTHON_TRUE@" = ""; then + echo "EG_PYTHON" + fi + + +} + +function showAll { + echo @PACKAGE_STRING@ + echo PREFIX=@prefix@ + echo BINDIR=@bindir@ + echo LIBDIR=@libdir@ + echo TMP=@TMP@ + echo INCLUDEDIR=@includedir@ + echo SYSCONFDIR=@sysconfdir@ + echo APXS2=@APXS2@ + echo APACHE2_HEADERS=@APACHE2_HEADERS@ + echo APR_HEADERS=@APR_HEADERS@ + echo LIBXML2_HEADERS=@LIBXML2_HEADERS@ + echo + echo "Installed modules:" + showInstalled; +} + + +function showHelp { + echo + echo "------------------------------------------------------------" + echo " eg_config " + echo " Shows configuration of evergreen " + echo "------------------------------------------------------------" + echo + echo "Usage: eg_config [--option]" + echo + echo "Options: " + echo + echo "--help displays help" + echo "--version displays version number of evergreen" + echo "--installed displays options that were installed" + echo "--prefix displays prefix" + echo "--bindir displays bindir" + echo "--libdir displays libdir" + echo "--tmp displays tmp" + echo "--includedir displays includedir" + echo "--sysconfdir displays sysconfdir" + echo "--apxs displays location of apxs" + echo "--apache displays location of apache2 headers" + echo "--apr displays location of apr headers" + echo "--libxml displays location of libxml2 headers" + echo +} + +case "$1" in + --installed) + showInstalled; + ;; + --cconfig) cconfig; + ;; + --libxml) + echo @LIBXML2_HEADERS@; + ;; + --apr) + echo @APR_HEADERS@; + ;; + --apache) + echo @APACHE2_HEADERS@; + ;; + --prefix) + echo @prefix@ + ;; + --version) + echo @PACKAGE_STRING@; + ;; + --bindir) + echo @bindir@ + ;; + --libdir) + echo @libdir@; + ;; + --sysconfdir) + echo @sysconfdir@; + ;; + --localstatedir) + echo @localstatedir@; + ;; + --tmpdir) + echo @TMP@; + ;; + --apxs) + echo @APXS2@; + ;; + --includedir) + echo @includedir@; + ;; + --docdir) + echo @docdir@; + ;; + --help) + showHelp; + ;; + *) + showAll; + ;; +esac diff --git a/Open-ILS/src/java/Makefile b/Open-ILS/src/java/Makefile deleted file mode 100644 index f22722f839..0000000000 --- a/Open-ILS/src/java/Makefile +++ /dev/null @@ -1,50 +0,0 @@ -JAVA_LIBDIR = .lib -JAVAC = javac -J-Xmx256m -JAVA = java -Xmx256m -OSRF_HOME = ../../../../../OpenSRF/trunk/src/java -OSRF_JAVA = $(OSRF_HOME)/opensrf.jar -EXT = $(OSRF_HOME)/ext -JAVA_LIBS = .:$(JAVA_LIBDIR):$(OSRF_JAVA):$(EXT)/json-jdk1.5-2007-05-01.jar:$(EXT)/wstx-lgpl-3.2.1.jar:$(EXT)/stax-api-1.0.1.jar:$(EXT)/java_memcached-release_1.5.1.jar -JAVA_SRC = \ - org/open_ils/*.java\ - org/open_ils/idl/*.java\ - org/open_ils/util/*.java\ - org/open_ils/test/*.java - -all: jar - -jar: - mkdir -p $(JAVA_LIBDIR) - $(JAVAC) -d $(JAVA_LIBDIR) -cp $(JAVA_LIBS) $(JAVA_SRC) 2>&1 - rm -f openils.jar - echo "creating openils.jar" - jar cf openils.jar -C .lib org - - -# only prints the first 30 lines of errors -slim: - mkdir -p $(JAVA_LIBDIR) - $(JAVAC) -d $(JAVA_LIBDIR) -cp $(JAVA_LIBS) $(JAVA_SRC) 2>&1 | head -n 30 - @echo -e "\nTruncating at 30 lines" - -check: - mkdir -p $(JAVA_LIBDIR) - $(JAVAC) -Xlint:unchecked -d $(JAVA_LIBDIR) -cp $(JAVA_LIBS) $(JAVA_SRC) 2>&1 | head -n 30 - @echo -e "\nTruncating at 30 lines" - -run: - @$(JAVA) -cp $(JAVA_LIBS):openils.jar $(JAVA_EXE) $(JAVA_ARGS) - -deps: - mkdir -p ext - -docs: - find . -name *.java > files; - javadoc -classpath $(JAVA_LIBS) -d doc @files; - rm files; - -clean: - rm -r $(JAVA_LIBDIR) - - - diff --git a/Open-ILS/src/java/Makefile.am b/Open-ILS/src/java/Makefile.am new file mode 100644 index 0000000000..feac4e276e --- /dev/null +++ b/Open-ILS/src/java/Makefile.am @@ -0,0 +1,50 @@ +JAVA_LIBDIR = .lib +JAVAC = javac -J-Xmx256m +JAVA = java -Xmx256m +OSRF_HOME = ../../../../../OpenSRF/trunk/src/java +OSRFJAVA = $(OSRF_HOME)/opensrf.jar +EXT = $(OSRF_HOME)/ext +JAVA_LIBS = .:$(JAVA_LIBDIR):$(OSRFJAVA):$(EXT)/json-jdk1.5-2007-05-01.jar:$(EXT)/wstx-lgpl-3.2.1.jar:$(EXT)/stax-api-1.0.1.jar:$(EXT)/java_memcached-release_1.5.1.jar +JAVA_SRC = \ + org/open_ils/*.java\ + org/open_ils/idl/*.java\ + org/open_ils/util/*.java\ + org/open_ils/test/*.java + +all-local: jar + +jar: + mkdir -p $(JAVA_LIBDIR) + $(JAVAC) -d $(JAVA_LIBDIR) -cp $(JAVA_LIBS) $(JAVA_SRC) 2>&1 + rm -f openils.jar + echo "creating openils.jar" + jar cf openils.jar -C .lib org + + +# only prints the first 30 lines of errors +slim: + mkdir -p $(JAVA_LIBDIR) + $(JAVAC) -d $(JAVA_LIBDIR) -cp $(JAVA_LIBS) $(JAVA_SRC) 2>&1 | head -n 30 + @echo -e "\nTruncating at 30 lines" + +check: + mkdir -p $(JAVA_LIBDIR) + $(JAVAC) -Xlint:unchecked -d $(JAVA_LIBDIR) -cp $(JAVA_LIBS) $(JAVA_SRC) 2>&1 | head -n 30 + @echo -e "\nTruncating at 30 lines" + +run: + @$(JAVA) -cp $(JAVA_LIBS):openils.jar $(JAVA_EXE) $(JAVA_ARGS) + +deps: + mkdir -p ext + +docs: + find . -name *.java > files; + javadoc -classpath $(JAVA_LIBS) -d doc @files; + rm files; + +clean: + rm -r $(JAVA_LIBDIR) + + + diff --git a/Open-ILS/src/offline/offline-config.pl b/Open-ILS/src/offline/offline-config.pl deleted file mode 100755 index 3c0497b196..0000000000 --- a/Open-ILS/src/offline/offline-config.pl +++ /dev/null @@ -1,6 +0,0 @@ -$main::config{base_dir} = '/openils/var/data/offline/'; -$main::config{bootstrap} = '/openils/conf/opensrf_core.xml'; -$main::config{dsn} = 'dbi:Pg:host=W.X.Y.Z;dbname=TABLE;port=5432'; -$main::config{usr} = 'DBUSER'; -$main::config{pw} = 'DBPASS'; - diff --git a/Open-ILS/src/offline/offline-config.pl.in b/Open-ILS/src/offline/offline-config.pl.in new file mode 100644 index 0000000000..068b0c3291 --- /dev/null +++ b/Open-ILS/src/offline/offline-config.pl.in @@ -0,0 +1,5 @@ +$main::config{base_dir} = '@localstatedir@/data/offline/'; +$main::config{bootstrap} = '@sysconfdir@/opensrf_core.xml'; +$main::config{dsn} = 'dbi:@DBDRVR@:host=@DBHOST@;dbname=@DBNAME@;port=@DBPORT@'; +$main::config{usr} = '@DBUSER@'; +$main::config{pw} = '@DBPW@'; diff --git a/Open-ILS/src/perlmods/OpenILS/WWW/Method.pm b/Open-ILS/src/perlmods/OpenILS/WWW/Method.pm index 6ebe67e65f..530eff79aa 100644 --- a/Open-ILS/src/perlmods/OpenILS/WWW/Method.pm +++ b/Open-ILS/src/perlmods/OpenILS/WWW/Method.pm @@ -78,7 +78,7 @@ sub handler { sub child_init_handler { OpenSRF::System->bootstrap_client( - config_file => "/openils/conf/opensrf_core.xml" ); + config_file => "SYSCONFDIR/opensrf_core.xml" ); } diff --git a/Open-ILS/src/perlmods/OpenILS/WWW/Web.pm b/Open-ILS/src/perlmods/OpenILS/WWW/Web.pm index 922877c23e..f10946d0d2 100644 --- a/Open-ILS/src/perlmods/OpenILS/WWW/Web.pm +++ b/Open-ILS/src/perlmods/OpenILS/WWW/Web.pm @@ -17,7 +17,7 @@ use OpenSRF::System; my $main_ttk = "opac/logic/page_router.ttk"; my $error_ttk = "opac/pages/error.ttk"; my $init_ttk = "opac/logic/page_init.ttk"; -my $bootstrap = "/openils/conf/opensrf_core.xml"; +my $bootstrap = "SYSCONFDIR/opensrf_core.xml"; my $child_init_ttk = "opac/logic/child_init.ttk"; my $includes = []; # [ '/pines/cvs/ILS/Open-ILS/src/templates' ]; diff --git a/Open-ILS/src/python/Makefile b/Open-ILS/src/python/Makefile deleted file mode 100644 index 6be673c2f8..0000000000 --- a/Open-ILS/src/python/Makefile +++ /dev/null @@ -1,22 +0,0 @@ -# makefile for OpenSRF Python modules and scripts - -# ------------------------------------------------------------------------------ -# BUILD -# ------------------------------------------------------------------------------ -build: - @echo $@ - python setup.py build - -# ------------------------------------------------------------------------------ -# INSTALL -# ------------------------------------------------------------------------------ -install: build - @echo $@ - python setup.py install - -# ------------------------------------------------------------------------------ -# CLEAN -# ------------------------------------------------------------------------------ -clean: - python setup.py clean --all - diff --git a/Open-ILS/src/python/Makefile.am b/Open-ILS/src/python/Makefile.am new file mode 100644 index 0000000000..4034547942 --- /dev/null +++ b/Open-ILS/src/python/Makefile.am @@ -0,0 +1,14 @@ +# makefile for OpenSRF Python modules and scripts + +all-local: + @echo $@ + python @srcdir@/setup.py build + +# ------------------------------------------------------------------------------ +# INSTALL +# ------------------------------------------------------------------------------ +install-data-local: + @echo $@ + python @srcdir@/setup.py install + + diff --git a/Open-ILS/src/reporter/clark-kent.pl b/Open-ILS/src/reporter/clark-kent.pl index d7c3410d64..48e5030408 100755 --- a/Open-ILS/src/reporter/clark-kent.pl +++ b/Open-ILS/src/reporter/clark-kent.pl @@ -29,7 +29,7 @@ use Email::Send; use open ':utf8'; -my ($count, $config, $sleep_interval, $lockfile, $daemon) = (1, '/openils/conf/opensrf_core.xml', 10, '/tmp/reporter-LOCK'); +my ($count, $config, $sleep_interval, $lockfile, $daemon) = (1, 'SYSCONFDIR/opensrf_core.xml', 10, '/tmp/reporter-LOCK'); GetOptions( "daemon" => \$daemon, diff --git a/Open-ILS/src/reporter/find_orphaned_reports.pl b/Open-ILS/src/reporter/find_orphaned_reports.pl index ec9a89f0b9..099e3f8ea5 100755 --- a/Open-ILS/src/reporter/find_orphaned_reports.pl +++ b/Open-ILS/src/reporter/find_orphaned_reports.pl @@ -10,7 +10,7 @@ use OpenSRF::Utils::SettingsClient; use OpenILS::Reporter::SQLBuilder; use File::Find; -my ($config, $du, $live, %seen) = ('/openils/conf/bootstrap.conf', 0, 0); +my ($config, $du, $live, %seen) = ('SYSCONFDIR/bootstrap.conf', 0, 0); GetOptions( "boostrap=s" => \$config, diff --git a/Open-ILS/src/support-scripts/long-overdue-status-update.pl b/Open-ILS/src/support-scripts/long-overdue-status-update.pl index 903edab538..19f86b52bc 100755 --- a/Open-ILS/src/support-scripts/long-overdue-status-update.pl +++ b/Open-ILS/src/support-scripts/long-overdue-status-update.pl @@ -2,7 +2,7 @@ use strict; use warnings; -use lib '/openils/lib/perl5/'; +use lib 'LIBDIR/perl5/'; use OpenSRF::System; use OpenSRF::Application; @@ -16,7 +16,7 @@ use Digest::MD5 qw/md5_hex/; use Getopt::Long; my ($od_length, $user, $password, $config) = - ('180 days', 'admin', 'open-ils', '/openils/conf/opensrf_core.xml'); + ('180 days', 'admin', 'open-ils', 'SYSCONFDIR/opensrf_core.xml'); GetOptions( 'overdue=s' => \$od_length, diff --git a/Open-ILS/src/support-scripts/offline-blocked-list.pl b/Open-ILS/src/support-scripts/offline-blocked-list.pl index 42327d01bf..5d2480cf61 100755 --- a/Open-ILS/src/support-scripts/offline-blocked-list.pl +++ b/Open-ILS/src/support-scripts/offline-blocked-list.pl @@ -4,7 +4,7 @@ use strict; use warnings; my $config = shift || die "Please specify a config file\n"; my $context = shift || 'opensrf'; -my $oils_reqr = '/openils/bin/oils_requestor'; # XXX command line param +my $oils_reqr = 'BINDIR/oils_requestor'; # XXX command line param if(1) { # XXX command line param diff --git a/Open-ILS/src/support-scripts/reshelving_complete.srfsh b/Open-ILS/src/support-scripts/reshelving_complete.srfsh index 6d87c64427..3a53b18f9d 100755 --- a/Open-ILS/src/support-scripts/reshelving_complete.srfsh +++ b/Open-ILS/src/support-scripts/reshelving_complete.srfsh @@ -1,2 +1,2 @@ -#!/openils/bin/srfsh +#!BINDIR/srfsh request open-ils.storage open-ils.storage.action.circulation.reshelving.complete "24h" diff --git a/Open-ILS/src/support-scripts/thaw_expired_frozen_holds.srfsh b/Open-ILS/src/support-scripts/thaw_expired_frozen_holds.srfsh index 96d6828183..3783167245 100755 --- a/Open-ILS/src/support-scripts/thaw_expired_frozen_holds.srfsh +++ b/Open-ILS/src/support-scripts/thaw_expired_frozen_holds.srfsh @@ -1,2 +1,2 @@ -#!/openils/bin/srfsh +#!BINDIR/srfsh request open-ils.storage open-ils.storage.action.hold_request.thaw_expired_frozen diff --git a/Open-ILS/xul/staff_client/Makefile b/Open-ILS/xul/staff_client/Makefile deleted file mode 100644 index c242891aef..0000000000 --- a/Open-ILS/xul/staff_client/Makefile +++ /dev/null @@ -1,63 +0,0 @@ -# ILS/Open-ILS/xul/staff_client/Makefile - -export STAFF_CLIENT_BUILD_ID = $$(/bin/cat build/BUILD_ID) -ifeq ($(origin $(OPENSRF_LIBS)), undefined) - # Reasonable default when making the client outside of the root dir - OPENSRF_JSLIBS := "/openils/lib/javascript" -else - OPENSRF_JSLIBS := "$(OPENSRF_LIBS)/javascript" -endif - -all: build - -build: build_dir generated open-ils custom stamp - @echo To test the staff client: - @echo " cd build/" - @echo " xulrunner application.ini" - -build_dir: - @echo ' * Creating and populating build/ ' - mkdir -p build/ - cp -R chrome build/ - cp -R server build/ - cp -R defaults build/ - cp -R components build/ - cp application.ini build/ - cp -R build/chrome/content/util/ build/server/ - cp -R build/chrome/content/auth/ build/server/ - cp build/chrome/content/main/constants.js build/server/main/constants.js - cp build/chrome/content/main/simple_auth.xul build/server/main/simple_auth.xul - cp build/chrome/content/OpenILS/data.js build/server/OpenILS/data.js - cp build/chrome/content/OpenILS/global_util.js build/server/OpenILS/global_util.js - external/prune_dirs.sh build/ - -stamp: - @/bin/date +"%Y%m%d.%H%M%S" > build/BUILD_ID - @if [ -n "${STAFF_CLIENT_BUILD_ID}" ]; then ( echo "Stamping with Build ID: ${STAFF_CLIENT_BUILD_ID}" ; echo ${STAFF_CLIENT_BUILD_ID} > build/BUILD_ID ) ; fi - @if [ -z "${STAFF_CLIENT_BUILD_ID}" ]; then ( echo "No Build ID for versioning" ; echo "none" > build/BUILD_ID ) ; fi - @if [ -n "${STAFF_CLIENT_BUILD_ID}" ]; then sed -i s/^Version=.\*/Version=${STAFF_CLIENT_BUILD_ID}/ build/application.ini ; fi - @if [ -n "${STAFF_CLIENT_BUILD_ID}" ]; then sed -i s/^BuildID=.\*/BuildID=${STAFF_CLIENT_BUILD_ID}/ build/application.ini ; fi - @if [ -n "${STAFF_CLIENT_BUILD_ID}" ]; then find build/ -name '*.xul' -exec sed -i s/xul\\\/server/xul\\\/${STAFF_CLIENT_BUILD_ID}\\\/server/g {} \; ; fi - @if [ -n "${STAFF_CLIENT_BUILD_ID}" ]; then find build/ -name '*.html' -exec sed -i s/xul\\\/server/xul\\\/${STAFF_CLIENT_BUILD_ID}\\\/server/g {} \; ; fi - @if [ -n "${STAFF_CLIENT_BUILD_ID}" ]; then find build/ -name '*.xhtml' -exec sed -i s/xul\\\/server/xul\\\/${STAFF_CLIENT_BUILD_ID}\\\/server/g {} \; ; fi - @if [ -n "${STAFF_CLIENT_BUILD_ID}" ]; then find build/ -name '*.js' -exec sed -i s/xul\\\/server/xul\\\/${STAFF_CLIENT_BUILD_ID}\\\/server/g {} \; ; fi - @if [ -n "${STAFF_CLIENT_BUILD_ID}" ]; then find build/ -name '*.xml' -exec sed -i s/xul\\\/server/xul\\\/${STAFF_CLIENT_BUILD_ID}\\\/server/g {} \; ; fi - -generated: - @echo ' * Grabbing lang.dtd from the OPAC code ' - cp ../../../Open-ILS/web/opac/locale/en-US/lang.dtd build/chrome/locale/en-US/ - -open-ils: - @echo ' * Grabbing more OPAC code and legacy code and custom code' - #cp ../../../OpenSRF/src/javascript/*.js build/chrome/content/OpenSRF/ - cp ../../../Open-ILS/web/opac/common/js/*.js build/chrome/content/OpenILS/util/ - cp $(OPENSRF_JSLIBS)/*.js build/chrome/content/OpenILS/util/ - external/prune_dirs.sh build/ - -custom: - @echo ' * Placeholder for debugging tweaks ' - #(cd chrome/content/OpenILS/util; cp RemoteRequest.js~ RemoteRequest.js) - -clean: - @echo ' * Removing build/ ' - rm -rf build/ diff --git a/Open-ILS/xul/staff_client/Makefile.am b/Open-ILS/xul/staff_client/Makefile.am new file mode 100644 index 0000000000..526e15733c --- /dev/null +++ b/Open-ILS/xul/staff_client/Makefile.am @@ -0,0 +1,55 @@ +#--------------------------------------------------------- +# Makefile.am for xul/staff_client +## Process this file with automake to generate Makefile.in +#--------------------------------------------------------- + +export STAFF_CLIENT_BUILD_ID = $$(/bin/cat build/BUILD_ID) +OPENSRF_JSLIBS = "$(OPENSRF_LIBS)/javascript" + +install-exec-local: build + +build: build_dir generated open-ils stamp + @echo To test the staff client: + @echo " cd build/" + @echo " xulrunner application.ini" + +build_dir: + @echo ' * Creating and populating build/ ' + mkdir -p build/ + cp -R chrome build/ + cp -R server build/ + cp -R defaults build/ + cp -R components build/ + cp application.ini build/ + cp -R build/chrome/content/util/ build/server/ + cp -R build/chrome/content/auth/ build/server/ + cp build/chrome/content/main/constants.js build/server/main/constants.js + cp build/chrome/content/main/simple_auth.xul build/server/main/simple_auth.xul + cp build/chrome/content/OpenILS/data.js build/server/OpenILS/data.js + cp build/chrome/content/OpenILS/global_util.js build/server/OpenILS/global_util.js + for i in `cd @top_srcdir@/Evergreen/xul/staff_client/server/ && find -type f |grep -v \.svn|cut -f2- -d/`; do cp @top_srcdir@/Evergreen/xul/staff_client/server/$$i build/server/$$i; done + external/prune_dirs.sh build/ + +stamp: + @/bin/date +"%Y%m%d.%H%M%S" > build/BUILD_ID + @if [ -n "${STAFF_CLIENT_BUILD_ID}" ]; then ( echo "Stamping with Build ID: ${STAFF_CLIENT_BUILD_ID}" ; echo ${STAFF_CLIENT_BUILD_ID} > build/BUILD_ID ) ; fi + @if [ -z "${STAFF_CLIENT_BUILD_ID}" ]; then ( echo "No Build ID for versioning" ; echo "none" > build/BUILD_ID ) ; fi + @if [ -n "${STAFF_CLIENT_BUILD_ID}" ]; then sed -i s/^Version=.\*/Version=${STAFF_CLIENT_BUILD_ID}/ build/application.ini ; fi + @if [ -n "${STAFF_CLIENT_BUILD_ID}" ]; then sed -i s/^BuildID=.\*/BuildID=${STAFF_CLIENT_BUILD_ID}/ build/application.ini ; fi + @if [ -n "${STAFF_CLIENT_BUILD_ID}" ]; then find build/ -name '*.xul' -exec sed -i s/xul\\\/server/xul\\\/${STAFF_CLIENT_BUILD_ID}\\\/server/g {} \; ; fi + @if [ -n "${STAFF_CLIENT_BUILD_ID}" ]; then find build/ -name '*.html' -exec sed -i s/xul\\\/server/xul\\\/${STAFF_CLIENT_BUILD_ID}\\\/server/g {} \; ; fi + @if [ -n "${STAFF_CLIENT_BUILD_ID}" ]; then find build/ -name '*.xhtml' -exec sed -i s/xul\\\/server/xul\\\/${STAFF_CLIENT_BUILD_ID}\\\/server/g {} \; ; fi + @if [ -n "${STAFF_CLIENT_BUILD_ID}" ]; then find build/ -name '*.js' -exec sed -i s/xul\\\/server/xul\\\/${STAFF_CLIENT_BUILD_ID}\\\/server/g {} \; ; fi + @if [ -n "${STAFF_CLIENT_BUILD_ID}" ]; then find build/ -name '*.xml' -exec sed -i s/xul\\\/server/xul\\\/${STAFF_CLIENT_BUILD_ID}\\\/server/g {} \; ; fi + +generated: + @echo ' * Grabbing lang.dtd from the OPAC code ' + cp @top_srcdir@/Open-ILS/web/opac/locale/en-US/lang.dtd build/chrome/locale/en-US/ + +open-ils: + @echo ' * Grabbing more OPAC code and legacy code and custom code' + cp @top_srcdir@/Open-ILS/web/opac/common/js/*.js build/chrome/content/OpenILS/util/ + cp $(OPENSRF_JSLIBS)/*.js build/chrome/content/OpenILS/util/ + external/prune_dirs.sh build/ + + diff --git a/autogen.sh b/autogen.sh new file mode 100644 index 0000000000..dc8591f14c --- /dev/null +++ b/autogen.sh @@ -0,0 +1,21 @@ +#!/bin/sh +# autogen.sh - generates configure using the autotools + +: ${LIBTOOLIZE=libtoolize} +: ${ACLOCAL=aclocal} +: ${AUTOHEADER=autoheader} +: ${AUTOMAKE=automake} +: ${AUTOCONF=autoconf} + + +${LIBTOOLIZE} --force --copy +${ACLOCAL} +${AUTOMAKE} --add-missing + + +${AUTOCONF} + +echo +echo "---------------------------------------------" +echo "autogen finished running, now run ./configure" +echo "---------------------------------------------" diff --git a/build/i18n/Makefile.in b/build/i18n/Makefile.in new file mode 100644 index 0000000000..30e176e78e --- /dev/null +++ b/build/i18n/Makefile.in @@ -0,0 +1,129 @@ +POTSRC=po/en-US +POOUTDIR=po +POINDIR=po +PROJECT=locale +LOCALE=fr-CA +DTDDIR=../../Open-ILS/web/opac/locale +CHROME_PROPSDIR=../../Open-ILS/xul/staff_client/chrome/locale +SERVER_PROPSDIR=../../Open-ILS/xul/staff_client/server/locale +FMIDLSRC=../../Open-ILS/examples/fm_IDL.xml +FMIDLOUT=fm_IDL.pot +FMIDLENT=fm_IDL.xml +FMIDLENTITY=fm_IDL.xml.ent +FMIDLPO=fm_IDL.po +EVTSRC=../../Open-ILS/src/extras/ils_events.xml +EVTOUT=ils_events.xml.pot +EVTPO=ils_events.xml.po +EVTXML=ils_events.xml +SQLSRC=../../Open-ILS/src/sql/Pg/950.data.seed-values.sql +SQLPOT=db.seed.pot +SQLPO=db.seed.po +SQLOUT=950.data.seed-values.sql +PROGRESS=--progress none + +# This Makefile can be used to generate and update PO files for Evergreen, +# as well as generate updated SQL, fieldmapper IDL, DTD and JavaScript +# property files from the PO. +# +# Usage: +# +# To create a new set of untranslated PO files for locale ll-LL: +# make LOCALE=ll-LL newpo +# +# To create a new set of POT files from the en-US source: +# make LOCALE=ll-LL newpot +# +# To update a set of translated PO files with new or changed en-US strings: +# make LOCALE=ll-LL updatepo +# +# To create a set of translated project files (DTDs, JavaScript message catalogs): +# make LOCALE=ll-LL project +# +# To install a set of translated project files: +# make LOCALE=ll-LL install + +# Generate PO files from all POT files in POOUTDIR for locale LOCALE +newpo: + @pot2po $(PROGRESS) -i $(POTSRC) -o $(POOUTDIR)/$(LOCALE) + @echo "Generated new PO files for locale $(LOCALE)" + +# Generate a new set of POT files and entityized fieldmapper IDL +newpot: dtds2pot fmidl2pot fmidl2fmidlent ils2pot props2pot sql2pot + @echo "Generated new POT files" + +# Generate DTD, JavaScript message catalogs, fieldmapper IDL, +# and SQL insert files from PO for locale LOCALE +project: po2dtds po2props po2sql fmidlpo2entity po2ils + @echo "Generated project files for locale $(LOCALE)" + +# Update PO files with new and changed strings from POT files +updatepo: + pot2po $(PROGRESS) -o $(POOUTDIR)/$(LOCALE) -i $(POTSRC) -t $(POOUTDIR)/$(LOCALE) 2>&1 + @echo "Updated PO files for locale $(LOCALE)" + +# Update PO files with new and changed strings from POT files +updateopac: + @msgmerge -U $(POOUTDIR)/$(LOCALE)/opac.dtd.po $(POTSRC)/opac.dtd.pot 2>&1 + @echo "Updated PO file opac.dtd.po for locale $(LOCALE)" + +dtds2po: + @moz2po $(PROGRESS) -o $(POOUTDIR)/$(LOCALE) -i $(DTDDIR)/en-US/ 2>&1 + +props2po: + @moz2po $(PROGRESS) -o $(POOUTDIR)/$(LOCALE) -i $(CHROME_PROPSDIR)/en-US/ 2>&1 + @moz2po $(PROGRESS) -o $(POOUTDIR)/$(LOCALE) -i $(SERVER_PROPSDIR)/en-US/ 2>&1 + +dtds2pot: + @moz2po -P $(PROGRESS) -o $(POTSRC) -i $(DTDDIR)/en-US/ 2>&1 + +ils2pot: + @scripts/ils_events.py --pot $(EVTSRC) --output $(POTSRC)/$(EVTOUT) + +po2ils: + @scripts/ils_events.py --create $(POINDIR)/$(LOCALE)/$(EVTPO) --locale $(LOCALE) --output $(PROJECT)/$(LOCALE)/$(EVTXML) + +props2pot: + @moz2po -P $(PROGRESS) -o $(POTSRC) -i $(CHROME_PROPSDIR)/en-US/ 2>&1 + @moz2po -P $(PROGRESS) -o $(POTSRC) -i $(SERVER_PROPSDIR)/en-US/ 2>&1 + +po2dtds: + @po2moz $(PROGRESS) -o $(PROJECT)/$(LOCALE) -t $(DTDDIR)/en-US/ -i $(POINDIR)/$(LOCALE) 2>&1 + +po2props: + @po2moz $(PROGRESS) -o $(PROJECT)/$(LOCALE) -t $(CHROME_PROPSDIR)/en-US/ -i $(POINDIR)/$(LOCALE) 2>&1 + @po2moz $(PROGRESS) -o $(PROJECT)/$(LOCALE) -t $(SERVER_PROPSDIR)/en-US/ -i $(POINDIR)/$(LOCALE) 2>&1 + +sql2pot: + @scripts/db-seed-i18n.py --pot $(SQLSRC) --output $(POTSRC)/$(SQLPOT) + +po2sql: + scripts/db-seed-i18n.py --sql $(POINDIR)/$(LOCALE)/$(SQLPO) --locale $(LOCALE) --output $(PROJECT)/$(LOCALE)/$(SQLOUT) + +# Generate a fieldmapper IDL file that uses entities instead of hard-coded strings +fmidl2fmidlent: + @scripts/fieldmapper.py --convert $(FMIDLSRC) --output $(POOUTDIR)/$(FMIDLENT) + +# Generate a POT file for translating the entity values +fmidl2pot: + @scripts/fieldmapper.py --pot $(FMIDLSRC) --output $(POTSRC)/$(FMIDLOUT) + +# Generate a set of entity declarations from a PO file +fmidlpo2entity: + @scripts/fieldmapper.py --entity $(POINDIR)/$(LOCALE)/$(FMIDLPO) --output $(PROJECT)/$(LOCALE)/$(FMIDLENTITY) + +# Install updated project files to their corresponding location in the source tree +install: updatepo project + mkdir -p $(CHROME_PROPSDIR)/$(LOCALE) + cp $(PROJECT)/$(LOCALE)/auth.properties $(CHROME_PROPSDIR)/$(LOCALE)/. + cp $(PROJECT)/$(LOCALE)/offline.properties $(CHROME_PROPSDIR)/$(LOCALE)/. + mkdir -p $(SERVER_PROPSDIR)/$(LOCALE) + cp $(PROJECT)/$(LOCALE)/admin.properties $(SERVER_PROPSDIR)/$(LOCALE)/. + cp $(PROJECT)/$(LOCALE)/cat.properties $(SERVER_PROPSDIR)/$(LOCALE)/. + cp $(PROJECT)/$(LOCALE)/circ.properties $(SERVER_PROPSDIR)/$(LOCALE)/. + cp $(PROJECT)/$(LOCALE)/common.properties $(SERVER_PROPSDIR)/$(LOCALE)/. + cp $(PROJECT)/$(LOCALE)/multiclass_search_help.html $(SERVER_PROPSDIR)/$(LOCALE)/. + cp $(PROJECT)/$(LOCALE)/patron.properties $(SERVER_PROPSDIR)/$(LOCALE)/. + mkdir -p $(DTDDIR)/$(LOCALE) + cp $(PROJECT)/$(LOCALE)/lang.dtd $(DTDDIR)/$(LOCALE)/ + cp $(PROJECT)/$(LOCALE)/opac.dtd $(DTDDIR)/$(LOCALE)/ + diff --git a/config.sh b/config.sh deleted file mode 100755 index 0605aa85a4..0000000000 --- a/config.sh +++ /dev/null @@ -1,263 +0,0 @@ -#!/bin/bash -# -------------------------------------------------------------------- -# Copyright (C) 2005 Georgia Public Library Service -# Bill Erickson -# Mike Rylander -# -# This program is free software; you can redistribute it and/or -# modify it under the terms of the GNU General Public License -# as published by the Free Software Foundation; either version 2 -# of the License, or (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -------------------------------------------------------------------- - - -# -------------------------------------------------------------------- -# Prompts the user for config settings and writes a custom config -# file based on these settings -# -------------------------------------------------------------------- - - -CONFIG_FILE="install.conf"; -DEFAULT_CONFIG_FILE="install.conf.default"; -USE_DEFAULT="$1"; - -function buildConfig { - - if [ -f "$CONFIG_FILE" ]; then - source "$CONFIG_FILE"; - else - if [ -f "$DEFAULT_CONFIG_FILE" ]; then - source "$DEFAULT_CONFIG_FILE"; - fi; - fi; - - if [ -n "$USE_DEFAULT" ]; then - prompt "Default config requested, not prompting for values...\n"; - writeConfig; - return 0; - fi; - - - echo ""; - echo "-----------------------------------------------------------------------"; - echo "Type Enter to select the default" - echo "-----------------------------------------------------------------------"; - - prompt "Install prefix [$PREFIX] "; - read X; if [ ! -z "$X" ]; then PREFIX="$X"; fi - - BINDIR="$PREFIX/bin/"; - LIBDIR="$PREFIX/lib/"; - PERLDIR="$LIBDIR/perl5/"; - INCLUDEDIR="$PREFIX/include/"; - ETCDIR="$PREFIX/conf"; - WEBDIR="$PREFIX/var/web"; - DATADIR="$PREFIX/var/data"; - CGIDIR="$PREFIX/var/cgi-bin"; - TEMPLATEDIR="$PREFIX/var/templates"; - CIRCRULESDIR="$PREFIX/var/circ"; - CATALOGSCRIPTDIR="$PREFIX/var/catalog"; - PENALTYRULESDIR="$PREFIX/var/penalty"; - XSLDIR="$PREFIX/var/xsl"; - REPORTERDIR="$PREFIX/var/web/reporter"; - TMP="$(pwd)/.tmp"; - ADMINDIR="$PREFIX/var/admin"; - - prompt "Apache2 apxs binary [$APXS2] " - read X; if [ ! -z "$X" ]; then APXS2="$X"; fi; - - prompt "Apache2 headers directory [$APACHE2_HEADERS] " - read X; if [ ! -z "$X" ]; then APACHE2_HEADERS="$X"; fi; - - prompt "Apache2 APR headers directory [$APR_HEADERS] " - read X; if [ ! -z "$X" ]; then APR_HEADERS="$X"; fi; - - prompt "Libdbi libraries directory [$DBI_LIBS] " - read X; if [ ! -z "$X" ]; then DBI_LIBS="$X"; fi; - - prompt "Libxml2 headers directory [$LIBXML2_HEADERS] " - read X; if [ ! -z "$X" ]; then LIBXML2_HEADERS="$X"; fi; - - prompt "OpenSRF headers directory [$OPENSRF_HEADERS] " - read X; if [ ! -z "$X" ]; then OPENSRF_HEADERS="$X"; fi; - - prompt "OpenSRF libraries directory [$OPENSRF_LIBS] " - read X; if [ ! -z "$X" ]; then OPENSRF_LIBS="$X"; fi; - - prompt "Build targets [${TARGETS[@]:0}] " - read X; if [ ! -z "$X" ]; then TARGETS=("$X"); fi; - - prompt "Should we build Python modules? (Y/N) [$EG_PYTHON_INSTALL] " - read X; - if [ "$X" = "Y" ]; - then EG_PYTHON_INSTALL="Y"; - else EG_PYTHON_INSTALL=""; - fi; - - prompt "Database Driver [$DBDRVR] " - read X; if [ ! -z "$X" ]; then DBDRVR="$X"; fi; - - prompt "Database Host [$DBHOST] " - read X; if [ ! -z "$X" ]; then DBHOST="$X"; fi; - - prompt "Database Port [$DBPORT] " - read X; if [ ! -z "$X" ]; then DBPORT="$X"; fi; - - prompt "Database Name [$DBNAME] " - read X; if [ ! -z "$X" ]; then DBNAME="$X"; fi; - - prompt "Database User [$DBUSER] " - read X; if [ ! -z "$X" ]; then DBUSER="$X"; fi; - - prompt "Database Password [$DBPW] " - read X; if [ ! -z "$X" ]; then DBPW="$X"; fi; - - prompt "Reporter Template Directory [$REPORTERDIR] " - read X; if [ ! -z "$X" ]; then REPORTERDIR="$X"; fi; - - writeConfig; -} - -function prompt { echo ""; echo -en "$*"; } - -function writeConfig { - - rm -f "$CONFIG_FILE"; - echo "Writing installation config to $CONFIG_FILE..."; - - _write "PREFIX=\"$PREFIX\""; - _write "BINDIR=\"$BINDIR\""; - _write "LIBDIR=\"$LIBDIR\""; - _write "PERLDIR=\"$PERLDIR\""; - _write "INCLUDEDIR=\"$INCLUDEDIR\""; - _write "SOCK=\"$PREFIX/var/sock\""; - _write "PID=\"$PREFIX/var/pid\""; - _write "LOG=\"$PREFIX/var/log\""; - _write "DATADIR=\"$DATADIR\""; - - _write "TMP=\"$TMP\""; - _write "APXS2=\"$APXS2\""; - _write "APACHE2_HEADERS=\"$APACHE2_HEADERS\""; - _write "APR_HEADERS=\"$APR_HEADERS\""; - _write "DBI_LIBS=\"$DBI_LIBS\""; - _write "LIBXML2_HEADERS=\"$LIBXML2_HEADERS\""; - - _write "OPENSRF_HEADERS=\"$OPENSRF_HEADERS\""; - _write "OPENSRF_LIBS=\"$OPENSRF_LIBS\""; - - _write "WEBDIR=\"$WEBDIR\""; - _write "TEMPLATEDIR=\"$TEMPLATEDIR\""; - _write "ETCDIR=\"$ETCDIR\""; - _write "CIRCRULESDIR=\"$CIRCRULESDIR\""; - _write "CATALOGSCRIPTDIR=\"$CATALOGSCRIPTDIR\""; - _write "PENALTYRULESDIR=\"$PENALTYRULESDIR\""; - _write "XSLDIR=\"$XSLDIR\""; - - # print out the targets - STR="TARGETS=("; - for target in ${TARGETS[@]:0}; do - STR="$STR \"$target\""; - done; - STR="$STR)"; - _write "$STR"; - - _write "EG_PYTHON_INSTALL=\"$EG_PYTHON_INSTALL\""; - _write "OPENILSDIR=\"Open-ILS/src/\""; - _write "EVERGREENDIR=\"Evergreen/\""; - - - _write "CGIDIR=\"$CGIDIR\""; - - # db vars - _write "DBDRVR=\"$DBDRVR\""; - _write "DBHOST=\"$DBHOST\""; - _write "DBPORT=\"$DBPORT\""; - _write "DBNAME=\"$DBNAME\""; - _write "DBUSER=\"$DBUSER\""; - _write "DBPW=\"$DBPW\""; - _write "REPORTERDIR=\"$REPORTERDIR\""; - _write "ADMINDIR=\"$ADMINDIR\""; - - - # Now we'll write out the DB bootstrapping config - CONFIG_FILE='Open-ILS/src/cgi-bin/setup.pl'; - rm -f "$CONFIG_FILE"; - echo "Writing bootstrapping config to $CONFIG_FILE..."; - - STR='$main::config{dsn} ='; - STR="$STR 'dbi:${DBDRVR}:host="; - STR="${STR}${DBHOST};dbname="; - STR="${STR}${DBNAME};port="; - STR="${STR}${DBPORT}';"; - _write "$STR" - - STR='$main::config{usr} ='; - STR="$STR '$DBUSER';"; - _write "$STR" - - STR='$main::config{pw} ='; - STR="$STR '$DBPW';"; - _write "$STR" - - _write '$main::config{index} = "config.cgi";'; - - - # -------------------------------------------------------------------- - # Now we'll write out the offline config - CONFIG_FILE='Open-ILS/src/offline/offline-config.pl'; - rm -f "$CONFIG_FILE"; - echo "Writing bootstrapping config to $CONFIG_FILE..."; - - _write "\$main::config{base_dir} = '$PREFIX/var/data/offline/';"; - _write "\$main::config{bootstrap} = '$ETCDIR/opensrf_core.xml';"; - - STR='$main::config{dsn} ='; - STR="$STR 'dbi:${DBDRVR}:host="; - STR="${STR}${DBHOST};dbname="; - STR="${STR}${DBNAME};port="; - STR="${STR}${DBPORT}';"; - _write "$STR" - - STR='$main::config{usr} ='; - STR="$STR '$DBUSER';"; - _write "$STR" - - STR='$main::config{pw} ='; - STR="$STR '$DBPW';"; - _write "$STR" - # -------------------------------------------------------------------- - - - prompt ""; - prompt ""; - prompt "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"; - prompt "!! If installing openils_all / openils_db !!"; - prompt "!! Before running 'make install' you MUST !!"; - prompt "!! create a database for Open-ILS. Use !!"; - prompt "!! the settings that you listed above and !!"; - prompt "!! the install scripts will create the !!"; - prompt "!! database for you. -miker !!"; - prompt "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"; - prompt ""; - prompt ""; - - prompt "To write a new config, run 'make config'"; - prompt ""; - prompt "To edit individual install locations (e.g. changing the lib directory)," - prompt "edit the install.conf file generated from this script" - prompt "" - -} - -function _write { - echo "$*" >> "$CONFIG_FILE"; -} - - - -buildConfig; diff --git a/configoptions.sh b/configoptions.sh new file mode 100644 index 0000000000..993a769179 --- /dev/null +++ b/configoptions.sh @@ -0,0 +1,67 @@ +#!/bin/bash + +echo "------------------------------------------" +echo "Options selector for Open-ILS configure" +echo "------------------------------------------" +echo " " +echo "Install Open-ILS ALL? (y/n) " +read X; +if [ $X == "y" ] ; then +TARGS=${TARGS}" --enable-openils-all" +fi +echo "Install Open-ILS CORE? (y/n) " +read X; +if [ $X == "n" ] ; then +TARGS=${TARGS}" --disable-openils-core" +fi +echo "Install Open-ILS WEB? (y/n) " +read X; +if [ $X == "n" ] ; then +TARGS=${TARGS}" --disable-openils-web" +fi +echo "Install Open-ILS DB? (y/n) " +read X; +if [ $X == "n" ] ; then +TARGS=${TARGS}" --disable-openils-db" +fi +echo "Install Open-ILS MARCDUMPER? (y/n) " +read X; +if [ $X == "y" ] ; then +TARGS=${TARGS}" --enable-openils-marcdumper" +fi +echo "Install Open-ILS REPORTER? (y/n) " +read X; +if [ $X == "y" ] ; then +TARGS=${TARGS}" --enable-openils-reporter" +elseif [ $X == "n" ] ; then +TARGS=${TARGS}" --disable-openils-reporter" +fi +echo "Install Open-ILS XUL CLIENT? (y/n) " +read X; +if [ $X == "y" ] ; then +TARGS=${TARGS}" --enable-openils-client-xul" +fi +echo "Install Open-ILS XUL SERVER? (y/n) " +read X; +if [ $X == "y" ] ; then +TARGS=${TARGS}" --enable-openils-server-xul" +elseif [ $X == "n" ] ; then +TARGS=${TARGS}" --disable-openils-server-xul" +fi +echo "Install EVERGREEN CORE? (y/n) " +read X; +if [ $X == "y" ] ; then +TARGS=${TARGS}" --enable-evergreen-core" +fi +echo "Install EVERGREEN XUL CLIENT? (y/n) " +read X; +if [ $X == "y" ] ; then +TARGS=${TARGS}" --enable-evergreen-xul-client" +fi + + +echo ${TARGS} +./configure --with-dbver=81 --with-dbuser=evergreen --with-dbpw=evergreen ${TARGS} +make +sudo make install + diff --git a/configure.ac b/configure.ac new file mode 100644 index 0000000000..19f8d8fc92 --- /dev/null +++ b/configure.ac @@ -0,0 +1,451 @@ +# Copyright (C) 2008 Equinox Software, Inc. +# Kevin Beswick +# +# This program is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License +# as published by the Free Software Foundation; either version 2 +# of the License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + + +#--------------------------- +# Init +#--------------------------- + +export PATH=${PATH}:/usr/sbin +AC_PREREQ(2.59) +AC_INIT(Open-ILS, trunk, open-ils-dev@list.georgialibraries.org) +AM_INIT_AUTOMAKE([OpenILS], [trunk]) +AC_REVISION($Revision: 0.1 $) +AC_CONFIG_SRCDIR([configure.ac]) +AC_PREFIX_DEFAULT([/openils/]) +AC_SUBST(prefix) +AC_SUBST([abs_top_builddir]) + +#----------------------------------- +# Checks for programs. +#----------------------------------- + +AC_PROG_LIBTOOL +AC_PROG_CC +AC_PROG_INSTALL +AC_PROG_LN_S +AC_PROG_MAKE_SET + +#----------------------------------- +# Install options +#----------------------------------- + +# install openils-all? +#AC_ARG_ENABLE([openils-all], +#[ --enable-openils-all enables the installation of the default openils system (base system,web,staffclient) ], +#[case "${enableval}" in +# yes) openils_all=true; +# openils_core=true; +# openils_web=true; +# openils_db=true; +# openils_reporter=true; +# openils_client_xul=true; +# openils_server_xul=true ;; +# no) openils_all=false ;; +# *) AC_MSG_ERROR([please choose another value for --enable-openils-all (supported values are yes or no]) +#esac], +#[openils_all=false]) + +# install evergreen-core? +AC_ARG_ENABLE([evergreen-core], +[ --disable-evergreen-core disables the installation of the evergreen core components ], +[case "${enableval}" in + yes) openils_core=true ;; + no) openils_core=false ;; + *) AC_MSG_ERROR([please choose another value for --disable-evergreen-core (supported values are yes or no]) +esac], +[openils_core=true]) + +AM_CONDITIONAL([BUILDILSCORE], [test x$openils_core = xtrue]) + +# install evergreen-web? + +AC_ARG_ENABLE([evergreen-web], +[ --disable-evergreen-web disables the installation of the openils web modules ], +[case "${enableval}" in + yes) openils_web=true ;; + no) openils_web=false ;; + *) AC_MSG_ERROR([please choose another value for --disable-evergreen-web (supported values are yes or no]) +esac], +[openils_web=true]) + +AM_CONDITIONAL([BUILDILSWEB], [test x$openils_web = xtrue]) + +# build evergreendb ? +# +#AC_ARG_ENABLE([openils-db], +#[ --disable-openils-db disables the installation of the openils db modules ], +#[case "${enableval}" in +# yes) openils_db=true ;; +# no) openils_db=false ;; +# *) AC_MSG_ERROR([please choose another value for --disable-openils-db (supported values are yes or no]) +#esac], +#[openils_db=true]) +# +#AM_CONDITIONAL([BUILDILSDB], [test x$openils_db = xtrue]) + +# build evergreen-reporter ? + +AC_ARG_ENABLE([evergreen-reporter], +[ --disable-evergreen-reporter disables the installation of the evergreen reporter module ], +[case "${enableval}" in + yes) openils_reporter=true ;; + no) openils_reporter=false ;; + *) AC_MSG_ERROR([please choose another value for --disable-evergreen-reporter (supported values are yes or no]) +esac], +[openils_reporter=true]) + +AM_CONDITIONAL([BUILDILSREPORTER], [test x$openils_reporter = xtrue]) + +# build evergreen-client ? + +AC_ARG_ENABLE([evergreen-client], +[ --disable-evergreen-client disables the installation of the evergreen staff client ], +[case "${enableval}" in + yes) openils_client=true ;; + no) openils_client=false ;; + *) AC_MSG_ERROR([please choose another value for --disable-evergreen-client (supported values are yes or no]) +esac], +[openils_client=true]) + +AM_CONDITIONAL([BUILDILSCLIENT], [test x$openils_client = xtrue]) + + +# build evergreen java ? + +AC_ARG_ENABLE([evergreen-java], +[ --enable-evergreen-java enables the installation of the evergreen java components ], +[case "${enableval}" in + yes) evergreen_java=true ;; + no) evergreen_java=false ;; + *) AC_MSG_ERROR([please choose another value for --enable-evergreen-java (supported values are yes or no]) +esac], +[evergreen_java=false]) + +AM_CONDITIONAL([BUILDEGJAVA], [test x$evergreen_java = xtrue]) + + +# build the evergreen python modules? + +AC_ARG_ENABLE([evergreen-python], +[ --disable-evergreen-python disables the installation of the evergreen python modules ], +[case "${enableval}" in + yes) EG_PYTHON_INSTALL=true ;; + no) EG_PYTHON_INSTALL=false ;; + *) AC_MSG_ERROR([please choose another value for --disable-python-install (supported values are yes or no)]) +esac], +[EG_PYTHON_INSTALL=true]) + +AM_CONDITIONAL([BUILDEGPYTHON], [test x$EG_PYTHON_INSTALL = xtrue]) + + + +#----------------------------------- +# Check for dependencies +#----------------------------------- + +AC_CHECK_PROG([MEMCACHED],memcached,yes,no) +if test $MEMCACHED = "no"; then + AC_MSG_ERROR([*** memcached not found, aborting]) +fi + +AC_CHECK_PROG([ASPELL],aspell,yes,no) +if test $ASPELL = "no"; then + AC_MSG_ERROR([*** aspell not found, aborting]) +fi + +AC_CHECK_PROG([CPAN],cpan,yes,no) +if test $CPAN = "no"; then + AC_MSG_ERROR([*** cpan not found, aborting]) +fi + +AC_CHECK_PROG([YAZ],yaz-config,yes,no) +if test $YAZ = "no"; then + AC_MSG_ERROR([*** yaz not found, aborting]) +fi + +AC_CHECK_PROG([PERL],perl,yes,no) +if test $PERL = "no"; then + AC_MSG_ERROR([*** perl not found, aborting]) +fi + + +#----------------------------------- +# Set install path variables +#----------------------------------- + +AC_ARG_WITH([tmp], +[ --with-tmp=path location for the tmp dir for OpenILS (default is /tmp) ], +[TMP=${withval}], +[TMP=/tmp]) +AC_SUBST([TMP]) + + +APXS2=`apxs2 -q BINDIR`/apxs2 +AC_SUBST([APXS2]) + +APACHE2_HEADERS=`apxs2 -q INCLUDEDIR` +AC_SUBST([APACHE2_HEADERS]) + +APR_HEADERS=`apr-config --includedir` +AC_SUBST([APR_HEADERS]) + +AC_ARG_WITH([libxml], +[ --with-libxml=path location of the libxml headers (default is /usr/include/libxml2)], +[LIBXML2_HEADERS=${withval}], +[LIBXML2_HEADERS=/usr/include/libxml2/]) +AC_SUBST([LIBXML2_HEADERS]) + +AC_ARG_WITH([dbi], +[ --with-dbi=path location of the libdbi libraries (default is /usr/local/lib/dbd)], +[DBI_LIBS=${withval}], +[DBI_LIBS=/usr/local/lib/dbd/]) +AC_SUBST([DBI_LIBS]) + +AC_ARG_WITH([opensrf-headers], +[ --with-opensrf-headers=path location of the opensrf header files (default is /openils/include/)], +[OPENSRF_HEADERS=${withval}], +[OPENSRF_HEADERS=/openils/include/]) +AC_SUBST([OPENSRF_HEADERS]) + +AC_ARG_WITH([opensrf-libs], +[ --with-opensrf-libs=path location of the opensrf libraries (default is /openils/lib/)], +[OPENSRF_LIBS=${withval}], +[OPENSRF_LIBS=/openils/lib/]) +AC_SUBST([OPENSRF_LIBS]) + +#------------------------------------------------------------- +# Set DB Info +#------------------------------------------------------------- + +AC_ARG_WITH([dbdrvr], +[ --with-dbdrvr=name name of the database driver to be used by open-ils (default is Pg)], +[DBDRVR=${withval}], +[DBDRVR=Pg]) +AC_SUBST([DBDRVR]) + +if test $DBDRVR="Pg"; then + AC_CHECK_PROG([PGSQL],pg,yes,no) + if test $PGSQL = "no"; then + AC_MSG_ERROR([*** postgresql not found, aborting]) + fi +fi + +AC_ARG_WITH([dbhost], +[ --with-dbhost=address name of the database hostname to be used by open-ils (default is 127.0.0.1)], +[DBHOST=${withval}], +[DBHOST=127.0.0.1]) +AC_SUBST([DBHOST]) + +AC_ARG_WITH([dbport], +[ --with-dbport=number name of the database port to be used by open-ils (default is 5432)], +[DBPORT=${withval}], +[DBPORT=5432]) +AC_SUBST([DBPORT]) + +AC_ARG_WITH([dbname], +[ --with-dbname=name name of the database to be used by open-ils (default is evergreen)], +[DBNAME=${withval}], +[DBNAME=evergreen]) +AC_SUBST([DBNAME]) + +AC_ARG_WITH([dbuser], +[ --with-dbuser=name name of the database username to be used by open-ils (default is postgres)], +[DBUSER=${withval}], +[DBUSER=postgres]) +AC_SUBST([DBUSER]) + +AC_ARG_WITH([dbver], +[ --with-dbver=number version of the database to be used by open-ils, leaving out the periods in the version number (default is 82)], +[DBVER=${withval}], +[DBVER=82]) +AC_SUBST([DBVER]) + + +AC_ARG_WITH([dbpw], +[ --with-dbpw=password password of the database to be used by open-ils (default is postgres)], +[DBPW=${withval}], +[DBPW=postgres]) +AC_SUBST([DBPW]) + +#------------------------------------ +# Checks for libraries. +#------------------------------------ + +# Check for the existance of libraries in non-standard locations + +AC_MSG_CHECKING(for -lopensrf) +if test -e ${OPENSRF_LIBS}/libopensrf.so; then +AC_MSG_RESULT([yes]) +else +AC_MSG_ERROR([*** libopensrf not found (or not in location specified to configure), aborting]) +fi + +# Check for the rest of the libraries + +#check for dynamic linking functions +AC_CHECK_LIB(dl,dlopen) + +#check for the libdbi library +AC_CHECK_LIB(dbi,dbi_initialize) + +#to check for the availability and function of a particular +#driver we need a runtime check (since the driver is loaded +#dynamically). This example checks for the mysql driver +AC_MSG_CHECKING([for libdbi pgsql driver (dynamic load)]) +AC_RUN_IFELSE( + [AC_LANG_PROGRAM(, + [[dbi_initialize(0); return(dbi_conn_new("pgsql") ? 0 : 1);]])], + [AC_MSG_RESULT("yes")], + [AC_MSG_FAILURE("pgsql driver not installed?")]) + +AC_CHECK_LIB([expat], [main], [], AC_MSG_ERROR(*** OpenILS requires libexpat)) +AC_CHECK_LIB([readline], [main], [], AC_MSG_ERROR(*** OpenILS requires libreadline)) +AC_CHECK_LIB([xml2], [main], [], AC_MSG_ERROR(*** OpenILS requires libxml2)) +AC_CHECK_LIB([xslt], [main], [], AC_MSG_ERROR(*** OpenILS requires libxslt)) +AC_CHECK_LIB([yaz], [main], [], AC_MSG_ERROR(*** OpenILS requires libyaz)) +AC_CHECK_LIB([perl], [main], [], AC_MSG_ERROR(*** OpenILS requires libperl-dev)) +AC_CHECK_LIB([pq], [main], [], AC_MSG_ERROR(*** OpenILS requires libpq)) + + +#------------------------------------ +# Checks for header files. +#------------------------------------ + +AC_HEADER_STDC +AC_CHECK_HEADERS([fcntl.h langinfo.h locale.h stdlib.h string.h unistd.h]) + +#------------------------------------------------------------------- +# Checks for typedefs, structures, and compiler characteristics. +#------------------------------------------------------------------- + +AC_C_CONST +AC_TYPE_SIZE_T +AC_STRUCT_TM +AC_HEADER_STDBOOL + +#------------------------------------------------------------------- +# Checks for library functions. +#------------------------------------------------------------------- + +AC_FUNC_STRFTIME +AC_FUNC_STRTOD +AC_CHECK_FUNCS([localtime_r memset nl_langinfo setlocale strcasecmp strchr strdup strerror strncasecmp]) + + +#------------------------------------ +# Generate some config files +#------------------------------------ +# write out the DB bootstrapping config + CONFIG_FILE='Open-ILS/src/cgi-bin/setup.pl'; + rm -f "$CONFIG_FILE"; + echo "Writing bootstrapping config to $CONFIG_FILE..."; + + STR='$main::config{dsn} ='; + STR="$STR 'dbi:${DBDRVR}:host="; + STR="${STR}${DBHOST};dbname="; + STR="${STR}${DBNAME};port="; + STR="${STR}${DBPORT}';"; + echo "$STR" >> "$CONFIG_FILE"; + + STR='$main::config{usr} ='; + STR="$STR '$DBUSER';"; + echo "$STR" >> "$CONFIG_FILE"; + + STR='$main::config{pw} ='; + STR="$STR '$DBPW';"; + echo "$STR" >> "$CONFIG_FILE"; + + echo '$main::config{index} = "config.cgi";' >> "$CONFIG_FILE"; + +#---------------------------- +# Create Makefiles/Output +#---------------------------- + +AC_CONFIG_FILES([Makefile + Open-ILS/examples/Makefile + Open-ILS/src/Makefile + Open-ILS/src/apachemods/Makefile + Open-ILS/src/c-apps/Makefile + Open-ILS/src/extras/Makefile + Open-ILS/src/java/Makefile + Open-ILS/src/python/Makefile + Open-ILS/xul/staff_client/Makefile + Open-ILS/src/offline/offline-config.pl + Open-ILS/src/extras/eg_config + build/i18n/Makefile], [if test -e "./Open-ILS/src/extras/eg_config"; then chmod 755 Open-ILS/src/extras/eg_config; fi]) +AC_OUTPUT + + +#------------------------------------------------- +# OUTPUT STUFF +#------------------------------------------------- + +AC_MSG_RESULT([]) +AC_MSG_RESULT([--------------------- Configuration options: -----------------------]) + +AC_MSG_RESULT([]) +AC_MSG_RESULT([-------- Installation Options: --------]) +if test "$openils_core" = "true" ; then + AC_MSG_RESULT([Evergreen Core: yes]) +else + AC_MSG_RESULT([Evergreen Core: no]) +fi +if test "$openils_web" = "true" ; then + AC_MSG_RESULT([Evergreen Web: yes]) +else + AC_MSG_RESULT([Evergreen Web: no]) +fi +if test "$openils_reporter" = "true" ; then + AC_MSG_RESULT([Evergreen Reporter: yes]) +else + AC_MSG_RESULT([Evergreen Reporter: no]) +fi +if test "$openils_client" = "true" ; then + AC_MSG_RESULT([Evergreen Staff Client: yes]) +else + AC_MSG_RESULT([Evergreen Staff Client: no]) +fi +if test "$EG_PYTHON_INSTALL" = "true" ; then + AC_MSG_RESULT([Evergreen Python Components: yes]) +else + AC_MSG_RESULT([Evergreen Python Components: no]) +fi +if test "$evergreen_java" = "true" ; then + AC_MSG_RESULT([Evergreen Java Components: yes]) +else + AC_MSG_RESULT([Evergreen Java Components: no]) +fi +AC_MSG_RESULT([]) +AC_MSG_RESULT([-------- DB Info --------]) +AC_MSG_RESULT([Driver: ${DBDRVR}]) +AC_MSG_RESULT([Host: ${DBHOST}]) +AC_MSG_RESULT([Port: ${DBPORT}]) +AC_MSG_RESULT([DB Name: ${DBNAME}]) +AC_MSG_RESULT([Username: ${DBUSER}]) +AC_MSG_RESULT([Version: ${DBVER}]) +AC_MSG_RESULT([Password: ${DBPW}]) +AC_MSG_RESULT([]) +AC_MSG_RESULT([-------- Installation Directories --------]) +AC_MSG_RESULT(Installation dir prefix: ${prefix}) +AC_MSG_RESULT(Temporary dir location: ${TMP}) +AC_MSG_RESULT(APXS2 dir location: ${APXS2}) +AC_MSG_RESULT(Apache headers location: ${APACHE2_HEADERS}) +AC_MSG_RESULT(APR headers location: ${APR_HEADERS}) +AC_MSG_RESULT(libxml headers location: ${LIBXML2_HEADERS}) +AC_MSG_RESULT(libdbi dir location: ${DBI_LIBS}) +AC_MSG_RESULT(OpenSRF Headers location: ${OPENSRF_HEADERS}) +AC_MSG_RESULT(OpenSRF Libraries location: ${OPENSRF_LIBS}) + +AC_MSG_RESULT([----------------------------------------------------------------------]) + diff --git a/install.conf.default b/install.conf.default deleted file mode 100644 index 09200b76de..0000000000 --- a/install.conf.default +++ /dev/null @@ -1,124 +0,0 @@ -#!/bin/bash -# -------------------------------------------------------------------- -# Copyright (C) 2005 Georgia Public Library Service -# Bill Erickson -# -# This program is free software; you can redistribute it and/or -# modify it under the terms of the GNU General Public License -# as published by the Free Software Foundation; either version 2 -# of the License, or (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -------------------------------------------------------------------- - - -# -------------------------------------------------------------------- -# Build targets. Options include: -# -# openils_all - builds all OpenILS compenents -# openils_core - install the Open-ILS perl modules, and core files for running and openils server -# openils_web - copies over the javascript and html templates to the web root directory for running the OPAC -# openils_db - installs the database schemas -# openils_reporter - installs the base of OpenILS Reporter -# -# evergreen_core - builds core Evergreen components (does not build evergreen_xul_client!) -# evergreen_xul_client - client XUL application -# -# If you only want to build the client app, then just build evergreen_xul_client. -# -------------------------------------------------------------------- - -TARGETS=("openils_core" "openils_web" "openils_db"); - - -# -------------------------------------------------------------------- -# Should we build the Evergreen Python modules? -# These depend on having the setuptools module installed. -# -------------------------------------------------------------------- -EG_PYTHON_INSTALL="N" - -# -------------------------------------------------------------------- -# Global install prefix. Binaries will be installed into PREFIX/bin, -# libraries will be installed into PREFIX/lib, etc. The user -# running 'install.sh install' must have write permissions to PREFIX -# -------------------------------------------------------------------- -PREFIX="/openils/"; -BINDIR="$PREFIX/bin/"; -LIBDIR="$PREFIX/lib/"; -PERLDIR="$LIBDIR/perl5/"; -INCLUDEDIR="$PREFIX/include/"; -ETCDIR="$PREFIX/etc/"; -WEBDIR="$PREFIX/web/"; -CGIDIR="$PREFIX/cgi-bin/"; -TEMPLATEDIR="$PREFIX/templates"; - - -# -------------------------------------------------------------------- -# Temporary build files go here. The User running 'install.sh build' -# must have write permissions to TMP -# -------------------------------------------------------------------- -TMP="/tmp/ilstmp/"; - - -# -------------------------------------------------------------------- -# Location of the apxs binary for Apache2. This must be set when -# building the mod_ils_gateway C plugin for allowing web access -# to the published API. -# -------------------------------------------------------------------- - -APXS2="/usr/bin/apxs2"; - - -# -------------------------------------------------------------------- -# Directories where the Apache2 header files are located. These must -# be set when building the mod_ils_gateway C plugin for allowing web -# access to the published API. -# -------------------------------------------------------------------- -APACHE2_HEADERS="/usr/include/apache2"; -APR_HEADERS="/usr/include/apr-1.0/"; - - -# -------------------------------------------------------------------- -# Directory where the libdbi libraries are located. libdbi is used -# by the OpenILS cstore, fetch, and rstore applications -# -------------------------------------------------------------------- -DBI_LIBS="/usr/local/lib/dbd"; - -# -------------------------------------------------------------------- -# Directory where the libxml2 headers are located. Libxml2 is used -# by various components -# -------------------------------------------------------------------- -LIBXML2_HEADERS="/usr/include/libxml2/"; - - -# -------------------------------------------------------------------- -# Directories where the OpenSRF headers and libraries are located. -# You must build and install OpenSRF before OpenILS. -# -------------------------------------------------------------------- -OPENSRF_HEADERS="/openils/include/" -OPENSRF_LIBS="/openils/lib/" - - -# -------------------------------------------------------------------- -# These point to the top level makefiles for each of the sub -# projects. Only change these if you have relocated the directories. -# -------------------------------------------------------------------- -OPENILSDIR="Open-ILS/src/"; -EVERGREENDIR="Evergreen/"; - - - - -# -------------------------------------------------------------------- -# These are used to create the perl DBI DSN for the bootstrapping -# scripts. -# -------------------------------------------------------------------- -DBDRVR="Pg"; -DBHOST="127.0.0.1"; -DBPORT="5432"; -DBNAME="evergreen"; -DBUSER="postgres"; -DBPW="postgres"; - diff --git a/install.sh b/install.sh deleted file mode 100755 index 2e934340bd..0000000000 --- a/install.sh +++ /dev/null @@ -1,280 +0,0 @@ -#!/bin/bash -# vim:noet:ts=4 -# -------------------------------------------------------------------- -# Copyright (C) 2005 Georgia Public Library Service -# Bill Erickson -# -# This program is free software; you can redistribute it and/or -# modify it under the terms of the GNU General Public License -# as published by the Free Software Foundation; either version 2 -# of the License, or (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -------------------------------------------------------------------- - - -# -------------------------------------------------------------------- -# ILS install script -# -------------------------------------------------------------------- -CONFIG_FILE="install.conf"; -DEFAULT_CONFIG_FILE="install.conf.default"; -verbose="-s" #clear this to get full build output - - -# -------------------------------------------------------------------- -# Loads all of the path information from the user setting -# install variables as it goes -# -------------------------------------------------------------------- - -function fail { - MSG="$1"; - echo "A build error occured: $MSG"; - exit 99; -} - - -#function postMessage { - -#cat <<-WORDS -# -------------------------------------------------------------------- - - -#} - - - -# -------------------------------------------------------------------- -# Makes sure the install directories exist and are writable -# -------------------------------------------------------------------- - -function mkDir { - mkdir -p "$1"; - [ "$?" != "0" ] && fail "Error creating $1"; - [ ! -w "$1" ] && fail "We don't have write access to $1"; -} - -function mkInstallDirs { - - installing && mkDir "$PREFIX"; - building && mkDir "$TMP"; - installing && mkDir "$SOCK"; - installing && mkDir "$PID"; - installing && mkDir "$LOG"; - - - # add the opensrf user and group - if installing; then - if [ ! $(grep "^opensrf:" /etc/group) ]; then groupadd opensrf; fi - if [ ! $(grep "^opensrf:" /etc/passwd) ]; then useradd -g opensrf opensrf; fi - fi; - -} - -function installing { - if [ -z "$INSTALLING" ]; then return 1; fi; - return 0; -} - -function building { - if [ -z "$BUILDING" ]; then return 1; fi; - return 0; -} - -function testing { - if [ -z "$TESTING" ]; then return 1; fi; - return 0; -} - - -# -------------------------------------------------------------------- -# Loads the config file. If it can't fine CONFIG_FILE, it attempts to -# use DEFAULT_CONFIG_FILE. If it can't find that, it fails. -# -------------------------------------------------------------------- -function loadConfig { - if [ ! -f "$CONFIG_FILE" ]; then - if [ -f "$DEFAULT_CONFIG_FILE" ]; then - echo "+ + + Copying $DEFAULT_CONFIG_FILE to $CONFIG_FILE and using its settings..."; - cp "$DEFAULT_CONFIG_FILE" "$CONFIG_FILE"; - else - fail "config file \"$CONFIG_FILE\" cannot be found"; - fi - fi - source "$CONFIG_FILE"; -} - - - - -function runInstall { - - # pass the collected variables to make - for target in ${TARGETS[@]:0}; do - - echo "" - echo "-------------- [ $target ] -------------------------------------------"; - echo "" - - MAKE="make $verbose APXS2=$APXS2 PREFIX=$PREFIX TMP=$TMP APR_HEADERS=$APR_HEADERS \ - APACHE2_HEADERS=$APACHE2_HEADERS LIBXML2_HEADERS=$LIBXML2_HEADERS DBPORT=$DBPORT\ - BINDIR=$BINDIR DBI_LIBS=$DBI_LIBS LIBDIR=$LIBDIR PERLDIR=$PERLDIR EG_PYTHON_INSTALL=$EG_PYTHON_INSTALL INCLUDEDIR=$INCLUDEDIR \ - WEBDIR=$WEBDIR TEMPLATEDIR=$TEMPLATEDIR ETCDIR=$ETCDIR REPORTERDIR=$REPORTERDIR\ - OPENSRF_HEADERS=$OPENSRF_HEADERS OPENSRF_LIBS=$OPENSRF_LIBS OPENILSDIR=$OPENILSDIR EVERGREENDIR=$EVERGREENDIR \ - CIRCRULESDIR=$CIRCRULESDIR CATALOGSCRIPTDIR=$CATALOGSCRIPTDIR CGIDIR=$CGIDIR \ - DBDRVR=$DBDRVR DBHOST=$DBHOST DATADIR=$DATADIR ADMINDIR=$ADMINDIR\ - PENALTYRULESDIR=$PENALTYRULESDIR DBNAME=$DBNAME DBUSER=$DBUSER DBPW=$DBPW XSLDIR=$XSLDIR NEW_OPAC_URL=$NEW_OPAC_URL \ - NEW_XUL_PACKAGE_NAME=$NEW_XUL_PACKAGE_NAME NEW_XUL_PACKAGE_LABEL=$NEW_XUL_PACKAGE_LABEL"; - - - case "$target" in - - # OpenILS --- - - "openils_all" ) - if building; then $MAKE -C "$OPENILSDIR" all; fi; - if testing; then $MAKE -C "$OPENILSDIR/../examples" test; fi; - if installing; then $MAKE -C "$OPENILSDIR" install; fi; - ;; - - "openils_core" ) - if building; then - $MAKE -C "$OPENILSDIR" "c_apps"; - $MAKE -C "$OPENILSDIR" "python-build"; - fi; - if installing; then - $MAKE -C "$OPENILSDIR" "perl-install"; - $MAKE -C "$OPENILSDIR" "python-install"; - $MAKE -C "$OPENILSDIR" "string-templates-install"; - $MAKE -C "$OPENILSDIR" "xsl-install"; - $MAKE -C "$OPENILSDIR" "c_apps-install"; - $MAKE -C "$OPENILSDIR" "circ_rules-install"; - $MAKE -C "$OPENILSDIR" "autojs-install"; - fi; - ;; - - "openils_web" ) - if building; then $MAKE -C "$OPENILSDIR" "mod_xmlent"; fi; - #if building; then $MAKE -C "$OPENILSDIR" "mod_ils_rest_gateway"; fi; - if installing; then - $MAKE -C "$OPENILSDIR" "web-install"; - $MAKE -C "$OPENILSDIR" "cgi-bootstrap"; - $MAKE -C "$OPENILSDIR" "reporter-install"; - fi; - ;; - - "openils_db" ) - if installing; then - $MAKE -C "$OPENILSDIR" "storage-bootstrap"; - fi; - ;; - - "openils_reporter" ) - if installing; then - $MAKE -C "$OPENILSDIR" "reporter-install"; - fi; - ;; - - "openils_client_xul" ) - if building; then - $MAKE -C "$OPENILSDIR" "client-xul"; - fi; - ;; - - "openils_server_xul" ) - if installing; then - $MAKE -C "$OPENILSDIR" "server-xul"; - fi; - ;; - - # Evergreen --- - - "evergreen_core" ) - if installing; then $MAKE -C "$EVERGREENDIR" "install"; fi; - ;; - - "evergreen_xul_client" ) - if building; then $MAKE -C "$EVERGREENDIR" xul; fi; - ;; - - - *) fail "Unknown target: $target";; - - esac - - done - - if installing; then - echo -e "\nNow run: chown -R opensrf:opensrf $PREFIX" - fi -} - - -# -------------------------------------------------------------------- -# Checks command line parameters for special behavior -# Supported params are: -# clean - cleans all build files -# build - builds the specified sources -# install - installs the specified sources -# test - tests the specified sources -# -------------------------------------------------------------------- -function checkParams { - - if [ -z "$1" ]; then usage; fi; - - for arg in "$@"; do - - lastArg="$arg"; - - case "$arg" in - - "clean") - cleanMe;; - - "build") - BUILDING="1";; - - "install") - INSTALLING="1";; - - "verbose") - verbose="";; - - "test") - TESTING="1";; - - *) fail "Unknown option => $arg"; - esac - done - - if [ "$lastArg" = "clean" ]; then exit 0; fi; -} - - -function cleanMe { - loadConfig; - make "TMP=$TMP" -s -C "$OPENILSDIR" clean; - make "TMP=$TMP" -s -C "$EVERGREENDIR" clean; - make "TMP=$TMP" -s -C "$OPENILSDIR/../xul/staff_client" clean; -} - -function usage { - echo "usage: $0 [ build | install | clean ]"; - exit; -} - -checkParams "$@"; - -if building; then echo "Building..."; fi; -if testing; then echo "Testing..."; fi; -if installing; then echo "Installing..."; fi; - - -# -------------------------------------------------------------------- -# Kick it off... -# -------------------------------------------------------------------- -loadConfig; -mkInstallDirs; -runInstall; -