1 # ---------------------------------------------------------------------
2 # Author: Bill Erickson <erickson@esilibrary.com>
3 # Author: Dan Scott <dscott@laurentian.ca>
5 # Makefile to install prerequisites for OpenSRF
7 # Currently supports Debian (jessie/wheezy), Ubuntu (trusty/xenial)
10 # Installs Perl prereqs, libjs with Perl wrapper
13 # make -f Makefile.install debian-stretch
15 # make -f Makefile.install debian-jessie
17 # make -f Makefile.install debian-wheezy
19 # make -f Makefile.install ubuntu-trusty
21 # make -f Makefile.install ubuntu-xenial
23 # make -f Makefile.install fedora
25 # ---------------------------------------------------------------------
27 # Make any assumptions about the shell being used explicit
31 LBITS=$(shell getconf LONG_BIT)
44 libcache-memcached-perl\
45 libclass-dbi-abstractsearch-perl\
46 libclass-dbi-sqlite-perl\
47 libdatetime-format-builder-perl\
48 libdatetime-format-mail-perl\
50 libdatetime-timezone-perl\
53 libfile-find-rule-perl\
67 libuniversal-require-perl\
108 libxml-libxslt-perl \
115 perl-Cache-Memcached \
117 perl-Class-DBI-AbstractSearch \
118 perl-Class-DBI-SQLite \
119 perl-DateTime-Format-Builder \
120 perl-DateTime-Format-ISO8601 \
121 perl-DateTime-Format-Mail \
125 perl-File-Find-Rule \
132 perl-SQL-Abstract-Limit \
133 perl-Template-Toolkit \
135 perl-Test-Exception \
138 perl-UNIVERSAL-require \
156 libdatetime-format-iso8601-perl \
160 EXTRA_DEBS_WHEEZY = \
161 apache2-mpm-prefork \
162 apache2-prefork-dev \
165 EXTRA_DEBS_JESSIE = \
166 apache2-mpm-prefork \
167 apache2-prefork-dev \
170 EXTRA_DEBS_DEBIAN_STRETCH = \
175 EXTRA_DEBS_UBUNTU_TRUSTY = \
176 apache2-mpm-prefork \
177 apache2-prefork-dev \
180 EXTRA_DEBS_UBUNTU_XENIAL = \
185 # ----------------------------------------------------------------------------
188 @echo "please specify an OS" && exit 0
191 debian-stretch: generic_debian stretch apache_mpm_prefork_mods apache_perl_mod
192 debian-jessie: generic_debian jessie apache_mpm_prefork_mods
193 debian-wheezy: generic_debian wheezy
194 stretch: install_extra_debs install_extra_debs_stretch debian_sys_config
195 jessie: install_extra_debs_jessie debian_sys_config
196 wheezy: install_extra_debs_wheezy debian_sys_config
197 generic_debian: install_debs
199 fedora: install_fedora_rpms
201 ubuntu-trusty: generic_ubuntu trusty apache_mpm_prefork_mods
202 ubuntu-xenial: generic_ubuntu xenial apache_mpm_prefork_mods apache_perl_mod
203 trusty: install_extra_debs install_extra_debs_trusty debian_sys_config
204 xenial: install_extra_debs install_extra_debs_xenial debian_sys_config
205 generic_ubuntu: install_debs
207 # ------------------------------------------------------------------
208 # - DEBIAN ---------------------------------------------------------
211 # link the apache modules in
212 for m in $(DEB_APACHE_MODS); do a2enmod $$m; done;
214 # Install the debian-specific dependencies
216 $(APT_TOOL) install $(DEBS)
218 # Install the debian-specific dependencies for more modern distros
220 $(APT_TOOL) install $(EXTRA_DEBS)
222 install_extra_debs_stretch:
223 $(APT_TOOL) install $(EXTRA_DEBS_DEBIAN_STRETCH)
225 install_extra_debs_jessie: install_extra_debs
226 $(APT_TOOL) install $(EXTRA_DEBS_JESSIE)
228 install_extra_debs_wheezy: install_extra_debs
229 $(APT_TOOL) install $(EXTRA_DEBS_WHEEZY)
231 # Install even more packaged dependencies on modern distros
232 install_extra_debs_trusty:
233 $(APT_TOOL) install $(EXTRA_DEBS_UBUNTU_TRUSTY)
235 install_extra_debs_xenial:
236 $(APT_TOOL) install $(EXTRA_DEBS_UBUNTU_XENIAL)
238 # Some OSes activate the Apache mpm_event module by default.
239 # OpenSRF requires prefork.
240 apache_mpm_prefork_mods:
244 # Need to activate mod_perl on some O/S.
250 yum -y install $(FEDORAS)
252 # vim:noet:sw=4:ts=4: