From dbd098b25433a7bc5d7c91d4078f2170a24b4e52 Mon Sep 17 00:00:00 2001 From: aptalca Date: Thu, 28 Jul 2022 13:34:38 -0400 Subject: [PATCH 1/2] switch to hybrid --- .../dependencies.d/init-mods | 0 .../run | 64 +++++++++++++++++++ .../type | 1 + .../up | 1 + .../init-mod-code-server-dotnet-add-package | 0 .../s6-rc.d/init-mod-package-install/run | 37 +++++++++++ .../s6-rc.d/init-mod-package-install/type | 1 + .../s6-rc.d/init-mod-package-install/up | 1 + .../dependencies.d/init-mod-package-install | 0 .../init-mod-code-server-dotnet-add-package | 0 .../user/contents.d/init-mod-package-install | 0 11 files changed, 105 insertions(+) create mode 100644 root/etc/s6-overlay/s6-rc.d/init-mod-code-server-dotnet-add-package/dependencies.d/init-mods create mode 100755 root/etc/s6-overlay/s6-rc.d/init-mod-code-server-dotnet-add-package/run create mode 100644 root/etc/s6-overlay/s6-rc.d/init-mod-code-server-dotnet-add-package/type create mode 100644 root/etc/s6-overlay/s6-rc.d/init-mod-code-server-dotnet-add-package/up create mode 100644 root/etc/s6-overlay/s6-rc.d/init-mod-package-install/dependencies.d/init-mod-code-server-dotnet-add-package create mode 100755 root/etc/s6-overlay/s6-rc.d/init-mod-package-install/run create mode 100644 root/etc/s6-overlay/s6-rc.d/init-mod-package-install/type create mode 100644 root/etc/s6-overlay/s6-rc.d/init-mod-package-install/up create mode 100644 root/etc/s6-overlay/s6-rc.d/init-mods-end/dependencies.d/init-mod-package-install create mode 100644 root/etc/s6-overlay/s6-rc.d/user/contents.d/init-mod-code-server-dotnet-add-package create mode 100644 root/etc/s6-overlay/s6-rc.d/user/contents.d/init-mod-package-install diff --git a/root/etc/s6-overlay/s6-rc.d/init-mod-code-server-dotnet-add-package/dependencies.d/init-mods b/root/etc/s6-overlay/s6-rc.d/init-mod-code-server-dotnet-add-package/dependencies.d/init-mods new file mode 100644 index 0000000..e69de29 diff --git a/root/etc/s6-overlay/s6-rc.d/init-mod-code-server-dotnet-add-package/run b/root/etc/s6-overlay/s6-rc.d/init-mod-code-server-dotnet-add-package/run new file mode 100755 index 0000000..1e093e7 --- /dev/null +++ b/root/etc/s6-overlay/s6-rc.d/init-mod-code-server-dotnet-add-package/run @@ -0,0 +1,64 @@ +#!/usr/bin/with-contenv bash + +# Determine if setup is needed +if [ -d /dotnet ]; then + # install deps + echo "**** Adding dotnet dependencies to package install list ****" + source /etc/lsb-release + if [ "${DISTRIB_CODENAME}" == "focal" ]; then + echo "libicu66" >> /mod-repo-packages-to-install.list + elif [ "${DISTRIB_CODENAME}" == "jammy" ]; then + echo "libicu70" >> /mod-repo-packages-to-install.list + fi + # remove existing install if updating + if ls -d /dotnet_* >/dev/null 2>&1; then + echo "deleting" $(ls -d /dotnet_*) + rm -rf /dotnet_* + fi + DOTNET_VERSIONS=$(cat /dotnet/versions.txt) + ARCH=$(uname -m) + for i in $DOTNET_VERSIONS; do + mkdir -p "/dotnet_${i}" + tar xzf "/dotnet/dotnetsdk_${i}_${ARCH}.tar.gz" -C "/dotnet_${i}" + done + rm -rf /dotnet + # symlink latest dotnet binary + DOTNET_LATEST=$(echo "$DOTNET_VERSIONS" | awk '{print $1}') + rm -rf /usr/local/bin/dotnet + ln -s /dotnet_${DOTNET_LATEST}/dotnet /usr/local/bin/dotnet + echo " + **************************************************** + **************************************************** + ** + ** + DOTNET SDK versions installed: + $(echo $DOTNET_VERSIONS | sed 's| |\n |g') + ** + ** + Binary locations are:" + for i in $DOTNET_VERSIONS; do + echo " /dotnet_${i}/dotnet" + done + echo " ** + ** + Version $DOTNET_LATEST is symlinked from /usr/local/bin/dotnet and can be called from anywhere via \"dotnet\" + ** + ** + **************************************************** + ****************************************************" + # symlink other dotnet installs for access through latest binary + for i in {2..5}; do + DOTNET_OTHER_SDK_VERSION="$(echo $DOTNET_VERSIONS | awk -v var=${i} '{print $var}')" + if [ -n "$DOTNET_OTHER_SDK_VERSION" ]; then + DOTNET_OTHER_RUNTIME_VERSION="$(ls /dotnet_${DOTNET_OTHER_SDK_VERSION}/shared/Microsoft.NETCore.App)" + echo "**** Symlinking sdk version ${DOTNET_OTHER_SDK_VERSION} and runtime version ${DOTNET_OTHER_RUNTIME_VERSION} ****" + ln -s "/dotnet_${DOTNET_OTHER_SDK_VERSION}/shared/Microsoft.NETCore.App/${DOTNET_OTHER_RUNTIME_VERSION}" "/dotnet_${DOTNET_LATEST}/shared/Microsoft.NETCore.App/${DOTNET_OTHER_RUNTIME_VERSION}" + ln -s "/dotnet_${DOTNET_OTHER_SDK_VERSION}/shared/Microsoft.AspNetCore.App/${DOTNET_OTHER_RUNTIME_VERSION}" "/dotnet_${DOTNET_LATEST}/shared/Microsoft.AspNetCore.App/${DOTNET_OTHER_RUNTIME_VERSION}" + ln -s "/dotnet_${DOTNET_OTHER_SDK_VERSION}/sdk/${DOTNET_OTHER_SDK_VERSION}" "/dotnet_${DOTNET_LATEST}/sdk/${DOTNET_OTHER_SDK_VERSION}" + else + break + fi + done +else + echo "**** Existing dotnet install is up to date, skipping ****" +fi diff --git a/root/etc/s6-overlay/s6-rc.d/init-mod-code-server-dotnet-add-package/type b/root/etc/s6-overlay/s6-rc.d/init-mod-code-server-dotnet-add-package/type new file mode 100644 index 0000000..3d92b15 --- /dev/null +++ b/root/etc/s6-overlay/s6-rc.d/init-mod-code-server-dotnet-add-package/type @@ -0,0 +1 @@ +oneshot \ No newline at end of file diff --git a/root/etc/s6-overlay/s6-rc.d/init-mod-code-server-dotnet-add-package/up b/root/etc/s6-overlay/s6-rc.d/init-mod-code-server-dotnet-add-package/up new file mode 100644 index 0000000..d60778c --- /dev/null +++ b/root/etc/s6-overlay/s6-rc.d/init-mod-code-server-dotnet-add-package/up @@ -0,0 +1 @@ +/etc/s6-overlay/s6-rc.d/init-mod-code-server-dotnet-add-package/run \ No newline at end of file diff --git a/root/etc/s6-overlay/s6-rc.d/init-mod-package-install/dependencies.d/init-mod-code-server-dotnet-add-package b/root/etc/s6-overlay/s6-rc.d/init-mod-package-install/dependencies.d/init-mod-code-server-dotnet-add-package new file mode 100644 index 0000000..e69de29 diff --git a/root/etc/s6-overlay/s6-rc.d/init-mod-package-install/run b/root/etc/s6-overlay/s6-rc.d/init-mod-package-install/run new file mode 100755 index 0000000..7fdb63f --- /dev/null +++ b/root/etc/s6-overlay/s6-rc.d/init-mod-package-install/run @@ -0,0 +1,37 @@ +#!/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 + DEBIAN_FRONTEND="noninteractive" + apt-get update + apt-get install -y \ + $(cat /mod-repo-packages-to-install.list) + elif [ -f /usr/bin/apk ]; then + apk add --no-cache \ + $(cat /mod-repo-packages-to-install.list) + fi +else + echo "**** No repo packages to install, skipping ****" +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 /usr/bin/apk ]; then + ALPINE_VER=$(cat /etc/apk/repositories | grep main | 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-mod-package-install/type b/root/etc/s6-overlay/s6-rc.d/init-mod-package-install/type new file mode 100644 index 0000000..3d92b15 --- /dev/null +++ b/root/etc/s6-overlay/s6-rc.d/init-mod-package-install/type @@ -0,0 +1 @@ +oneshot \ No newline at end of file diff --git a/root/etc/s6-overlay/s6-rc.d/init-mod-package-install/up b/root/etc/s6-overlay/s6-rc.d/init-mod-package-install/up new file mode 100644 index 0000000..45ff785 --- /dev/null +++ b/root/etc/s6-overlay/s6-rc.d/init-mod-package-install/up @@ -0,0 +1 @@ +/etc/s6-overlay/s6-rc.d/init-mod-package-install/run \ No newline at end of file diff --git a/root/etc/s6-overlay/s6-rc.d/init-mods-end/dependencies.d/init-mod-package-install b/root/etc/s6-overlay/s6-rc.d/init-mods-end/dependencies.d/init-mod-package-install new file mode 100644 index 0000000..e69de29 diff --git a/root/etc/s6-overlay/s6-rc.d/user/contents.d/init-mod-code-server-dotnet-add-package b/root/etc/s6-overlay/s6-rc.d/user/contents.d/init-mod-code-server-dotnet-add-package new file mode 100644 index 0000000..e69de29 diff --git a/root/etc/s6-overlay/s6-rc.d/user/contents.d/init-mod-package-install b/root/etc/s6-overlay/s6-rc.d/user/contents.d/init-mod-package-install new file mode 100644 index 0000000..e69de29 From e7a650731df61901e30dfbe0870a0e0233ea15e2 Mon Sep 17 00:00:00 2001 From: aptalca Date: Fri, 29 Jul 2022 14:53:05 -0400 Subject: [PATCH 2/2] remove package install as it is now in the base --- .../s6-rc.d/init-mod-package-install/run | 37 ------------------- .../s6-rc.d/init-mod-package-install/type | 1 - .../s6-rc.d/init-mod-package-install/up | 1 - .../dependencies.d/init-mod-package-install | 0 .../init-mod-code-server-dotnet-add-package | 0 .../user/contents.d/init-mod-package-install | 0 6 files changed, 39 deletions(-) delete mode 100755 root/etc/s6-overlay/s6-rc.d/init-mod-package-install/run delete mode 100644 root/etc/s6-overlay/s6-rc.d/init-mod-package-install/type delete mode 100644 root/etc/s6-overlay/s6-rc.d/init-mod-package-install/up delete mode 100644 root/etc/s6-overlay/s6-rc.d/init-mods-end/dependencies.d/init-mod-package-install rename root/etc/s6-overlay/s6-rc.d/{init-mod-package-install => init-mods-package-install}/dependencies.d/init-mod-code-server-dotnet-add-package (100%) delete mode 100644 root/etc/s6-overlay/s6-rc.d/user/contents.d/init-mod-package-install diff --git a/root/etc/s6-overlay/s6-rc.d/init-mod-package-install/run b/root/etc/s6-overlay/s6-rc.d/init-mod-package-install/run deleted file mode 100755 index 7fdb63f..0000000 --- a/root/etc/s6-overlay/s6-rc.d/init-mod-package-install/run +++ /dev/null @@ -1,37 +0,0 @@ -#!/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 - DEBIAN_FRONTEND="noninteractive" - apt-get update - apt-get install -y \ - $(cat /mod-repo-packages-to-install.list) - elif [ -f /usr/bin/apk ]; then - apk add --no-cache \ - $(cat /mod-repo-packages-to-install.list) - fi -else - echo "**** No repo packages to install, skipping ****" -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 /usr/bin/apk ]; then - ALPINE_VER=$(cat /etc/apk/repositories | grep main | 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-mod-package-install/type b/root/etc/s6-overlay/s6-rc.d/init-mod-package-install/type deleted file mode 100644 index 3d92b15..0000000 --- a/root/etc/s6-overlay/s6-rc.d/init-mod-package-install/type +++ /dev/null @@ -1 +0,0 @@ -oneshot \ No newline at end of file diff --git a/root/etc/s6-overlay/s6-rc.d/init-mod-package-install/up b/root/etc/s6-overlay/s6-rc.d/init-mod-package-install/up deleted file mode 100644 index 45ff785..0000000 --- a/root/etc/s6-overlay/s6-rc.d/init-mod-package-install/up +++ /dev/null @@ -1 +0,0 @@ -/etc/s6-overlay/s6-rc.d/init-mod-package-install/run \ No newline at end of file diff --git a/root/etc/s6-overlay/s6-rc.d/init-mods-end/dependencies.d/init-mod-package-install b/root/etc/s6-overlay/s6-rc.d/init-mods-end/dependencies.d/init-mod-package-install deleted file mode 100644 index e69de29..0000000 diff --git a/root/etc/s6-overlay/s6-rc.d/init-mod-package-install/dependencies.d/init-mod-code-server-dotnet-add-package b/root/etc/s6-overlay/s6-rc.d/init-mods-package-install/dependencies.d/init-mod-code-server-dotnet-add-package similarity index 100% rename from root/etc/s6-overlay/s6-rc.d/init-mod-package-install/dependencies.d/init-mod-code-server-dotnet-add-package rename to root/etc/s6-overlay/s6-rc.d/init-mods-package-install/dependencies.d/init-mod-code-server-dotnet-add-package diff --git a/root/etc/s6-overlay/s6-rc.d/user/contents.d/init-mod-package-install b/root/etc/s6-overlay/s6-rc.d/user/contents.d/init-mod-package-install deleted file mode 100644 index e69de29..0000000