systemd/systemd-services: add generator to set user for plasma-mobile service

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7057>
This commit is contained in:
Clayton Craft 2025-08-09 10:14:13 -07:00 committed by The Friendly Merge Bot
parent d5fc83b7af
commit c4e1b0d448
No known key found for this signature in database
2 changed files with 37 additions and 2 deletions

View file

@ -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

View file

@ -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