From 87a962268ee33ea9bbb55af7b2ed680ff1be0f30 Mon Sep 17 00:00:00 2001
From: Chris Sharp <csharp@georgialibraries.org>
Date: Tue, 22 Oct 2019 09:21:22 -0400
Subject: [PATCH] LP#1849208 - Add PostgreSQL 10 Makfile.install targets

Signed-off-by: Chris Sharp <csharp@georgialibraries.org>
Signed-off-by: blake <blake@mobiusconsortium.org>
Signed-off-by: Jane Sandberg <sandbej@linnbenton.edu>
---
 Open-ILS/src/extras/Makefile.install                      | 10 ++++++++++
 Open-ILS/src/extras/install/Makefile.debian-buster        | 12 ++++++++++++
 Open-ILS/src/extras/install/Makefile.debian-jessie        | 12 ++++++++++++
 Open-ILS/src/extras/install/Makefile.debian-stretch       | 12 ++++++++++++
 Open-ILS/src/extras/install/Makefile.ubuntu-bionic        | 13 +++++++++++++
 Open-ILS/src/extras/install/Makefile.ubuntu-xenial        | 12 ++++++++++++
 .../Administration/lp1849208_pg10_support.adoc            |  4 ++++
 docs/installation/server_installation.adoc                | 15 ++++++++++++++-
 8 files changed, 89 insertions(+), 1 deletion(-)
 create mode 100644 docs/RELEASE_NOTES_NEXT/Administration/lp1849208_pg10_support.adoc

diff --git a/Open-ILS/src/extras/Makefile.install b/Open-ILS/src/extras/Makefile.install
index f6fc4ceae7..3454450205 100644
--- a/Open-ILS/src/extras/Makefile.install
+++ b/Open-ILS/src/extras/Makefile.install
@@ -79,14 +79,24 @@ fedora:
 
 postgres-server-debian-buster:
 	@make -f $(DIR)/Makefile.debian-buster install_postgres_server
+postgres-server-debian-buster-10:
+	@make -f $(DIR)/Makefile.debian-buster install_postgres_server_10
 postgres-server-debian-stretch:
 	@make -f $(DIR)/Makefile.debian-stretch install_postgres_server
+postgres-server-debian-stretch-10:
+	@make -f $(DIR)/Makefile.debian-stretch install_postgres_server_10
 postgres-server-debian-jessie:
 	@make -f $(DIR)/Makefile.debian-jessie install_postgres_server
+postgres-server-debian-jessie-10:
+	@make -f $(DIR)/Makefile.debian-jessie install_postgres_server_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-xenial:
 	@make -f $(DIR)/Makefile.ubuntu-xenial install_postgres_server
+postgres-server-ubuntu-xenial-10:
+	@make -f $(DIR)/Makefile.ubuntu-xenial install_postgres_server_10
 postgres-server-fedora:
 	@make -f $(DIR)/Makefile.fedora install_postgres_server
 
diff --git a/Open-ILS/src/extras/install/Makefile.debian-buster b/Open-ILS/src/extras/install/Makefile.debian-buster
index f884830ad6..4424e2b99f 100644
--- a/Open-ILS/src/extras/install/Makefile.debian-buster
+++ b/Open-ILS/src/extras/install/Makefile.debian-buster
@@ -106,6 +106,13 @@ PGSQL_SERVER_DEBS_96 = \
 	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.
@@ -149,6 +156,11 @@ install_postgres_server:
 	make -f $(DIR)/Makefile.debian debian_postgresql_repo
 	make -f $(DIR)/Makefile.debian DEBS="$(PGSQL_SERVER_DEBS_96)"
 
+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)"
+
 # note: if/when grunt-cli is available as a
 # package, use the packaged version instead.
 install_developer:
diff --git a/Open-ILS/src/extras/install/Makefile.debian-jessie b/Open-ILS/src/extras/install/Makefile.debian-jessie
index 3d4653e590..21da86c75c 100644
--- a/Open-ILS/src/extras/install/Makefile.debian-jessie
+++ b/Open-ILS/src/extras/install/Makefile.debian-jessie
@@ -107,6 +107,13 @@ PGSQL_SERVER_DEBS_96 = \
 	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.
@@ -150,6 +157,11 @@ install_postgres_server:
 	make -f $(DIR)/Makefile.debian debian_postgresql_repo
 	make -f $(DIR)/Makefile.debian DEBS="$(PGSQL_SERVER_DEBS_96)"
 
+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)"
+
 # note: if/when grunt-cli is available as a
 # package, use the packaged version instead.
 install_developer:
diff --git a/Open-ILS/src/extras/install/Makefile.debian-stretch b/Open-ILS/src/extras/install/Makefile.debian-stretch
index 18ab5699ea..e1491d1522 100644
--- a/Open-ILS/src/extras/install/Makefile.debian-stretch
+++ b/Open-ILS/src/extras/install/Makefile.debian-stretch
@@ -106,6 +106,13 @@ PGSQL_SERVER_DEBS_96 = \
 	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.
@@ -149,6 +156,11 @@ install_postgres_server:
 	make -f $(DIR)/Makefile.debian debian_postgresql_repo
 	make -f $(DIR)/Makefile.debian DEBS="$(PGSQL_SERVER_DEBS_96)"
 
+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)"
+
 # note: if/when grunt-cli is available as a
 # package, use the packaged version instead.
 install_developer:
diff --git a/Open-ILS/src/extras/install/Makefile.ubuntu-bionic b/Open-ILS/src/extras/install/Makefile.ubuntu-bionic
index dd22d56fe4..35c42fde10 100644
--- a/Open-ILS/src/extras/install/Makefile.ubuntu-bionic
+++ b/Open-ILS/src/extras/install/Makefile.ubuntu-bionic
@@ -111,6 +111,13 @@ PGSQL_SERVER_DEBS_96 = \
 	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.
@@ -156,6 +163,12 @@ install_postgres_server:
 	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:
diff --git a/Open-ILS/src/extras/install/Makefile.ubuntu-xenial b/Open-ILS/src/extras/install/Makefile.ubuntu-xenial
index a1104e1721..8802f2478f 100644
--- a/Open-ILS/src/extras/install/Makefile.ubuntu-xenial
+++ b/Open-ILS/src/extras/install/Makefile.ubuntu-xenial
@@ -106,6 +106,13 @@ PGSQL_SERVER_DEBS_96 = \
 	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.
@@ -149,6 +156,11 @@ install_postgres_server:
 	make -f $(DIR)/Makefile.debian debian_postgresql_repo
 	make -f $(DIR)/Makefile.debian DEBS="$(PGSQL_SERVER_DEBS_96)"
 
+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)"
+
 # note: if/when grunt-cli is available as a
 # package, use the packaged version instead.
 install_developer:
diff --git a/docs/RELEASE_NOTES_NEXT/Administration/lp1849208_pg10_support.adoc b/docs/RELEASE_NOTES_NEXT/Administration/lp1849208_pg10_support.adoc
new file mode 100644
index 0000000000..bc3d43d9d4
--- /dev/null
+++ b/docs/RELEASE_NOTES_NEXT/Administration/lp1849208_pg10_support.adoc
@@ -0,0 +1,4 @@
+PostgreSQL 10 Support
+^^^^^^^^^^^^^^^^^^^^^
+PostgreSQL 10 is now available for installation with Evergreen.  Please
+see the installation documentation for details.
diff --git a/docs/installation/server_installation.adoc b/docs/installation/server_installation.adoc
index e2a93a9c2a..f72a85f348 100644
--- a/docs/installation/server_installation.adoc
+++ b/docs/installation/server_installation.adoc
@@ -426,7 +426,8 @@ Ubuntu on the machine of your choice using the following commands as the
 Each OS build target provides the postgres server installation packages
 required for each operating system.  To install Postgres server packages, 
 use the make target 'postgres-server-<OSTYPE>'.  Choose the most appropriate 
-command below based on your operating system.
+command below based on your operating system. This will install PostgreSQL 9.6,
+the minimum supported version.
 
 [source, bash]
 ------------------------------------------------------------------------------
@@ -437,6 +438,18 @@ make -f Open-ILS/src/extras/Makefile.install postgres-server-ubuntu-xenial
 make -f Open-ILS/src/extras/Makefile.install postgres-server-ubuntu-bionic
 ------------------------------------------------------------------------------
 
+To install PostgreSQL version 10, use the following command for your operating
+system:
+
+[source, bash]
+------------------------------------------------------------------------------
+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-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
+------------------------------------------------------------------------------
+
 For a standalone PostgreSQL server, install the following Perl modules for your
 distribution as the *root* Linux account:
 
-- 
2.11.0