From 8440e3b264fabbd2ef4f0753167d7c8650396cfd Mon Sep 17 00:00:00 2001 From: Jason Stephenson Date: Tue, 27 Oct 2020 13:18:13 -0400 Subject: [PATCH] Lp 1875544: Add Installation Support for Ubuntu 20.04 Focal Fossa README and prerequisite updates. Signed-off-by: Jason Stephenson Signed-off-by: Bill Erickson Signed-off-by: Ben Shum --- Open-ILS/src/extras/Makefile.install | 14 ++ .../src/extras/install/Makefile.ubuntu-focal | 191 ++++++++++++++++++ .../pages/server_installation.adoc | 11 +- .../installation/pages/server_upgrade.adoc | 13 +- 4 files changed, 220 insertions(+), 9 deletions(-) create mode 100644 Open-ILS/src/extras/install/Makefile.ubuntu-focal diff --git a/Open-ILS/src/extras/Makefile.install b/Open-ILS/src/extras/Makefile.install index 3454450205..2395e04d5b 100644 --- a/Open-ILS/src/extras/Makefile.install +++ b/Open-ILS/src/extras/Makefile.install @@ -20,6 +20,8 @@ # - or - # make -f Makefile.install ubuntu-bionic # - or - +# make -f Makefile.install ubuntu-focal +# - or - # make -f Makefile.install fedora # # --------------------------------------------------------------------- @@ -72,6 +74,8 @@ debian-jessie: @make -f $(DIR)/Makefile.debian-jessie ubuntu-bionic: @make -f $(DIR)/Makefile.ubuntu-bionic +ubuntu-focal: + @make -f $(DIR)/Makefile.ubuntu-focal ubuntu-xenial: @make -f $(DIR)/Makefile.ubuntu-xenial fedora: @@ -93,6 +97,10 @@ postgres-server-ubuntu-bionic: @make -f $(DIR)/Makefile.ubuntu-bionic install_postgres_server postgres-server-ubuntu-bionic-10: @make -f $(DIR)/Makefile.ubuntu-bionic install_postgres_server_10 +postgres-server-ubuntu-focal: + @make -f $(DIR)/Makefile.ubuntu-focal install_postgres_server +postgres-server-ubuntu-focal-10: + @make -f $(DIR)/Makefile.ubuntu-focal install_postgres_server_10 postgres-server-ubuntu-xenial: @make -f $(DIR)/Makefile.ubuntu-xenial install_postgres_server postgres-server-ubuntu-xenial-10: @@ -102,6 +110,8 @@ postgres-server-fedora: ubuntu-bionic-developer: @make -f $(DIR)/Makefile.ubuntu-bionic install_developer +ubuntu-focal-developer: + @make -f $(DIR)/Makefile.ubuntu-focal install_developer ubuntu-xenial-developer: @make -f $(DIR)/Makefile.ubuntu-xenial install_developer debian-buster-developer: @@ -113,6 +123,8 @@ debian-jessie-developer: ubuntu-bionic-translator: @make -f $(DIR)/Makefile.ubuntu-bionic install_translator +ubuntu-focal-translator: + @make -f $(DIR)/Makefile.ubuntu-focal install_translator ubuntu-xenial-translator: @make -f $(DIR)/Makefile.ubuntu-xenial install_translator debian-buster-translator: @@ -124,6 +136,8 @@ debian-jessie-translator: ubuntu-bionic-packager: @make -f $(DIR)/Makefile.ubuntu-bionic install_packager +ubuntu-focal-packager: + @make -f $(DIR)/Makefile.ubuntu-focal install_packager ubuntu-xenial-packager: @make -f $(DIR)/Makefile.ubuntu-xenial install_packager debian-buster-packager: diff --git a/Open-ILS/src/extras/install/Makefile.ubuntu-focal b/Open-ILS/src/extras/install/Makefile.ubuntu-focal new file mode 100644 index 0000000000..deb054876e --- /dev/null +++ b/Open-ILS/src/extras/install/Makefile.ubuntu-focal @@ -0,0 +1,191 @@ +# install files for Ubuntu Bionic + +DIR = $(dir $(lastword $(MAKEFILE_LIST))) + +export DEB_PGSQL_COMMON_MODS = \ + gcc \ + libbusiness-isbn-perl \ + libjson-xs-perl \ + liblibrary-callnumber-lc-perl \ + libmarc-record-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\ + libemail-mime-perl\ + libexcel-writer-xlsx-perl\ + libgd-graph3d-perl\ + liblocale-maketext-lexicon-perl\ + liblog-log4perl-perl\ + libncurses5-dev\ + libnet-ip-perl\ + libnet-ldap-perl \ + libnet-server-perl\ + libnet-ssh2-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\ + libhtml-defang-perl\ + libconfig-general-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 \ + MARC::Charset \ + Net::Z3950::Simple2ZOOM \ + Locale::Country + +export CPAN_MODULES_FORCE = \ + Business::Stripe \ + Class::DBI::Frozen::301 + +export CPAN_MODULES_PGSQL = \ + MARC::File::XML + +PGSQL_APT_REPO_DEBS = \ + wget \ + ca-certificates + +PGSQL_SERVER_DEBS_96 = \ + $(DEB_PGSQL_COMMON_MODS) \ + postgresql-9.6 \ + postgresql-contrib-9.6 \ + postgresql-plperl-9.6 \ + postgresql-server-dev-9.6 + +PGSQL_SERVER_DEBS_10 = \ + $(DEB_PGSQL_COMMON_MODS) \ + postgresql-10 \ + postgresql-contrib-10 \ + postgresql-plperl-10 \ + postgresql-server-dev-10 + +# 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. + +DEVELOPER_DEBS = \ + automake \ + autoconf \ + libtool \ + chromium-browser \ + firefox + +PACKAGER_DEBS = \ + asciidoc \ + source-highlight \ + zip \ + unzip \ + nsis + +TRANSLATOR_DEBS = \ + libtemplate-perl \ + liblocale-maketext-lexicon-perl \ + translate-toolkit \ + python3-dev \ + python3-levenshtein \ + python3-polib \ + python3-setuptools \ + python3-simplejson \ + python3-lxml \ + bzr + +all: + make -f $(DIR)/Makefile.debian DEBS="$(PGSQL_APT_REPO_DEBS)" + make -f $(DIR)/Makefile.debian debian_postgresql_repo + 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.common install_cpan_pgsql + make -f $(DIR)/Makefile.debian debian_sys_config + +install_postgres_server: + make -f $(DIR)/Makefile.debian DEBS="$(PGSQL_APT_REPO_DEBS)" + make -f $(DIR)/Makefile.debian debian_postgresql_repo + make -f $(DIR)/Makefile.debian DEBS="$(PGSQL_SERVER_DEBS_96)" + make -f $(DIR)/Makefile.common install_cpan_pgsql + +install_postgres_server_10: + make -f $(DIR)/Makefile.debian DEBS="$(PGSQL_APT_REPO_DEBS)" + make -f $(DIR)/Makefile.debian debian_postgresql_repo + make -f $(DIR)/Makefile.debian DEBS="$(PGSQL_SERVER_DEBS_10)" + make -f $(DIR)/Makefile.common install_cpan_pgsql + +# 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/modules/installation/pages/server_installation.adoc b/docs/modules/installation/pages/server_installation.adoc index 474a97f077..b97548af2b 100644 --- a/docs/modules/installation/pages/server_installation.adoc +++ b/docs/modules/installation/pages/server_installation.adoc @@ -53,7 +53,8 @@ autoreconf -i * **Linux**: Evergreen has been tested on Debian Buster (10), Debian Stretch (9), - Debian Jessie (8), + Debian Jessie (8), + Ubuntu Focal Fossa (20.04), Ubuntu Bionic Beaver (18.04), and Ubuntu Xenial Xerus (16.04). If you are running an older version of these distributions, you may want @@ -70,8 +71,8 @@ before you can successfully configure, compile, and install Evergreen. + 2. Issue the following commands as the *root* Linux account to install prerequisites using the `Makefile.install` prerequisite installer, - substituting `debian-buster`,`debian-stretch`,`debian-jessie`,`ubuntu-bionic`, or - `ubuntu-xenial` for below: + substituting `debian-buster`,`debian-stretch`,`debian-jessie`,`ubuntu-focal`, + `ubuntu-bionic`, or `ubuntu-xenial` for below: + [source, bash] ------------------------------------------------------------------------------ @@ -250,7 +251,7 @@ chown -R opensrf:opensrf /openils == Run ldconfig == -On Ubuntu 18.04 or Debian Stretch / Buster, run the following command as the root user: +On Ubuntu 18.04 / 20.04 or Debian Stretch / Buster, run the following command as the root user: [source, bash] ------------------------------------------------------------------------------ @@ -439,6 +440,7 @@ 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-ubuntu-xenial make -f Open-ILS/src/extras/Makefile.install postgres-server-ubuntu-bionic +make -f Open-ILS/src/extras/Makefile.install postgres-server-ubuntu-focal ------------------------------------------------------------------------------ To install PostgreSQL version 10, use the following command for your operating @@ -451,6 +453,7 @@ make -f Open-ILS/src/extras/Makefile.install postgres-server-debian-stretch-10 make -f Open-ILS/src/extras/Makefile.install postgres-server-debian-jessie-10 make -f Open-ILS/src/extras/Makefile.install postgres-server-ubuntu-xenial-10 make -f Open-ILS/src/extras/Makefile.install postgres-server-ubuntu-bionic-10 +make -f Open-ILS/src/extras/Makefile.install postgres-server-ubuntu-focal-10 ------------------------------------------------------------------------------ For a standalone PostgreSQL server, install the following Perl modules for your diff --git a/docs/modules/installation/pages/server_upgrade.adoc b/docs/modules/installation/pages/server_upgrade.adoc index 8551e04d36..f6a0b8733b 100644 --- a/docs/modules/installation/pages/server_upgrade.adoc +++ b/docs/modules/installation/pages/server_upgrade.adoc @@ -7,11 +7,12 @@ All of the steps in this chapter are to be completed from the command line. == Software Prerequisites == * **PostgreSQL**: The minimum supported version is 9.6. - * **Linux**: Evergreen 3.X.X has been tested on Debian Stretch (9.0), - Debian Jessie (8.0), Ubuntu Xenial Xerus (16.04), and Ubuntu Bionic Beaver (18.04). - If you are running an older version of these distributions, you may want - to upgrade before upgrading Evergreen. For instructions on upgrading these - distributions, visit the Debian or Ubuntu websites. + * **Linux**: Evergreen 3.X.X has been tested on Debian Stretch + (9.0), Debian Jessie (8.0), Ubuntu Xenial Xerus (16.04), Ubuntu + Bionic Beaver (18.04), and Ubuntu Focal Fossa (20.04). If you are + running an older version of these distributions, you may want to + upgrade before upgrading Evergreen. For instructions on upgrading + these distributions, visit the Debian or Ubuntu websites. * **OpenSRF**: The minimum supported version of OpenSRF is 3.2.0. @@ -69,6 +70,8 @@ indexterm:[Linux, Ubuntu] * `debian-stretch` for Debian Stretch (9.0) (EDI compatibility in progress) * `debian-jessie` for Debian Jessie (8.0) (See https://bugs.launchpad.net/evergreen/+bug/1342227[Bug 134222] if you want to use EDI) * `ubuntu-xenial` for Ubuntu Xenial Xerus (16.04) (EDI compatibility in progress) + * `ubuntu-bionic` for Ubuntu Bionic Beaver (18.04) (EDI compatibility in progress) + * `ubuntu-focal` for Ubuntu Focal Fossa (20.04) (EDI compatibility in progress) + [source, bash] -- 2.43.2