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/stretch) and Ubuntu
10 # Installs Perl prereqs, libjs with Perl wrapper
13 # make -f Makefile.install debian-buster
15 # make -f Makefile.install debian-stretch
17 # make -f Makefile.install debian-jessie
19 # make -f Makefile.install ubuntu-xenial
21 # make -f Makefile.install ubuntu-bionic
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\
100 libxml-libxslt-perl \
106 perl-Cache-Memcached \
108 perl-Class-DBI-AbstractSearch \
109 perl-Class-DBI-SQLite \
110 perl-DateTime-Format-Builder \
111 perl-DateTime-Format-ISO8601 \
112 perl-DateTime-Format-Mail \
116 perl-File-Find-Rule \
123 perl-SQL-Abstract-Limit \
124 perl-Template-Toolkit \
126 perl-Test-Exception \
129 perl-UNIVERSAL-require \
142 libdatetime-format-iso8601-perl \
146 EXTRA_DEBS_JESSIE = \
147 apache2-mpm-prefork \
148 apache2-prefork-dev \
151 EXTRA_DEBS_DEBIAN_BUSTER = \
156 EXTRA_DEBS_DEBIAN_STRETCH = \
161 EXTRA_DEBS_UBUNTU_XENIAL = \
166 EXTRA_DEBS_UBUNTU_BIONIC = \
171 # ----------------------------------------------------------------------------
174 @echo "please specify an OS" && exit 0
177 debian-buster: generic_debian buster apache_mpm_prefork_mods apache_perl_mod
178 debian-stretch: generic_debian stretch apache_mpm_prefork_mods apache_perl_mod
179 debian-jessie: generic_debian jessie apache_mpm_prefork_mods
180 buster: install_extra_debs install_extra_debs_buster debian_sys_config
181 stretch: install_extra_debs install_extra_debs_stretch debian_sys_config
182 jessie: install_extra_debs_jessie debian_sys_config
183 generic_debian: install_debs
185 fedora: install_fedora_rpms
187 ubuntu-xenial: generic_ubuntu xenial apache_mpm_prefork_mods apache_perl_mod
188 ubuntu-bionic: generic_ubuntu bionic apache_mpm_prefork_mods apache_perl_mod
189 xenial: install_extra_debs install_extra_debs_xenial debian_sys_config
190 bionic: install_extra_debs install_extra_debs_bionic debian_sys_config
191 generic_ubuntu: install_debs
193 # ------------------------------------------------------------------
194 # - DEBIAN ---------------------------------------------------------
197 # link the apache modules in
198 for m in $(DEB_APACHE_MODS); do a2enmod $$m; done;
200 # Install the debian-specific dependencies
202 $(APT_TOOL) install $(DEBS)
204 # Install the debian-specific dependencies for more modern distros
206 $(APT_TOOL) install $(EXTRA_DEBS)
208 install_extra_debs_buster:
209 $(APT_TOOL) install $(EXTRA_DEBS_DEBIAN_BUSTER)
211 install_extra_debs_stretch:
212 $(APT_TOOL) install $(EXTRA_DEBS_DEBIAN_STRETCH)
214 install_extra_debs_jessie: install_extra_debs
215 $(APT_TOOL) install $(EXTRA_DEBS_JESSIE)
217 # Install even more packaged dependencies on modern distros
218 install_extra_debs_xenial:
219 $(APT_TOOL) install $(EXTRA_DEBS_UBUNTU_XENIAL)
221 install_extra_debs_bionic:
222 $(APT_TOOL) install $(EXTRA_DEBS_UBUNTU_BIONIC)
225 # Some OSes activate the Apache mpm_event module by default.
226 # OpenSRF requires prefork.
227 apache_mpm_prefork_mods:
231 # Need to activate mod_perl on some O/S.
237 yum -y install $(FEDORAS)
239 # vim:noet:sw=4:ts=4: