Cleanup repo + harden offline install and watchdog
Repo hygiene: - Remove dead scripts (.wait-for-display, .display-keepalive, .keep-screen-alive) - Remove stale backup/scratch (install.sh.bak, New.txt, stale .pyc) - Stop tracking machine-specific/generated state (config/app_config.json, playlists/server_playlist.json, src/player_auth.json, generated launchers) - Prune duplicate wheel versions (one per package) - Reorganize working_files -> dev/, dev/tests/, documentation/dev-notes/, scripts/ - Extend .gitignore; fix no-op rules in repo/.gitignore Offline install (install.sh): - Non-fatal system-dep step; per-package apt retry; .deb bundle install - Skip pip self-upgrade offline; guard online fallbacks behind connectivity probe - Dependency-free fetch_url (curl/wget/urllib); --no-reboot flag - Fix corrupted literal backslash-bang escapes (shebangs, test -f, banner) - Idempotent cron install (no more stacked @reboot lines) Autostart / watchdog: - start.sh: single-instance flock lock (.player_watchdog.lock) acquired only after a display is confirmed, preventing parallel watchdogs - Set XDG_RUNTIME_DIR when missing; exit early if headless - run_player.sh: activate .venv; stop_player.sh: clear lock file
This commit is contained in:
+10
-6
@@ -1,6 +1,10 @@
|
||||
# Ignore downloaded packages but keep directory structure
|
||||
repo/python-wheels/*.whl
|
||||
repo/python-wheels/*.tar.gz
|
||||
repo/system-packages/debs/
|
||||
!repo/python-wheels/.gitkeep
|
||||
!repo/system-packages/.gitkeep
|
||||
# Patterns are relative to THIS file (the repo/ folder), so no "repo/" prefix.
|
||||
# (The previous patterns used a "repo/" prefix and therefore never matched.)
|
||||
|
||||
# Downloaded system .deb bundles are large and optional.
|
||||
# Fetch on demand with: bash scripts/download_deb_packages.sh
|
||||
# They are intentionally NOT committed.
|
||||
system-packages/debs/
|
||||
|
||||
# NOTE: Python wheels under python-wheels/ ARE committed on purpose, so that a
|
||||
# plain `git clone` ships a complete offline install bundle.
|
||||
|
||||
+10
-8
@@ -13,21 +13,23 @@ The installer script (`install.sh`) will automatically use this repo folder if a
|
||||
|
||||
### To populate this folder for offline installation:
|
||||
|
||||
Run the download script from the project root:
|
||||
Run the download scripts from the project root:
|
||||
```bash
|
||||
bash download_offline_packages.sh
|
||||
bash scripts/download_offline_packages.sh
|
||||
bash scripts/download_deb_packages.sh
|
||||
```
|
||||
|
||||
This will download all necessary Python wheels and document system packages.
|
||||
This will download all necessary Python wheels and system .deb packages.
|
||||
|
||||
## Contents
|
||||
|
||||
### Python Packages
|
||||
- kivy==2.1.0
|
||||
- requests==2.32.4
|
||||
### Python Packages (see requirements.txt for the source of truth)
|
||||
- kivy==2.3.1
|
||||
- requests==2.34.2
|
||||
- bcrypt==4.2.1
|
||||
- aiohttp==3.9.1
|
||||
- asyncio==3.4.3
|
||||
- aiohttp==3.11.16
|
||||
- ffpyplayer==4.5.3
|
||||
- evdev==1.9.1
|
||||
- All dependencies
|
||||
|
||||
### System Packages (APT)
|
||||
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Reference in New Issue
Block a user