Commit Graph
479 Commits
Author SHA1 Message Date
Clayton Craft d752a57ce2 systemd: udev: explicitly depend on kmod-lib
This fixes an issue where the mkosi-generated initrd fails to load udev
because libkmod is not installed when systemd-udevd is installed.

For pmOS installs/initramfs stuff, this change should be a no-op,
libkmod is already pulled in by other things and our initramfs config
includes the library manually.

[ci:skip-build]: already built successfully in CI

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7079>
2025-09-25 16:15:49 +00:00
Jens Reidel acae9b289f systemd/systemd-services: let hexagonrpcd guess the firmware directory
Signed-off-by: Jens Reidel <adrian@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6966>
2025-09-25 01:06:35 +02:00
Markus Göllnitz 3253af8cdb {temp,systemd}/gnome-shell-mobile: backport GIRepository 2.0 patches for GJS >= 1.85.90 support
GJS 1.86 was released with a port from
libgirepository-1.0 to libgirepository-2.0. That port
requires changes in gnome-shell. However, for now, there
is no gnome-shell-mobile based on 49, so as a hot fix,
this is a backport of those patches only.

Without these, the GNOME Shell will not even get beyond
main.js and as such is unusable even for gdm.

Signed-off-by: Markus Göllnitz <camelcasenick@bewares.it>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7061>
2025-09-18 20:46:16 +00:00
Achill Gilgenast 043389df82 systemd/gnome-shell: disable riscv64 temporarily
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7051>
2025-09-17 07:18:17 +00:00
Achill Gilgenast aff18515ad systemd/mutter: upgrade to 49.0
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7051>
2025-09-17 07:18:17 +00:00
Achill Gilgenast 1dc84bc727 systemd/gnome-shell-mobile: rebuild with gjs 1.85
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7051>
2025-09-17 07:18:17 +00:00
Achill Gilgenast 26609fb910 systemd/gnome-shell: upgrade to 49.0
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7051>
2025-09-17 07:18:17 +00:00
Clayton Craft 4f29f7a07e systemd/postmarketos-base-systemd: add missing preset config
The trigger runs `systemctl preset cups.service`, but then if it runs
preset on the other two *afterwards* it will disable them (because no
explicit preset and we default to disable). This helps ensure they're
kept enabled.

The same seems to also happen for NetworkManager-wait-online and the
other things here, leading to them being accidentally disabled.

This also removes cups.service, it should be socket-activatable now that
cups.socket is enabled.

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7029>
2025-09-16 13:37:11 -07:00
Achill Gilgenast 44204bed8d systemd/networkmanager: upgrade to 1.54.1
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7052>
2025-09-16 19:41:12 +00:00
Devin Lin 319c674ec9 systemd/drkonqi: Add gdb as dependency as well as needed python deps
GDB is needed, otherwise we can't send crash reports because it's unable to use any
debugger. elfutils is needed for eu-elflint used in the preamble.

Move the Python dependencies from checkdepends to depends because they
are also necessary for drkonqi during use.

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7049>
2025-09-16 19:08:15 +00:00
Bart Ribbers c5501fc501 systemd/plasma*: upgrade to 6.4.5
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7041>
2025-09-15 11:56:01 +00:00
Devin Lin 9f2902ed95 postmarketos-base-systemd: Enable drkonqi
Enable necessary services for drkonqi on Plasma, see: https://invent.kde.org/plasma/drkonqi/-/blob/master/README.md?ref_type=heads

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7039>
2025-09-14 00:00:15 +00:00
Clayton Craft df8113b676 systemd/pipewire: upgade to 1.4.8
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7036>
2025-09-12 16:32:51 +00:00
Clayton Craft ec97533995 systemd/cups: upgrade to 2.4.13
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7036>
2025-09-12 16:32:51 +00:00
Achill Gilgenast 55e34126a2 systemd/gnome-logs: upgrade to 49.0
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7035>
2025-09-12 16:30:27 +00:00
Clayton Craft a8f9ec7f58 systemd/systemd-services: add generator for tinydm
Fixes #3897

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6903>
2025-09-12 13:51:17 +02:00
Henrik Grimler d2d455f8a4 extra-repos/systemd: add transmission-daemon service
Based on service script in transmission's repo [1], but with Type
changed to simple as alpine's transmission is built without sd_notify.

[1] https://github.com/transmission/transmission/blob/main/daemon/transmission-daemon.service.in

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7016>
2025-09-10 10:06:39 +02:00
Clayton Craft 2a4d4f8b61 systemd/postmarketos-base-systemd: fix handling of added and removed units in trigger
Apparently the eval trick doesn't work for passing vars if the var to
set is the same as the var for the value, in this case the caller of
this function was using `added_paths` and `removed_paths`. Shell scripts
suck.

This was missed in the tests because the unit tests call
trigger_unit_presets directly.

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7025>
2025-09-09 17:19:47 +00:00
Markus Göllnitz 5c01db2b90 systemd/systemd-services: add vnstat service
Monitoring the network usage due to mobile connections
being metred is probably interesting to more users.

vnstat is also the basis for Usage's optional network
view.

Signed-off-by: Markus Göllnitz <camelcasenick@bewares.it>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7001>
2025-09-09 18:29:17 +02:00
Clayton Craft aed388ea63 systemd/cups: disable examples / ipptool on all archs
Apparently this fails on other archs when cross compiling, not just
riscv64. I hit it locally when building x86_64 on aarch64. bpo is
hitting it when trying to build aarch64 on x86_64. This is kinda of a
big hammer, but I think we'll be able to drop this cups fork when abuild
systemd split func support is upstreamed, and bpo is currently blocked
trying to build changes to support our effort to upstream that abuild
patch.

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7023>
2025-09-09 14:46:02 +00:00
Clayton Craft ef97fd8c60 systemd/cups: disable examples on riscv64
Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6892

[ci:skip-build]: already built successfully in CI
2025-09-08 07:33:54 -07:00
Clayton Craft 469aae3436 postmarketos-base-systemd: rework unit preset, reload/restart, and cleanup handling
This reworks the preset, reload/restart, and cleanup handling and moves
it from a (proposed [1]) abuild patch that would generate install
scripts for every -systemd package to a series of commit hooks and
a trigger that would exist in this package. This was made
possible by using `treescan`, which quickly[2] recursively scans
/usr/lib/systemd and allows the commit hook and trigger to diff units
before and after an install or uninstall transaction.

I chose to put the trigger and commit hook in pmos-base-systemd instead
of the systemd package because:

1) It's annoying to have to rebuild systemd just to update the logic in
   this script. Rebuilding this package is MUCH faster (nothing to
   compile)

2) IF the systemd package moves elsewhere (i.e. out of pmaports), it's
   unclear if this preset stuff would follow it, and it's safer for us to
   keep it separate so know it's always being included in pmOS+systemd
   installs. It can always be moved later if we decide to.

More info on how the three situations are handled by this patch:

Presets: Pre-commit hook captures current unit file list (using
treescan) before changes, then the trigger on /usr/lib/systemd/system
captures (using treescan) the state after changes and diffs them. It
picks out only unit files that were added, and runs systemctl preset to
apply any preset config that might exist for them.

Reload/restart: This relies on manual post-upgrade scripts in packages
that need it. post-upgrade scripts should mark units with systemctl
set-property ... Markers=+needs-reload/restart. Actual reload/restart
handled by the existing systemd.trigger that queries these markers...
This is going to be a bit annoying for package maintainers[3], but I
don't think many packages will *need* this. As of today, there are 0
packages explicitly requesting reload/restart on upgrade. This also
means there will be no automatic detection of whether a unit should be
reloaded/restarted. AFAIK Fedora doesn't support this, packages have to
explicitly request a reload or restart.

Cleanup: The pre-commit hook uses treescan to capture systemd unit
directory state before transactions and the trigger identifies removed
units (using treescan + diff). It then finds broken symlinks in
/etc/systemd/ that point to any newly removed unit files from the
transaction, and removes only them.

Benefits:

- Simple abuild patch for -systemd split func

- Uses existing APK mechanisms (commit hooks, triggers). Hooks can see
  before/after transaction state for cleanup.

- Logic updates don't require rebuilding all packages.

Tradeoffs:

- Requires additional per-package complexity to support
  reload/restart functionality.

- Moves unit discovery/parsing for preset and cleanup from build-time to
  runtime (every device does this work vs. once at build)

- Package behavior varies based on installed trigger/hook
  versions rather than being deterministic per package version.

- There's a (tiny) risk of some operations being race-y, e.g. if the
  user is actively enabling/disabling/adding unit files between apk
  running the pre-commit hook and the trigger firing... It seems
  unlikely this will cause issues, but 🤷‍♂️

1. https://gitlab.alpinelinux.org/alpine/abuild/-/merge_requests/394

2. I used hyperfine to measure performance of treescan on my laptop,
with lots of units installed, and it was ~20ms without disk caching

3. A post-upgrade that would mark a unit for reload might look like
this:

```
if [ -d "/run/systemd/system" ]; then
	echo "Marking sshd.service for reload..."
	systemctl set-property sshd.service Markers=+needs-reload
fi
```

Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6892
2025-09-08 07:33:54 -07:00
Clayton Craft 00a242b4e8 systemd/systemd: don't use old systemd_install_script logic
This also removes an old macro file that was left over from one of the
many previous attempts to integrate preset support...

Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6892
2025-09-08 07:33:53 -07:00
Clayton Craft e63c70b6e8 Rebuild -systemd subpkgs
These packages were previously built by a WIP abuild patch that added
install scripts to each -systemd subpkg for handling preset application
on install and symlink cleanup on uninstall. This functionality has been
replaced by a trigger/commit hook, so we need to rebuild these packages
to drop the install scripts that were previously generated.

[ci:ignore-count]

Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6892
2025-09-08 07:33:53 -07:00
Achill Gilgenast e9287975cb systemd/wireplumber: upgrade to 0.5.11
https://gitlab.alpinelinux.org/alpine/aports/-/commit/71031e8a344b98717fa73d02c6b9aa0026120fe7

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7013>
2025-09-08 01:54:28 +00:00
Achill Gilgenast 98c29cb62c systemd/upower: upgrade to 1.90.10
https://gitlab.alpinelinux.org/alpine/aports/-/commit/b8086774af77dd3e1ab509ff0485676a124c17a7

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7013>
2025-09-08 01:54:28 +00:00
Achill Gilgenast 6d7abb22e1 systemd/sddm: fix license
https://gitlab.alpinelinux.org/alpine/aports/-/commit/1cfd94a70fea7a2edf6fbe23a073a99305add7a0

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7013>
2025-09-08 01:54:28 +00:00
Achill Gilgenast 3a50ffa5d4 systemd/gnome-desktop: upgrade to 44.4
https://gitlab.alpinelinux.org/alpine/aports/-/commit/8bb7b7b7bb981ee0e0a3b52d1291ecb245915602

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7013>
2025-09-08 01:54:28 +00:00
Dylan Van Assche 15dbb835b0 systemd/systemd-services: add RuntimeDirectory and StateDirectory for nginx
RuntimeDirectory and StateDirectory are required for NGINX to operate out-of-the-box.

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7008>
2025-09-07 18:02:26 +00:00
Henrik Grimler 436d44c8e6 systemd/systemd-services: add apache service
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6996>
2025-09-03 13:53:00 +00:00
Biswapriyo Nath 895506a5c0 systemd/dsme: upgrade to 0.84.7
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6957>
2025-09-01 18:54:19 +00:00
Jane Rachinger ae2143c971 systemd/systemd{,-stage0}: upgrade to 257.8
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6920>
2025-08-29 16:30:50 +00:00
Jens Reidel 91a20b30b6 systemd/systemd-services: make iio-sensor-proxy depend on all hexagonrpcd services
This is harmless if the services don't exist (because of Wants instead
of Requires) and applies the correct ordering for devices with
hexagonrpcd and no sdsp.

Signed-off-by: Jens Reidel <adrian@travitia.xyz>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6960>
2025-08-22 11:31:21 +00:00
Biswapriyo Nath 0326bcea42 systemd/kjournald: Add missing qt6 build dependency
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6954>
2025-08-21 16:10:37 +00:00
Alexey Minnekhanov 29025ea0f8 systemd/systemd-services: fix rmtfs service dependencies
Fixes service shutdown order on device shutdown/reboot.
Basically you can't shutdown rmtfs before Wi-Fi is shut down, due to
how remote processors are involved in this on qcom platforms.
If modem is powered off, all attepts to communicate with Wi-Fi
firmware are nonsense and this hangs device on shutdown/reboot
or send it to crashdump mode.

Openrc sercice already has the correct dependency.

Fixes: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/issues/3936

For more details, see upstream PR: https://github.com/linux-msm/rmtfs/pull/24

We can safely replace the `Before=msm-modem-uim-selection.service` line
because msm-modem-uim-selection already has its own deps specified in its
own service file.

Signed-off-by: Alexey Minnekhanov <alexeymin@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6956>
2025-08-21 15:46:29 +00:00
Clayton Craft a31e5d40b0 systemd/qemu-binfmt: new aport
This could be folded into aports/qemu.. but I'm not sure if
they'd accept it since the path these install to seems(?) to be
systemd-specific? Once there's -systemd split pkg support in abuild,
then maybe it'll make sense to move this to aports.

fixes #3394

Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6950
[ci:skip-build]: already built successfully in CI
2025-08-19 10:34:57 -07:00
Oliver Smith ff77857739 systemd/drkonqi: upgrade to 6.4.4
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6945>
2025-08-17 20:23:53 +02:00
Tomasz Duda 97d391b2e7 systemd/systemd-services: add system-watchdog-kick.service
Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6883
2025-08-17 12:47:56 -04:00
Oliver Smith 8c823bc6ce systemd/plasma-workspace: upgrade to 6.4.4
[ci:skip-build]: CI has passed for all arches, but armv7 and riscv64. It
has already been doing these for 3 hours and would probably take another
3h to complete... seems unlikely that it will fail here from past
experience, so I'll just skip these here as this will fix a lot of
errors.

Related: https://gitlab.alpinelinux.org/alpine/aports/-/commit/715fc4ee47defccc2187b542dc77481c90a02c0a
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6931>
2025-08-17 16:14:54 +00:00
Oliver Smith c3e234a128 systemd/kwin: upgrade to 6.4.4
Related: https://gitlab.alpinelinux.org/alpine/aports/-/commit/715fc4ee47defccc2187b542dc77481c90a02c0a
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6931>
2025-08-17 16:14:54 +00:00
Oliver Smith 0d07c43771 systemd/kscreenlocker: upgrade to 6.4.4
Related: https://gitlab.alpinelinux.org/alpine/aports/-/commit/715fc4ee47defccc2187b542dc77481c90a02c0a
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6931>
2025-08-17 16:14:54 +00:00
Jens Reidel 090f511837 systemd/systemd-services: only start q6voiced if config exists
Signed-off-by: Jens Reidel <adrian@travitia.xyz>
[ci:skip-build]: already built successfully in CI

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6927>
2025-08-17 01:31:46 +02:00
Sicelo A. Mhlongo add7b4b13d systemd/postmarketos-base-systemd: enable N900's wl1251-cal service
Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6932
2025-08-16 14:22:12 -04:00
Oliver Smith e0e550ee92 treewide: rebuild against libdisplay-info-0.3.0
Fix failures seen in upstream-compat:

  +     'cmd:gdctl (x86_64): missing dep so:libdisplay-info.so.2',
  +     'cmd:mutter (x86_64): missing dep so:libdisplay-info.so.2',
  +     'mutter (x86_64): missing dep so:libdisplay-info.so.2',
  +     'mutter-mobile (x86_64): missing dep so:libdisplay-info.so.2',
  +     'so:libmutter-16.so.0 (x86_64): missing dep so:libdisplay-info.so.2',
  +     'so:libmutter-clutter-16.so.0 (x86_64): missing dep '
  +     'so:libdisplay-info.so.2',
  +     'so:libmutter-cogl-16.so.0 (x86_64): missing dep so:libdisplay-info.so.2',
  +     'so:libmutter-mtk-16.so.0 (x86_64): missing dep so:libdisplay-info.so.2',

Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6929
2025-08-16 12:22:07 -04:00
Achill Gilgenast 7ebb24dc74 systemd/systemd-services: add user-xdg-desktop-portal-phrosh.service
Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6912

[ci:skip-build]: already built successfully in CI
2025-08-15 16:05:54 +02:00
Achill Gilgenast 26678f44a0 systemd/phosh: upgrade to 0.49.0
https://gitlab.gnome.org/World/Phosh/phosh/-/blob/v0.49.0/NEWS

Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6912
2025-08-15 16:05:52 +02:00
Oliver Smith 4b0b332191 systemd/networkmanager: disable lto for armv7
Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6874
2025-08-15 13:52:32 +02:00
fossdd ff057004b9 systemd/networkmanager: upgrade to 1.54.0
https://gitlab.alpinelinux.org/alpine/aports/-/commit/3e32f5d44411c607b89078bd3854a9d3fb468012

Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6874
2025-08-15 13:47:46 +02:00
Vasiliy Doylov 2c04e1c2d3 systemd/systemd-services: add speakersafetyd.service
Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6923
2025-08-14 13:23:43 +03:00
Bart Ribbers b106bcdd49 systemd/plasma*: enable on armv7
It was disabled in aa765f7fd9 due to build
issues which have since been resolved.

Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6842

[ci:skip-vercheck]
[ci:skip-build]: CI times out building this (>10hrs), builds fine locally
2025-08-14 12:43:50 +03:00