LP#1551084: Start new Makefile target for 'ubuntu-xenial'
authorBen Shum <ben@evergreener.net>
Mon, 29 Feb 2016 06:20:34 +0000 (01:20 -0500)
committerJason Stephenson <jason@sigio.com>
Wed, 4 May 2016 17:34:23 +0000 (13:34 -0400)
For Ubuntu 16.04, let's start a new Makefile target for 'ubuntu-xenial'

For major changes, the packaged version of PostgreSQL that ships with
Ubuntu 16.04 is PostgreSQL 9.5.

Also, during the configure step, the build process looks for libpcre3-dev,
so we add that as an additional prerequisite now.

Signed-off-by: Ben Shum <ben@evergreener.net>
Signed-off-by: Jason Stephenson <jason@sigio.com>

Open-ILS/src/extras/Makefile.install
Open-ILS/src/extras/install/Makefile.ubuntu-xenial [new file with mode: 0644]

index 1b7a60d..f6144a3 100644 (file)
@@ -5,7 +5,7 @@
 # Makefile to install prerequisites for OpenSRF and Evergreen
 #
 # Currently supports Debian (jessie, wheezy), Ubuntu (12.04), 
-# Ubuntu (14.04) and Fedora (16 and 17).
+# Ubuntu (14.04), Ubuntu (16.04), and Fedora (16 and 17).
 #
 # Installs Perl prereqs, libdbi, libdbi-drivers, and libyaz
 #
@@ -18,6 +18,8 @@
 #      - or -
 #      make -f Makefile.install ubuntu-trusty
 #      - or -
+#      make -f Makefile.install ubuntu-xenial
+#      - or -
 #      make -f Makefile.install fedora
 #
 # ---------------------------------------------------------------------
@@ -63,6 +65,8 @@ debian-jessie:
        @make -f $(DIR)/Makefile.debian-jessie
 debian-wheezy:
        @make -f $(DIR)/Makefile.debian-wheezy
+ubuntu-xenial:
+       @make -f $(DIR)/Makefile.ubuntu-xenial
 ubuntu-trusty:
        @make -f $(DIR)/Makefile.ubuntu-trusty
 ubuntu-precise:
@@ -74,6 +78,8 @@ postgres-server-debian-jessie:
        @make -f $(DIR)/Makefile.debian-jessie install_postgres_server
 postgres-server-debian-wheezy:
        @make -f $(DIR)/Makefile.debian-wheezy install_postgres_server
+postgres-server-ubuntu-xenial:
+       @make -f $(DIR)/Makefile.ubuntu-xenial install_postgres_server
 postgres-server-ubuntu-trusty:
        @make -f $(DIR)/Makefile.ubuntu-trusty install_postgres_server
 postgres-server-ubuntu-precise:
@@ -81,6 +87,8 @@ postgres-server-ubuntu-precise:
 postgres-server-fedora:
        @make -f $(DIR)/Makefile.fedora install_postgres_server
 
+ubuntu-xenial-developer:
+       @make -f $(DIR)/Makefile.xenial-trusty install_developer
 ubuntu-trusty-developer:
        @make -f $(DIR)/Makefile.ubuntu-trusty install_developer
 debian-jessie-developer:
@@ -90,6 +98,8 @@ ubuntu-precise-developer:
 debian-wheezy-developer:
        @make -f $(DIR)/Makefile.debian-wheezy install_developer
 
+ubuntu-xenial-packager:
+       @make -f $(DIR)/Makefile.ubuntu-xenial install_packager
 ubuntu-trusty-packager:
        @make -f $(DIR)/Makefile.ubuntu-trusty install_packager
 debian-jessie-packager:
diff --git a/Open-ILS/src/extras/install/Makefile.ubuntu-xenial b/Open-ILS/src/extras/install/Makefile.ubuntu-xenial
new file mode 100644 (file)
index 0000000..726fdbb
--- /dev/null
@@ -0,0 +1,156 @@
+# install files for Ubuntu Xenial
+
+DIR = $(dir $(lastword $(MAKEFILE_LIST)))
+
+export DEB_PGSQL_COMMON_MODS = \
+       gcc \
+       libbusiness-isbn-perl \
+       libjson-xs-perl \
+       liblibrary-callnumber-lc-perl \
+       libmarc-record-perl \
+       libmarc-xml-perl \
+       librose-uri-perl \
+       libuuid-tiny-perl \
+       libxml-libxml-perl \
+       libxml-libxslt-perl
+
+export DEBS = \
+       $(DEB_PGSQL_COMMON_MODS) \
+       apache2-dev\
+       aspell\
+       aspell-en\
+       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\
+       libmarc-charset-perl \
+       libncurses5-dev\
+       libnet-ip-perl\
+       libnet-ldap-perl \
+       libnet-server-perl\
+       libnet-ssh2-perl\
+       libnet-z3950-simple2zoom-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.5\
+       libsoap-lite-perl\
+       libbz2-dev\
+       libparse-recdescent-perl\
+       yaz
+
+export DEB_APACHE_MODS = \
+    expires\
+    include\
+    proxy\
+    proxy_http\
+    rewrite\
+    cgi
+
+export DEB_APACHE_DISMODS = \
+    deflate
+
+export CPAN_MODULES = \
+       Business::OnlinePayment::PayPal \
+       Email::Send
+
+export CPAN_MODULES_FORCE = \
+       Business::Stripe \
+       Class::DBI::Frozen::301
+
+PGSQL_SERVER_DEBS_95 = \
+       $(DEB_PGSQL_COMMON_MODS) \
+       postgresql-9.5 \
+       postgresql-contrib-9.5 \
+       postgresql-plperl-9.5 \
+       postgresql-server-dev-9.5
+
+# 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.
+
+# nodejs-legacy creates a symlink for /usr/bin/node -> /usr/bin/nodejs
+# which is needed by our npm-installed packages
+DEVELOPER_DEBS = \
+       automake \
+       autoconf \
+       libtool \
+       nodejs-legacy \
+       npm
+
+PACKAGER_DEBS = \
+       libtemplate-perl \
+       liblocale-maketext-lexicon-perl \
+       asciidoc \
+       source-highlight \
+       translate-toolkit \
+       python-dev \
+       python-levenshtein \
+       python-polib \
+       python-setuptools \
+       python-simplejson \
+       python-lxml \
+       zip \
+       unzip \
+       bzr \
+       nsis
+
+all:
+       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_95)"
+
+# note: if/when grunt-cli and bower are available as 
+# packages, use the packaged versions instead.
+install_developer:
+       make -f $(DIR)/Makefile.debian DEBS="$(DEVELOPER_DEBS)"
+       npm update
+       npm install -g grunt-cli
+       npm install -g bower
+
+install_packager: install_developer
+       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: