Commit Graph
100 Commits
Author SHA1 Message Date
Clayton Craft 369c5ac3b6 extra-repos/systemd: backport timesyncd DNSSEC NTP fix
43380.patch was merged upstream but is not yet in a release. The other
two patches are implicit dependencies of this patch and had to be
backported as well. They move json parsing into shared code and switch
resolvectl's query path to use varlink. They are large, but *seem* low
risk.

Fixes #4831

Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/9416>
2026-08-22 23:47:32 +00:00
Clayton Craft 434e7af46d linux-postmarketos-asahi: upgrade to 7.1.9-1
Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/9422>
2026-08-21 12:33:17 -07:00
Clayton Craft b312746aaf linux-postmarketos-asahi: upgrade to 7.1.8-1
Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/9381>
2026-08-17 03:43:13 +00:00
Clayton Craft 3f4c42c462 main/postmarketos-duranium: always run sd-sysuser on boot
This ensures that sysusers conf changes are always applied when booting
an update. This is functionally the same as what we do in mutable pmos,
where apk runs systemd.trigger that runs sd-sysusers if new sysusers
conf is added/modified on an existing install.

Fixes #4829

Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/9374>
2026-08-14 00:54:18 +00:00
Clayton Craft 84c64b5df7 main/postmarketos-initramfs: don't start unudhcpd if usb net wasn't set up
This fixes an issue where unudhcpd was being started in the initramfs
when a device does not use usb networking

Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/9371>
2026-08-12 14:29:19 +00:00
Clayton Craft 7ce6867c13 kconfig-generic: enable intel_idle
Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/9352>
2026-08-09 09:29:36 -07:00
Clayton Craft ffd6ccdfcb kconfig-generic: enable audio driver for some intel macbooks
Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/9340>
2026-08-08 20:05:15 +00:00
Clayton Craft 0fbc8f4c3f systemd/postmarketos-base-systemd: depend on systemd-resolved
Some reasons why I think we want to use resolved by default:

- split DNS support (e.g. for VPNs)
- DNS caching
- roaming (switching between wifi, cell, etc) is handled better since DNS
  is tracked per link and the cache is flushed on config changes, so
  there are no stale DNS answers when a device switches
- allows users to easily enable dnssec and DoT (even if we aren't
  enabling these by deafult right now)

Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/9109>
2026-08-08 20:02:10 +00:00
Clayton Craft 2b05e6da6b systemd/postmarketos-base-systemd: symlink resolv.conf to resolved stub
This logic is "borrowed" from Fedora, and replaces /etc/resolv.conf with
a symlink to the systemd-resolved stub. Fedora does this from an install
script, but that doesn't work for image-based installs since those never
run install scripts on the device, and /etc persists across updates.
I've also seen cases in testing where the symlink was removed by e.g.
accidentally running resolvconf or something similar. So
this runs from a oneshot unit at boot instead, which is ordered before
network-pre.target so NetworkManager doesn't get there first. The old
resolved.post-install script is dropped since the unit covers both cases.

There are some conditions where resolv.conf is **not** replaced:

- when resolv.conf is already a symlink
- when systemd-resolved isn't enabled
- when its stub listener is disabled (via DNSStubListener= in config)
- when systemd isn't running, since resolved isn't either and replacing
  resolv.conf would just break dns (e.g. when running the unit's script
  by hand)
- when resolv.conf is a bind mount (e.g. in a chroot or container)

This assumes that if a user/sys admin wants to hand-roll their own
resolv.conf, that they either disable the systemd-resolved unit or
disable the stub listener in config if they want to use foreign mode.

The resolved drop-ins are also renamed with a 10- prefix, to match the
numbering ranges UAPI.6 recommends for vendor config in /usr.

Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/9109>
2026-08-08 20:02:10 +00:00
Clayton Craft 8d1d955d5e kconfig-generic: enable broadcom softmac wifi driver
Used by one of my intel macbooks

Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/9329>
2026-08-07 09:19:08 +00:00
Clayton Craft 6f56efd304 kconfig-generic: enable Apple USB BCM5974 touchpad driver
used by one of my intel macbooks

Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/9330>
2026-08-06 16:36:16 -07:00
Clayton Craft 3bacb837a9 linux-postmarketos-asahi: upgrade to 7.1.6
Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/9260>
2026-08-06 00:23:12 +00:00
Clayton Craft bf92f55a5a systemd/postmarketos-base-systemd: add preset for routewrangler
Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/9005>
2026-08-05 11:02:07 -07:00
Clayton Craft 243e1d0b9b main/postmarketos-base-ui: install routewrangler when using NM
This configures it to exclude modems by default (by setting their
route-tables to routewrangler's special table 1430), fixes #1430

Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/9005>
2026-08-05 11:01:57 -07:00
Clayton Craft a8cd964e9f main/postmarketos-base-ui: don't use dnsmasq for filtering
This reverts 4b516916dc

Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/9005>
2026-08-05 11:01:57 -07:00
Clayton Craft 12225adbd2 device-valve-jupiter: drop aport
Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8113>
2026-08-05 15:51:45 +00:00
Clayton Craft bbfb0877cc linux-valve-jupiter: drop aport
Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8113>
2026-08-05 15:51:45 +00:00
Clayton Craft 758378e049 systemd/postmarketos-base-systemd: only start unudhcpd when UDC exists
It only makes sense to start unudhcpd when a UDC exists, to prevent
unudhcpd starting when there's e.g. only a physical ethernet device.

Fixes #4802

Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/9243>
2026-08-05 14:26:34 +00:00
Clayton Craft b0953c42d9 ci: add generic kernel check
This runs 'kconfig generate' for all archs that the generic kernels
support in order to make sure that kconfig-generic.toml changes are
valid for everything for the kernels it would apply to. This is meant
to catch kconfig changes that might introduce options that don't exist
on some kernel/arch combos or that might be missing other kconfig
dependencies.

Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/9250>
2026-08-05 13:20:24 +00:00
Clayton Craft c607a9c89b kconfig-generic: enable a bunch of wifi drivers
It seems like a good idea to just enable all of these at once instead of
piecemeal as users run into nonfunctional wifi on their devices using the
generic kernels.

Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/9233>
2026-08-05 03:12:58 +00:00
Clayton Craft 76faf7a319 main/boot-deploy: upgrade to 0.24.0
changelog: https://gitlab.postmarketos.org/postmarketOS/boot-deploy/-/tags/0.24.0

Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/9230>
2026-08-03 19:20:36 +00:00
Clayton Craft 6f1ed96043 main/postmarketos-ui-*: drop explicit dependency on dnsmasq
This is pulled in by pmos-base-ui-networkmanager when needed and having
explicit dependencies in these UI metapackages is unnecessary

Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/9108>
2026-08-03 18:17:27 +00:00
Clayton Craft b8c5f52258 main/postmarketos-ui-plasma-desktop: add k3b to pmb_recommends
For #4795

Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
[ci:skip-vercheck]: pmb_recommends change only

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/9167>
2026-07-29 09:20:40 -07:00
Clayton Craft 50e2aae5a4 device-generic-x86_64: add initramfs modules for steam deck
Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/9162>
2026-07-29 14:02:09 +00:00
Clayton Craft 31b57d33e6 main/postmarketos-usb-moded: install usb-signaller default config
Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/9026>
2026-07-28 22:57:03 +00:00
Clayton Craft 4328119876 main/postmarketos-usb-moded: drop config/units that are shipped upstream
usb-signaller provides these scripts and init services/units

Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/9026>
2026-07-28 22:57:03 +00:00
Clayton Craft 1b20c249cf systemd/postmarketos-base-systemd: fix preset template instance handling
This fixes a bug where template presets with a specified instance were
not being handled. The install script previously parsed the entire line,
including the instance(s) and ran 'systemctl preset' on it all, e.g.
'systemctl preset unudhcpd@.service usb0'.

The script will now:

- detect lines that contain a template + instance(s)
- diff the instances
- run preset on template@instance for all added or removed instances

Template presets that don't have any instances specified in the preset
file (because they have a DefaultInstance= set) are treated just like
any other unit since we can run preset on those and it enables the
template with the default instance.

Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/9026>
2026-07-28 22:57:00 +00:00
Clayton Craft 6d00e47c78 systemd/postmarketos-base-systemd: fix unudhcpd@ preset
According to systemd.preset, which I totally should have read before, we
were not specifying the instance correctly which resulted in this unit
not actually being enabled by default.

Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/9026>
2026-07-28 22:57:00 +00:00
Clayton Craft 3903172aef systemd/postmarketos-base-systemd: drop usb-moded-developer-mode preset
This unit/script shouldn't be run on boot. Mode switching should be
managed by usb-signaller

Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/9026>
2026-07-28 22:56:57 +00:00
Clayton Craft 77a6de8660 docs/generic-kernels: clarify requirements, guidance for adding options
Here are some things I noticed while adding options to generic kconfig,
that I think would have been helpful for me to know ahead of time.

Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/9163>
2026-07-28 11:45:41 -07:00
Clayton Craft 235160c20c kconfig-generic: add kconfig for Steam Deck
This adds support in the generic kernels for Steam Deck:

- Audio
- Wifi (rtw88)
- Ambient light sensor
- Deck controller/FF
- Touchscreen

Options in the new 'platform' category are things that the above drivers
required to be enabled in the kernel. Tested on my LCD Steam Deck.

Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/9161>
2026-07-28 10:01:39 -07:00
Clayton Craft d370a08c49 device-generic-x86_64: switch to pmOS kernels
This also drops some old provides/replaces stuff, which should no longer
be applicable now because this package was renamed like 2 years ago (or more?).

Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8195>
2026-07-27 15:21:45 -07:00
Clayton Craft e95de4e68c linux-postmarketos-asahi: upgrade to 7.1.5-2
Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/9154>
2026-07-27 02:00:06 +00:00
Clayton Craft 8079d33b71 systemd/fwupd: fix compilation on armv7 qemu
Unblocks bpo

Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/9131>
2026-07-25 22:57:03 +00:00
Clayton Craft 1c7ff6bc68 systemd/cups: backport patch to install sysusers config
Upstream cups has support for generating/installing sysuser config but
it's not yet in a release version. Backport the patch to when it gets
into a release, we'll know to drop the patch.

Fixes #4649

Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8875>
2026-07-24 20:16:23 +00:00
Clayton Craft 6b57dc9c72 systemd/fwupd: fork from Alpine to build with systemd support
Unfortunately we can't build fwupd with only unit files, we have to link
against systemd for sd-notify support or else the units probably aren't
going to be properly managed.

Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
[ci:skip-vercheck] pkgver/pkgrel match upstream

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7245>
2026-07-24 18:06:02 +00:00
Clayton Craft 7b4e2925ee main/postmarketos-ui-cosmic: add sound theme to pmb_recommends
[ci:skip-vercheck] pmb_recommends change

Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/9114>
2026-07-24 17:57:15 +00:00
Clayton Craft cb73714c79 main/postmarketos-duranium: use full kmod in initramfs
A recent change in Alpine[1] changed how busybox handled module loading.
Previously, if bb modprobe was called with a compressed module, it would
send it to the kernel to decompress it. Now, bb modprobe just fails.
Using full kmod/modprobe lets us avoid any of these busybox shenanigans.

1. https://gitlab.alpinelinux.org/alpine/aports/-/commit/79180dde2132c2af06346ec4386c8084c8edc1bf

Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/9123>
2026-07-23 21:29:49 -07:00
Clayton Craft b5c961a108 main/pmos-base-ui-gnome-mobile, plamo: add VVM player to pmb_recommends
A previous commit (80411d9120) added vvmd but that's just the daemon and
not the actual GUI/player for VVM. This replaces vvmd with vvmplayer,
the GUI (which depends on vvmd)

Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>

[ci:skip-vercheck] pmb_recommends change

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/9113>
2026-07-23 11:13:47 +00:00
Clayton Craft 80411d9120 main/pmos-base-ui-gnome-mobile, plamo: add vvmd to pmb_recommends
Visual voicemail is a feature some carriers provide and it would be
great to have this installed OOTB in mobile UIs. It's added to
pmb_recommends so it can be removed on mutable installs.

Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>

[ci:skip-vercheck] pmb_recommends change

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/9085>
2026-07-21 07:49:18 +00:00
Clayton Craft 97e1642224 main/postmarketos-mkinitfs: upgrade to 2.11.1
Changelog:

* Fix lzma compression

Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/9090>
2026-07-20 15:46:25 +00:00
Clayton Craft ff24e3ab4c systemd/postmarketos-base-systemd: enable ssh pam inhibit
This enables pam_systemd for sshd sessions and configures it to inhibit
sleep when a session is open.

This config should be upstreamed to aports once support is merged in
systemd: https://github.com/systemd/systemd/pull/42275

Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8672>
2026-07-19 19:51:56 +00:00
Clayton Craft a372a2f2c5 systemd/systemd: backport patch adding inhibit support to pam_systemd
This was merged upstream but won't be in a release until v262

https://github.com/systemd/systemd/pull/42275

Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8672>
2026-07-19 19:51:56 +00:00
Clayton Craft ee60ea5640 main/postmarketos-base-ui: only install sleep-inhibitor on openrc
Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8672>
2026-07-19 19:51:56 +00:00
Clayton Craft e4a8fb375c systemd/postmarketos-base-systemd: remove sleep-inhibitor preset
Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8672>
2026-07-19 19:51:56 +00:00
Clayton Craft 594e361a71 systemd/postmarketos-base-systemd: inhibit sleep when apk is running
This uses some lightweight tools with systemd-inhibit to block sleep and
shutdown when apk is running. This is being installed in a new subpkg
that is pulled in only when apk-tools is installed, so that this is not
installed on duranium.

Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8672>
2026-07-19 19:51:53 +00:00
Clayton Craft 48cfe06d70 main/postmarketos-ui-cosmic: add cosmic-monitor to pmb_recommends
Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>

[ci:skip-vercheck] pmb_recommends change
[ci:skip-build]: pmb_recommends change

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/9022>
2026-07-15 14:53:11 +00:00
Clayton Craft 994ed89373 systemd/systemd: add Ollie as co-maintainer
Fixes #4681

Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
[ci:skip-vercheck]

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/9004>
2026-07-12 13:02:20 -07:00
Clayton Craft 8d0cc81e23 systemd/postmarketos-base-systemd: move install= to top level
Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8993>
2026-07-10 21:44:39 +00:00
Clayton Craft 37e1370ae9 systemd/postmarketos-base-systemd: don't enable time-wait-sync
This removes the other half of the workaround for #3816, that should have been in !8487.

Fixes #4687

This reverts commit 5e435f9669.

Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8993>
2026-07-10 21:44:39 +00:00
Clayton Craft b62ed7c40c linux-postmarketos-qcom-laptop: drop aport
I no longer wish to maintain this, and IIUC devices that use this would
be better off using mainline kernels at this point[1].

1. camera support isn't upstream yet but I have *never* been able to
rely on my x13s's camera even with this kernel so I think it's fine to
wait for proper mainline support

Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8846>
2026-06-20 19:06:18 +00:00
Clayton Craft 1045ec382b main/postmarketos-duranium: work around systemd boot-disk loop regression
systemd commit d8a6258 restricts the boot-disk loop device trigger to
optical drives only, which breaks subpartition discovery devices that
use subpartitioning. This adds a udev rule to restore the loop trigger
for non-optical devices.

Upstream bug: https://github.com/systemd/systemd/issues/42667

Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8865>
2026-06-19 20:42:48 +00:00
Clayton Craft 17214afd71 main/postmarketos-base-ui-plasma: add cups to pmb_recommends
Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>

[ci:skip-vercheck]: pmb_recommends-only change

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8836>
2026-06-18 07:54:18 +00:00
Clayton Craft 64aa98a876 main/postmarketos-base-ui-gnome: add cups to pmb_recommends
Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8836>
2026-06-18 07:54:18 +00:00
Clayton Craft d1d310a503 main/postmarketos-ui-cosmic: move install= from subpkg funcs
Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8836>
2026-06-18 07:54:18 +00:00
Clayton Craft 81f3595800 main/postmarketos-ui-cosmic: add cups to pmb_recommends
Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8836>
2026-06-18 07:54:18 +00:00
Clayton Craft eb81a92aae systemd/systemd: upgrade to 261-rc4
Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8832>
2026-06-17 10:16:34 +00:00
Clayton Craft 51b52fc2cc main/postmarketos-base-ui: revert flatpak hack
Flatpak 1.18 includes a proper fix[1] for #3816, so we can revert this
hack that delayed starting the helper until ntp was available. This also
means that boot will now be marked 'complete' in systemd before NTP is
up, which was a weird side-effect of this hack.

This reverts commit 96d714f167.

Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>

1. https://patch-diff.githubusercontent.com/raw/flatpak/flatpak/pull/6547.patch

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8487>
2026-06-17 09:58:58 +02:00
Clayton Craft b04820297c linux-postmarketos-asahi: upgrade to 7.0.12-1
This also adds a patch that was sent upstream to allow enabling dynamic
ftrace on aarch64 with CFI=y

https://lore.kernel.org/all/20260609-arm64-ftrace-direct-calls-v1-0-4a46f266697f@linux.dev/

Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8837>
2026-06-16 16:37:14 -07:00
Clayton Craft 8be47c7a33 main/postmarketos-base-ui-gnome: move install= from subpkg funcs
Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8831>
2026-06-16 18:22:10 +00:00
Clayton Craft 138a8c01c3 main/postmarketos-base-ui-gnome: add "app provider" subpkgs
This adds two new subpackages, one pulls in in gnome software and the
other pulls in bazaar. Both subpackages provide a new virtual
(gnome-app-provider), and the main base GNOME UI pkg now depends on
this virtual. This allows us to ship bazaar in Duranium instead of GNOME
Software, and to continue to use GNOME Software by default on mutable
pmOS.

 Previously there was an "optional" dependency on a sw
app provider (gnome-software, via pmb_recommends), but I made it a hard
dependency now because:

1) I think users can expect *some* app store thing to be available
by default, and the number of users who would remove all of them is
probably approaching 0

2) Ignoring pmb_recommends made the rest of this easier to implement,
since I'm not entirely sure how pmb would react to a virtual provided
by the pkg it is processing pmb_recommends for, and I didn't want to
find out.

Fixes #4634

Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8831>
2026-06-16 18:22:10 +00:00
Clayton Craft 5932b59857 main/postmarketos-duranium: remove app store plugin conflicts
These conflicts in the sysext-dev-tools subpkg were intended to prevent
app store plugins from being pulled into the system extension image
(where they would not work as expected and cause confusion.) They were
causing an issue with how packages are snapshot in the duranium build CI
by causing a conflict when it tried to resolve base and sysext package
lists together (so install_if packages were included). The conflict
was from:

error: apk add --simulate failed:
ERROR: unable to select packages:
  gnome-software-plugin-apk2-0.0.3-r1:
    breaks: postmarketos-duranium-sysext-dev-tools-11-r0[!gnome-software-plugin-apk2]
    satisfies: world[gnome-software-plugin-apk]

It's much simpler to just remove these conflicts and add these plugins
to the list of RemovedPackages in duranium's mkosi config so they are
purged before main image is finalized.

Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8761>
2026-06-16 06:40:02 +00:00
Clayton Craft c25a89d8f8 main/postmarketos-duranium: add waydroid sysext subpkg
Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8761>
2026-06-16 06:40:02 +00:00
Clayton Craft 2ca69460a1 kconfigcheck: drop DEBUG_INFO_BTF=n for LTO+Rust
These options are required to get BPF stuff working in the kernel.

Fixes #4411

Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8779>
2026-06-14 16:03:04 +00:00
Clayton Craft 5f8ef38f89 kconfigcheck: add systemd bpf requirements to default category
Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8779>
2026-06-14 16:03:04 +00:00
Clayton Craft 64ae016303 systemd/systemd-stage0: add comment about why depends_* are manually set
This confused me in
https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8
704#note_557852

Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8779>
2026-06-14 16:03:04 +00:00
Clayton Craft 2006cfcde8 systemd/systemd: enable bpf support
systemd supports using gcc or clang for bpf compilation, using clang
seems easier since the gcc option requires bpf-gcc and a few other tools
that don't seem to be packaged in Alpine.

This isn't working on ARM (see #4411 ), but we can enable it now for x86
and in preparation for a kernel fix on ARM later.

Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8779>
2026-06-14 16:03:04 +00:00
Clayton Craft f0a25fbb7b main/postmarketos-duranium: drop units for initramfs conf/sys ext
These units are now in systemd 261

Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8727>
2026-06-08 22:25:24 +00:00
Clayton Craft 7922630728 main/postmarketos-base-ui-gnome-mobile: add lpa-gtk
I think it's pretty common to want to manage an eSIM on most modern
phones now, so let's install an eSIM management app by default.

For phones without eSIM support:

- I don't think having this by default is an issue, and users can
uninstall it (it's in pmb_recommends)

- There are eSIM adapters that fit in SIM slots, so this app is relevant
for them

Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>

[ci:skip-vercheck] - pmb_recommends

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8749>
2026-06-08 05:28:02 +00:00
Clayton Craft e0e8a06390 linux-postmarketos-asahi: upgrade to 7.0.11-2
Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8747>
2026-06-07 18:06:50 +00:00
Clayton Craft c17dc45441 systemd/systemd: add explicit dependency on libfdisk
This one is required now by systemd-repart, but is dlopened so we have
to "manually" depend on it.

Fixes https://gitlab.postmarketos.org/postmarketOS/duranium-build/-/work_items/54

Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8714>
2026-06-02 08:46:40 -07:00
Clayton Craft 4121c0d740 main/postmarketos-duranium: drop subpartition script, expand udev disk hack
systemd 261 can now natively detect and mount subpartitions.

Fixes #4544

This also works around an issue where udiskie will prompt for mounting
the /usr partitions on disk, when they are subpartitions. I didn't
file a bug upstream because it's really not clear to me what to blame
(udisks2? udiskie? udev?)

Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8660>
2026-05-28 22:56:37 +00:00
Clayton Craft a80a649d4f systemd/systemd: upgrade to 261-rc2
ukify is provided in Alpine aports, so it's disabled to prevent
conflicting with that pkg.

Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8623>
2026-05-27 13:23:35 -07:00
Clayton Craft 68362c1f42 systemd/systemd-stage0: upgrade to 261-rc2
Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8623>
2026-05-27 13:23:32 -07:00
Clayton Craft 77c05f0443 main/postmarketos-bootsplash: fix pwr button toggle and dev. scale
Apparently plymouth's config parser can't handle in-line comments. This
also fixes an issue I just noticed where the scale wasn't being parsed
correctly either because 1.0 is not a uint.

../src/libply/ply-key-file.c:427:ply_key_file_get_ulong       : group 'Daemon' key 'DeviceScale' val '1.0' is not a valid unsigned number
../src/libply/ply-key-file.c:427:ply_key_file_get_ulong       : group 'Daemon' key 'XkbExtraEscButton' val '0x1008ff2a  # Power button (XKB_KEY_XF86PowerOff)' is not a valid unsigned number

The additional xkb config is necessary for plymouth to detect the pwr
key press, or else it isn't initialized.

Fixes #4548

Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8561>
2026-05-26 15:57:20 +00:00
Clayton Craft 4257f74e62 main/postmarketos-bootsplash: add udev rules for plymouth
Without this rule, fb0 doesn't get ID_PATH set in the udev database
and plymouth this to detect that fb0 is backed by a DRM device. This
fixes an issue where plymouth times out and treats fb0 as an independent
display, and creates a second framebuffer renderer, which caused it to
render the splash at the wrong resolution.

These lines were lifted from 71-seat.rules, which are packaged in
systemd-udevd and elogind. They're vendored here because we don't want
to depend on elogind just for a few udev rules. These rules should be
idempotent in the rootfs (setting ID_PATH is guarded by ID_PATH=="" and
IIUC setting an existing TAG is a noop in udev)

Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8561>
2026-05-26 15:57:20 +00:00
Clayton Craft be5d39de3c main/postmarketos-plymouth-themes: upgrade to 1.2.3
Changelogs:

https://gitlab.postmarketos.org/postmarketOS/plymouth-themes/-/tags/1.2.2
https://gitlab.postmarketos.org/postmarketOS/plymouth-themes/-/tags/1.2.3

Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8561>
2026-05-26 15:57:16 +00:00
Clayton Craft 72695cbf00 linux-postmarketos-asahi: upgrade to 7.0.10-2
Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8628>
2026-05-25 23:56:28 +00:00
Clayton Craft 59b49aea1c main/postmarketos-mkinitfs: upgrade to 2.10.0
Changelog:
https://gitlab.postmarketos.org/postmarketOS/postmarketos-mkinitfs/-/tags/2.10.0

Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8621>
2026-05-23 16:24:39 -07:00
Clayton Craft 9f2a70f86a linux-postmarketos-asahi: upgrade to 7.0.8-1
Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8576>
2026-05-18 17:44:02 +00:00
Clayton Craft 8d657c1c3f main/postmarketos-base: update nosplash kernel cmdline config
Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7482>
2026-05-05 12:34:20 -07:00
Clayton Craft 92db54cf94 main/postmarketos-mkinitfs: add trigger for plymouth
Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7482>
2026-05-05 12:34:20 -07:00
Clayton Craft 084013fac5 main/postmarketos-initramfs: replace pbsplash with plymouth
This also drops support for pmos.no-splash, since removing `splash` from
the kernel cmdline will effectively prevent Plymouth from showing the
splash screen.

Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>

[ci:skip-vercheck]

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7482>
2026-05-05 12:34:20 -07:00
Clayton Craft 3f67ce725c main/postmarketos-bootsplash: Clayton take over maintaining
Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7482>
2026-05-05 12:34:19 -07:00
Clayton Craft c9d6c3b56e main/postmarketos-bootsplash: replace pbsplash with plymouth
Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7482>
2026-05-05 12:34:19 -07:00
Clayton Craft 2c16da8777 main/postmarketos-plymouth-themes: new aport
Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7482>
2026-05-05 12:34:19 -07:00
Clayton Craft 37c9314dbe main/postmarketos-duranium: merge sysexts in initramfs
This merges system extensions in the initramfs, right before
switch_root, so that the rootfs boot always has the full merged /usr
right from the start. It fixes ordering issues like binfmt starting
before /usr/lib/binfmt.d was merged, and ultimately not working as
expected.

Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8426>
2026-05-04 15:53:33 -07:00
Clayton Craft f61687b60d main/postmarketos-duranium: support "self hosting"
This will allow folks to easily run mkosi, e.g. for building duranium
images. This makes duranium self-hosting.

There are several key changes in this patch:

- mkosi is added to the duranium developer tools sysext

- user qemu is added to the dev tools sysext (for binfmt+qemu)

- coreutils is added to the main pkg to work around a conflict that Alpine
has with mkosi (see: https://github.com/systemd/mkosi/pull/4283). The
issue is that the busybox symlinks installed in the base duranium image
are not replaced by mkosi when it generates a system extension even if
that sysext pulls in coreutils. coreutils isn't *that* big, so it makes
sense to just have these links correct in the base image.

- duranium dev. tools depends on apk-tools. Wait, what?! mkosi uses
apk to bootstrap a tools tree for building pmOS images. Since we don't
actually want apk to work when run against the duranium rootfs, this
also installs a wrapper that refuses to run apk if it detects that it's
being used "unsafely". To be clear, running apk on duranium's rootfs
won't change /usr or break duranium, but it will: 1) fail, 2) create
confusing state in /etc, /var.

Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8426>
2026-05-04 15:53:16 -07:00
Clayton Craft fc5554ef5c main/postmarketos-base: split apk-tools into -apk subpkg
It doesn't make sense to install apk by default in all flavors of pmOS,
like duranium. To avoid this, apk-tools is moved into a new -apk
subpackage that is pulled in implicitly via install_if. This has the
following benefits:

- postmarketos-duranium can "depend" on !postmarketos-base-apk to
exclude apk-tools

- apk-tools remains a dependency in existing mutable pmOS installs,
so it shouldn't be purged by this change 🤞

- we don't have to update hundreds of APKBUILDs in pmaports that
explicitly depend on `postmarketos-base` to now depend on some other
package that doesn't have apk-tools as an explicit dependency.

After this change, we'll be able to remove some janky cleanup code in
the duranium image build config for uninstalling apk-tools from the base
image, and it will allow us to *add* apk-tools in a system extension
later [1]

Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>

1. https://gitlab.postmarketos.org/postmarketOS/pmaports/-/work_items/4502

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8426>
2026-05-04 15:53:16 -07:00
Clayton Craft dc9bacbe85 linux-postmarketos-asahi: upgrade to 6.19.14-1
Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8458>
2026-04-30 22:44:30 +00:00
Clayton Craft f559b38457 main/postmarketos-duranium: don't set user comment on first boot
This was causing GNOME and KDE to show "Default User" e.g. on login

Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8442>
2026-04-28 12:38:32 +00:00
Clayton Craft ea6a2fc814 linux-postmarketos-asahi: upgrade to 6.19.12-1
Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8423>
2026-04-25 10:18:17 -07:00
Clayton Craft a329e09227 main/postmarketos-duranium: pin size of usr partition
In some cases when the disk is very large (e.g. 2TB) repart will add
extra space to the slot-A usr partition to make it larger. The slot-B
partitions are already pinned with a min/max size so they would stay
the correct size. This pins the slot-A usr partition so it's no longer
grown. This should have been done all along.

Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8419>
2026-04-23 03:07:53 +00:00
Clayton Craft 0add2ad499 main/postmarketos-duranium: shorten part. names, drop verity sig part.
This uses a new naming convention for partitions. It fixes an issue
where some firmware (i.e. on the OnePlus 6 / 6T) will hang when starting
fastboot mode if it finds a (sub!)partition with a GPT partition label
that's "too long" (25char, in the case of enchilada, well under the 34
char limit in the GPT spec).

By keeping the old partition name match pattern, which *should* help
migrate existing installs after 2 updates (to capture partitions
associated with both "slots"). Given duranium's "wip" status, I don't
think it's strictly necessary to migrate existing installs, but I feel
like this is a good opportunity to see if it's possible to do so. It
might be handy to do in the future and working out how to do that now
seems useful.

This also drops the verity signature partition. According to the UAPI
Discov. Partition Spec (DPS) this partition is not really needed if the
verity hash for the usr partition is in the kernel cmdline and the UKI
is signed (not yet, but one day 🤞). There is one mode where having the
separate partition is useful: verified boot in containers, but this is
outside the scope of duranium.

This partition is tiny (16K) so the space saving is negligible... but
it would be nice to have one less partition to "manage". On existing
installs, this partition will become "foreign" to systemd repart, and
sysupdate will not touch it since it will no longer match any patterns.

fixes #4484

Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8408>
2026-04-22 19:25:48 +00:00
Clayton Craft 4a588de728 main/postmarketos-base-ui-gnome: add duranium-specific config
The kernel cmdline option is to prevent gnome-initial-setup from
launching, because it doesn't work properly and conflicts with our first
boot setup. On phosh this is technically not necessary since g-i-s won't
try to start there, but adding this to the base gnome UI pkg means I
wouldn't have to add sep. subpackages to gnome and gnome-mobile UI pkgs.

The duranium subpkg also pulls in a plugin for gnome-software so that
g-s can provide a frontend for pulling duranium image updates via
sysupdate.

Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8411>
2026-04-22 16:23:49 +00:00
Clayton Craft ae9cab3d75 main/postmarketos-duranium: add packages for "dev tools" sysext
This subpackage will be used to build the "developer tools" system
extension for duranium. The list of packages was created after
collecting input from early testers in the Duranium chat.

Also see: https://gitlab.postmarketos.org/postmarketOS/duranium-build/-/work_items/47

Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8366>
2026-04-18 00:11:19 -07:00
Clayton Craft 8981be95a2 main/postmarketos-duranium: add base image pkg depends
This adds pkg dependencies for the base duranium image to pmaports.
Previously these were set in the duranium-build project (mkosi config)

Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8370>
2026-04-17 12:51:07 +00:00
Clayton Craft afcc901fc1 systemd/systemd: re-enable -Dbootloader
Turns out, a few useful things are gated by this flag that I want to use
in Duranium:

1) bootctl automatically configuring EFI boot entry variables
2) systemd-boot-update.service installation

Let's just re-enable this and strip out the sd-boot stuff already
packaged in Alpine aports, rather than continue to fight the build
system with more patches in pmaports.

Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8371>
2026-04-16 20:52:18 +00:00
Clayton Craft 9b27911469 linux-postmarketos-asahi: upgrade to 6.19.11-3
Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8349>
2026-04-13 19:39:11 -07:00
Clayton Craft ac37fc4dd2 main/postmarketos-duranium: add config for dev-tools sysext
Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8258>
2026-04-12 21:34:51 -07:00