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