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 (buster, stretch, jessie),
8 # Ubuntu (16.04), Ubuntu (18.04).
10 # Installs Perl prereqs, libdbi, libdbi-drivers, and libyaz
13 # make -f Makefile.install debian-buster
15 # make -f Makefile.install debian-stretch
17 # make -f Makefile.install debian-jessie
19 # make -f Makefile.install ubuntu-xenial
21 # make -f Makefile.install ubuntu-bionic
23 # make -f Makefile.install ubuntu-focal
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=v12.13.0
46 export NODEJS_BINDIR=node-$(NODEJS_VERSION)-linux-x64
47 export NODEJS_TARBIN=$(NODEJS_BINDIR).tar.xz
48 export NODEJS_BINARY="https://nodejs.org/dist/$(NODEJS_VERSION)/$(NODEJS_TARBIN)"
50 # As this Makefile is designed to be used by a make process running as
51 # root, this will avoid problems on some systems when tar extracts
52 # files and tries to give them the same UID/GID as they have in their
53 # archives, but those accounts don't exist on the local system.
55 # e.g, libdbi has files set 1000/1000. On most systems, there's a user
56 # and a group with these IDs, but there can be systems where nothing
57 # uses those IDs, and where tar fails with e.g. 'tar: libdbi-0.8.3:
58 # Cannot change ownership to uid 1000, gid 1000: Invalid argument'
60 export TAR_OPTIONS=--no-same-owner --no-same-permissions
62 # ----------------------------------------------------------------------------
64 # avoid hard-coding the path to related makefiles
65 DIR = $(dir $(lastword $(MAKEFILE_LIST)))/install
68 @echo "please specify an OS" && exit 0
70 @make -f $(DIR)/Makefile.debian-buster
72 @make -f $(DIR)/Makefile.debian-stretch
74 @make -f $(DIR)/Makefile.debian-jessie
76 @make -f $(DIR)/Makefile.ubuntu-bionic
78 @make -f $(DIR)/Makefile.ubuntu-focal
80 @make -f $(DIR)/Makefile.ubuntu-xenial
82 @make -f $(DIR)/Makefile.fedora
84 postgres-server-debian-buster:
85 @make -f $(DIR)/Makefile.debian-buster install_postgres_server
86 postgres-server-debian-buster-10:
87 @make -f $(DIR)/Makefile.debian-buster install_postgres_server_10
88 postgres-server-debian-stretch:
89 @make -f $(DIR)/Makefile.debian-stretch install_postgres_server
90 postgres-server-debian-stretch-10:
91 @make -f $(DIR)/Makefile.debian-stretch install_postgres_server_10
92 postgres-server-debian-jessie:
93 @make -f $(DIR)/Makefile.debian-jessie install_postgres_server
94 postgres-server-debian-jessie-10:
95 @make -f $(DIR)/Makefile.debian-jessie install_postgres_server_10
96 postgres-server-ubuntu-bionic:
97 @make -f $(DIR)/Makefile.ubuntu-bionic install_postgres_server
98 postgres-server-ubuntu-bionic-10:
99 @make -f $(DIR)/Makefile.ubuntu-bionic install_postgres_server_10
100 postgres-server-ubuntu-focal:
101 @make -f $(DIR)/Makefile.ubuntu-focal install_postgres_server
102 postgres-server-ubuntu-focal-10:
103 @make -f $(DIR)/Makefile.ubuntu-focal install_postgres_server_10
104 postgres-server-ubuntu-xenial:
105 @make -f $(DIR)/Makefile.ubuntu-xenial install_postgres_server
106 postgres-server-ubuntu-xenial-10:
107 @make -f $(DIR)/Makefile.ubuntu-xenial install_postgres_server_10
108 postgres-server-fedora:
109 @make -f $(DIR)/Makefile.fedora install_postgres_server
111 ubuntu-bionic-developer:
112 @make -f $(DIR)/Makefile.ubuntu-bionic install_developer
113 ubuntu-focal-developer:
114 @make -f $(DIR)/Makefile.ubuntu-focal install_developer
115 ubuntu-xenial-developer:
116 @make -f $(DIR)/Makefile.ubuntu-xenial install_developer
117 debian-buster-developer:
118 @make -f $(DIR)/Makefile.debian-buster install_developer
119 debian-stretch-developer:
120 @make -f $(DIR)/Makefile.debian-stretch install_developer
121 debian-jessie-developer:
122 @make -f $(DIR)/Makefile.debian-jessie install_developer
124 ubuntu-bionic-translator:
125 @make -f $(DIR)/Makefile.ubuntu-bionic install_translator
126 ubuntu-focal-translator:
127 @make -f $(DIR)/Makefile.ubuntu-focal install_translator
128 ubuntu-xenial-translator:
129 @make -f $(DIR)/Makefile.ubuntu-xenial install_translator
130 debian-buster-translator:
131 @make -f $(DIR)/Makefile.debian-buster install_translator
132 debian-stretch-translator:
133 @make -f $(DIR)/Makefile.debian-stretch install_translator
134 debian-jessie-translator:
135 @make -f $(DIR)/Makefile.debian-jessie install_translator
137 ubuntu-bionic-packager:
138 @make -f $(DIR)/Makefile.ubuntu-bionic install_packager
139 ubuntu-focal-packager:
140 @make -f $(DIR)/Makefile.ubuntu-focal install_packager
141 ubuntu-xenial-packager:
142 @make -f $(DIR)/Makefile.ubuntu-xenial install_packager
143 debian-buster-packager:
144 @make -f $(DIR)/Makefile.debian-buster install_packager
145 debian-stretch-packager:
146 @make -f $(DIR)/Makefile.debian-stretch install_packager
147 debian-jessie-packager:
148 @make -f $(DIR)/Makefile.debian-jessie install_packager
150 # vim:noet:sw=4:ts=4: