From: Jason Stephenson Date: Tue, 22 Oct 2019 19:04:17 +0000 (-0400) Subject: Lp 1849364: Add installation support for Devuan X-Git-Url: https://old-git.evergreen-ils.org/?a=commitdiff_plain;h=cd05c54dfc03c3b5bcf6af53cb43c2f3c9e84563;p=working%2FEvergreen.git Lp 1849364: Add installation support for Devuan Add Makefile entries, 000.english.pg11.fts-config.sql, and server_installation.adoc updates for Devuan Ascii and Devuan Beowulf. Signed-off-by: Jason Stephenson --- diff --git a/Open-ILS/src/extras/Makefile.install b/Open-ILS/src/extras/Makefile.install index f6fc4ceae7..e328945ce1 100644 --- a/Open-ILS/src/extras/Makefile.install +++ b/Open-ILS/src/extras/Makefile.install @@ -20,6 +20,10 @@ # - or - # make -f Makefile.install ubuntu-bionic # - or - +# make -f Makefile.install devuan-ascii +# - or - +# make -f Makefile.install devuan-beowulf +# - or - # make -f Makefile.install fedora # # --------------------------------------------------------------------- @@ -76,6 +80,10 @@ ubuntu-xenial: @make -f $(DIR)/Makefile.ubuntu-xenial fedora: @make -f $(DIR)/Makefile.fedora +devuan-ascii: + @make -f $(DIR)/Makefile.devuan-ascii +devuan-beowulf: + @make -f $(DIR)/Makefile.devuan-beowulf postgres-server-debian-buster: @make -f $(DIR)/Makefile.debian-buster install_postgres_server @@ -89,6 +97,10 @@ postgres-server-ubuntu-xenial: @make -f $(DIR)/Makefile.ubuntu-xenial install_postgres_server postgres-server-fedora: @make -f $(DIR)/Makefile.fedora install_postgres_server +postgres-server-devuan-beowulf: + @make -f $(DIR)/Makefile.devuan-beowulf install_postgres_server +postgres-server-devuan-ascii: + @make -f $(DIR)/Makefile.devuan-ascii install_postgres_server ubuntu-bionic-developer: @make -f $(DIR)/Makefile.ubuntu-bionic install_developer @@ -100,6 +112,10 @@ debian-stretch-developer: @make -f $(DIR)/Makefile.debian-stretch install_developer debian-jessie-developer: @make -f $(DIR)/Makefile.debian-jessie install_developer +devuan-ascii-developer: + @make -f $(DIR)/Makefile.devuan-ascii install_developer +devuan-beowulf-developer: + @make -f $(DIR)/Makefile.devuan-beowulf install_developer ubuntu-bionic-translator: @make -f $(DIR)/Makefile.ubuntu-bionic install_translator @@ -111,6 +127,10 @@ debian-stretch-translator: @make -f $(DIR)/Makefile.debian-stretch install_translator debian-jessie-translator: @make -f $(DIR)/Makefile.debian-jessie install_translator +devuan-ascii-translator: + @make -f $(DIR)/Makefile.devuan-ascii install_translator +devuan-beowulf-translator: + @make -f $(DIR)/Makefile.devuan-beowulf install_translator ubuntu-bionic-packager: @make -f $(DIR)/Makefile.ubuntu-bionic install_packager @@ -122,5 +142,9 @@ debian-stretch-packager: @make -f $(DIR)/Makefile.debian-stretch install_packager debian-jessie-packager: @make -f $(DIR)/Makefile.debian-jessie install_packager +devuan-ascii-packager: + @make -f $(DIR)/Makefile.devuan-ascii install_packager +devuan-beowulf-packager: + @make -f $(DIR)/Makefile.devuan-beowulf install_packager # vim:noet:sw=4:ts=4: diff --git a/Open-ILS/src/extras/install/Makefile.devuan b/Open-ILS/src/extras/install/Makefile.devuan new file mode 100644 index 0000000000..c52c58483c --- /dev/null +++ b/Open-ILS/src/extras/install/Makefile.devuan @@ -0,0 +1,22 @@ +# actions required by all devuan-based OSs + +APT_TOOL=apt-get -yq +RELEASE_CODENAME=$(shell lsb_release -cs) + +install_debs: + $(APT_TOOL) install $(DEBS) + +devuan_sys_config: + # link the apache modules in + for m in $(DEB_APACHE_MODS); do a2enmod $$m; done; + # keep the bad apache modules away + for m in $(DEB_APACHE_DISMODS); do a2dismod -f $$m; done; + # keep the bad apache configs away + for m in $(DEB_APACHE_DISCONF); do a2disconf $$m; done; + # refresh the dynamic library cache + ldconfig + +clean: + echo "cleaning" + +# vim:noet:sw=4:ts=4: diff --git a/Open-ILS/src/extras/install/Makefile.devuan-ascii b/Open-ILS/src/extras/install/Makefile.devuan-ascii new file mode 100644 index 0000000000..a0a375008a --- /dev/null +++ b/Open-ILS/src/extras/install/Makefile.devuan-ascii @@ -0,0 +1,162 @@ +# install files for Devuan Ascii + +DIR = $(dir $(lastword $(MAKEFILE_LIST))) + +export DEB_PGSQL_COMMON_MODS = \ + gcc \ + libbusiness-isbn-perl \ + libjson-xs-perl \ + liblibrary-callnumber-lc-perl \ + libmarc-record-perl \ + libmarc-xml-perl \ + librose-uri-perl \ + libuuid-tiny-perl \ + libxml-libxml-perl \ + libxml-libxslt-perl + +export DEBS = \ + $(DEB_PGSQL_COMMON_MODS) \ + apache2-dev\ + aspell\ + aspell-en\ + libapache2-mod-perl2\ + libbusiness-creditcard-perl\ + libbusiness-isbn-data-perl\ + libbusiness-issn-perl\ + libbusiness-onlinepayment-authorizenet-perl\ + libbusiness-onlinepayment-payflowpro-perl\ + libbusiness-onlinepayment-perl\ + libdate-manip-perl\ + libdatetime-format-builder-perl\ + libdatetime-format-iso8601-perl\ + libdatetime-format-mail-perl\ + libdatetime-perl\ + libdatetime-set-perl\ + libdatetime-timezone-perl\ + libdbd-pg-perl\ + libdbd-pgsql\ + libdbi-dev\ + libdbi1\ + libemail-simple-perl\ + libexcel-writer-xlsx-perl\ + libgd-graph3d-perl\ + liblocale-maketext-lexicon-perl\ + liblog-log4perl-perl\ + libmarc-charset-perl \ + libncurses5-dev\ + libnet-ip-perl\ + libnet-ldap-perl \ + libnet-server-perl\ + libnet-ssh2-perl\ + libnet-z3950-simple2zoom-perl\ + libnet-z3950-simpleserver-perl\ + libnet-z3950-zoom-perl \ + libnspr4-dev\ + libole-storage-lite-perl\ + libparent-perl\ + libpq5\ + libpq-dev\ + libpcre3-dev\ + librpc-xml-perl\ + libsru-perl\ + libssh2-1-dev\ + libtemplate-plugin-posix-perl\ + libtest-warn-perl\ + libtest-output-perl\ + libtext-aspell-perl\ + libtext-csv-perl\ + libuniversal-require-perl\ + libunix-syslog-perl\ + libyaz-dev\ + postgresql-client-9.6\ + libsoap-lite-perl\ + libbz2-dev\ + libparse-recdescent-perl\ + libhtml-defang-perl\ + yaz + +export DEB_APACHE_MODS = \ + expires\ + include\ + proxy\ + proxy_http\ + rewrite\ + cgi\ + perl\ + remoteip + +export DEB_APACHE_DISMODS = \ + deflate + +export DEB_APACHE_DISCONF = \ + serve-cgi-bin + +export CPAN_MODULES = \ + Business::OnlinePayment::PayPal \ + Email::Send + +export CPAN_MODULES_FORCE = \ + Business::Stripe \ + Class::DBI::Frozen::301 + +PGSQL_SERVER_DEBS = \ + $(DEB_PGSQL_COMMON_MODS) \ + postgresql \ + postgresql-contrib \ + postgresql-plperl-9.6 \ + postgresql-server-dev-9.6 + +# note: some prereqs are repeated in the developer/packager +# sections to support building Evergreen packages on servers +# where Evergreen and its prereqs are not installed. + +DEVELOPER_DEBS = \ + automake \ + autoconf \ + libtool + +PACKAGER_DEBS = \ + asciidoc \ + source-highlight \ + zip \ + unzip \ + nsis + +TRANSLATOR_DEBS = \ + libtemplate-perl \ + liblocale-maketext-lexicon-perl \ + translate-toolkit \ + python-dev \ + python-levenshtein \ + python-polib \ + python-setuptools \ + python-simplejson \ + python-lxml \ + bzr + +all: + make -f $(DIR)/Makefile.devuan install_debs + make -f $(DIR)/Makefile.common install_cpan + make -f $(DIR)/Makefile.common install_cpan_force + make -f $(DIR)/Makefile.devuan devuan_sys_config + +install_postgres_server: + make -f $(DIR)/Makefile.devuan DEBS="$(PGSQL_SERVER_DEBS)" + +# note: if/when grunt-cli is available as a +# package, use the packaged version instead. +install_developer: + make -f $(DIR)/Makefile.devuan DEBS="$(DEVELOPER_DEBS)" + make -f $(DIR)/Makefile.common install_nodejs_from_source + +install_translator: install_developer + make -f $(DIR)/Makefile.devuan DEBS="$(TRANSLATOR_DEBS)" + +install_packager: install_developer install_translator + make -f $(DIR)/Makefile.devuan DEBS="$(PACKAGER_DEBS)" + +clean: + make -f $(DIR)/Makefile.common clean + make -f $(DIR)/Makefile.devuan clean + +# vim:noet:sw=4:ts=4: diff --git a/Open-ILS/src/extras/install/Makefile.devuan-beowulf b/Open-ILS/src/extras/install/Makefile.devuan-beowulf new file mode 100644 index 0000000000..18fa6e7102 --- /dev/null +++ b/Open-ILS/src/extras/install/Makefile.devuan-beowulf @@ -0,0 +1,161 @@ +# install files for Devuan Beowulf + +DIR = $(dir $(lastword $(MAKEFILE_LIST))) + +export DEB_PGSQL_COMMON_MODS = \ + gcc \ + libbusiness-isbn-perl \ + libjson-xs-perl \ + liblibrary-callnumber-lc-perl \ + libmarc-record-perl \ + libmarc-xml-perl \ + librose-uri-perl \ + libuuid-tiny-perl \ + libxml-libxml-perl \ + libxml-libxslt-perl + +export DEBS = \ + $(DEB_PGSQL_COMMON_MODS) \ + apache2-dev\ + aspell\ + aspell-en\ + libapache2-mod-perl2\ + libbusiness-creditcard-perl\ + libbusiness-isbn-data-perl\ + libbusiness-issn-perl\ + libbusiness-onlinepayment-authorizenet-perl\ + libbusiness-onlinepayment-payflowpro-perl\ + libbusiness-onlinepayment-perl\ + libdate-manip-perl\ + libdatetime-format-builder-perl\ + libdatetime-format-iso8601-perl\ + libdatetime-format-mail-perl\ + libdatetime-perl\ + libdatetime-set-perl\ + libdatetime-timezone-perl\ + libdbd-pg-perl\ + libdbd-pgsql\ + libdbi-dev\ + libdbi1\ + libemail-simple-perl\ + libexcel-writer-xlsx-perl\ + libgd-graph3d-perl\ + liblocale-maketext-lexicon-perl\ + liblog-log4perl-perl\ + libmarc-charset-perl \ + libncurses5-dev\ + libnet-ip-perl\ + libnet-ldap-perl \ + libnet-server-perl\ + libnet-ssh2-perl\ + libnet-z3950-simple2zoom-perl\ + libnet-z3950-simpleserver-perl\ + libnet-z3950-zoom-perl \ + libnspr4-dev\ + libole-storage-lite-perl\ + libpq5\ + libpq-dev\ + libpcre3-dev\ + librpc-xml-perl\ + libsru-perl\ + libssh2-1-dev\ + libtemplate-plugin-posix-perl\ + libtest-warn-perl\ + libtest-output-perl\ + libtext-aspell-perl\ + libtext-csv-perl\ + libuniversal-require-perl\ + libunix-syslog-perl\ + libyaz-dev\ + postgresql-client\ + libsoap-lite-perl\ + libbz2-dev\ + libparse-recdescent-perl\ + libhtml-defang-perl\ + yaz + +export DEB_APACHE_MODS = \ + expires\ + include\ + proxy\ + proxy_http\ + rewrite\ + cgi\ + perl\ + remoteip + +export DEB_APACHE_DISMODS = \ + deflate + +export DEB_APACHE_DISCONF = \ + serve-cgi-bin + +export CPAN_MODULES = \ + Business::OnlinePayment::PayPal \ + Email::Send + +export CPAN_MODULES_FORCE = \ + Business::Stripe \ + Class::DBI::Frozen::301 + +PGSQL_SERVER_DEBS = \ + $(DEB_PGSQL_COMMON_MODS) \ + postgresql \ + postgresql-contrib \ + postgresql-plperl-11 \ + postgresql-server-dev-11 + +# note: some prereqs are repeated in the developer/packager +# sections to support building Evergreen packages on servers +# where Evergreen and its prereqs are not installed. + +DEVELOPER_DEBS = \ + automake \ + autoconf \ + libtool + +PACKAGER_DEBS = \ + asciidoc \ + source-highlight \ + zip \ + unzip \ + nsis + +TRANSLATOR_DEBS = \ + libtemplate-perl \ + liblocale-maketext-lexicon-perl \ + translate-toolkit \ + python-dev \ + python-levenshtein \ + python-polib \ + python-setuptools \ + python-simplejson \ + python-lxml \ + bzr + +all: + make -f $(DIR)/Makefile.devuan install_debs + make -f $(DIR)/Makefile.common install_cpan + make -f $(DIR)/Makefile.common install_cpan_force + make -f $(DIR)/Makefile.devuan devuan_sys_config + +install_postgres_server: + make -f $(DIR)/Makefile.devuan DEBS="$(PGSQL_SERVER_DEBS)" + +# note: if/when grunt-cli is available as a +# package, use the packaged version instead. +install_developer: + make -f $(DIR)/Makefile.devuan DEBS="$(DEVELOPER_DEBS)" + make -f $(DIR)/Makefile.common install_nodejs_from_source + +install_translator: install_developer + make -f $(DIR)/Makefile.devuan DEBS="$(TRANSLATOR_DEBS)" + +install_packager: install_developer install_translator + make -f $(DIR)/Makefile.devuan DEBS="$(PACKAGER_DEBS)" + +clean: + make -f $(DIR)/Makefile.common clean + make -f $(DIR)/Makefile.devuan clean + +# vim:noet:sw=4:ts=4: diff --git a/Open-ILS/src/sql/Pg/000.english.pg11.fts-config.sql b/Open-ILS/src/sql/Pg/000.english.pg11.fts-config.sql new file mode 120000 index 0000000000..9b3862b763 --- /dev/null +++ b/Open-ILS/src/sql/Pg/000.english.pg11.fts-config.sql @@ -0,0 +1 @@ +000.english.pg96.fts-config.sql \ No newline at end of file diff --git a/docs/installation/server_installation.adoc b/docs/installation/server_installation.adoc index e2a93a9c2a..f924ce15ba 100644 --- a/docs/installation/server_installation.adoc +++ b/docs/installation/server_installation.adoc @@ -75,8 +75,8 @@ before you can successfully configure, compile, and install Evergreen. + 2. Issue the following commands as the *root* Linux account to install prerequisites using the `Makefile.install` prerequisite installer, - substituting `debian-buster`,`debian-stretch`,`debian-jessie`,`ubuntu-bionic`, or - `ubuntu-xenial` for below: + substituting `debian-buster`,`debian-stretch`,`debian-jessie`,`ubuntu-bionic`, + `ubuntu-xenial`, `devuan-ascii`, or `devuan-beowulf` for below: + [source, bash] ------------------------------------------------------------------------------ @@ -242,7 +242,8 @@ chown -R opensrf:opensrf /openils Run ldconfig ------------ -On Debian Stretch / Buster, run the following command as the root user: +On Debian Stretch / Buster or Devuan Ascii / Beowulf, run the +following command as the root user: [source, bash] ------------------------------------------------------------------------------