LP#1708048: Add support for Debian 9 Stretch
[opensrf-equinox.git] / src / extras / Makefile.install
index 0d24677..1a2a63c 100644 (file)
@@ -4,19 +4,21 @@
 #
 # Makefile to install prerequisites for OpenSRF
 #
-# Currently supports Debian (wheezy/squeeze), Ubuntu (lucid/precise)
+# Currently supports Debian (jessie/wheezy), Ubuntu (trusty/xenial)
 # and Fedora (16).
 #
 # Installs Perl prereqs, libjs with Perl wrapper
 #
 # usage:
-#      make -f Makefile.install debian-wheezy
+#      make -f Makefile.install debian-stretch
+#      - or -
+#      make -f Makefile.install debian-jessie
 #      - or -
-#      make -f Makefile.install debian-squeeze
+#      make -f Makefile.install debian-wheezy
 #      - or -
-#      make -f Makefile.install ubuntu-lucid
+#      make -f Makefile.install ubuntu-trusty
 #      - or -
-#      make -f Makefile.install ubuntu-precise
+#      make -f Makefile.install ubuntu-xenial
 #      - or -
 #      make -f Makefile.install fedora
 #
@@ -32,8 +34,6 @@ APT_TOOL=apt-get -yq
 
 # Debian dependencies
 DEBS =  \
-       apache2-mpm-prefork\
-       apache2-prefork-dev\
        autoconf\
        automake\
        build-essential\
@@ -54,9 +54,10 @@ DEBS =  \
        libgcrypt11-dev \
        libgdbm-dev \
        liblog-log4perl-perl\
+       libmemcached-dev \
+       libmemcached-tools \
        libmodule-build-perl\
        libnet-dns-perl\
-       libnet-jabber-perl\
        libperl-dev\
        libreadline-dev\
        libtemplate-perl\
@@ -73,10 +74,15 @@ DEBS =  \
        libxslt1-dev\
        memcached\
        pkg-config\
+       python-coverage\
        psmisc\
        python-dev\
        python-libxml2\
+       python-memcache\
+       python-nose\
+       python-pyxmpp\
        python-setuptools\
+       python-simplejson\
        tar\
        zlib1g-dev
 
@@ -96,6 +102,8 @@ FEDORAS = \
        libmemcached \
        libmemcached-devel \
        libtool \
+       libxml-libxml-perl \
+       libxml-libxslt-perl \
        libxml2-devel \
        libxml2-python \
        libxslt-devel \
@@ -118,7 +126,6 @@ FEDORAS = \
        perl-Log-Log4perl \
        perl-Module-Build \
        perl-Net-DNS \
-       perl-Net-Jabber \
        perl-Net-Server \
        perl-SQL-Abstract-Limit \
        perl-Template-Toolkit \
@@ -148,49 +155,52 @@ EXTRA_DEBS = \
        libjson-xs-perl \
        libnet-server-perl
 
-EXTRA_DEBS_SQUEEZE = \
-       libmemcached-dev \
-       libmemcached-tools \
-       libxml-libxml-perl \
-       libxml-libxslt-perl
-
 EXTRA_DEBS_WHEEZY = \
-       libmemcached-dev \
-       libmemcached-tools \
-       libxml-libxml-perl \
-       libxml-libxslt-perl \
+       apache2-mpm-prefork \
+       apache2-prefork-dev \
        libncurses5-dev
 
-EXTRA_DEBS_UBUNTU_LUCID = \
-       libmemcached-dev\
-       libxml-libxml-perl \
-       libxml-libxslt-perl
+EXTRA_DEBS_JESSIE = \
+       apache2-mpm-prefork \
+       apache2-prefork-dev \
+       libncurses5-dev
 
-EXTRA_DEBS_UBUNTU_PRECISE = \
-       libmemcached-dev\
-       libxml-libxml-perl \
-       libxml-libxslt-perl \
+EXTRA_DEBS_DEBIAN_STRETCH = \
+       apache2 \
+       apache2-dev \
+       libncurses5-dev
+
+EXTRA_DEBS_UBUNTU_TRUSTY = \
+       apache2-mpm-prefork \
+       apache2-prefork-dev \
        ncurses-dev
 
+EXTRA_DEBS_UBUNTU_XENIAL = \
+       apache2 \
+       apache2-dev \
+       libncurses5-dev
+
 # ----------------------------------------------------------------------------
 
 all: 
        @echo "please specify an OS" && exit 0
 
 
+debian-stretch: generic_debian stretch apache_mpm_prefork_mods apache_perl_mod
+debian-jessie: generic_debian jessie apache_mpm_prefork_mods
 debian-wheezy: generic_debian wheezy
-debian-squeeze: generic_debian squeeze
-wheezy: install_extra_debs_wheezy
-squeeze: install_extra_debs_squeeze
-generic_debian: install_debs debian_sys_config
+stretch: install_extra_debs install_extra_debs_stretch debian_sys_config
+jessie: install_extra_debs_jessie debian_sys_config
+wheezy: install_extra_debs_wheezy debian_sys_config
+generic_debian: install_debs
 
 fedora: install_fedora_rpms
 
-ubuntu-lucid: generic_ubuntu lucid
-ubuntu-precise: generic_ubuntu precise
-lucid: install_extra_debs install_extra_debs_lucid
-precise: install_extra_debs install_extra_debs_precise
-generic_ubuntu: install_debs debian_sys_config
+ubuntu-trusty: generic_ubuntu trusty apache_mpm_prefork_mods
+ubuntu-xenial: generic_ubuntu xenial apache_mpm_prefork_mods apache_perl_mod
+trusty: install_extra_debs install_extra_debs_trusty debian_sys_config
+xenial: install_extra_debs install_extra_debs_xenial debian_sys_config
+generic_ubuntu: install_debs
 
 # ------------------------------------------------------------------
 # - DEBIAN ---------------------------------------------------------
@@ -199,12 +209,6 @@ debian_sys_config:
        # link the apache modules in
        for m in $(DEB_APACHE_MODS); do a2enmod $$m; done;
 
-       # adds a placeholder module so apxs will be happy
-       if [ ! "$$(grep mod_placeholder /etc/apache2/httpd.conf)" ]; then \
-               echo -e "#\n#LoadModule mod_placeholder /usr/lib/apache2/modules/mod_placeholder.so" \
-                       >> /etc/apache2/httpd.conf; \
-       fi;
-
 # Install the debian-specific dependencies
 install_debs:
        $(APT_TOOL) install $(DEBS)
@@ -213,18 +217,31 @@ install_debs:
 install_extra_debs:
        $(APT_TOOL) install $(EXTRA_DEBS)
 
+install_extra_debs_stretch:
+       $(APT_TOOL) install $(EXTRA_DEBS_DEBIAN_STRETCH)
+
+install_extra_debs_jessie: install_extra_debs
+       $(APT_TOOL) install $(EXTRA_DEBS_JESSIE)
+
 install_extra_debs_wheezy: install_extra_debs
        $(APT_TOOL) install $(EXTRA_DEBS_WHEEZY)
 
-install_extra_debs_squeeze: install_extra_debs
-       $(APT_TOOL) install $(EXTRA_DEBS_SQUEEZE)
-
 # Install even more packaged dependencies on modern distros
-install_extra_debs_lucid:
-       $(APT_TOOL) install $(EXTRA_DEBS_UBUNTU_LUCID)
+install_extra_debs_trusty:
+       $(APT_TOOL) install $(EXTRA_DEBS_UBUNTU_TRUSTY)
+
+install_extra_debs_xenial:
+       $(APT_TOOL) install $(EXTRA_DEBS_UBUNTU_XENIAL)
+
+# Some OSes activate the Apache mpm_event module by default.
+# OpenSRF requires prefork.
+apache_mpm_prefork_mods:
+       a2dismod mpm_event
+       a2enmod mpm_prefork
 
-install_extra_debs_precise:
-       $(APT_TOOL) install $(EXTRA_DEBS_UBUNTU_PRECISE)
+# Need to activate mod_perl on some O/S.
+apache_perl_mod:
+       a2enmod perl
 
 # Fedora
 install_fedora_rpms: