From 54f1962988a4788730de83335b21b0b6a1633ba4 Mon Sep 17 00:00:00 2001
From: Ben Shum <ben@evergreener.net>
Date: Thu, 20 Sep 2018 11:03:30 -0400
Subject: [PATCH] LP#1793585: Support Ubuntu 18.04 Bionic Beaver

Changes to Makefile.install to support this version of Ubuntu.

Note: We are using PG9.6 from the PostgreSQL apt source instead of the
standard PG10 version that ships with Ubuntu 18.04. Further testing required
before we switch PG versions so relying on a known working version for now.

Signed-off-by: Ben Shum <ben@evergreener.net>
Signed-off-by: Jason Stephenson <jason@sigio.com>
---
 Open-ILS/src/extras/Makefile.install               |  12 ++
 Open-ILS/src/extras/install/Makefile.ubuntu-bionic | 162 +++++++++++++++++++++
 2 files changed, 174 insertions(+)
 create mode 100644 Open-ILS/src/extras/install/Makefile.ubuntu-bionic

diff --git a/Open-ILS/src/extras/Makefile.install b/Open-ILS/src/extras/Makefile.install
index 60a4ea337a..d58a6f48cb 100644
--- a/Open-ILS/src/extras/Makefile.install
+++ b/Open-ILS/src/extras/Makefile.install
@@ -18,6 +18,8 @@
 # 	- or -
 # 	make -f Makefile.install ubuntu-xenial
 # 	- or -
+# 	make -f Makefile.install ubuntu-bionic
+# 	- or -
 # 	make -f Makefile.install fedora
 #
 # ---------------------------------------------------------------------
@@ -66,6 +68,8 @@ debian-stretch:
 	@make -f $(DIR)/Makefile.debian-stretch
 debian-jessie:
 	@make -f $(DIR)/Makefile.debian-jessie
+ubuntu-bionic:
+	@make -f $(DIR)/Makefile.ubuntu-bionic
 ubuntu-xenial:
 	@make -f $(DIR)/Makefile.ubuntu-xenial
 ubuntu-trusty:
@@ -77,6 +81,8 @@ 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-ubuntu-bionic:
+	@make -f $(DIR)/Makefile.ubuntu-bionic install_postgres_server
 postgres-server-ubuntu-xenial:
 	@make -f $(DIR)/Makefile.ubuntu-xenial install_postgres_server
 postgres-server-ubuntu-trusty:
@@ -84,6 +90,8 @@ postgres-server-ubuntu-trusty:
 postgres-server-fedora:
 	@make -f $(DIR)/Makefile.fedora install_postgres_server
 
+ubuntu-bionic-developer:
+	@make -f $(DIR)/Makefile.ubuntu-bionic install_developer
 ubuntu-xenial-developer:
 	@make -f $(DIR)/Makefile.ubuntu-xenial install_developer
 ubuntu-trusty-developer:
@@ -93,6 +101,8 @@ debian-stretch-developer:
 debian-jessie-developer:
 	@make -f $(DIR)/Makefile.debian-jessie install_developer
 
+ubuntu-bionic-translator:
+	@make -f $(DIR)/Makefile.ubuntu-bionic install_translator
 ubuntu-xenial-translator:
 	@make -f $(DIR)/Makefile.ubuntu-xenial install_translator
 ubuntu-trusty-translator:
@@ -102,6 +112,8 @@ debian-stretch-translator:
 debian-jessie-translator:
 	@make -f $(DIR)/Makefile.debian-jessie install_translator
 
+ubuntu-bionic-packager:
+	@make -f $(DIR)/Makefile.ubuntu-bionic install_packager
 ubuntu-xenial-packager:
 	@make -f $(DIR)/Makefile.ubuntu-xenial install_packager
 ubuntu-trusty-packager:
diff --git a/Open-ILS/src/extras/install/Makefile.ubuntu-bionic b/Open-ILS/src/extras/install/Makefile.ubuntu-bionic
new file mode 100644
index 0000000000..1e28f62f8a
--- /dev/null
+++ b/Open-ILS/src/extras/install/Makefile.ubuntu-bionic
@@ -0,0 +1,162 @@
+# 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\
+	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\
+	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::XML \
+	MARC::Charset \
+	Net::Z3950::Simple2ZOOM
+
+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.
+
+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 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.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:
-- 
2.11.0