From a7a3ea21f2affeaa22c4a70840650c8e0eae5779 Mon Sep 17 00:00:00 2001 From: Jason Stephenson Date: Thu, 16 Jun 2022 11:37:50 -0400 Subject: [PATCH] LP1970667: Add Installation Support for Ubuntu 22.04 (Jammy Jellyfish) Add prerequisite installation targets for Jammy Jellyfish: * ubuntu-jammy * ubuntu-jammy-developer * ubuntu-jammy-packager * ubuntu-jammy-translator Update the README and server upgrade instructions for Ubuntu 22.04. Remove or replace deprecated autoconf directives in configure.ac. Signed-off-by: Jason Stephenson Signed-off-by: Bill Erickson Signed-off-by: Jane Sandberg --- Open-ILS/src/extras/Makefile.install | 20 ++ Open-ILS/src/extras/install/Makefile.ubuntu-jammy | 231 +++++++++++++++++++++ .../xul/staff_client/external/libmar/configure.ac | 4 +- configure.ac | 3 +- .../installation/pages/server_installation.adoc | 14 +- .../modules/installation/pages/server_upgrade.adoc | 18 +- 6 files changed, 274 insertions(+), 16 deletions(-) create mode 100644 Open-ILS/src/extras/install/Makefile.ubuntu-jammy diff --git a/Open-ILS/src/extras/Makefile.install b/Open-ILS/src/extras/Makefile.install index cca3dbbdc9..428a06eb02 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-focal # - or - +# make -f Makefile.install ubuntu-jammy +# - or - # make -f Makefile.install fedora # # --------------------------------------------------------------------- @@ -74,6 +76,8 @@ ubuntu-bionic: @make -f $(DIR)/Makefile.ubuntu-bionic ubuntu-focal: @make -f $(DIR)/Makefile.ubuntu-focal +ubuntu-jammy: + @make -f $(DIR)/Makefile.ubuntu-jammy fedora: @make -f $(DIR)/Makefile.fedora @@ -127,6 +131,16 @@ postgres-server-ubuntu-focal-13: @make -f $(DIR)/Makefile.ubuntu-focal install_postgres_server_13 postgres-server-ubuntu-focal-14: @make -f $(DIR)/Makefile.ubuntu-focal install_postgres_server_14 +postgres-server-ubuntu-jammy-10: + @make -f $(DIR)/Makefile.ubuntu-jammy install_postgres_server_10 +postgres-server-ubuntu-jammy-11: + @make -f $(DIR)/Makefile.ubuntu-jammy install_postgres_server_11 +postgres-server-ubuntu-jammy-12: + @make -f $(DIR)/Makefile.ubuntu-jammy install_postgres_server_12 +postgres-server-ubuntu-jammy-13: + @make -f $(DIR)/Makefile.ubuntu-jammy install_postgres_server_13 +postgres-server-ubuntu-jammy-14: + @make -f $(DIR)/Makefile.ubuntu-jammy install_postgres_server_14 postgres-server-fedora: @make -f $(DIR)/Makefile.fedora install_postgres_server @@ -134,6 +148,8 @@ ubuntu-bionic-developer: @make -f $(DIR)/Makefile.ubuntu-bionic install_developer ubuntu-focal-developer: @make -f $(DIR)/Makefile.ubuntu-focal install_developer +ubuntu-jammy-developer: + @make -f $(DIR)/Makefile.ubuntu-jammy install_developer debian-bullseye-developer: @make -f $(DIR)/Makefile.debian-bullseye install_developer debian-buster-developer: @@ -145,6 +161,8 @@ ubuntu-bionic-translator: @make -f $(DIR)/Makefile.ubuntu-bionic install_translator ubuntu-focal-translator: @make -f $(DIR)/Makefile.ubuntu-focal install_translator +ubuntu-jammy-translator: + @make -f $(DIR)/Makefile.ubuntu-jammy install_translator debian-bullseye-translator: @make -f $(DIR)/Makefile.debian-bullseye install_translator debian-buster-translator: @@ -156,6 +174,8 @@ ubuntu-bionic-packager: @make -f $(DIR)/Makefile.ubuntu-bionic install_packager ubuntu-focal-packager: @make -f $(DIR)/Makefile.ubuntu-focal install_packager +ubuntu-jammy-packager: + @make -f $(DIR)/Makefile.ubuntu-jammy install_packager debian-bullseye-packager: @make -f $(DIR)/Makefile.debian-bullseye install_packager debian-buster-packager: diff --git a/Open-ILS/src/extras/install/Makefile.ubuntu-jammy b/Open-ILS/src/extras/install/Makefile.ubuntu-jammy new file mode 100644 index 0000000000..9a0cb5e687 --- /dev/null +++ b/Open-ILS/src/extras/install/Makefile.ubuntu-jammy @@ -0,0 +1,231 @@ +# install files for Ubuntu Jammy + +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 \ + libmarc-xml-perl \ + libmarc-charset-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\ + libhttp-oai-perl\ + libgeo-coder-osm-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 \ + libnet-z3950-simple2zoom-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-14\ + libsoap-lite-perl\ + libbz2-dev\ + libparse-recdescent-perl\ + libhtml-defang-perl\ + libconfig-general-perl\ + yaz + +export DEB_APACHE_MODS = \ + expires\ + headers\ + include\ + proxy\ + proxy_http\ + rewrite\ + cgi\ + perl + +export DEB_APACHE_DISMODS = \ + deflate + +export DEB_APACHE_DISCONF = \ + serve-cgi-bin + +export CPAN_MODULES = \ + Geo::Coder::Google \ + Business::OnlinePayment::PayPal \ + Email::Send \ + Locale::Country \ + String::KeyboardDistance \ + Text::Levenshtein::Damerau::XS + +export CPAN_MODULES_FORCE = \ + Business::Stripe \ + Class::DBI::Frozen::301 + +export CPAN_MODULES_PGSQL = \ + String::KeyboardDistance \ + Text::Levenshtein::Damerau::XS + +PGSQL_APT_REPO_DEBS = \ + wget \ + ca-certificates + +PGSQL_SERVER_DEBS_10 = \ + $(DEB_PGSQL_COMMON_MODS) \ + postgresql-10 \ + postgresql-plperl-10 \ + postgresql-server-dev-10 + +PGSQL_SERVER_DEBS_11 = \ + $(DEB_PGSQL_COMMON_MODS) \ + postgresql-11 \ + postgresql-plperl-11 \ + postgresql-server-dev-11 + +PGSQL_SERVER_DEBS_12 = \ + $(DEB_PGSQL_COMMON_MODS) \ + postgresql-12 \ + postgresql-plperl-12 \ + postgresql-server-dev-12 + +PGSQL_SERVER_DEBS_13 = \ + $(DEB_PGSQL_COMMON_MODS) \ + postgresql-13 \ + postgresql-plperl-13 \ + postgresql-server-dev-13 + +PGSQL_SERVER_DEBS_14 = \ + $(DEB_PGSQL_COMMON_MODS) \ + postgresql-14 \ + postgresql-plperl-14 \ + postgresql-server-dev-14 + +# 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 + +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_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 + +install_postgres_server_11: + 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_11)" + make -f $(DIR)/Makefile.common install_cpan_pgsql + +install_postgres_server_12: + 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_12)" + make -f $(DIR)/Makefile.common install_cpan_pgsql + +install_postgres_server_13: + 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_13)" + make -f $(DIR)/Makefile.common install_cpan_pgsql + +install_postgres_server_14: + 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_14)" + 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/Open-ILS/xul/staff_client/external/libmar/configure.ac b/Open-ILS/xul/staff_client/external/libmar/configure.ac index c8415256fe..aeddb84c5e 100644 --- a/Open-ILS/xul/staff_client/external/libmar/configure.ac +++ b/Open-ILS/xul/staff_client/external/libmar/configure.ac @@ -2,10 +2,10 @@ # Process this file with autoconf to produce a configure script. AC_PREREQ([2.61]) -AC_INIT([libmar], [1.0], [jason@sigio.com]) +AC_INIT([libmar],[1.0],[jason@sigio.com]) AM_INIT_AUTOMAKE([foreign]) AC_CONFIG_SRCDIR([tool/mar.c]) -AC_CONFIG_HEADER([config.h]) +AC_CONFIG_HEADERS([config.h]) # Check for MAR_CHANNEL_ID: AC_ARG_WITH([marchannelid], diff --git a/configure.ac b/configure.ac index 53608d945b..8ce20877d3 100644 --- a/configure.ac +++ b/configure.ac @@ -33,7 +33,7 @@ AC_SUBST([abs_top_builddir]) #----------------------------------- -AC_PROG_LIBTOOL +LT_INIT AC_PROG_CC AC_PROG_INSTALL AC_PROG_LN_S @@ -300,7 +300,6 @@ if test "x$openils_core" = "xtrue"; then # Checks for header files. #------------------------------------ - AC_HEADER_STDC AC_CHECK_HEADERS([fcntl.h langinfo.h locale.h stdlib.h string.h unistd.h]) #------------------------------------------------------------------- diff --git a/docs/modules/installation/pages/server_installation.adoc b/docs/modules/installation/pages/server_installation.adoc index 259910b9b4..d843ac0b5a 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 Bullseye (11), Debian Buster (10), - Debian Stretch (9), + Debian Stretch (9), + Ubuntu Jammy Jellyfish (22.04), Ubuntu Focal Fossa (20.04), and Ubuntu Bionic Beaver (18.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-bullseye`,`debian-buster`,`debian-stretch`,`ubuntu-focal`, - or `ubuntu-bionic` for below: + substituting `debian-bullseye`,`debian-buster`,`debian-stretch`,`ubuntu-jammy`, + `ubuntu-focal`, or `ubuntu-bionic` for below: + [source, bash] ------------------------------------------------------------------------------ @@ -251,7 +252,7 @@ chown -R opensrf:opensrf /openils == Run ldconfig == -On Ubuntu 18.04 / 20.04 or Debian Stretch / Buster / Bullseye, run the +On Ubuntu 18.04 / 20.04 / 22.04 or Debian Stretch / Buster / Bullseye, run the following command as the root user: [source, bash] @@ -445,6 +446,7 @@ make -f Open-ILS/src/extras/Makefile.install postgres-server-debian-buster-10 make -f Open-ILS/src/extras/Makefile.install postgres-server-debian-stretch-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 +make -f Open-ILS/src/extras/Makefile.install postgres-server-ubuntu-jammy-10 ------------------------------------------------------------------------------ [WARNING] @@ -466,6 +468,7 @@ make -f Open-ILS/src/extras/Makefile.install postgres-server-debian-buster-11 make -f Open-ILS/src/extras/Makefile.install postgres-server-debian-stretch-11 make -f Open-ILS/src/extras/Makefile.install postgres-server-ubuntu-bionic-11 make -f Open-ILS/src/extras/Makefile.install postgres-server-ubuntu-focal-11 +make -f Open-ILS/src/extras/Makefile.install postgres-server-ubuntu-jammy-11 ------------------------------------------------------------------------------ To install PostgreSQL version 12, use the following command for your operating @@ -478,6 +481,7 @@ make -f Open-ILS/src/extras/Makefile.install postgres-server-debian-buster-12 make -f Open-ILS/src/extras/Makefile.install postgres-server-debian-stretch-12 make -f Open-ILS/src/extras/Makefile.install postgres-server-ubuntu-bionic-12 make -f Open-ILS/src/extras/Makefile.install postgres-server-ubuntu-focal-12 +make -f Open-ILS/src/extras/Makefile.install postgres-server-ubuntu-jammy-12 ------------------------------------------------------------------------------ To install PostgreSQL version 13, use the following command for your operating @@ -490,6 +494,7 @@ make -f Open-ILS/src/extras/Makefile.install postgres-server-debian-buster-13 make -f Open-ILS/src/extras/Makefile.install postgres-server-debian-stretch-13 make -f Open-ILS/src/extras/Makefile.install postgres-server-ubuntu-bionic-13 make -f Open-ILS/src/extras/Makefile.install postgres-server-ubuntu-focal-13 +make -f Open-ILS/src/extras/Makefile.install postgres-server-ubuntu-jammy-13 ------------------------------------------------------------------------------ To install PostgreSQL version 14, use the following command for your operating @@ -502,6 +507,7 @@ make -f Open-ILS/src/extras/Makefile.install postgres-server-debian-buster-14 make -f Open-ILS/src/extras/Makefile.install postgres-server-debian-stretch-14 make -f Open-ILS/src/extras/Makefile.install postgres-server-ubuntu-bionic-14 make -f Open-ILS/src/extras/Makefile.install postgres-server-ubuntu-focal-14 +make -f Open-ILS/src/extras/Makefile.install postgres-server-ubuntu-jammy-14 ------------------------------------------------------------------------------ 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 27d501a0cf..53e0ae6539 100644 --- a/docs/modules/installation/pages/server_upgrade.adoc +++ b/docs/modules/installation/pages/server_upgrade.adoc @@ -7,12 +7,13 @@ All of the steps in this chapter are to be completed from the command line. == Software Prerequisites == * **PostgreSQL**: The minimum supported version is 10. - * **Linux**: Evergreen 3.X.X has been tested on Debian Stretch - (9.0), Debian Buster (10.0), Debian Bullseye (11.0), 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. + * **Linux**: Evergreen 3.X.X has been tested on Debian Stretch (9.0), + Debian Buster (10.0), Debian Bullseye (11.0), Ubuntu Bionic Beaver + (18.04), Ubuntu Focal Fossa (20.04), and Ubuntu Jammy Jellyfish + (22.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. @@ -70,8 +71,9 @@ indexterm:[Linux, Ubuntu] * `debian-stretch` for Debian Stretch (9.0) (EDI compatibility in progress) * `debian-buster` for Debian Buster (10.0) * `debian-bullseye` for Debian Bullseye (11.0) - * `ubuntu-bionic` for Ubuntu Bionic Beaver (18.04) (EDI compatibility in progress) - * `ubuntu-focal` for Ubuntu Focal Fossa (20.04) (EDI compatibility in progress) + * `ubuntu-bionic` for Ubuntu Bionic Beaver (18.04) + * `ubuntu-focal` for Ubuntu Focal Fossa (20.04) + * `ubuntu-jammy` for Ubuntu Jammy Jellyfish (22.04) + [source, bash] -- 2.11.0