]> git.evergreen-ils.org Git - OpenSRF.git/blob - src/extras/Makefile.install
LP1999823: Bump libtool library version
[OpenSRF.git] / src / extras / Makefile.install
1 # ---------------------------------------------------------------------
2 # Author: Bill Erickson <erickson@esilibrary.com>
3 # Author: Dan Scott <dscott@laurentian.ca>
4 #
5 # Makefile to install prerequisites for OpenSRF
6 #
7 # Currently supports Debian (buster/bullseye) and Ubuntu
8 # (bionic/focal)
9 #
10 # Installs Perl prereqs, libjs with Perl wrapper
11 #
12 # usage:
13 #       make -f Makefile.install debian-bullseye
14 #       - or -
15 #       make -f Makefile.install debian-buster
16 #       - or -
17 #       make -f Makefile.install ubuntu-focal
18 #       - or -
19 #       make -f Makefile.install ubuntu-jammy
20 #       - or -
21 #       make -f Makefile.install fedora
22 #
23 # ---------------------------------------------------------------------
24
25 # Make any assumptions about the shell being used explicit
26 SHELL=/bin/bash 
27
28 # 64 or 32 bit os?
29 LBITS=$(shell getconf LONG_BIT)
30
31 APT_TOOL=apt-get -yq
32
33 # Debian dependencies
34 DEBS =  \
35         apache2 \
36         apache2-dev \
37         autoconf\
38         automake\
39         build-essential\
40         check\
41         ejabberd\
42         less\
43         libapache2-mod-perl2\
44         libcache-memcached-perl\
45         libclass-dbi-abstractsearch-perl\
46         libclass-dbi-sqlite-perl\
47         libdatetime-format-builder-perl\
48         libdatetime-format-iso8601-perl \
49         libdatetime-format-mail-perl\
50         libdatetime-perl\
51         libdatetime-timezone-perl\
52         liberror-perl\
53         libexpat1-dev\
54         libfile-find-rule-perl\
55         libgcrypt20-dev \
56         libgdbm-dev \
57         libjson-xs-perl \
58         liblog-log4perl-perl\
59         libmemcached-dev \
60         libmemcached-tools \
61         libmodule-build-perl\
62         libncurses5-dev \
63         libnet-dns-perl\
64         libnet-server-perl \
65         libperl-dev\
66         libreadline-dev\
67         libtemplate-perl\
68         libtest-pod-perl\
69         libtie-ixhash-perl\
70         libtool\
71         libuniversal-require-perl\
72         libunix-syslog-perl\
73         libwww-perl\
74         libxml2-dev\
75         libxml-libxml-perl\
76         libxml-libxslt-perl\
77         libxml-simple-perl\
78         libxslt1-dev\
79         memcached\
80         pkg-config\
81         psmisc\
82         tar\
83         unzip\
84         zip\
85         zlib1g-dev
86
87 FEDORAS = \
88         autoconf \
89         automake \
90         check \
91         check-devel \
92         ejabberd \
93         expat-devel \
94         gcc \
95         gdbm-devel \
96         httpd \
97         httpd-devel \
98         less \
99         libgcrypt-devel \
100         libmemcached \
101         libmemcached-devel \
102         libtool \
103         libxml-libxml-perl \
104         libxml-libxslt-perl \
105         libxml2-devel \
106         libxslt-devel \
107         make \
108         memcached \
109         mod_perl \
110         perl-Cache-Memcached \
111         perl-Class-DBI \
112         perl-Class-DBI-AbstractSearch \
113         perl-Class-DBI-SQLite \
114         perl-DateTime-Format-Builder \
115         perl-DateTime-Format-ISO8601 \
116         perl-DateTime-Format-Mail \
117         perl-DateTime-Set \
118         perl-devel \
119         perl-Error \
120         perl-File-Find-Rule \
121         perl-JSON-XS \
122         perl-libwww-perl \
123         perl-Log-Log4perl \
124         perl-Module-Build \
125         perl-Net-DNS \
126         perl-Net-Server \
127         perl-SQL-Abstract-Limit \
128         perl-Template-Toolkit \
129         perl-Test-Deep \
130         perl-Test-Exception \
131         perl-Test-Pod \
132         perl-Tie-IxHash \
133         perl-UNIVERSAL-require \
134         perl-Unix-Syslog \
135         perl-XML-LibXML \
136         perl-XML-LibXSLT \
137         perl-XML-Simple \
138         psmisc \
139         readline-devel \
140         tar
141
142 DEB_APACHE_MODS = \
143         ssl
144
145 # ----------------------------------------------------------------------------
146
147 all: 
148         @echo "please specify an OS" && exit 0
149
150
151 debian-bullseye: generic_debian
152 debian-buster: generic_debian
153
154 generic_debian: install_debs debian_sys_config apache_mpm_prefork_mods apache_perl_mod
155
156 ubuntu-focal: generic_ubuntu
157 ubuntu-jammy: generic_ubuntu
158
159 generic_ubuntu: install_debs debian_sys_config apache_mpm_prefork_mods apache_perl_mod
160
161 fedora: install_fedora_rpms
162
163 # ------------------------------------------------------------------
164
165 # - DEBIAN ---------------------------------------------------------
166
167 debian_sys_config: 
168         # link the apache modules in
169         for m in $(DEB_APACHE_MODS); do a2enmod $$m; done;
170
171 # Install the debian-specific dependencies
172 install_debs:
173         $(APT_TOOL) install $(DEBS)
174
175 # Some OSes activate the Apache mpm_event module by default.
176 # OpenSRF requires prefork.
177 apache_mpm_prefork_mods:
178         a2dismod mpm_event
179         a2enmod mpm_prefork
180
181 # Need to activate mod_perl on some O/S.
182 apache_perl_mod:
183         a2enmod perl
184
185 # - FEDORA ---------------------------------------------------------
186 # Fedora
187 install_fedora_rpms:
188         yum -y install $(FEDORAS)
189
190 # vim:noet:sw=4:ts=4: