diff --git a/Repositories/otago_eprints/Makefile b/Repositories/otago_eprints/Makefile index 5ce1fcb..0c71102 100755 --- a/Repositories/otago_eprints/Makefile +++ b/Repositories/otago_eprints/Makefile @@ -1,22 +1,43 @@ SHELL=/bin/sh + +# Load in machine-specific environment settings from environment_config.make. +# This include file MUST be created and MUST define the following variable: +# +# Used in Makefile +# EPRINTS_ROOT: /path/to/eprints/installation +# +# Used in ARCHIVE.xml configuration file +# EPRINTS_HOST: eprints host name +# EPRINTS_PORT: appropriate HTTP port +# EPRINTS_ADMIN_EMAIL: administrator email address (quote "@" with \) +# EPRINTS_ARCHIVE_NAME: full archive name as it appears in web pages +# +# Used in apachevhost.conf +# EPRINTS_ALLOWED_DOMAINS: domains that web registration is allowed from +# +include environment_config.make + + +SUBSTITUTIONS:=EPRINTS_HOST EPRINTS_PORT EPRINTS_ADMIN_EMAIL EPRINTS_ARCHIVE_NAME + ARCHIVE_NAME:=otago_eprints -EPRINTS:=/usr/local/eprints -BINDIR:=$(EPRINTS)/bin +BINDIR:=$(EPRINTS_ROOT)/bin -ARCHIVE_ROOT:=$(EPRINTS)/archives/$(ARCHIVE_NAME) -ARCHIVE_CONFIG:=$(EPRINTS)/archives/$(ARCHIVE_NAME).xml +ARCHIVE_ROOT:=$(EPRINTS_ROOT)/archives/$(ARCHIVE_NAME) +ARCHIVE_CONFIG:=$(EPRINTS_ROOT)/archives/$(ARCHIVE_NAME).xml .PHONY: deploy generate_apacheconf import_subjects generate_static \ generate_abstracts generate_views restart_apache index stats -deploy: +deploy: $(ARCHIVE_NAME).xml $(ARCHIVE_NAME)/cfg/apachevhost.conf @announce "Copying files..." @sudo rsync --verbose --cvs-exclude --exclude=Makefile \ - --recursive --times . $(EPRINTS)/archives > .del-rsync-output + --exclude='*.make' --exclude='*_src.*' \ + --recursive --times . $(EPRINTS_ROOT)/archives > .del-rsync-output @-grep $(ARCHIVE_NAME) .del-rsync-output @announce "Correcting ownership..." sudo chown -R www:www $(ARCHIVE_CONFIG) $(ARCHIVE_ROOT) @@ -29,34 +50,46 @@ @rm -f .del-rsync-output +$(ARCHIVE_NAME).xml: $(ARCHIVE_NAME)_src.xml + @announce "Creating $@" + perl -p $(foreach SUB,$(SUBSTITUTIONS),-e "s/##$(SUB)##/$($(SUB))/;") $< > $@ + + +$(ARCHIVE_NAME)/cfg/apachevhost.conf: $(ARCHIVE_NAME)/cfg/apachevhost_src.conf + @announce "Creating $@" + perl -p -e "s|##EPRINTS_ALLOWED_DOMAINS##|$(EPRINTS_ALLOWED_DOMAINS)|;" $< > $@ + + generate_apacheconf: @announce "generate_apacheconf" + @sudo -u www touch -r $(ARCHIVE_NAME).xml $(ARCHIVE_CONFIG) @sudo -u www $(BINDIR)/$@ + import_subjects generate_static generate_abstracts generate_views: @announce "$@ $(ARCHIVE_NAME)" @sudo -u www $(BINDIR)/$@ $(ARCHIVE_NAME) + restart_apache: @announce "Waiting for Apache to shut down..." -# @sudo /usr/sbin/apachectl stop -# @while [ -f /var/run/httpd.pid ]; do echo > /dev/null; done @sudo /sw/sbin/apachectl stop - @sleep 7 + @sudo -u www touch -r $(ARCHIVE_NAME)/cfg/apachevhost.conf $(ARCHIVE_ROOT)/cfg/apachevhost.conf + @sleep 10 @announce "Waiting for Apache to start up..." -# @sudo /usr/sbin/apachectl start -# @while [ ! -f /var/run/httpd.pid ]; do echo > /dev/null; done @sudo /sw/sbin/apachectl start @while [ ! -f /sw/var/apache2/logs/httpd.pid ]; do echo > /dev/null; done + index: @announce "Rebuilding indexes..." @sudo -u www $(BINDIR)/indexer start --once --notdaemon + stats: @announce "Generating statistics..." - @sudo -u www php $(EPRINTS)/ePrintsStats/scripts/eprints-usage.php - @sudo -u www perl $(EPRINTS)/ePrintsStats/scripts/add_country.pl + @sudo -u www php $(EPRINTS_ROOT)/ePrintsStats/scripts/eprints-usage.php +# @sudo -u www perl $(EPRINTS_ROOT)/ePrintsStats/scripts/add_country.pl debug: