mirror of
https://github.com/TrezOne/docker-mods-uptime-kuma-timeout-fix.git
synced 2026-06-30 03:53:18 -04:00
code-server: rust initial release
This commit is contained in:
@@ -0,0 +1,49 @@
|
||||
#!/usr/bin/with-contenv bash
|
||||
|
||||
set -e
|
||||
|
||||
RUST_BINS_PATH="/rust-bins"
|
||||
ALPINE_RELEASE_PATH="/etc/alpine-release"
|
||||
PACKAGES_TO_INSTALL_LIST="/mod-repo-packages-to-install.list"
|
||||
|
||||
ARCH=$(uname -m)
|
||||
SUPPORTED_ARCHS=("x86_64" "aarch64")
|
||||
|
||||
if [[ ! " ${SUPPORTED_ARCHS[@]} " =~ " ${ARCH} " ]]; then
|
||||
echo "+++ unsupported architecture: $ARCH +++"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
MUSL_OR_GNU=$(ldd /bin/sh | grep -q musl && echo "musl" || echo "gnu")
|
||||
RUST_BINARY_ARCHIVE_PATH="$RUST_BINS_PATH/rust-$ARCH-$MUSL_OR_GNU.tar.gz"
|
||||
|
||||
grep_os_release() {
|
||||
grep -q "$1" /etc/os-release && echo true || echo false
|
||||
}
|
||||
|
||||
if [[ -f "$RUST_BINARY_ARCHIVE_PATH" ]]; then
|
||||
echo "+++ unpacking rust tar +++"
|
||||
tar -xzf "$RUST_BINARY_ARCHIVE_PATH" -C "$RUST_BINS_PATH" --strip-components=1
|
||||
|
||||
if [[ -f "$ALPINE_RELEASE_PATH" ]]; then
|
||||
# in alpine ldconfig requires the configuration directory
|
||||
sed -i 's/ldconfig/ldconfig \/etc\/ld.so.conf.d/g' "$RUST_BINS_PATH/install.sh"
|
||||
fi
|
||||
|
||||
|
||||
echo "+++ installing rust +++"
|
||||
"$RUST_BINS_PATH/install.sh"
|
||||
rm -rf "$RUST_BINS_PATH"
|
||||
|
||||
echo "+++ adding build tools +++"
|
||||
if grep_os_release "debian"; then
|
||||
echo "build-essential" >>"$PACKAGES_TO_INSTALL_LIST"
|
||||
elif grep_os_release "alpine"; then
|
||||
echo "build-base" >>"$PACKAGES_TO_INSTALL_LIST"
|
||||
else
|
||||
echo "gcc" >>"$PACKAGES_TO_INSTALL_LIST"
|
||||
fi
|
||||
|
||||
else
|
||||
echo "+++ rust tar not found +++"
|
||||
fi
|
||||
@@ -0,0 +1 @@
|
||||
oneshot
|
||||
@@ -0,0 +1 @@
|
||||
/etc/s6-overlay/s6-rc.d/init-mod-code-server-rust-install/run
|
||||
@@ -1,30 +0,0 @@
|
||||
#!/usr/bin/with-contenv bash
|
||||
|
||||
# This is the init file used for adding os or pip packages to install lists.
|
||||
# It takes advantage of the built-in init-mods-package-install init script that comes with the baseimages.
|
||||
# If using this, we need to make sure we set this init as a dependency of init-mods-package-install so this one runs first
|
||||
|
||||
if ! command -v apprise; then
|
||||
echo "**** Adding apprise and its deps to package install lists ****"
|
||||
echo "apprise" >> /mod-pip-packages-to-install.list
|
||||
## Ubuntu
|
||||
if [ -f /usr/bin/apt ]; then
|
||||
echo "\
|
||||
python3 \
|
||||
python3-pip \
|
||||
runc" >> /mod-repo-packages-to-install.list
|
||||
fi
|
||||
# Alpine
|
||||
if [ -f /sbin/apk ]; then
|
||||
echo "\
|
||||
cargo \
|
||||
libffi-dev \
|
||||
openssl-dev \
|
||||
python3 \
|
||||
python3-dev \
|
||||
python3 \
|
||||
py3-pip" >> /mod-repo-packages-to-install.list
|
||||
fi
|
||||
else
|
||||
echo "**** apprise already installed, skipping ****"
|
||||
fi
|
||||
@@ -1 +0,0 @@
|
||||
oneshot
|
||||
@@ -1 +0,0 @@
|
||||
/etc/s6-overlay/s6-rc.d/init-mod-imagename-modname-add-package/run
|
||||
@@ -1,8 +0,0 @@
|
||||
#!/usr/bin/with-contenv bash
|
||||
|
||||
# This is an install script that is designed to run after init-mods-package-install
|
||||
# so it can take advantage of packages installed
|
||||
# init-mods-end depends on this script so that later init and services wait until this script exits
|
||||
|
||||
echo "**** Setting up apprise ****"
|
||||
apprise blah blah
|
||||
@@ -1 +0,0 @@
|
||||
oneshot
|
||||
@@ -1 +0,0 @@
|
||||
/etc/s6-overlay/s6-rc.d/init-mod-imagename-modname-install/run
|
||||
@@ -1,7 +0,0 @@
|
||||
#!/usr/bin/with-contenv bash
|
||||
|
||||
# This is an example service that would run for the mod
|
||||
# It depends on init-services, the baseimage hook for start of all longrun services
|
||||
|
||||
exec \
|
||||
s6-setuidgid abc run my app
|
||||
@@ -1 +0,0 @@
|
||||
longrun
|
||||
Reference in New Issue
Block a user