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