From 13f9a4cb3983b20cab2b88677f0fb419a2d37180 Mon Sep 17 00:00:00 2001 From: David Young Date: Sat, 6 Jun 2026 05:52:19 -0600 Subject: [PATCH] fix hamclock service --- install.sh | 14 +++++++++----- scripts/hamclock-cleanup.sh | 6 +++--- servicefiles/hamclock.service | 3 ++- 3 files changed, 14 insertions(+), 9 deletions(-) diff --git a/install.sh b/install.sh index 73d7221..f69a394 100755 --- a/install.sh +++ b/install.sh @@ -68,12 +68,16 @@ mkdir -p "$HOME/.local/bin" cp "$HOME/.local/share/HamPackServer/hampackserverrefresh" "$HOME/.local/bin/hampackserverrefresh" cp "$HOME/.local/share/HamPackServer/hampackserverupdate" "$HOME/.local/bin/hampackserverupdate" -mkdir -p "$HOME/.config/systemd/user" mkdir -p "$HOME/.local/share/hamclock" -cp "$HOME/.local/share/HamPackServer/servicefiles/hamclock.service" "$HOME/.config/systemd/user/" -systemctl --user enable hamclock -systemctl --user daemon-reload -systemctl --user restart hamclock +# Remove old user-level service if present +if [ -f "$HOME/.config/systemd/user/hamclock.service" ]; then + systemctl --user disable --now hamclock 2>/dev/null || true + rm "$HOME/.config/systemd/user/hamclock.service" + systemctl --user daemon-reload +fi +sed "s/__HAMCLOCK_USER__/$USER/" "$HOME/.local/share/HamPackServer/servicefiles/hamclock.service" | sudo tee /etc/systemd/system/hamclock.service > /dev/null +sudo systemctl daemon-reload +sudo systemctl enable hamclock bash "$HOME/.local/share/HamPackServer/scripts/hamclock-cleanup.sh" cd ~/.local/share/HamPackServer diff --git a/scripts/hamclock-cleanup.sh b/scripts/hamclock-cleanup.sh index 7f60d31..30586bb 100755 --- a/scripts/hamclock-cleanup.sh +++ b/scripts/hamclock-cleanup.sh @@ -15,7 +15,7 @@ HAMCLOCK_DATA_FILES=( ) echo "Stopping hamclock service..." -systemctl --user stop hamclock 2>/dev/null || true +sudo systemctl stop hamclock 2>/dev/null || true mkdir -p "$NEW_DIR" @@ -27,7 +27,7 @@ for f in "${HAMCLOCK_DATA_FILES[@]}"; do done echo "Reloading hamclock service..." -systemctl --user daemon-reload -systemctl --user restart hamclock +sudo systemctl daemon-reload +sudo systemctl restart hamclock echo "hamclock cleanup done." diff --git a/servicefiles/hamclock.service b/servicefiles/hamclock.service index b3dc934..7be798c 100644 --- a/servicefiles/hamclock.service +++ b/servicefiles/hamclock.service @@ -5,6 +5,7 @@ Wants=network-online.target [Service] Type=simple +User=__HAMCLOCK_USER__ Environment=HOME=%h WorkingDirectory=%h/.local/share/hamclock ExecStart=%h/.local/bin/hamclock -b ohb.hamclock.app:80 @@ -12,4 +13,4 @@ Restart=on-failure RestartSec=5 [Install] -WantedBy=default.target +WantedBy=multi-user.target