#
# Makefile to install prerequisites for OpenSRF and Evergreen
#
-# Currently supports Debian (jessie, wheezy), Ubuntu (12.04),
-# Ubuntu (14.04), Ubuntu (16.04), and Fedora (16 and 17).
+# Currently supports Debian (stretch, jessie, wheezy),
+# Ubuntu (14.04), Ubuntu (16.04).
#
# Installs Perl prereqs, libdbi, libdbi-drivers, and libyaz
#
# usage:
+# make -f Makefile.install debian-stretch
+# - or -
# make -f Makefile.install debian-jessie
# - or -
# make -f Makefile.install debian-wheezy
all:
@echo "please specify an OS" && exit 0
+debian-stretch:
+ @make -f $(DIR)/Makefile.debian-stretch
debian-jessie:
@make -f $(DIR)/Makefile.debian-jessie
debian-wheezy:
fedora:
@make -f $(DIR)/Makefile.fedora
+postgres-server-debian-stretch:
+ @make -f $(DIR)/Makefile.debian-stretch install_postgres_server
postgres-server-debian-jessie:
@make -f $(DIR)/Makefile.debian-jessie install_postgres_server
postgres-server-debian-wheezy:
@make -f $(DIR)/Makefile.ubuntu-xenial install_developer
ubuntu-trusty-developer:
@make -f $(DIR)/Makefile.ubuntu-trusty install_developer
+debian-stretch-developer:
+ @make -f $(DIR)/Makefile.debian-stretch install_developer
debian-jessie-developer:
@make -f $(DIR)/Makefile.debian-jessie install_developer
debian-wheezy-developer:
@make -f $(DIR)/Makefile.ubuntu-xenial install_translator
ubuntu-trusty-translator:
@make -f $(DIR)/Makefile.ubuntu-trusty install_translator
+debian-stretch-translator:
+ @make -f $(DIR)/Makefile.debian-stretch install_translator
debian-jessie-translator:
@make -f $(DIR)/Makefile.debian-jessie install_translator
debian-wheezy-translator:
@make -f $(DIR)/Makefile.ubuntu-xenial install_packager
ubuntu-trusty-packager:
@make -f $(DIR)/Makefile.ubuntu-trusty install_packager
+debian-stretch-packager:
+ @make -f $(DIR)/Makefile.debian-stretch install_packager
debian-jessie-packager:
@make -f $(DIR)/Makefile.debian-jessie install_packager
debian-wheezy-packager:
--- /dev/null
+# install files for Debian Stretch
+
+DIR = $(dir $(lastword $(MAKEFILE_LIST)))
+
+export DEB_PGSQL_COMMON_MODS = \
+ gcc \
+ libbusiness-isbn-perl \
+ libjson-xs-perl \
+ liblibrary-callnumber-lc-perl \
+ libmarc-record-perl \
+ libmarc-xml-perl \
+ librose-uri-perl \
+ libuuid-tiny-perl \
+ libxml-libxml-perl \
+ libxml-libxslt-perl
+
+export DEBS = \
+ $(DEB_PGSQL_COMMON_MODS) \
+ apache2-dev\
+ aspell\
+ aspell-en\
+ libapache2-mod-perl2\
+ libbusiness-creditcard-perl\
+ libbusiness-isbn-data-perl\
+ libbusiness-issn-perl\
+ libbusiness-onlinepayment-authorizenet-perl\
+ libbusiness-onlinepayment-payflowpro-perl\
+ libbusiness-onlinepayment-perl\
+ libdate-manip-perl\
+ libdatetime-format-builder-perl\
+ libdatetime-format-iso8601-perl\
+ libdatetime-format-mail-perl\
+ libdatetime-perl\
+ libdatetime-set-perl\
+ libdatetime-timezone-perl\
+ libdbd-pg-perl\
+ libdbd-pgsql\
+ libdbi-dev\
+ libdbi1\
+ libemail-simple-perl\
+ libexcel-writer-xlsx-perl\
+ libgd-graph3d-perl\
+ liblocale-maketext-lexicon-perl\
+ liblog-log4perl-perl\
+ libmarc-charset-perl \
+ libncurses5-dev\
+ libnet-ip-perl\
+ libnet-ldap-perl \
+ libnet-server-perl\
+ libnet-ssh2-perl\
+ libnet-z3950-simple2zoom-perl\
+ libnet-z3950-simpleserver-perl\
+ libnet-z3950-zoom-perl \
+ libnspr4-dev\
+ libole-storage-lite-perl\
+ libparent-perl\
+ libpq5\
+ libpq-dev\
+ libpcre3-dev\
+ librpc-xml-perl\
+ libsru-perl\
+ libssh2-1-dev\
+ libtemplate-plugin-posix-perl\
+ libtest-warn-perl\
+ libtest-output-perl\
+ libtext-aspell-perl\
+ libtext-csv-perl\
+ libuniversal-require-perl\
+ libunix-syslog-perl\
+ libyaz-dev\
+ postgresql-client-9.6\
+ libsoap-lite-perl\
+ libbz2-dev\
+ libparse-recdescent-perl\
+ yaz
+
+export DEB_APACHE_MODS = \
+ expires\
+ include\
+ proxy\
+ proxy_http\
+ rewrite\
+ cgi\
+ perl
+
+export DEB_APACHE_DISMODS = \
+ deflate
+
+export DEB_APACHE_DISCONF = \
+ serve-cgi-bin
+
+export CPAN_MODULES = \
+ Business::OnlinePayment::PayPal \
+ Email::Send
+
+export CPAN_MODULES_FORCE = \
+ Business::Stripe \
+ Class::DBI::Frozen::301
+
+PGSQL_SERVER_DEBS_96 = \
+ $(DEB_PGSQL_COMMON_MODS) \
+ postgresql-9.6 \
+ postgresql-contrib-9.6 \
+ postgresql-plperl-9.6 \
+ postgresql-server-dev-9.6
+
+# note: some prereqs are repeated in the developer/packager
+# sections to support building Evergreen packages on servers
+# where Evergreen and its prereqs are not installed.
+
+# nodejs-legacy creates a symlink for /usr/bin/node -> /usr/bin/nodejs
+# which is needed by our npm-installed packages
+DEVELOPER_DEBS = \
+ automake \
+ autoconf \
+ libtool
+
+PACKAGER_DEBS = \
+ asciidoc \
+ source-highlight \
+ zip \
+ unzip \
+ nsis
+
+TRANSLATOR_DEBS = \
+ libtemplate-perl \
+ liblocale-maketext-lexicon-perl \
+ translate-toolkit \
+ python-dev \
+ python-levenshtein \
+ python-polib \
+ python-setuptools \
+ python-simplejson \
+ python-lxml \
+ bzr
+
+all:
+ make -f $(DIR)/Makefile.debian install_debs
+ make -f $(DIR)/Makefile.common install_cpan
+ make -f $(DIR)/Makefile.common install_cpan_force
+ make -f $(DIR)/Makefile.debian debian_sys_config
+
+install_postgres_server:
+ make -f $(DIR)/Makefile.debian DEBS="$(PGSQL_SERVER_DEBS_96)"
+
+# note: if/when grunt-cli is available as a
+# package, use the packaged version instead.
+install_developer:
+ make -f $(DIR)/Makefile.debian DEBS="$(DEVELOPER_DEBS)"
+ make -f $(DIR)/Makefile.common install_nodejs_from_source
+
+install_translator: install_developer
+ make -f $(DIR)/Makefile.debian DEBS="$(TRANSLATOR_DEBS)"
+
+install_packager: install_developer install_translator
+ make -f $(DIR)/Makefile.debian DEBS="$(PACKAGER_DEBS)"
+
+clean:
+ make -f $(DIR)/Makefile.common clean
+ make -f $(DIR)/Makefile.debian clean
+
+# vim:noet:sw=4:ts=4:
* **PostgreSQL**: Version 9.4 is recommended.
The minimum supported version is 9.3.
- * **Linux**: Evergreen 2.8 has been tested on Debian Jessie (8.0),
- Debian Wheezy (7.0), Ubuntu Xenial Xerus (16.04),
+ * **Linux**: Evergreen has been tested on Debian Stretch (9),
+ Debian Jessie (8), Debian Wheezy (7), Ubuntu Xenial Xerus (16.04),
and Ubuntu Trusty Tahr (14.04).
If you are running an older version of these distributions, you may want
to upgrade before upgrading Evergreen. For instructions on upgrading these
PostgreSQL, so steps are taken to automatically utilize the
PostgreSQL community's apt sources.
(For complete details, see: https://wiki.postgresql.org/wiki/Apt)
- * Debian (Jessie) and Ubuntu (Xenial) comes with PostgreSQL 9.4+,
+ * Debian (Jessie/Stretch) and Ubuntu (Xenial) comes with PostgreSQL 9.4+,
so no additional steps are required.
+
3. Issue the following commands as the *root* Linux account to install
prerequisites using the `Makefile.install` prerequisite installer,
- substituting `debian-jessie`, `debian-wheezy`,
+ substituting `debian-stretch`, `debian-jessie`, `debian-wheezy`,
`ubuntu-xenial`, or `ubuntu-trusty` for <osname> below:
+
[source, bash]
issuing the following commands as the *root* Linux account:
+
[NOTE]
-You should skip this step if installing on Ubuntu Trusty, Ubuntu Xenial or Debian Jessie. The Ubuntu
-and Debian Jessie targets use libdbd-pgsql from packages.
+You should skip this step if installing on Ubuntu Trusty/Xenial or Debian Jessie/Stretch. The Ubuntu
+and Debian Jessie/Stretch targets use libdbd-pgsql from packages.
+
.Debian Wheezy
[source, bash]
cd /etc/apache2/ssl
------------------------------------------------------------------------------
+
-.Ubuntu Trusty, Ubuntu Xenial, and Debian Jessie
+.Ubuntu Trusty/Xenial and Debian Jessie/Stretch
[source,bash]
------------------------------------------------------------------------------------
cp Open-ILS/examples/apache_24/eg_24.conf /etc/apache2/sites-available/eg.conf
</IfModule>
------------------------------------------------------------------------------
+
-.Ubuntu Trusty, Ubuntu Xenial, Debian Jessie (`/etc/apache2/mods-available/mpm_prefork.conf`)
+.Ubuntu Trusty/Xenial, Debian Jessie/Stretch (`/etc/apache2/mods-available/mpm_prefork.conf`)
[source,bash]
------------------------------------------------------------------------------
<IfModule mpm_prefork_module>
</IfModule>
------------------------------------------------------------------------------
+
-. (Ubuntu Trusty, Ubuntu Xenial, Debian Jessie) As the *root* user,
+. (Ubuntu Trusty/Xenial, Debian Jessie/Stretch) As the *root* user,
enable the mpm_prefork module:
+
[source,bash]
a2ensite eg.conf
------------------------------------------------------------------------------
+
-(Ubuntu Trusty, Ubuntu Xenial, Debian Jessie):
+(Ubuntu Trusty/Xenial, Debian Jessie/Stretch):
+
[source,bash]
------------------------------------------------------------------------------
[source, bash]
------------------------------------------------------------------------------
+make -f Open-ILS/src/extras/Makefile.install postgres-server-debian-stretch
make -f Open-ILS/src/extras/Makefile.install postgres-server-debian-jessie
make -f Open-ILS/src/extras/Makefile.install postgres-server-debian-wheezy
make -f Open-ILS/src/extras/Makefile.install postgres-server-ubuntu-trusty
For a standalone PostgreSQL server, install the following Perl modules for your
distribution as the *root* Linux account:
-.(Debian Wheezy, Ubuntu Trusty, and Ubuntu Xenial)
+.(Debian and Ubuntu)
No extra modules required for these distributions.
You need to create a PostgreSQL superuser to create and access the database.