[PR #361] Fix/pre existing script bugs #329

Open
opened 2026-10-15 12:50:53 +00:00 by bsakaguchi · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/games-on-whales/gow/pull/361
Author: @skewballfox
Created: 10/12/2026
Status: 🔄 Open

Base: master ← Head: fix/pre-existing-script-bugs


📝 Commits (5)

  • cb92727 various perf and bug fixes
  • a34757b base-app: build Xwayland from a pinned release series
  • 4274711 Don't let the builder's umask set image file modes
  • 788900a Fix startup aborts and harness gaps; clear shellcheck findings
  • a0e24bf 30-nvidia.sh: restore the nvrtc override behind a directory guard

📊 Changes

70 files changed (+427 additions, -255 deletions)

View changed files

📝 apps/es-de/build-fedora/Dockerfile (+2 -0)
📝 apps/es-de/build-fedora/scripts/startup-es.sh (+1 -1)
📝 apps/es-de/build-fedora/scripts/startup.sh (+21 -22)
📝 apps/es-de/build/Dockerfile (+2 -0)
📝 apps/es-de/build/scripts/startup-es.sh (+1 -1)
📝 apps/es-de/build/scripts/startup.sh (+21 -22)
📝 apps/heroic-games-launcher/build-fedora/scripts/startup.sh (+2 -0)
📝 apps/heroic-games-launcher/build/scripts/startup.sh (+2 -0)
📝 apps/kodi/build-fedora/Dockerfile (+7 -5)
📝 apps/kodi/build-fedora/scripts/startup.sh (+1 -1)
📝 apps/kodi/build/Dockerfile (+7 -5)
📝 apps/kodi/build/scripts/startup.sh (+1 -1)
📝 apps/lutris/build-fedora/Dockerfile (+3 -3)
📝 apps/lutris/build-fedora/scripts/startup-10-create-dirs.sh (+1 -1)
📝 apps/lutris/build-fedora/scripts/startup.sh (+2 -2)
📝 apps/lutris/build/Dockerfile (+3 -3)
📝 apps/lutris/build/scripts/startup-10-create-dirs.sh (+1 -1)
📝 apps/lutris/build/scripts/startup.sh (+2 -2)
📝 apps/pegasus/build-fedora/Dockerfile (+3 -1)
📝 apps/pegasus/build-fedora/scripts/startup.sh (+13 -13)

...and 50 more files

📄 Description

a series of bug fixes and shellcheck failures.

full list:

  • Entrypoint: several arguments run as a command (exec "$@"); a single argument runs as a bash -c snippet.
  • launcher (exec mode): exec "$@" keeps arguments containing spaces intact.
  • launcher (sway mode): each argument is shell-quoted in the generated sway exec line.
  • ES-DE: passes the AppImage and its flags as separate arguments, not one string.
  • ensure-groups: usermod -aG adds groups instead of replacing existing ones.
  • ensure-groups (Fedora): synced with Ubuntu (GID-mismatch handling, no groupadd failure on restart).
  • ensure-groups: an unmatched device glob is logged as "No devices match", not as a missing path.
  • 30-nvidia.sh: library paths use $(uname -m) instead of hard-coded x86_64 (Ubuntu, arm64).
  • 30-nvidia.sh: the host-nvrtc override runs only if /usr/local/nvidia/lib exists, so gow images no longer abort at startup.
  • 10-setup_user.sh: creates XDG_RUNTIME_DIR if missing and skips it if unset, instead of aborting.
  • 10-setup_user.sh: root-owned build leftovers in an unmounted $HOME are chowned to the user.
  • Steam system-services.sh: shebang is now bash, matching the bashisms it uses.
  • Debian base-app startup.sh: removed the dead [ -f "$DISPLAY" ] X11-wait block.
  • Xwayland (Debian base-app): builds the newest stable release of a pinned series (XWAYLAND_SERIES=24.1); release candidates are excluded.
  • Image file modes: configs and overlays get explicit modes, so a restrictive builder umask can't leave them unreadable (or make /etc 750).
  • kodi: copies its overlay file by path instead of COPY overlay /.
  • github_download: fixed the version-header quoting, and the jq filter and output path no longer split on spaces.
  • Fedora steam wrapper: cd … || exit 1, so tar can't run in the wrong directory.
  • Steam: mktemp failures are no longer masked by export (assign, then export).
  • xfce: eval "$(dbus-launch --sh-syntax)" replaces export $(dbus-launch).
  • Shell scripts: quoting fixed repo-wide; shellcheck reports nothing except SC1090/SC1091.
  • Smoke harness: assert_version/run_as_user report the real exit code.
  • Smoke harness: new strict assert_runs, used where exit 0 is expected.
  • Smoke harness: new check that nothing under /home/retro is root-owned.
  • bin/gen-moonlight-image: renamed .sh → .py, since it's Python.

🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/games-on-whales/gow/pull/361 **Author:** [@skewballfox](https://github.com/skewballfox) **Created:** 10/12/2026 **Status:** 🔄 Open **Base:** `master` ← **Head:** `fix/pre-existing-script-bugs` --- ### 📝 Commits (5) - [`cb92727`](https://github.com/games-on-whales/gow/commit/cb92727eb87febf1078a97ad8c3be89f00cf3b65) various perf and bug fixes - [`a34757b`](https://github.com/games-on-whales/gow/commit/a34757b78b40945b7a7040a2602ca6a7a73b1b58) base-app: build Xwayland from a pinned release series - [`4274711`](https://github.com/games-on-whales/gow/commit/427471125536c7a699668fec69198d503107c634) Don't let the builder's umask set image file modes - [`788900a`](https://github.com/games-on-whales/gow/commit/788900ac794922b3fe025ee8460c6488844f0b18) Fix startup aborts and harness gaps; clear shellcheck findings - [`a0e24bf`](https://github.com/games-on-whales/gow/commit/a0e24bf3e0164fcfa08187fc9dad5073423ebbc7) 30-nvidia.sh: restore the nvrtc override behind a directory guard ### 📊 Changes **70 files changed** (+427 additions, -255 deletions) <details> <summary>View changed files</summary> 📝 `apps/es-de/build-fedora/Dockerfile` (+2 -0) 📝 `apps/es-de/build-fedora/scripts/startup-es.sh` (+1 -1) 📝 `apps/es-de/build-fedora/scripts/startup.sh` (+21 -22) 📝 `apps/es-de/build/Dockerfile` (+2 -0) 📝 `apps/es-de/build/scripts/startup-es.sh` (+1 -1) 📝 `apps/es-de/build/scripts/startup.sh` (+21 -22) 📝 `apps/heroic-games-launcher/build-fedora/scripts/startup.sh` (+2 -0) 📝 `apps/heroic-games-launcher/build/scripts/startup.sh` (+2 -0) 📝 `apps/kodi/build-fedora/Dockerfile` (+7 -5) 📝 `apps/kodi/build-fedora/scripts/startup.sh` (+1 -1) 📝 `apps/kodi/build/Dockerfile` (+7 -5) 📝 `apps/kodi/build/scripts/startup.sh` (+1 -1) 📝 `apps/lutris/build-fedora/Dockerfile` (+3 -3) 📝 `apps/lutris/build-fedora/scripts/startup-10-create-dirs.sh` (+1 -1) 📝 `apps/lutris/build-fedora/scripts/startup.sh` (+2 -2) 📝 `apps/lutris/build/Dockerfile` (+3 -3) 📝 `apps/lutris/build/scripts/startup-10-create-dirs.sh` (+1 -1) 📝 `apps/lutris/build/scripts/startup.sh` (+2 -2) 📝 `apps/pegasus/build-fedora/Dockerfile` (+3 -1) 📝 `apps/pegasus/build-fedora/scripts/startup.sh` (+13 -13) _...and 50 more files_ </details> ### 📄 Description a series of bug fixes and shellcheck failures. full list: - Entrypoint: several arguments run as a command (exec "$@"); a single argument runs as a bash -c snippet. - launcher (exec mode): exec "$@" keeps arguments containing spaces intact. - launcher (sway mode): each argument is shell-quoted in the generated sway exec line. - ES-DE: passes the AppImage and its flags as separate arguments, not one string. - ensure-groups: usermod -aG adds groups instead of replacing existing ones. - ensure-groups (Fedora): synced with Ubuntu (GID-mismatch handling, no groupadd failure on restart). - ensure-groups: an unmatched device glob is logged as "No devices match", not as a missing path. - 30-nvidia.sh: library paths use $(uname -m) instead of hard-coded x86_64 (Ubuntu, arm64). - 30-nvidia.sh: the host-nvrtc override runs only if /usr/local/nvidia/lib exists, so gow images no longer abort at startup. - 10-setup_user.sh: creates XDG_RUNTIME_DIR if missing and skips it if unset, instead of aborting. - 10-setup_user.sh: root-owned build leftovers in an unmounted $HOME are chowned to the user. - Steam system-services.sh: shebang is now bash, matching the bashisms it uses. - Debian base-app startup.sh: removed the dead [ -f "$DISPLAY" ] X11-wait block. - Xwayland (Debian base-app): builds the newest stable release of a pinned series (XWAYLAND_SERIES=24.1); release candidates are excluded. - Image file modes: configs and overlays get explicit modes, so a restrictive builder umask can't leave them unreadable (or make /etc 750). - kodi: copies its overlay file by path instead of COPY overlay /. - github_download: fixed the version-header quoting, and the jq filter and output path no longer split on spaces. - Fedora steam wrapper: cd … || exit 1, so tar can't run in the wrong directory. - Steam: mktemp failures are no longer masked by export (assign, then export). - xfce: eval "$(dbus-launch --sh-syntax)" replaces export $(dbus-launch). - Shell scripts: quoting fixed repo-wide; shellcheck reports nothing except SC1090/SC1091. - Smoke harness: assert_version/run_as_user report the real exit code. - Smoke harness: new strict assert_runs, used where exit 0 is expected. - Smoke harness: new check that nothing under /home/retro is root-owned. - bin/gen-moonlight-image: renamed .sh → .py, since it's Python. --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
games-on-whales/gow#329
No description provided.