#
# Makefile to install prerequisites for OpenSRF
#
-# Currently supports Debian (squeeze), Ubuntu (lucid/precise)
-# and Fedora (16).
+# Currently supports Debian (jessie/stretch) and Ubuntu
+# (xenial/bionic)
#
# Installs Perl prereqs, libjs with Perl wrapper
#
# usage:
-# make -f Makefile.install debian-squeeze
+# make -f Makefile.install debian-stretch
# - or -
-# make -f Makefile.install ubuntu-lucid
+# make -f Makefile.install debian-jessie
# - or -
-# make -f Makefile.install ubuntu-precise
+# make -f Makefile.install ubuntu-xenial
+# - or -
+# make -f Makefile.install ubuntu-bionic
# - or -
# make -f Makefile.install fedora
#
# Debian dependencies
DEBS = \
- apache2-mpm-prefork\
- apache2-prefork-dev\
autoconf\
automake\
build-essential\
libgcrypt11-dev \
libgdbm-dev \
liblog-log4perl-perl\
+ libmemcached-dev \
+ libmemcached-tools \
libmodule-build-perl\
libnet-dns-perl\
- libnet-jabber-perl\
libperl-dev\
libreadline-dev\
- librpc-xml-perl\
libtemplate-perl\
libtest-pod-perl\
libtie-ixhash-perl\
libxslt1-dev\
memcached\
pkg-config\
+ python-coverage\
psmisc\
python-dev\
python-libxml2\
+ python-memcache\
+ python-nose\
+ python-pyxmpp\
python-setuptools\
+ python-simplejson\
tar\
+ unzip\
+ zip\
zlib1g-dev
FEDORAS = \
libmemcached \
libmemcached-devel \
libtool \
+ libxml-libxml-perl \
+ libxml-libxslt-perl \
libxml2-devel \
libxml2-python \
libxslt-devel \
perl-Log-Log4perl \
perl-Module-Build \
perl-Net-DNS \
- perl-Net-Jabber \
perl-Net-Server \
- perl-RPC-XML \
perl-SQL-Abstract-Limit \
perl-Template-Toolkit \
perl-Test-Deep \
libjson-xs-perl \
libnet-server-perl
-EXTRA_DEBS_SQUEEZE = \
- libmemcached-dev \
- libmemcached-tools \
- libxml-libxml-perl \
- libxml-libxslt-perl
+EXTRA_DEBS_JESSIE = \
+ apache2-mpm-prefork \
+ apache2-prefork-dev \
+ libncurses5-dev
-EXTRA_DEBS_UBUNTU_LUCID = \
- libmemcached-dev\
- libxml-libxml-perl \
- libxml-libxslt-perl
+EXTRA_DEBS_DEBIAN_STRETCH = \
+ apache2 \
+ apache2-dev \
+ libncurses5-dev
-EXTRA_DEBS_UBUNTU_PRECISE = \
- libmemcached-dev\
- libxml-libxml-perl \
- libxml-libxslt-perl \
- ncurses-dev
+EXTRA_DEBS_UBUNTU_XENIAL = \
+ apache2 \
+ apache2-dev \
+ libncurses5-dev
+
+EXTRA_DEBS_UBUNTU_BIONIC = \
+ apache2 \
+ apache2-dev \
+ libncurses5-dev
# ----------------------------------------------------------------------------
@echo "please specify an OS" && exit 0
-debian-squeeze: generic_debian squeeze
-squeeze: install_extra_debs_squeeze
-generic_debian: install_debs debian_sys_config
+debian-stretch: generic_debian stretch apache_mpm_prefork_mods apache_perl_mod
+debian-jessie: generic_debian jessie apache_mpm_prefork_mods
+stretch: install_extra_debs install_extra_debs_stretch debian_sys_config
+jessie: install_extra_debs_jessie 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-xenial: generic_ubuntu xenial apache_mpm_prefork_mods apache_perl_mod
+ubuntu-bionic: generic_ubuntu bionic apache_mpm_prefork_mods apache_perl_mod
+xenial: install_extra_debs install_extra_debs_xenial debian_sys_config
+bionic: install_extra_debs install_extra_debs_bionic debian_sys_config
+generic_ubuntu: install_debs
# ------------------------------------------------------------------
# - DEBIAN ---------------------------------------------------------
# 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)
install_extra_debs:
$(APT_TOOL) install $(EXTRA_DEBS)
-install_extra_debs_squeeze: install_extra_debs
- $(APT_TOOL) install $(EXTRA_DEBS_SQUEEZE)
+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 even more packaged dependencies on modern distros
-install_extra_debs_lucid:
- $(APT_TOOL) install $(EXTRA_DEBS_UBUNTU_LUCID)
+install_extra_debs_xenial:
+ $(APT_TOOL) install $(EXTRA_DEBS_UBUNTU_XENIAL)
+
+install_extra_debs_bionic:
+ $(APT_TOOL) install $(EXTRA_DEBS_UBUNTU_BIONIC)
+
+
+# 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: