# --------------------------------------------------------------------- # Author: Bill Erickson # Author: Dan Scott # # Makefile to install prerequisites for OpenSRF # # Currently supports Debian (buster/bullseye/bookworm) and Ubuntu # (bionic/focal) # # Installs Perl prereqs, libjs with Perl wrapper # # 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 # # --------------------------------------------------------------------- # Make any assumptions about the shell being used explicit SHELL=/bin/bash # 64 or 32 bit os? LBITS=$(shell getconf LONG_BIT) APT_TOOL=apt-get -yq # libssl-dev isn't directly required, but we need to include it until # https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1038149 is closed. # Debian dependencies DEBS = \ apache2 \ apache2-dev \ autoconf\ automake\ build-essential\ check\ ejabberd\ less\ libapache2-mod-perl2\ libcache-memcached-perl\ libclass-dbi-abstractsearch-perl\ libclass-dbi-sqlite-perl\ libdatetime-format-builder-perl\ libdatetime-format-iso8601-perl \ libdatetime-format-mail-perl\ libdatetime-perl\ libdatetime-timezone-perl\ liberror-perl\ libexpat1-dev\ libfile-find-rule-perl\ libgcrypt20-dev \ libgdbm-dev \ libjson-xs-perl \ liblog-log4perl-perl\ libmemcached-dev \ libssl-dev \ libmemcached-tools \ libmodule-build-perl\ libncurses5-dev \ libnet-dns-perl\ libnet-server-perl \ libperl-dev\ libreadline-dev\ libtemplate-perl\ libtest-pod-perl\ libtie-ixhash-perl\ libtool\ libuniversal-require-perl\ libunix-syslog-perl\ libwww-perl\ libxml2-dev\ libxml-libxml-perl\ libxml-libxslt-perl\ libxml-simple-perl\ libxslt1-dev\ memcached\ pkg-config\ psmisc\ tar\ unzip\ zip\ zlib1g-dev FEDORAS = \ autoconf \ automake \ check \ check-devel \ ejabberd \ expat-devel \ gcc \ gdbm-devel \ httpd \ httpd-devel \ less \ libgcrypt-devel \ libmemcached \ libmemcached-devel \ libtool \ libxml-libxml-perl \ libxml-libxslt-perl \ libxml2-devel \ libxslt-devel \ make \ memcached \ mod_perl \ perl-Cache-Memcached \ perl-Class-DBI \ perl-Class-DBI-AbstractSearch \ perl-Class-DBI-SQLite \ perl-DateTime-Format-Builder \ perl-DateTime-Format-ISO8601 \ perl-DateTime-Format-Mail \ perl-DateTime-Set \ perl-devel \ perl-Error \ perl-File-Find-Rule \ perl-JSON-XS \ perl-libwww-perl \ perl-Log-Log4perl \ perl-Module-Build \ perl-Net-DNS \ perl-Net-Server \ perl-SQL-Abstract-Limit \ perl-Template-Toolkit \ perl-Test-Deep \ perl-Test-Exception \ perl-Test-Pod \ perl-Tie-IxHash \ perl-UNIVERSAL-require \ perl-Unix-Syslog \ perl-XML-LibXML \ perl-XML-LibXSLT \ perl-XML-Simple \ psmisc \ readline-devel \ tar DEB_APACHE_MODS = \ ssl # ---------------------------------------------------------------------------- all: @echo "please specify an OS" && exit 0 debian-bookworm: generic_debian debian-bullseye: generic_debian debian-buster: generic_debian generic_debian: install_debs debian_sys_config apache_mpm_prefork_mods apache_perl_mod ubuntu-focal: generic_ubuntu ubuntu-jammy: generic_ubuntu generic_ubuntu: install_debs debian_sys_config apache_mpm_prefork_mods apache_perl_mod fedora: install_fedora_rpms # ------------------------------------------------------------------ # - DEBIAN --------------------------------------------------------- debian_sys_config: # link the apache modules in for m in $(DEB_APACHE_MODS); do a2enmod $$m; done; # Install the debian-specific dependencies install_debs: $(APT_TOOL) install $(DEBS) # Some OSes activate the Apache mpm_event module by default. # OpenSRF requires prefork. apache_mpm_prefork_mods: a2dismod mpm_event a2enmod mpm_prefork # Need to activate mod_perl on some O/S. apache_perl_mod: a2enmod perl # - FEDORA --------------------------------------------------------- # Fedora install_fedora_rpms: yum -y install $(FEDORAS) # vim:noet:sw=4:ts=4: