From 397a67329b23b7ac85a4548782c95a71fcc81aa0 Mon Sep 17 00:00:00 2001 From: Sunil Mohan Adapa Date: Fri, 26 Sep 2025 15:46:55 -0700 Subject: [PATCH] debian: Stop privileged service during upgrade or removal - The privileged service will stop by itself if left idle for 5 minutes. However, if someone is viewing a reloading page such as during manual software update, the privileged service is never idle. - When freedombox package is updated to a newer version, the old version of privileged daemon could run for a long time but newer version of freedombox service might be running by then. This would cause protocol mismatch problems (unless backwards compatibility is provided which is unnecessarily hard). - Adding PartOf=.socket in .service file means that if .socket unit is stopped or restarted, the .service unit will be stopped or restarted too. We still don't want the dh_installsystemd script to be starting the .service unit, so this is ideal. Tests: - During fresh install of freedombox package, freedombox-privilged.socket is started but freedombox-privileged.service is not. It is started due to socket activation (as seen in journal logs of privileged daemon). - During removal of freedombox package, .service is stopped when .socket unit is stopped. - During reinstall of freedombox package, .service is restarted when .socket unit is restarted. Signed-off-by: Sunil Mohan Adapa Reviewed-by: Veiko Aasa --- data/usr/lib/systemd/system/freedombox-privileged.service | 2 ++ 1 file changed, 2 insertions(+) diff --git a/data/usr/lib/systemd/system/freedombox-privileged.service b/data/usr/lib/systemd/system/freedombox-privileged.service index fe255c94c..68aaebda8 100644 --- a/data/usr/lib/systemd/system/freedombox-privileged.service +++ b/data/usr/lib/systemd/system/freedombox-privileged.service @@ -5,6 +5,8 @@ Description=FreedomBox Privileged Service Documentation=https://wiki.debian.org/FreedomBox/ # Don't hit the start rate limiting. StartLimitIntervalSec=0 +# Stop/restart along with .socket unit (invoked from dpkg scripts). +PartOf=freedombox-privileged.socket [Service] Type=notify