From a6b21aae8c6f479cf3f7b25586d87691c8f38763 Mon Sep 17 00:00:00 2001 From: bunkerity Date: Tue, 5 Oct 2021 14:32:19 +0200 Subject: [PATCH] fix typo in settings.json, bump Debian to bullseyes, init support of Arch Linux --- .github/workflows/linux-bunkerized-nginx.yml | 4 ++++ helpers/install.sh | 13 +++++++++++++ settings.json | 2 +- tests/Dockerfile-archlinux | 10 ++++++++++ tests/Dockerfile-debian | 2 +- 5 files changed, 29 insertions(+), 2 deletions(-) create mode 100644 tests/Dockerfile-archlinux diff --git a/.github/workflows/linux-bunkerized-nginx.yml b/.github/workflows/linux-bunkerized-nginx.yml index 2e8a742..795dc34 100644 --- a/.github/workflows/linux-bunkerized-nginx.yml +++ b/.github/workflows/linux-bunkerized-nginx.yml @@ -20,6 +20,8 @@ jobs: run: docker build -t centos-systemd -f tests/Dockerfile-centos . - name: Build Fedora with systemd run: docker build -t fedora-systemd -f tests/Dockerfile-fedora . + - name: Build Arch Linux with systemd + run: docker build -t archlinux-systemd -f tests/Dockerfile-archlinux . - name: Debian test run: ./tests/linux-run.sh debian-systemd test-debian - name: Ubuntu test @@ -28,3 +30,5 @@ jobs: run: ./tests/linux-run.sh centos-systemd test-centos - name: Fedora test run: ./tests/linux-run.sh fedora-systemd test-fedora + - name: Arch Linux test + run: ./tests/linux-run.sh archlinux-systemd test-archlinux diff --git a/helpers/install.sh b/helpers/install.sh index 3e86f8f..d252675 100755 --- a/helpers/install.sh +++ b/helpers/install.sh @@ -290,6 +290,8 @@ elif [ "$(grep CentOS /etc/os-release)" != "" ] ; then OS="centos" elif [ "$(grep Fedora /etc/os-release)" != "" ] ; then OS="fedora" +elif [ "$(grep Arch /etc/os-release)" != "" ] ; then + OS="archlinux" elif [ "$(grep Alpine /etc/os-release)" != "" ] ; then OS="alpine" fi @@ -346,6 +348,11 @@ module_hotfixes=true" elif [ "$OS" = "fedora" ] ; then echo "[*] Install nginx" do_and_check_cmd dnf install -y nginx + elif [ "$OS" = "archlinux" ; then + echo "[*] Update pacman DB" + do_and_check_cmd pacman -Sy + echo "[*] Install nginx" + do_and_check_cmd pacman -S --noconfirm nginx elif [ "$OS" = "alpine" ] ; then echo "[*] Add nginx official repository" get_sign_repo_key_rsa > /etc/apk/keys/nginx_signing.rsa.pub @@ -385,6 +392,9 @@ elif [ "$OS" = "centos" ] ; then elif [ "$OS" = "fedora" ] ; then FEDORA_DEPS="git autoconf pkg-config pcre-devel automake libtool gcc-c++ make gd-devel openssl-devel wget brotli-devel gnupg libxslt-devel perl-ExtUtils-Embed gperftools-devel patch readline-devel" do_and_check_cmd dnf install -y $FEDORA_DEPS +elif [ "$OS" = "archlinux" ] ; then + ARCHLINUX_DEPS="git autoconf pkgconf pcre2 automake libtool gcc make gd openssl wget brotli gnupg libxslt patch readline" + do_and_check_cmd pacman -S --noconfirm $ARCHLINUX_DEPS elif [ "$OS" = "alpine" ] ; then ALPINE_DEPS="git build autoconf libtool automake git geoip-dev yajl-dev g++ gcc curl-dev libxml2-dev pcre-dev make linux-headers musl-dev gd-dev gnupg brotli-dev openssl-dev patch readline-dev" do_and_check_cmd apk add --no-cache --virtual build $ALPINE_DEPS @@ -672,6 +682,9 @@ elif [ "$OS" = "fedora" ] ; then do_and_check_cmd dnf install -y $FEDORA_DEPS # Temp fix do_and_check_cmd cp /usr/lib64/nginx/modules/ngx_stream_module.so /usr/lib/nginx/modules/ngx_stream_module.so +elif [ "$OS" = "archlinux" ] ; then + ARCHLINUX_DEPS="certbot git cronie curl python python-pip procps sudo" + do_and_check_cmd pacman -S --noconfirm $ARCHLINUX_DEPS elif [ "$OS" = "alpine" ] ; then ALPINE_DEPS="certbot bash libgcc yajl libstdc++ openssl py3-pip git" do_and_check_cmd apk add --no-cache $ALPINE_DEPS diff --git a/settings.json b/settings.json index e2570ec..14536aa 100644 --- a/settings.json +++ b/settings.json @@ -1273,7 +1273,7 @@ "label": "Hostname/IP of the Redis service", "regex": "^([A-Za-z0-9\\-\\.\\_]+|.{0})$", "type": "text" - } + }, { "context": "multisite", "default": "no", diff --git a/tests/Dockerfile-archlinux b/tests/Dockerfile-archlinux new file mode 100644 index 0000000..69b6b51 --- /dev/null +++ b/tests/Dockerfile-archlinux @@ -0,0 +1,10 @@ +FROM archlinux:base + +RUN (cd /lib/systemd/system/sysinit.target.wants/; for i in *; do [ $i == systemd-tmpfiles-setup.service ] || rm -f $i; done); \ +rm -f /lib/systemd/system/multi-user.target.wants/*;\ +rm -f /etc/systemd/system/*.wants/*;\ +rm -f /lib/systemd/system/local-fs.target.wants/*; \ +rm -f /lib/systemd/system/sockets.target.wants/*udev*; \ +rm -f /lib/systemd/system/sockets.target.wants/*initctl*; \ +rm -f /lib/systemd/system/basic.target.wants/*;\ +rm -f /lib/systemd/system/anaconda.target.wants/*; diff --git a/tests/Dockerfile-debian b/tests/Dockerfile-debian index 0d57efe..5df1d8d 100644 --- a/tests/Dockerfile-debian +++ b/tests/Dockerfile-debian @@ -1,4 +1,4 @@ -FROM debian:buster-slim +FROM debian:bullseye-slim RUN apt update && apt install -y systemd