# --------------------------------------------------------------------- # Author: Bill Erickson # Author: Dan Scott # # Makefile to install prerequisites for OpenSRF and Evergreen # # Currently supports Debian (bookworm, bullseye, buster), # Ubuntu (16.04), Ubuntu (18.04). # # Installs Perl prereqs, libdbi, libdbi-drivers, and libyaz # # usage: # make -f Makefile.install debian-bookworm # - or - # make -f Makefile.install debian-bullseye # - or - # make -f Makefile.install debian-buster # - or - # make -f Makefile.install ubuntu-focal # - or - # make -f Makefile.install ubuntu-jammy # - or - # make -f Makefile.install fedora # # --------------------------------------------------------------------- # variables shared by all installers # Make any assumptions about the shell being used explicit export SHELL=/bin/bash export LIBNET_Z3950_SIMPLESERVER=Net-Z3950-SimpleServer-1.15 export LIBNET_Z3950_SIMPLESERVER_URL=http://ftp.indexdata.dk/pub/simpleserver/$(LIBNET_Z3950_SIMPLESERVER) # The libdbi sources can be fetched from sourceforge.net. They are stored on # the open-ils.org site now for ease of direct linking export LIBDBI=libdbi-0.8.3 export LIBDBI_DRIVERS=libdbi-drivers-0.8.3 export LIBDBI_HOST=http://open-ils.org/~denials/evergreen # some OSes require a newer version of NodeJS # NOTE: Using the LTS binaries for NodeJS export NODEJS_VERSION=v18.18.0 MACHINE_NAME = $(shell uname -m) ifeq ($(MACHINE_NAME),x86_64) export NODEJS_ARCHITECTURE=x64 else ifeq ($(MACHINE_NAME),aarch64) export NODEJS_ARCHITECTURE=arm64 else export NODEJS_ARCHITECTURE=$(MACHINE_NAME) endif export NODEJS_BINDIR=node-$(NODEJS_VERSION)-linux-$(NODEJS_ARCHITECTURE) export NODEJS_TARBIN=$(NODEJS_BINDIR).tar.xz export NODEJS_BINARY="https://nodejs.org/dist/$(NODEJS_VERSION)/$(NODEJS_TARBIN)" # As this Makefile is designed to be used by a make process running as # root, this will avoid problems on some systems when tar extracts # files and tries to give them the same UID/GID as they have in their # archives, but those accounts don't exist on the local system. # # e.g, libdbi has files set 1000/1000. On most systems, there's a user # and a group with these IDs, but there can be systems where nothing # uses those IDs, and where tar fails with e.g. 'tar: libdbi-0.8.3: # Cannot change ownership to uid 1000, gid 1000: Invalid argument' # export TAR_OPTIONS=--no-same-owner --no-same-permissions # ---------------------------------------------------------------------------- # avoid hard-coding the path to related makefiles DIR = $(dir $(lastword $(MAKEFILE_LIST)))/install all: @echo "please specify an OS" && exit 0 debian-bookworm: @make -f $(DIR)/Makefile.debian-bookworm debian-bullseye: @make -f $(DIR)/Makefile.debian-bullseye debian-buster: @make -f $(DIR)/Makefile.debian-buster ubuntu-focal: @make -f $(DIR)/Makefile.ubuntu-focal ubuntu-jammy: @make -f $(DIR)/Makefile.ubuntu-jammy fedora: @make -f $(DIR)/Makefile.fedora postgres-server-debian-bookworm-10: @make -f $(DIR)/Makefile.debian-bookworm install_postgres_server_10 postgres-server-debian-bookworm-11: @make -f $(DIR)/Makefile.debian-bookworm install_postgres_server_11 postgres-server-debian-bookworm-12: @make -f $(DIR)/Makefile.debian-bookworm install_postgres_server_12 postgres-server-debian-bookworm-13: @make -f $(DIR)/Makefile.debian-bookworm install_postgres_server_13 postgres-server-debian-bookworm-14: @make -f $(DIR)/Makefile.debian-bookworm install_postgres_server_14 postgres-server-debian-bookworm-15: @make -f $(DIR)/Makefile.debian-bookworm install_postgres_server_15 postgres-server-debian-bullseye-10: @make -f $(DIR)/Makefile.debian-bullseye install_postgres_server_10 postgres-server-debian-bullseye-11: @make -f $(DIR)/Makefile.debian-bullseye install_postgres_server_11 postgres-server-debian-bullseye-12: @make -f $(DIR)/Makefile.debian-bullseye install_postgres_server_12 postgres-server-debian-bullseye-13: @make -f $(DIR)/Makefile.debian-bullseye install_postgres_server_13 postgres-server-debian-bullseye-14: @make -f $(DIR)/Makefile.debian-bullseye install_postgres_server_14 postgres-server-debian-bullseye-15: @make -f $(DIR)/Makefile.debian-bullseye install_postgres_server_15 postgres-server-debian-buster-10: @make -f $(DIR)/Makefile.debian-buster install_postgres_server_10 postgres-server-debian-buster-11: @make -f $(DIR)/Makefile.debian-buster install_postgres_server_11 postgres-server-debian-buster-12: @make -f $(DIR)/Makefile.debian-buster install_postgres_server_12 postgres-server-debian-buster-13: @make -f $(DIR)/Makefile.debian-buster install_postgres_server_13 postgres-server-debian-buster-14: @make -f $(DIR)/Makefile.debian-buster install_postgres_server_14 postgres-server-debian-buster-15: @make -f $(DIR)/Makefile.debian-buster install_postgres_server_15 postgres-server-ubuntu-focal-10: @make -f $(DIR)/Makefile.ubuntu-focal install_postgres_server_10 postgres-server-ubuntu-focal-11: @make -f $(DIR)/Makefile.ubuntu-focal install_postgres_server_11 postgres-server-ubuntu-focal-12: @make -f $(DIR)/Makefile.ubuntu-focal install_postgres_server_12 postgres-server-ubuntu-focal-13: @make -f $(DIR)/Makefile.ubuntu-focal install_postgres_server_13 postgres-server-ubuntu-focal-14: @make -f $(DIR)/Makefile.ubuntu-focal install_postgres_server_14 postgres-server-ubuntu-focal-15: @make -f $(DIR)/Makefile.ubuntu-focal install_postgres_server_15 postgres-server-ubuntu-jammy-10: @make -f $(DIR)/Makefile.ubuntu-jammy install_postgres_server_10 postgres-server-ubuntu-jammy-11: @make -f $(DIR)/Makefile.ubuntu-jammy install_postgres_server_11 postgres-server-ubuntu-jammy-12: @make -f $(DIR)/Makefile.ubuntu-jammy install_postgres_server_12 postgres-server-ubuntu-jammy-13: @make -f $(DIR)/Makefile.ubuntu-jammy install_postgres_server_13 postgres-server-ubuntu-jammy-14: @make -f $(DIR)/Makefile.ubuntu-jammy install_postgres_server_14 postgres-server-ubuntu-jammy-15: @make -f $(DIR)/Makefile.ubuntu-jammy install_postgres_server_15 postgres-server-fedora: @make -f $(DIR)/Makefile.fedora install_postgres_server ubuntu-focal-developer: @make -f $(DIR)/Makefile.ubuntu-focal install_developer ubuntu-jammy-developer: @make -f $(DIR)/Makefile.ubuntu-jammy install_developer debian-bookworm-developer: @make -f $(DIR)/Makefile.debian-bookworm install_developer debian-bullseye-developer: @make -f $(DIR)/Makefile.debian-bullseye install_developer debian-buster-developer: @make -f $(DIR)/Makefile.debian-buster install_developer ubuntu-focal-translator: @make -f $(DIR)/Makefile.ubuntu-focal install_translator ubuntu-jammy-translator: @make -f $(DIR)/Makefile.ubuntu-jammy install_translator debian-bookworm-translator: @make -f $(DIR)/Makefile.debian-bookworm install_translator debian-bullseye-translator: @make -f $(DIR)/Makefile.debian-bullseye install_translator debian-buster-translator: @make -f $(DIR)/Makefile.debian-buster install_translator ubuntu-focal-packager: @make -f $(DIR)/Makefile.ubuntu-focal install_packager ubuntu-jammy-packager: @make -f $(DIR)/Makefile.ubuntu-jammy install_packager debian-bookworm-packager: @make -f $(DIR)/Makefile.debian-bookworm install_packager debian-bullseye-packager: @make -f $(DIR)/Makefile.debian-bullseye install_packager debian-buster-packager: @make -f $(DIR)/Makefile.debian-buster install_packager # vim:noet:sw=4:ts=4: