From ca8ff2d7dcd9e117870a82b0e9b32d0cf2207e87 Mon Sep 17 00:00:00 2001 From: Ben Shum Date: Tue, 1 Aug 2017 14:41:08 -0400 Subject: [PATCH] LP#1708048: Add support for Debian 9 Stretch - Add new make target "debian-stretch" - Add PG 9.6 options - Add Stretch references to README Signed-off-by: Ben Shum Signed-off-by: Jason Stephenson Signed-off-by: Galen Charlton --- Open-ILS/src/extras/Makefile.install | 16 +- .../extras/install/Makefile.debian-stretch | 162 ++++++++++++++++++ docs/installation/server_installation.adoc | 23 +-- 3 files changed, 188 insertions(+), 13 deletions(-) create mode 100644 Open-ILS/src/extras/install/Makefile.debian-stretch diff --git a/Open-ILS/src/extras/Makefile.install b/Open-ILS/src/extras/Makefile.install index 311a2fb607..43bebfe8ad 100644 --- a/Open-ILS/src/extras/Makefile.install +++ b/Open-ILS/src/extras/Makefile.install @@ -4,12 +4,14 @@ # # 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 @@ -62,6 +64,8 @@ DIR = $(dir $(lastword $(MAKEFILE_LIST)))/install 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: @@ -73,6 +77,8 @@ ubuntu-trusty: 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: @@ -88,6 +94,8 @@ ubuntu-xenial-developer: @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: @@ -97,6 +105,8 @@ ubuntu-xenial-translator: @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: @@ -106,6 +116,8 @@ ubuntu-xenial-packager: @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: diff --git a/Open-ILS/src/extras/install/Makefile.debian-stretch b/Open-ILS/src/extras/install/Makefile.debian-stretch new file mode 100644 index 0000000000..bd15ce5b53 --- /dev/null +++ b/Open-ILS/src/extras/install/Makefile.debian-stretch @@ -0,0 +1,162 @@ +# 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: diff --git a/docs/installation/server_installation.adoc b/docs/installation/server_installation.adoc index 1634e7a816..59a493055c 100644 --- a/docs/installation/server_installation.adoc +++ b/docs/installation/server_installation.adoc @@ -56,8 +56,8 @@ Installing prerequisites * **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 @@ -77,12 +77,12 @@ before you can successfully configure, compile, and install Evergreen. 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 below: + [source, bash] @@ -94,8 +94,8 @@ make -f Open-ILS/src/extras/Makefile.install 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] @@ -287,7 +287,7 @@ mkdir /etc/apache2/ssl 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 @@ -345,7 +345,7 @@ place. ------------------------------------------------------------------------------ + -.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] ------------------------------------------------------------------------------ @@ -357,7 +357,7 @@ place. ------------------------------------------------------------------------------ + -. (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] @@ -374,7 +374,7 @@ a2dissite default # OPTIONAL: disable the default site (the "It Works" page) a2ensite eg.conf ------------------------------------------------------------------------------ + -(Ubuntu Trusty, Ubuntu Xenial, Debian Jessie): +(Ubuntu Trusty/Xenial, Debian Jessie/Stretch): + [source,bash] ------------------------------------------------------------------------------ @@ -463,6 +463,7 @@ command below based on your operating system. [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 @@ -472,7 +473,7 @@ make -f Open-ILS/src/extras/Makefile.install postgres-server-ubuntu-xenial 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. -- 2.43.2