From c4e1b0d44830c1d4027c1cd9b2bb884cc42b2325 Mon Sep 17 00:00:00 2001 From: Clayton Craft Date: Sat, 9 Aug 2025 10:14:13 -0700 Subject: [PATCH] systemd/systemd-services: add generator to set user for plasma-mobile service Part-of: --- extra-repos/systemd/systemd-services/APKBUILD | 5 +-- ...tem-generators-plasma-mobile-user-override | 34 +++++++++++++++++++ 2 files changed, 37 insertions(+), 2 deletions(-) create mode 100644 extra-repos/systemd/systemd-services/system-generators-plasma-mobile-user-override diff --git a/extra-repos/systemd/systemd-services/APKBUILD b/extra-repos/systemd/systemd-services/APKBUILD index 0435fb4fd..eb8aa387d 100644 --- a/extra-repos/systemd/systemd-services/APKBUILD +++ b/extra-repos/systemd/systemd-services/APKBUILD @@ -7,7 +7,7 @@ # How to add a new service file (5 steps): pkgname=systemd-services # 1. bump pkgver -pkgver=96 +pkgver=97 pkgrel=0 pkgdesc="Systemd service files" url="https://postmarketos.org" @@ -208,7 +208,7 @@ _openssh_server_pam_sources=" sysusers.d/sshd.conf " _pd_mapper_sources="system/pd-mapper.service" -_plasma_mobile_sources="system/plasma-mobile.service" +_plasma_mobile_sources="system/plasma-mobile.service system-generators/plasma-mobile-user-override" _polkit_kde_agent_1_sources="user/plasma-polkit-agent.service" # From https://invent.kde.org/plasma/polkit-kde-agent-1/-/blob/master/plasma-polkit-agent.service.in _power_profiles_daemon_sources="system/power-profiles-daemon.service" # From https://gitlab.freedesktop.org/upower/power-profiles-daemon/-/blob/main/data/power-profiles-daemon.service.in _powerdevil_sources="user/plasma-powerdevil.service" # From https://invent.kde.org/plasma/powerdevil/-/blob/master/daemon/plasma-powerdevil.service.in @@ -490,6 +490,7 @@ c0badea3905c1d53d213fbfe11d25b556a2e484fe77eb50e9f4d42e25b67b56a0804e7d8e1b7731c 4a6d716a907a730675505bfc4ac38598f9c4e7d962fa9cdeea51dbbaa6afec80d1b82b98627c37c164dc5cdcc7f68118104e3adb73d985f32a24f1941766c5af sysusers.d-sshd.conf 0bed9a8a719661609ad84d1c6fcdf2fe9213e741682b7ddebad82d9744f137c593788ed522868f10b95b599d81743d07ec3212630a7e99d333261dfa1bf1cc11 system-pd-mapper.service e12d8e98e28a795f879aebcceb32a991ee4abcb3bc5ec458aa5378bb52ff86cf39be04bc4a196925f532d623304b3005f561fa5e55d1c87944d718058ec4c0e6 system-plasma-mobile.service +e726c2850024cd9f8c009b8748b3b58a78cfc7eaa1633ab03e7ba3df1a65cfa99d3dd54dfc99b6df2be6821da80a719e827e965d85052be22e3c5b4620feb37d system-generators-plasma-mobile-user-override ebd194aad645a836ba2b51bfcebd7f78a8ec703e62dd7a7e85343df4f7b60e99abfebd6de12e540e4be24e9079aee0b8ea450e5169ce9ee97e44d0b370013a07 user-plasma-polkit-agent.service 95a6acdc58b2ca13a92c62a36e455da9007443798c48a614a2154669de9a73e176b2f92124716f919f0088ba5b5bc4ae679138babf2c41f6e02c6a26af2da46a system-power-profiles-daemon.service 9f9392a2f9f72791c96179cf6e22e39e9c2f0e2dd3016e32143a68f871bd0ab506936f3372af0714330099888c877e7fe940102c862aa447d3e2758d9e00d046 user-plasma-powerdevil.service diff --git a/extra-repos/systemd/systemd-services/system-generators-plasma-mobile-user-override b/extra-repos/systemd/systemd-services/system-generators-plasma-mobile-user-override new file mode 100644 index 000000000..1d73dc5fa --- /dev/null +++ b/extra-repos/systemd/systemd-services/system-generators-plasma-mobile-user-override @@ -0,0 +1,34 @@ +#!/bin/sh +# plasma-mobile user override generator + +set -e + +# Generator arguments +normal_dir="$1" +early_dir="$2" +late_dir="$3" + +user_file="/etc/default_user" +service_name="plasma-mobile.service" +override_dir="$normal_dir/$service_name.d" + +# Read username +if [ -f "$user_file" ]; then + username=$(cat "$user_file") + user_uid=$(id -u "$username" 2>/dev/null || echo "10000") + user_gid=$(id -g "$username" 2>/dev/null || echo "10000") +else + # Fallback for mutable installs + user_uid="10000" + user_gid="10000" +fi + +# Create override directory +mkdir -p "$override_dir" + +# Generate override +cat > "$override_dir/10-user.conf" << EOF +[Service] +User=$user_uid +Group=$user_gid +EOF