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),
8 # Ubuntu (16.04), Ubuntu (18.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 ubuntu-bionic
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=v16.17.1
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-bullseye
78 @make -f $(DIR)/Makefile.debian-buster
80 @make -f $(DIR)/Makefile.ubuntu-bionic
82 @make -f $(DIR)/Makefile.ubuntu-focal
84 @make -f $(DIR)/Makefile.ubuntu-jammy
86 @make -f $(DIR)/Makefile.fedora
88 postgres-server-debian-bullseye-10:
89 @make -f $(DIR)/Makefile.debian-bullseye install_postgres_server_10
90 postgres-server-debian-bullseye-11:
91 @make -f $(DIR)/Makefile.debian-bullseye install_postgres_server_11
92 postgres-server-debian-bullseye-12:
93 @make -f $(DIR)/Makefile.debian-bullseye install_postgres_server_12
94 postgres-server-debian-bullseye-13:
95 @make -f $(DIR)/Makefile.debian-bullseye install_postgres_server_13
96 postgres-server-debian-bullseye-14:
97 @make -f $(DIR)/Makefile.debian-bullseye install_postgres_server_14
98 postgres-server-debian-buster-10:
99 @make -f $(DIR)/Makefile.debian-buster install_postgres_server_10
100 postgres-server-debian-buster-11:
101 @make -f $(DIR)/Makefile.debian-buster install_postgres_server_11
102 postgres-server-debian-buster-12:
103 @make -f $(DIR)/Makefile.debian-buster install_postgres_server_12
104 postgres-server-debian-buster-13:
105 @make -f $(DIR)/Makefile.debian-buster install_postgres_server_13
106 postgres-server-debian-buster-14:
107 @make -f $(DIR)/Makefile.debian-buster install_postgres_server_14
108 postgres-server-ubuntu-bionic-10:
109 @make -f $(DIR)/Makefile.ubuntu-bionic install_postgres_server_10
110 postgres-server-ubuntu-bionic-11:
111 @make -f $(DIR)/Makefile.ubuntu-bionic install_postgres_server_11
112 postgres-server-ubuntu-bionic-12:
113 @make -f $(DIR)/Makefile.ubuntu-bionic install_postgres_server_12
114 postgres-server-ubuntu-bionic-13:
115 @make -f $(DIR)/Makefile.ubuntu-bionic install_postgres_server_13
116 postgres-server-ubuntu-bionic-14:
117 @make -f $(DIR)/Makefile.ubuntu-bionic install_postgres_server_14
118 postgres-server-ubuntu-focal-10:
119 @make -f $(DIR)/Makefile.ubuntu-focal install_postgres_server_10
120 postgres-server-ubuntu-focal-11:
121 @make -f $(DIR)/Makefile.ubuntu-focal install_postgres_server_11
122 postgres-server-ubuntu-focal-12:
123 @make -f $(DIR)/Makefile.ubuntu-focal install_postgres_server_12
124 postgres-server-ubuntu-focal-13:
125 @make -f $(DIR)/Makefile.ubuntu-focal install_postgres_server_13
126 postgres-server-ubuntu-focal-14:
127 @make -f $(DIR)/Makefile.ubuntu-focal install_postgres_server_14
128 postgres-server-ubuntu-jammy-10:
129 @make -f $(DIR)/Makefile.ubuntu-jammy install_postgres_server_10
130 postgres-server-ubuntu-jammy-11:
131 @make -f $(DIR)/Makefile.ubuntu-jammy install_postgres_server_11
132 postgres-server-ubuntu-jammy-12:
133 @make -f $(DIR)/Makefile.ubuntu-jammy install_postgres_server_12
134 postgres-server-ubuntu-jammy-13:
135 @make -f $(DIR)/Makefile.ubuntu-jammy install_postgres_server_13
136 postgres-server-ubuntu-jammy-14:
137 @make -f $(DIR)/Makefile.ubuntu-jammy install_postgres_server_14
138 postgres-server-fedora:
139 @make -f $(DIR)/Makefile.fedora install_postgres_server
141 ubuntu-bionic-developer:
142 @make -f $(DIR)/Makefile.ubuntu-bionic install_developer
143 ubuntu-focal-developer:
144 @make -f $(DIR)/Makefile.ubuntu-focal install_developer
145 ubuntu-jammy-developer:
146 @make -f $(DIR)/Makefile.ubuntu-jammy install_developer
147 debian-bullseye-developer:
148 @make -f $(DIR)/Makefile.debian-bullseye install_developer
149 debian-buster-developer:
150 @make -f $(DIR)/Makefile.debian-buster install_developer
152 ubuntu-bionic-translator:
153 @make -f $(DIR)/Makefile.ubuntu-bionic install_translator
154 ubuntu-focal-translator:
155 @make -f $(DIR)/Makefile.ubuntu-focal install_translator
156 ubuntu-jammy-translator:
157 @make -f $(DIR)/Makefile.ubuntu-jammy install_translator
158 debian-bullseye-translator:
159 @make -f $(DIR)/Makefile.debian-bullseye install_translator
160 debian-buster-translator:
161 @make -f $(DIR)/Makefile.debian-buster install_translator
163 ubuntu-bionic-packager:
164 @make -f $(DIR)/Makefile.ubuntu-bionic install_packager
165 ubuntu-focal-packager:
166 @make -f $(DIR)/Makefile.ubuntu-focal install_packager
167 ubuntu-jammy-packager:
168 @make -f $(DIR)/Makefile.ubuntu-jammy install_packager
169 debian-bullseye-packager:
170 @make -f $(DIR)/Makefile.debian-bullseye install_packager
171 debian-buster-packager:
172 @make -f $(DIR)/Makefile.debian-buster install_packager
174 # vim:noet:sw=4:ts=4: