Lp 1849364: Add installation support for Devuan user/dyrcona/devuan-install
authorJason Stephenson <jason@sigio.com>
Tue, 22 Oct 2019 19:04:17 +0000 (15:04 -0400)
committerJason Stephenson <jason@sigio.com>
Sun, 27 Oct 2019 18:41:17 +0000 (14:41 -0400)
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 <jason@sigio.com>
Open-ILS/src/extras/Makefile.install
Open-ILS/src/extras/install/Makefile.devuan [new file with mode: 0644]
Open-ILS/src/extras/install/Makefile.devuan-ascii [new file with mode: 0644]
Open-ILS/src/extras/install/Makefile.devuan-beowulf [new file with mode: 0644]
Open-ILS/src/sql/Pg/000.english.pg11.fts-config.sql [new symlink]
docs/installation/server_installation.adoc

index f6fc4ce..e328945 100644 (file)
 #      - 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 (file)
index 0000000..c52c584
--- /dev/null
@@ -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 (file)
index 0000000..a0a3750
--- /dev/null
@@ -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 (file)
index 0000000..18fa6e7
--- /dev/null
@@ -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 (symlink)
index 0000000..9b3862b
--- /dev/null
@@ -0,0 +1 @@
+000.english.pg96.fts-config.sql
\ No newline at end of file
index e2a93a9..f924ce1 100644 (file)
@@ -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 <osname> below:
+   substituting `debian-buster`,`debian-stretch`,`debian-jessie`,`ubuntu-bionic`,
+   `ubuntu-xenial`, `devuan-ascii`, or `devuan-beowulf` for <osname> 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]
 ------------------------------------------------------------------------------