LP1970667: Add Installation Support for Ubuntu 22.04 (Jammy Jellyfish)
authorJason Stephenson <jason@sigio.com>
Thu, 16 Jun 2022 15:37:50 +0000 (11:37 -0400)
committerJane Sandberg <sandbergja@gmail.com>
Tue, 27 Sep 2022 02:41:57 +0000 (19:41 -0700)
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 <jason@sigio.com>
Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Jane Sandberg <sandbergja@gmail.com>

Open-ILS/src/extras/Makefile.install
Open-ILS/src/extras/install/Makefile.ubuntu-jammy [new file with mode: 0644]
Open-ILS/xul/staff_client/external/libmar/configure.ac
configure.ac
docs/modules/installation/pages/server_installation.adoc
docs/modules/installation/pages/server_upgrade.adoc

index cca3dbb..428a06e 100644 (file)
@@ -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 (file)
index 0000000..9a0cb5e
--- /dev/null
@@ -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:
index c841525..aeddb84 100644 (file)
@@ -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],
index 53608d9..8ce2087 100644 (file)
@@ -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])
 
     #-------------------------------------------------------------------
index 259910b..d843ac0 100644 (file)
@@ -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 <osname> below:
+   substituting `debian-bullseye`,`debian-buster`,`debian-stretch`,`ubuntu-jammy`,
+   `ubuntu-focal`, or `ubuntu-bionic` for <osname> 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
index 27d501a..53e0ae6 100644 (file)
@@ -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]