diff --git a/lsiown.v1 b/lsiown.v1 new file mode 100755 index 0000000..3814739 --- /dev/null +++ b/lsiown.v1 @@ -0,0 +1,30 @@ +#!/bin/bash + +# Version 1 +# 2024-06-08 - Initial Version + +LSIOWN_SCRIPT_VER="1.20240608" + +MAXDEPTH=("-maxdepth" "0") +OPTIONS=() +while getopts RcfvhHLP OPTION +do + if [[ "${OPTION}" != "?" && "${OPTION}" != "R" ]]; then + OPTIONS+=("-${OPTION}") + fi + if [[ "${OPTION}" = "R" ]]; then + MAXDEPTH=() + fi +done + +shift $((OPTIND - 1)) +OWNER=$1 +IFS=: read -r USER GROUP <<< "${OWNER}" +if [[ -z "${GROUP}" ]]; then + printf '**** Permissions could not be set. Group is missing or incorrect, expecting user:group. ****\n' + exit 0 +fi + +ERROR='**** Permissions could not be set. This is probably because your volume mounts are remote or read-only. ****\n**** The app may not work properly and we will not provide support for it. ****\n' +PATH=("${@:2}") +/usr/bin/find "${PATH[@]}" "${MAXDEPTH[@]}" ! -xtype l \( ! -group "${GROUP}" -o ! -user "${USER}" \) -exec chown "${OPTIONS[@]}" "${USER}":"${GROUP}" {} + || printf "${ERROR}" diff --git a/package-install.v1 b/package-install.v1 index 6fe5024..3a8493c 100755 --- a/package-install.v1 +++ b/package-install.v1 @@ -3,7 +3,7 @@ # Version 1 # 2024-03-26 - Initial Version -PKG_SCRIPT_VER="3.20240326" +PKG_SCRIPT_VER="1.20240608" write_mod_info() { local MSG=$* @@ -46,7 +46,7 @@ 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 write_mod_info "Installing all mod packages" - write_mod_debug "Defined packages: ${REPO_PACKAGES[@]}" + write_mod_debug "Defined packages: ${REPO_PACKAGES[*]}" if [[ -f /usr/bin/apt ]]; then export DEBIAN_FRONTEND="noninteractive" apt-get update @@ -86,8 +86,8 @@ if [[ -f "/mod-pip-packages-to-install.list" ]]; 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 - write_mod_debug "Installing defined pip packages: ${PIP_PACKAGES[@]}" - write_mod_debug "Using pip args ${PIP_ARGS[@]}" + write_mod_debug "Installing defined pip packages: ${PIP_PACKAGES[*]}" + write_mod_debug "Using pip args ${PIP_ARGS[*]}" python3 -m pip install \ "${PIP_ARGS[@]}" \ "${PIP_PACKAGES[@]}" @@ -95,6 +95,9 @@ if [[ -f "/mod-pip-packages-to-install.list" ]]; then fi write_mod_debug "Deleting temporary install lists for os and pip packages." -rm -rf \ - /mod-repo-packages-to-install.list \ - /mod-pip-packages-to-install.list +if [[ -f "/mod-repo-packages-to-install.list" ]]; then + rm -rf /mod-repo-packages-to-install.list +fi +if [[ -f "/mod-pip-packages-to-install.list" ]]; then + rm -rf /mod-pip-packages-to-install.list +fi