mirror of
https://github.com/linuxserver/docker-mods.git
synced 2026-01-20 12:21:59 +08:00
Merge pull request #763 from linuxserver/fix-lsiown
Fix lsiown edge cases
This commit is contained in:
commit
7d041cf487
@ -2,6 +2,7 @@
|
||||
|
||||
These files are used by Linuxserver build processes to handle mods in our images. Not for end-user consumption.
|
||||
|
||||
* **14.09.23:** - Fix lsiown edge cases.
|
||||
* **08.09.23:** - Change lsiown to skip files that are already owned by the user.
|
||||
* **25.05.23:** - Add lscr.io support for mods.
|
||||
* **16.05.23:** - Add package installer.
|
||||
|
||||
@ -111,12 +111,16 @@ create_lsiown_alias() {
|
||||
cat <<-'EOF' >/usr/bin/lsiown
|
||||
#!/bin/bash
|
||||
|
||||
MAXDEPTH=("-maxdepth" "0")
|
||||
OPTIONS=()
|
||||
while getopts RcfvhHLP OPTION
|
||||
do
|
||||
if [[ "${OPTION}" != "?" ]]; then
|
||||
if [[ "${OPTION}" != "?" && "${OPTION}" != "R" ]]; then
|
||||
OPTIONS+=("-${OPTION}")
|
||||
fi
|
||||
if [[ "${OPTION}" = "R" ]]; then
|
||||
MAXDEPTH=()
|
||||
fi
|
||||
done
|
||||
|
||||
shift $((OPTIND - 1))
|
||||
@ -127,8 +131,9 @@ create_lsiown_alias() {
|
||||
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[@]}" \( ! -group "${GROUP}" -o ! -user "${USER}" \) -exec chown "${OPTIONS[@]}" "${USER}":"${GROUP}" {} + || printf '**** 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'
|
||||
/usr/bin/find "${PATH[@]}" "${MAXDEPTH[@]}" \( ! -group "${GROUP}" -o ! -user "${USER}" \) -exec chown "${OPTIONS[@]}" "${USER}":"${GROUP}" {} + || printf "${ERROR}"
|
||||
EOF
|
||||
chmod +x /usr/bin/lsiown
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user