summaryrefslogtreecommitdiff
path: root/archsetup
diff options
context:
space:
mode:
authorCraig Jennings <c@cjennings.net>2026-01-23 03:42:19 -0600
committerCraig Jennings <c@cjennings.net>2026-01-23 03:42:19 -0600
commit778fac1178ca38a6b3daa9253095fbbd84e9c5cc (patch)
tree280c2f52881c279c9fbf3f6f56f20226a34c0bb5 /archsetup
parentf482f22512b68e20f5ef1e2c4c848ade7d657183 (diff)
fix(archsetup): fix dbus-broker race condition with sysusers
dbus-broker can start before systemd-sysusers completes, causing it to fail user validation when parsing service files that reference system users like geoclue. Add a drop-in to ensure sysusers runs first.
Diffstat (limited to 'archsetup')
-rwxr-xr-xarchsetup8
1 files changed, 8 insertions, 0 deletions
diff --git a/archsetup b/archsetup
index 4b6b63a..c116e3f 100755
--- a/archsetup
+++ b/archsetup
@@ -922,6 +922,14 @@ EOF
action="enabling geoclue geolocation service" && display "task" "$action"
systemctl enable geoclue.service >> "$logfile" 2>&1 || error "error" "$action" "$?"
+ # Fix dbus-broker race condition with sysusers (geoclue user must exist before dbus parses service files)
+ action="configuring dbus-broker to wait for sysusers" && display "task" "$action"
+ mkdir -p /etc/systemd/system/dbus-broker.service.d
+ cat > /etc/systemd/system/dbus-broker.service.d/after-sysusers.conf << 'EOF'
+[Unit]
+After=systemd-sysusers.service
+EOF
+
# Job Scheduling
display "subtitle" "Job Scheduling"