Files
gaming-image-files/usr/local/bin/live-update.sh
2025-10-09 20:51:50 -04:00

33 lines
1018 B
Bash
Executable File

#!/usr/bin/env bash
# Update system packages (run as stormux user since yay shouldn't run as root)
sudo -u stormux yay -Syu --noconfirm --removemake --cleanafter
gitUrl="https://git.stormux.org/storm/gaming-image-files"
gitPath="${gitUrl##*/}"
pushd /tmp || exit
git clone "${gitUrl}"
pushd "${gitPath}" || exit
git checkout master
git lfs pull
# Files and directories to ignore when copying
ignoreFiles=(".git" "./image" ".git*" "/home/stormux/.w3m")
# Build find command with ignore patterns
findArgs=()
for ignore in "${ignoreFiles[@]}"; do
if [[ "$ignore" == .* && "$ignore" != ./* ]]; then
findArgs+=(-name "$ignore" -prune -o)
else
findArgs+=(-path "$ignore" -prune -o)
fi
done
# Copy all files as root (preserves permissions properly)
find . "${findArgs[@]}" -type f -exec bash -c 'for i ; do cp -av --preserve=all --parents "${i}" /;done' _ "{}" \;
# Fix ownership of home directory files
chown -R stormux:users /home/stormux
popd || exit
rm -rf "${gitPath}"
popd || exit
exit 0