1 # ---------------------------------------------------------------------
2 # Author: Bill Erickson <erickson@esilibrary.com>
3 # Author: Dan Scott <dscott@laurentian.ca>
5 # Makefile to install prerequisites for OpenSRF and Evergreen
7 # Currently supports Debian (bullseye, buster, stretch),
8 # Ubuntu (18.04), Ubuntu (20.04).
10 # Installs Perl prereqs, libdbi, libdbi-drivers, and libyaz
13 # make -f Makefile.install debian-bullseye
15 # make -f Makefile.install debian-buster
17 # make -f Makefile.install debian-stretch
19 # make -f Makefile.install ubuntu-bionic
21 # make -f Makefile.install ubuntu-focal
23 # make -f Makefile.install ubuntu-jammy
25 # make -f Makefile.install fedora
27 # ---------------------------------------------------------------------
29 # variables shared by all installers
31 # Make any assumptions about the shell being used explicit
32 export SHELL=/bin/bash
34 export LIBNET_Z3950_SIMPLESERVER=Net-Z3950-SimpleServer-1.15
35 export LIBNET_Z3950_SIMPLESERVER_URL=http://ftp.indexdata.dk/pub/simpleserver/$(LIBNET_Z3950_SIMPLESERVER)
37 # The libdbi sources can be fetched from sourceforge.net. They are stored on
38 # the open-ils.org site now for ease of direct linking
39 export LIBDBI=libdbi-0.8.3
40 export LIBDBI_DRIVERS=libdbi-drivers-0.8.3
41 export LIBDBI_HOST=http://open-ils.org/~denials/evergreen
43 # some OSes require a newer version of NodeJS
44 # NOTE: Using the LTS binaries for NodeJS
45 export NODEJS_VERSION=v14.18.1
46 MACHINE_NAME = $(shell uname -m)
47 ifeq ($(MACHINE_NAME),x86_64)
48 export NODEJS_ARCHITECTURE=x64
49 else ifeq ($(MACHINE_NAME),aarch64)
50 export NODEJS_ARCHITECTURE=arm64
52 export NODEJS_ARCHITECTURE=$(MACHINE_NAME)
54 export NODEJS_BINDIR=node-$(NODEJS_VERSION)-linux-$(NODEJS_ARCHITECTURE)
55 export NODEJS_TARBIN=$(NODEJS_BINDIR).tar.xz
56 export NODEJS_BINARY="https://nodejs.org/dist/$(NODEJS_VERSION)/$(NODEJS_TARBIN)"
58 # As this Makefile is designed to be used by a make process running as
59 # root, this will avoid problems on some systems when tar extracts
60 # files and tries to give them the same UID/GID as they have in their
61 # archives, but those accounts don't exist on the local system.
63 # e.g, libdbi has files set 1000/1000. On most systems, there's a user
64 # and a group with these IDs, but there can be systems where nothing
65 # uses those IDs, and where tar fails with e.g. 'tar: libdbi-0.8.3:
66 # Cannot change ownership to uid 1000, gid 1000: Invalid argument'
68 export TAR_OPTIONS=--no-same-owner --no-same-permissions
70 # ----------------------------------------------------------------------------
72 # avoid hard-coding the path to related makefiles
73 DIR = $(dir $(lastword $(MAKEFILE_LIST)))/install
76 @echo "please specify an OS" && exit 0
78 @make -f $(DIR)/Makefile.debian-bullseye
80 @make -f $(DIR)/Makefile.debian-buster
82 @make -f $(DIR)/Makefile.debian-stretch
84 @make -f $(DIR)/Makefile.ubuntu-bionic
86 @make -f $(DIR)/Makefile.ubuntu-focal
88 @make -f $(DIR)/Makefile.ubuntu-jammy
90 @make -f $(DIR)/Makefile.fedora
92 postgres-server-debian-bullseye-10:
93 @make -f $(DIR)/Makefile.debian-bullseye install_postgres_server_10
94 postgres-server-debian-bullseye-11:
95 @make -f $(DIR)/Makefile.debian-bullseye install_postgres_server_11
96 postgres-server-debian-bullseye-12:
97 @make -f $(DIR)/Makefile.debian-bullseye install_postgres_server_12
98 postgres-server-debian-bullseye-13:
99 @make -f $(DIR)/Makefile.debian-bullseye install_postgres_server_13
100 postgres-server-debian-bullseye-14:
101 @make -f $(DIR)/Makefile.debian-bullseye install_postgres_server_14
102 postgres-server-debian-buster-10:
103 @make -f $(DIR)/Makefile.debian-buster install_postgres_server_10
104 postgres-server-debian-buster-11:
105 @make -f $(DIR)/Makefile.debian-buster install_postgres_server_11
106 postgres-server-debian-buster-12:
107 @make -f $(DIR)/Makefile.debian-buster install_postgres_server_12
108 postgres-server-debian-buster-13:
109 @make -f $(DIR)/Makefile.debian-buster install_postgres_server_13
110 postgres-server-debian-buster-14:
111 @make -f $(DIR)/Makefile.debian-buster install_postgres_server_14
112 postgres-server-debian-stretch-10:
113 @make -f $(DIR)/Makefile.debian-stretch install_postgres_server_10
114 postgres-server-debian-stretch-11:
115 @make -f $(DIR)/Makefile.debian-stretch install_postgres_server_11
116 postgres-server-debian-stretch-12:
117 @make -f $(DIR)/Makefile.debian-stretch install_postgres_server_12
118 postgres-server-debian-stretch-13:
119 @make -f $(DIR)/Makefile.debian-stretch install_postgres_server_13
120 postgres-server-debian-stretch-14:
121 @make -f $(DIR)/Makefile.debian-stretch install_postgres_server_14
122 postgres-server-ubuntu-bionic-10:
123 @make -f $(DIR)/Makefile.ubuntu-bionic install_postgres_server_10
124 postgres-server-ubuntu-bionic-11:
125 @make -f $(DIR)/Makefile.ubuntu-bionic install_postgres_server_11
126 postgres-server-ubuntu-bionic-12:
127 @make -f $(DIR)/Makefile.ubuntu-bionic install_postgres_server_12
128 postgres-server-ubuntu-bionic-13:
129 @make -f $(DIR)/Makefile.ubuntu-bionic install_postgres_server_13
130 postgres-server-ubuntu-bionic-14:
131 @make -f $(DIR)/Makefile.ubuntu-bionic install_postgres_server_14
132 postgres-server-ubuntu-focal-10:
133 @make -f $(DIR)/Makefile.ubuntu-focal install_postgres_server_10
134 postgres-server-ubuntu-focal-11:
135 @make -f $(DIR)/Makefile.ubuntu-focal install_postgres_server_11
136 postgres-server-ubuntu-focal-12:
137 @make -f $(DIR)/Makefile.ubuntu-focal install_postgres_server_12
138 postgres-server-ubuntu-focal-13:
139 @make -f $(DIR)/Makefile.ubuntu-focal install_postgres_server_13
140 postgres-server-ubuntu-focal-14:
141 @make -f $(DIR)/Makefile.ubuntu-focal install_postgres_server_14
142 postgres-server-ubuntu-jammy-10:
143 @make -f $(DIR)/Makefile.ubuntu-jammy install_postgres_server_10
144 postgres-server-ubuntu-jammy-11:
145 @make -f $(DIR)/Makefile.ubuntu-jammy install_postgres_server_11
146 postgres-server-ubuntu-jammy-12:
147 @make -f $(DIR)/Makefile.ubuntu-jammy install_postgres_server_12
148 postgres-server-ubuntu-jammy-13:
149 @make -f $(DIR)/Makefile.ubuntu-jammy install_postgres_server_13
150 postgres-server-ubuntu-jammy-14:
151 @make -f $(DIR)/Makefile.ubuntu-jammy install_postgres_server_14
152 postgres-server-fedora:
153 @make -f $(DIR)/Makefile.fedora install_postgres_server
155 ubuntu-bionic-developer:
156 @make -f $(DIR)/Makefile.ubuntu-bionic install_developer
157 ubuntu-focal-developer:
158 @make -f $(DIR)/Makefile.ubuntu-focal install_developer
159 ubuntu-jammy-developer:
160 @make -f $(DIR)/Makefile.ubuntu-jammy install_developer
161 debian-bullseye-developer:
162 @make -f $(DIR)/Makefile.debian-bullseye install_developer
163 debian-buster-developer:
164 @make -f $(DIR)/Makefile.debian-buster install_developer
165 debian-stretch-developer:
166 @make -f $(DIR)/Makefile.debian-stretch install_developer
168 ubuntu-bionic-translator:
169 @make -f $(DIR)/Makefile.ubuntu-bionic install_translator
170 ubuntu-focal-translator:
171 @make -f $(DIR)/Makefile.ubuntu-focal install_translator
172 ubuntu-jammy-translator:
173 @make -f $(DIR)/Makefile.ubuntu-jammy install_translator
174 debian-bullseye-translator:
175 @make -f $(DIR)/Makefile.debian-bullseye install_translator
176 debian-buster-translator:
177 @make -f $(DIR)/Makefile.debian-buster install_translator
178 debian-stretch-translator:
179 @make -f $(DIR)/Makefile.debian-stretch install_translator
181 ubuntu-bionic-packager:
182 @make -f $(DIR)/Makefile.ubuntu-bionic install_packager
183 ubuntu-focal-packager:
184 @make -f $(DIR)/Makefile.ubuntu-focal install_packager
185 ubuntu-jammy-packager:
186 @make -f $(DIR)/Makefile.ubuntu-jammy install_packager
187 debian-bullseye-packager:
188 @make -f $(DIR)/Makefile.debian-bullseye install_packager
189 debian-buster-packager:
190 @make -f $(DIR)/Makefile.debian-buster install_packager
191 debian-stretch-packager:
192 @make -f $(DIR)/Makefile.debian-stretch install_packager
194 # vim:noet:sw=4:ts=4: