#!/usr/bin/with-contenv bash # shellcheck shell=bash if [[ -f "/mod-pip-packages-to-install.list" ]]; then IFS=' ' read -ra PIP_PACKAGES <<< "$(tr '\n' ' ' < /mod-pip-packages-to-install.list)" if [[ ${#PIP_PACKAGES[@]} -ne 0 ]] && [[ ${PIP_PACKAGES[*]} != "" ]]; then if ! command -v python3; then CREATE_VENV="true" if [[ -f /usr/bin/apt ]]; then echo "python3-venv" >> /mod-repo-packages-to-install.list elif [[ -f /sbin/apk ]]; then echo "python3" >> /mod-repo-packages-to-install.list elif [[ -f /usr/sbin/pacman ]]; then echo "python" >> /mod-repo-packages-to-install.list elif [[ -f /usr/bin/dnf ]]; then echo "python3" >> /mod-repo-packages-to-install.list fi fi fi fi if [[ -f "/mod-repo-packages-to-install.list" ]]; then IFS=' ' read -ra REPO_PACKAGES <<< "$(tr '\n' ' ' < /mod-repo-packages-to-install.list)" if [[ ${#REPO_PACKAGES[@]} -ne 0 ]] && [[ ${REPO_PACKAGES[*]} != "" ]]; then echo "[mod-init] **** Installing all mod packages ****" if [[ -f /usr/bin/apt ]]; then export DEBIAN_FRONTEND="noninteractive" apt-get update apt-get install -y --no-install-recommends \ "${REPO_PACKAGES[@]}" elif [[ -f /sbin/apk ]]; then apk add --no-cache \ "${REPO_PACKAGES[@]}" elif [[ -f /usr/sbin/pacman ]]; then pacman -Sy --noconfirm \ "${REPO_PACKAGES[@]}" elif [[ -f /usr/bin/dnf ]]; then dnf install -y --setopt=install_weak_deps=False --best \ "${REPO_PACKAGES[@]}" fi fi fi if [[ -f "/mod-pip-packages-to-install.list" ]]; then IFS=' ' read -ra PIP_PACKAGES <<< "$(tr '\n' ' ' < /mod-pip-packages-to-install.list)" if [[ ${#PIP_PACKAGES[@]} -ne 0 ]] && [[ ${PIP_PACKAGES[*]} != "" ]]; then echo "[mod-init] **** Installing all pip packages ****" if [[ ${CREATE_VENV} == "true" ]]; then echo "**** Creating venv ****" python3 -m venv /lsiopy fi python3 -m pip install -U pip wheel setuptools PIP_ARGS=() if [[ -f /usr/bin/apt ]] && grep -q 'ID=ubuntu' /etc/os-release; 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.*||') PIP_ARGS+=("-f" "https://wheel-index.linuxserver.io/alpine-${ALPINE_VER}/") fi python3 -m pip install \ "${PIP_ARGS[@]}" \ "${PIP_PACKAGES[@]}" fi fi rm -rf \ /mod-repo-packages-to-install.list \ /mod-pip-packages-to-install.list