commit 1619de6bfd433b6b8a597a4e8b415d3414d450f6
parent b3911a3460dd2198109a71827b28cc4dd8ac1f10
Author: Christian Grothoff <grothoff@gnunet.org>
Date: Fri, 1 May 2026 15:22:15 +0200
misc debian package fixes, should fix #11372
Diffstat:
6 files changed, 22 insertions(+), 10 deletions(-)
diff --git a/debian/rules b/debian/rules
@@ -42,6 +42,7 @@ override_dh_installsystemd:
dh_installsystemd -ptaler-merchant --name=taler-merchant-report-generator --no-start --no-enable
dh_installsystemd -ptaler-merchant --name=taler-merchant-webhook --no-start --no-enable
dh_installsystemd -ptaler-merchant --name=taler-merchant-wirewatch --no-start --no-enable
+ dh_installsystemd -ptaler-merchant --name=taler-merchant-dbinit-gc --no-start --no-enable
dh_installsystemd -ptaler-merchant --name=taler-merchant --no-start --no-enable
# final invocation to generate daemon reload
dh_installsystemd
diff --git a/debian/taler-merchant.postinst b/debian/taler-merchant.postinst
@@ -2,9 +2,10 @@
set -e
-MARKER="/run/taler-merchant/.was-enabled"
+# Use $HOME instead of $TMP to survive reboots with 'bad' timing.
+MARKER="/var/lib/taler-merchant/.was-enabled"
-SERVICES="taler-merchant-depositcheck taler-merchant-exchangekeyupdate taler-merchant-donaukeyupdate taler-merchant-httpd taler-merchant-kychcekc taler-merchant-reconciliation taler-merchant-report-generator taler-merchant-webhook taler-merchant-wirewatch"
+SERVICES="taler-merchant-depositcheck taler-merchant-exchangekeyupdate taler-merchant-donaukeyupdate taler-merchant-httpd taler-merchant-kyccheck taler-merchant-reconciliation taler-merchant-report-generator taler-merchant-webhook taler-merchant-wirewatch"
if [ -d /run/systemd/system ];
then
@@ -14,7 +15,7 @@ if [ "$1" = "remove" ];
then
if [ -x "/usr/bin/deb-systemd-helper" ];
then
- for SERVICE in "$SERVICES"
+ for SERVICE in $SERVICES
do
deb-systemd-helper mask "${SERVICE}.service" >/dev/null || true
done
@@ -26,7 +27,7 @@ if [ "$1" = "purge" ];
then
if [ -x "/usr/bin/deb-systemd-helper" ];
then
- for SERVICE in "$SERVICES"
+ for SERVICE in $SERVICES
do
deb-systemd-helper purge "${SERVICE}.service" >/dev/null || true
deb-systemd-helper unmask "${SERVICE}.service" >/dev/null || true
@@ -69,13 +70,23 @@ configure)
/usr/bin/taler-merchant-dbinit >/dev/null 2>&1 || true
fi
+ # remove manual enables, only the target should be enabled!
+ for s in taler-merchant-httpd taler-merchant-depositcheck \
+ taler-merchant-exchangekeyupdate taler-merchant-donaukeyupdate \
+ taler-merchant-kyccheck taler-merchant-reconciliation \
+ taler-merchant-report-generator taler-merchant-webhook \
+ taler-merchant-wirewatch;
+ do
+ deb-systemd-helper disable "${s}.service" >/dev/null || true
+ done
+
if [ -f "$MARKER" ] && grep -q "enabled" "$MARKER";
then
- echo "taler-merchant-httpd was previously enabled, running DB config."
+ echo "taler-merchant-httpd was previously enabled, running DB config."
- systemctl enable --now taler-merchant.target || true
+ systemctl enable --now taler-merchant.target || true
else
- echo "Not enabling or starting Taler merchant services (marker not found or was 'disabled')."
+ echo "Not enabling or starting Taler merchant services (marker not found or was 'disabled')."
fi
# Cleanup marker file
diff --git a/debian/taler-merchant.taler-merchant-dbinit-gc.timer b/debian/taler-merchant.taler-merchant-dbinit-gc.timer
@@ -1,5 +1,6 @@
[Unit]
Description=Run taler-merchant-dbinit-gc daily
+PartOf=taler-merchant.target
[Timer]
# First time 1h after boot
diff --git a/debian/taler-merchant.taler-merchant-donaukeyupdate.service b/debian/taler-merchant.taler-merchant-donaukeyupdate.service
@@ -1,7 +1,7 @@
[Unit]
Description=GNU Taler merchant donau configuration data download service
After=postgresql.service
-ConditionPathExists=/usr/bin/taler-merchant-donaukeyupdate
+PartOf=taler-merchant.target
[Service]
User=taler-merchant-httpd
diff --git a/debian/taler-merchant.taler-merchant-httpd.service b/debian/taler-merchant.taler-merchant-httpd.service
@@ -18,5 +18,3 @@ StandardOutput=journal
StandardError=journal
EnvironmentFile=-/etc/taler-merchant/secrets/tan-helper-secrets.env
-[Install]
-WantedBy=multi-user.target
diff --git a/debian/taler-merchant.taler-merchant.target b/debian/taler-merchant.taler-merchant.target
@@ -11,6 +11,7 @@ Wants=taler-merchant-reconciliation.service
Wants=taler-merchant-report-generator.service
Wants=taler-merchant-webhook.service
Wants=taler-merchant-wirewatch.service
+Wants=taler-merchant-dbinit-gc.timer
[Install]
WantedBy=multi-user.target