From ee07f353e1b0d80b77c723fc32644debe4acc0d4 Mon Sep 17 00:00:00 2001 From: TheSpad Date: Fri, 22 Jul 2022 15:40:20 +0100 Subject: [PATCH 1/6] Support hybrid mods --- root/docker-mods | 40 +++++++++++++++++++++++++++------------- 1 file changed, 27 insertions(+), 13 deletions(-) diff --git a/root/docker-mods b/root/docker-mods index 732f167..d2d3b81 100755 --- a/root/docker-mods +++ b/root/docker-mods @@ -114,19 +114,33 @@ for DOCKER_MOD in "${DOCKER_MODS[@]}"; do # Check if we have allready applied this layer if [ -f "/${FILENAME}" ] && [ "${SHALAYER}" == "$(cat /${FILENAME})" ]; then echo "[mod-init] ${DOCKER_MOD} at ${SHALAYER} has been previously applied skipping" - else - # Download and extract layer to / - curl -f --retry 10 --retry-max-time 60 --retry-all-errors \ - --silent \ - --location \ - --request GET \ - --header "Authorization: Bearer ${TOKEN}" \ - "${BLOB_URL}${SHALAYER}" -o \ - /modtarball.tar.xz - tar xzf /modtarball.tar.xz -C / - rm -rf /modtarball.tar.xz - echo ${SHALAYER} > "/${FILENAME}" - fi + else + # Download and extract layer to / + curl -f --retry 10 --retry-max-time 60 --retry-all-errors \ + --silent \ + --location \ + --request GET \ + --header "Authorization: Bearer ${TOKEN}" \ + "${BLOB_URL}${SHALAYER}" -o \ + /modtarball.tar.xz + mkdir -p /tmp/mod + tar xzf /modtarball.tar.xz -C /tmp/mod + if [ -d /tmp/mod/etc/s6-overlay ]; then + if [ -d /tmp/mod/etc/cont-init.d ]; then + rm -rf /tmp/mod/etc/cont-init.d + fi + if [ -d /tmp/mod/etc/services.d ]; then + rm -rf /tmp/mod/etc/services.d + fi + fi + shopt -s dotglob + cp -R /tmp/mod/* / + shopt -u dotglob + rm -rf /tmp/mod + rm -rf /modtarball.tar.xz + echo ${SHALAYER} > "/${FILENAME}" + echo "[mod-init] ${DOCKER_MOD} applied to container" + fi done # Set executable bit on cont-init and services that may have been unpacked by mods From 9f4950ce19021ee16e3ec1569be31df84914fa35 Mon Sep 17 00:00:00 2001 From: TheSpad Date: Fri, 22 Jul 2022 15:47:49 +0100 Subject: [PATCH 2/6] Fix indentation --- root/docker-mods | 50 ++++++++++++++++++++++++------------------------ 1 file changed, 25 insertions(+), 25 deletions(-) diff --git a/root/docker-mods b/root/docker-mods index d2d3b81..ead588e 100755 --- a/root/docker-mods +++ b/root/docker-mods @@ -114,33 +114,33 @@ for DOCKER_MOD in "${DOCKER_MODS[@]}"; do # Check if we have allready applied this layer if [ -f "/${FILENAME}" ] && [ "${SHALAYER}" == "$(cat /${FILENAME})" ]; then echo "[mod-init] ${DOCKER_MOD} at ${SHALAYER} has been previously applied skipping" - else - # Download and extract layer to / - curl -f --retry 10 --retry-max-time 60 --retry-all-errors \ - --silent \ - --location \ - --request GET \ - --header "Authorization: Bearer ${TOKEN}" \ - "${BLOB_URL}${SHALAYER}" -o \ - /modtarball.tar.xz - mkdir -p /tmp/mod - tar xzf /modtarball.tar.xz -C /tmp/mod - if [ -d /tmp/mod/etc/s6-overlay ]; then - if [ -d /tmp/mod/etc/cont-init.d ]; then - rm -rf /tmp/mod/etc/cont-init.d - fi - if [ -d /tmp/mod/etc/services.d ]; then - rm -rf /tmp/mod/etc/services.d - fi + else + # Download and extract layer to / + curl -f --retry 10 --retry-max-time 60 --retry-all-errors \ + --silent \ + --location \ + --request GET \ + --header "Authorization: Bearer ${TOKEN}" \ + "${BLOB_URL}${SHALAYER}" -o \ + /modtarball.tar.xz + mkdir -p /tmp/mod + tar xzf /modtarball.tar.xz -C /tmp/mod + if [ -d /tmp/mod/etc/s6-overlay ]; then + if [ -d /tmp/mod/etc/cont-init.d ]; then + rm -rf /tmp/mod/etc/cont-init.d + fi + if [ -d /tmp/mod/etc/services.d ]; then + rm -rf /tmp/mod/etc/services.d fi - shopt -s dotglob - cp -R /tmp/mod/* / - shopt -u dotglob - rm -rf /tmp/mod - rm -rf /modtarball.tar.xz - echo ${SHALAYER} > "/${FILENAME}" - echo "[mod-init] ${DOCKER_MOD} applied to container" fi + shopt -s dotglob + cp -R /tmp/mod/* / + shopt -u dotglob + rm -rf /tmp/mod + rm -rf /modtarball.tar.xz + echo ${SHALAYER} > "/${FILENAME}" + echo "[mod-init] ${DOCKER_MOD} applied to container" + fi done # Set executable bit on cont-init and services that may have been unpacked by mods From 74e69e2b37b53dca2b0c97821de005dec625f6cb Mon Sep 17 00:00:00 2001 From: TheSpad Date: Fri, 22 Jul 2022 20:57:18 +0100 Subject: [PATCH 3/6] Add mod-init --- root/etc/s6-overlay/s6-rc.d/init-mods-end/type | 1 + root/etc/s6-overlay/s6-rc.d/init-mods-end/up | 1 + root/etc/s6-overlay/s6-rc.d/init-mods/dependencies.d/base | 0 root/etc/s6-overlay/s6-rc.d/init-mods/type | 1 + root/etc/s6-overlay/s6-rc.d/init-mods/up | 1 + root/etc/s6-overlay/s6-rc.d/user/contents.d/init-mods | 0 6 files changed, 4 insertions(+) create mode 100644 root/etc/s6-overlay/s6-rc.d/init-mods-end/type create mode 100644 root/etc/s6-overlay/s6-rc.d/init-mods-end/up create mode 100644 root/etc/s6-overlay/s6-rc.d/init-mods/dependencies.d/base create mode 100644 root/etc/s6-overlay/s6-rc.d/init-mods/type create mode 100644 root/etc/s6-overlay/s6-rc.d/init-mods/up create mode 100644 root/etc/s6-overlay/s6-rc.d/user/contents.d/init-mods diff --git a/root/etc/s6-overlay/s6-rc.d/init-mods-end/type b/root/etc/s6-overlay/s6-rc.d/init-mods-end/type new file mode 100644 index 0000000..bdd22a1 --- /dev/null +++ b/root/etc/s6-overlay/s6-rc.d/init-mods-end/type @@ -0,0 +1 @@ +oneshot diff --git a/root/etc/s6-overlay/s6-rc.d/init-mods-end/up b/root/etc/s6-overlay/s6-rc.d/init-mods-end/up new file mode 100644 index 0000000..092149d --- /dev/null +++ b/root/etc/s6-overlay/s6-rc.d/init-mods-end/up @@ -0,0 +1 @@ +# This file doesn't do anything, it's just the end of the mod init process diff --git a/root/etc/s6-overlay/s6-rc.d/init-mods/dependencies.d/base b/root/etc/s6-overlay/s6-rc.d/init-mods/dependencies.d/base new file mode 100644 index 0000000..e69de29 diff --git a/root/etc/s6-overlay/s6-rc.d/init-mods/type b/root/etc/s6-overlay/s6-rc.d/init-mods/type new file mode 100644 index 0000000..bdd22a1 --- /dev/null +++ b/root/etc/s6-overlay/s6-rc.d/init-mods/type @@ -0,0 +1 @@ +oneshot diff --git a/root/etc/s6-overlay/s6-rc.d/init-mods/up b/root/etc/s6-overlay/s6-rc.d/init-mods/up new file mode 100644 index 0000000..040d801 --- /dev/null +++ b/root/etc/s6-overlay/s6-rc.d/init-mods/up @@ -0,0 +1 @@ +# This file doesn't do anything, it's just the start of the mod init process diff --git a/root/etc/s6-overlay/s6-rc.d/user/contents.d/init-mods b/root/etc/s6-overlay/s6-rc.d/user/contents.d/init-mods new file mode 100644 index 0000000..e69de29 From 28b1121882eefe2616b0f68cb0d761590f0b5e6e Mon Sep 17 00:00:00 2001 From: TheSpad Date: Sat, 23 Jul 2022 12:57:51 +0100 Subject: [PATCH 4/6] Add init-services anchor --- .../s6-rc.d/init-services/dependencies.d/init-mods-end | 0 root/etc/s6-overlay/s6-rc.d/init-services/type | 1 + root/etc/s6-overlay/s6-rc.d/init-services/up | 1 + root/etc/s6-overlay/s6-rc.d/user/contents.d/init-mods-end | 0 root/etc/s6-overlay/s6-rc.d/user/contents.d/init-services | 0 5 files changed, 2 insertions(+) create mode 100644 root/etc/s6-overlay/s6-rc.d/init-services/dependencies.d/init-mods-end create mode 100644 root/etc/s6-overlay/s6-rc.d/init-services/type create mode 100644 root/etc/s6-overlay/s6-rc.d/init-services/up create mode 100644 root/etc/s6-overlay/s6-rc.d/user/contents.d/init-mods-end create mode 100644 root/etc/s6-overlay/s6-rc.d/user/contents.d/init-services diff --git a/root/etc/s6-overlay/s6-rc.d/init-services/dependencies.d/init-mods-end b/root/etc/s6-overlay/s6-rc.d/init-services/dependencies.d/init-mods-end new file mode 100644 index 0000000..e69de29 diff --git a/root/etc/s6-overlay/s6-rc.d/init-services/type b/root/etc/s6-overlay/s6-rc.d/init-services/type new file mode 100644 index 0000000..bdd22a1 --- /dev/null +++ b/root/etc/s6-overlay/s6-rc.d/init-services/type @@ -0,0 +1 @@ +oneshot diff --git a/root/etc/s6-overlay/s6-rc.d/init-services/up b/root/etc/s6-overlay/s6-rc.d/init-services/up new file mode 100644 index 0000000..cd262c7 --- /dev/null +++ b/root/etc/s6-overlay/s6-rc.d/init-services/up @@ -0,0 +1 @@ +# This file doesn't do anything, it's just the start of the service init process diff --git a/root/etc/s6-overlay/s6-rc.d/user/contents.d/init-mods-end b/root/etc/s6-overlay/s6-rc.d/user/contents.d/init-mods-end new file mode 100644 index 0000000..e69de29 diff --git a/root/etc/s6-overlay/s6-rc.d/user/contents.d/init-services b/root/etc/s6-overlay/s6-rc.d/user/contents.d/init-services new file mode 100644 index 0000000..e69de29 From c09de3e9eaccf938c24c0480776270ed05e304a7 Mon Sep 17 00:00:00 2001 From: TheSpad Date: Fri, 29 Jul 2022 17:44:16 +0100 Subject: [PATCH 5/6] 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 From 6284a874ff5fb592e97ae2d6c60921524a0a63e8 Mon Sep 17 00:00:00 2001 From: LinuxServer-CI Date: Sun, 31 Jul 2022 10:08:53 +0000 Subject: [PATCH 6/6] Bot Updating Package Versions --- package_versions.txt | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/package_versions.txt b/package_versions.txt index ac1a638..d06f0ae 100755 --- a/package_versions.txt +++ b/package_versions.txt @@ -1,6 +1,6 @@ adduser3.118ubuntu5 -apt2.4.5 -apt-utils2.4.5 +apt2.4.6 +apt-utils2.4.6 base-files12ubuntu4.1 base-passwd3.5.52build1 bash5.1-6ubuntu1 @@ -32,7 +32,7 @@ gzip1.10-4ubuntu4 hostname3.23ubuntu2 init-system-helpers1.62 libacl12.3.1-1 -libapt-pkg6.02.4.5 +libapt-pkg6.02.4.6 libassuan02.5.5-1build1 libattr11:2.5.1-1build1 libaudit11:3.0.7-1build1 @@ -110,7 +110,7 @@ libunistring21.0-1 libuuid12.37.2-4ubuntu3 libxxhash00.8.1-1 libzstd11.4.8+dfsg-3build1 -locales2.35-0ubuntu3 +locales2.35-0ubuntu3.1 login1:4.8.1-2ubuntu2 logsave1.46.5-2ubuntu1.1 lsb-base11.1.0ubuntu4