first commit
This commit is contained in:
commit
58cfd95600
35 files changed
+5357
No files matched your search
@@ -0,0 +1,55 @@
|
||||
#!/bin/sh
|
||||
# Shared POSIX shell helpers. Must be sourced from the project directory.
|
||||
|
||||
xbox_host_directory() {
|
||||
if [ -n "${XBOX_HOST_DIR:-}" ]; then
|
||||
root=$XBOX_HOST_DIR
|
||||
elif [ -f .env ]; then
|
||||
root=$(sed -n 's/^XBOX_HOST_DIR=//p' .env | tail -n 1)
|
||||
# Handle normal quoted .env values without executing file contents.
|
||||
case "$root" in
|
||||
'"'*'"') root=${root#\"}; root=${root%\"} ;;
|
||||
"'"*"'") root=${root#\'}; root=${root%\'} ;;
|
||||
esac
|
||||
root=${root:-/xbox}
|
||||
else
|
||||
root=/xbox
|
||||
fi
|
||||
case "$root" in
|
||||
/*) ;;
|
||||
*) echo "XBOX_HOST_DIR musi byc sciezka bezwzgledna: $root" >&2; return 1 ;;
|
||||
esac
|
||||
if [ ! -d "$root" ]; then
|
||||
echo "Nie znaleziono $root na hoscie Linux." >&2
|
||||
echo "Utworz go przed uruchomieniem, np.: sudo mkdir -p '$root'" >&2
|
||||
echo "Jesli to montowany dysk, upewnij sie, ze jest zamontowany." >&2
|
||||
return 1
|
||||
fi
|
||||
root=$(cd "$root" && pwd -P) || return 1
|
||||
if [ "$root" = / ]; then
|
||||
echo 'Odmowa uzycia / jako katalogu danych.' >&2
|
||||
return 1
|
||||
fi
|
||||
printf '%s\n' "$root"
|
||||
}
|
||||
|
||||
xbox_prepare_directories() {
|
||||
root=$1
|
||||
for rel in downloads work work/tmp work/cache ready imports logs metadata torrents bt aria2; do
|
||||
if [ -L "$root/$rel" ]; then
|
||||
echo "Odmowa uzycia dowiazania symbolicznego: $root/$rel" >&2
|
||||
return 1
|
||||
fi
|
||||
if ! mkdir -p "$root/$rel"; then
|
||||
echo "Brak uprawnien zapisu w $root. Ustaw prawa katalogu na hoscie." >&2
|
||||
return 1
|
||||
fi
|
||||
done
|
||||
if [ -L "$root/private" ]; then
|
||||
echo "Odmowa uzycia dowiazania symbolicznego: $root/private" >&2
|
||||
return 1
|
||||
fi
|
||||
if [ ! -d "$root/private" ]; then
|
||||
mkdir -m 700 "$root/private" || return 1
|
||||
fi
|
||||
}
|
||||
Reference in new issue
Block a user