#
# 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
#
# 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\
libtemplate-perl\
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
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-SQL-Abstract-Limit \
perl-Template-Toolkit \
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 ---------------------------------------------------------
# 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_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: