From c09de3e9eaccf938c24c0480776270ed05e304a7 Mon Sep 17 00:00:00 2001 From: TheSpad Date: Fri, 29 Jul 2022 17:44:16 +0100 Subject: [PATCH] Support universal mod package install --- .../dependencies.d/init-mods-package-install | 0 .../dependencies.d/init-mods | 0 .../s6-rc.d/init-mods-package-install/run | 35 +++++++++++++++++++ .../s6-rc.d/init-mods-package-install/type | 1 + .../s6-rc.d/init-mods-package-install/up | 1 + .../user/contents.d/init-mods-package-install | 0 6 files changed, 37 insertions(+) create mode 100644 root/etc/s6-overlay/s6-rc.d/init-mods-end/dependencies.d/init-mods-package-install create mode 100644 root/etc/s6-overlay/s6-rc.d/init-mods-package-install/dependencies.d/init-mods create mode 100755 root/etc/s6-overlay/s6-rc.d/init-mods-package-install/run create mode 100644 root/etc/s6-overlay/s6-rc.d/init-mods-package-install/type create mode 100644 root/etc/s6-overlay/s6-rc.d/init-mods-package-install/up create mode 100644 root/etc/s6-overlay/s6-rc.d/user/contents.d/init-mods-package-install diff --git a/root/etc/s6-overlay/s6-rc.d/init-mods-end/dependencies.d/init-mods-package-install b/root/etc/s6-overlay/s6-rc.d/init-mods-end/dependencies.d/init-mods-package-install new file mode 100644 index 0000000..e69de29 diff --git a/root/etc/s6-overlay/s6-rc.d/init-mods-package-install/dependencies.d/init-mods b/root/etc/s6-overlay/s6-rc.d/init-mods-package-install/dependencies.d/init-mods new file mode 100644 index 0000000..e69de29 diff --git a/root/etc/s6-overlay/s6-rc.d/init-mods-package-install/run b/root/etc/s6-overlay/s6-rc.d/init-mods-package-install/run new file mode 100755 index 0000000..fb5b11d --- /dev/null +++ b/root/etc/s6-overlay/s6-rc.d/init-mods-package-install/run @@ -0,0 +1,35 @@ +#!/usr/bin/with-contenv bash + +if [ -f "/mod-repo-packages-to-install.list" ]; then + echo "**** Installing all mod packages ****" + if [ -f /usr/bin/apt ]; then + export DEBIAN_FRONTEND="noninteractive" + apt-get update + apt-get install -y --no-install-recommends \ + $(cat /mod-repo-packages-to-install.list) + elif [ -f /sbin/apk ]; then + apk add --no-cache \ + $(cat /mod-repo-packages-to-install.list) + fi +fi + +if [ -f "/mod-pip-packages-to-install.list" ]; then + echo "**** Installing all pip packages ****" + python3 -m pip install -U pip wheel setuptools + if [ -f /usr/bin/apt ]; then + PIP_ARGS="-f https://wheel-index.linuxserver.io/ubuntu/" + elif [ -f /sbin/apk ]; then + ALPINE_VER=$(grep main /etc/apk/repositories | sed 's|.*alpine/v||' | sed 's|/main.*||') + if [ "${ALPINE_VER}" = "3.14" ]; then + PIP_ARGS="-f https://wheel-index.linuxserver.io/alpine/" + else + PIP_ARGS="-f https://wheel-index.linuxserver.io/alpine-${ALPINE_VER}/" + fi + fi + python3 -m pip install ${PIP_ARGS} \ + $(cat /mod-pip-packages-to-install.list) +fi + +rm -rf \ + /mod-repo-packages-to-install.list \ + /mod-pip-packages-to-install.list diff --git a/root/etc/s6-overlay/s6-rc.d/init-mods-package-install/type b/root/etc/s6-overlay/s6-rc.d/init-mods-package-install/type new file mode 100644 index 0000000..bdd22a1 --- /dev/null +++ b/root/etc/s6-overlay/s6-rc.d/init-mods-package-install/type @@ -0,0 +1 @@ +oneshot diff --git a/root/etc/s6-overlay/s6-rc.d/init-mods-package-install/up b/root/etc/s6-overlay/s6-rc.d/init-mods-package-install/up new file mode 100644 index 0000000..fb63301 --- /dev/null +++ b/root/etc/s6-overlay/s6-rc.d/init-mods-package-install/up @@ -0,0 +1 @@ +/etc/s6-overlay/s6-rc.d/init-mods-package-install/run diff --git a/root/etc/s6-overlay/s6-rc.d/user/contents.d/init-mods-package-install b/root/etc/s6-overlay/s6-rc.d/user/contents.d/init-mods-package-install new file mode 100644 index 0000000..e69de29