Commit Graph
100 Commits
Author SHA1 Message Date
Clayton Craft 2c9a5d2d1c main/boot-deploy: upgade to 0.20.0
Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7014

[ci:skip-build]: already built successfully in CI
2025-09-08 08:09:02 -07: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 39922de34e ci/shellcheck: run on pmos-base-systemd's apk trigger
This trigger has a lot going on, so let's make sure it always passes
shellcheck. It's not picked up by the normal search for triggers in this
script because the actual logic for the trigger is broken out from the
.trigger file.

Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6892
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 75d8dc9bd2 ci/testlib: add asserts for string contains/doesn't contain substring
For testing if a given string contains a given subtring, for example
`assert_contains "foo bar bazz" "bar"` would pass,
but `assert_contains "foobar bazz" "bar"` would fail.

Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6892
2025-09-08 07:33:54 -07:00
Clayton Craft 7d84c11c52 ci/testlib: add asserts for file exists/not exists
For testing whether a given file exists or not exists

Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6892
2025-09-08 07:33:54 -07:00
Clayton Craft 0fab76b942 ci/testlib: add test root dir support
Allows creating (and cleaning up) a new root dir for tests, for tests
that deal with files on disk

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
Clayton Craft 0318e81fde temp/abuild: build with simple systemd split func patch
Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6892
2025-09-08 07:33:53 -07:00
Clayton Craft 668933bec1 linux-postmarketos-qcom-laptop: enable dm-verity, erofs
See:
https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6949

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6948>
2025-08-19 21:32:32 +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
Clayton Craft ea6e5010c1 systemd: Don't ship /usr/share/factory
When building immutable images, we'll be putting /etc into
/usr/share/factory, and then using systemd-tmpfiles to symlink all of
that stuff under /etc. When systemd installs into this dir, it leads to
accidentally adding some "example" config to the system's runtime
config, e.g. adding pam config with a comment like this which completely
breaks login/auth for many UIs (Phosh, Plasma Mobile, etc) :

  # You really want to adjust this to your local distribution. If you use this
  # unmodified you are not building systems safely and securely.

I could technically just scrub this dir when building immutable images,
but tbh I can't think of any reason why we'd want to ship this in the
first place.

Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6915
2025-08-11 12:06:34 -04:00
Clayton Craft 1793892a4c qemu-{aarch64,amd64}: use zstd for initramfs compression
Fixes #3861

Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6853
2025-08-08 13:16:05 +02:00
Clayton Craft da5a6ad928 main/postmarketos-mkinitfs: upgade to 2.6.4
Fixes:
  - Fix .zst fallback when including firmware

Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6882
[ci:skip-build]: already built successfully in CI
2025-08-04 17:42:49 -07:00
Clayton Craft f55e636267 systemd: enable systemd-import
Used by systemd-sysupdate

Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6840
2025-08-04 15:05:09 -04:00
Clayton Craft a8a325d80a systemd: enable sysupdate
Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6840
2025-08-04 15:05:09 -04:00
Clayton Craft 35a3e6de05 systemd: enable bless-boot generator
This does a hack to removing the need to build the stuff in src/boot for
enabling bless-boot. Previously I tried to enable bless-boot by adding
-Dbootloader=enable, which would be required without this hack, but
cross-compiling systemd/src/boot failed on 32-bit archs and it seemed
unnecessary to go down that rabbit hole to debug/fix.

Why? Because:

1) It's not actually needed for building the stuff I care about enabling
in this MR (systemd-bless-boot and its generator). These things build
and work just fine without building stuff in src/boot.

2) Even if it worked, we would have to remove the artifacts made
from src/boot and not package them here. They would conflict with the
systemd-boot package in Alpine.

So it seems pointless to waste time fixing some weird cross-compiling
issue for some components that don't actually need to be built to enable
the extra features I want and would be discarded anyways in package()

Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6840
2025-08-04 15:05:09 -04:00
Clayton Craft e48304b386 Revert "main/bootchart2: upgrade to 0.14.9_git20220807"
This reverts commit 6a62061056.

see: https://gitlab.postmarketos.org/postmarketOS/build.postmarketos.org/-/issues/164
2025-08-04 10:51:48 -07:00
Clayton Craft 26f0531efb main/postmarketos-mkinitfs: upgrade to 2.6.3
Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6878

[ci:skip-build]: already built successfully in CI
2025-08-04 09:54:07 -07:00
Clayton Craft 5ef4d6143a systemd/gdm: add sysuser config
Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6851
2025-08-02 00:13:21 -04:00
Clayton Craft 91aa907554 systemd/systemd-services: add sysuser conf for ssh and dnsmasq
Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6851
2025-08-02 00:13:18 -04:00
Clayton Craft ff3eeeb4f8 device-asus-s5507q: remove module dropped in 6.16, remove dependency on wifi fw pkg
https://github.com/jhovold/linux/commit/8d3b5f6375466ffcd2cd98a0c84d31295470fe9d#diff-2b7af271e27fb81a02eab66d658da360e3803f8846224ab496d7424e0f54899a

This also drop dependency on wifi firmware pkg, for context see:
https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6709#note_494045

Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6709
[ci:skip-build]: already built successfully in CI
2025-07-31 22:38:08 -07:00
Clayton Craft 2c713d1d93 device-postmarketos-trailblazer: remove module dropped in 6.16
https://github.com/jhovold/linux/commit/8d3b5f6375466ffcd2cd98a0c84d31295470fe9d#diff-2b7af271e27fb81a02eab66d658da360e3803f8846224ab496d7424e0f54899a
2025-07-31 22:31:19 -07:00
Clayton Craft 3422ba45dd device-qcom-rbx: remove module dropped in 6.16
https://github.com/jhovold/linux/commit/8d3b5f6375466ffcd2cd98a0c84d31295470fe9d#diff-2b7af271e27fb81a02eab66d658da360e3803f8846224ab496d7424e0f54899a
2025-07-31 22:31:19 -07:00
Clayton Craft c09b0dc4e7 linux-postmarketos-qcom-laptop: upgrade to 6.16
- Enable module for CH34x usb serial converters
- Enable module for VHOST_VSOCK (useful for `mkosi vm`)
2025-07-31 22:31:19 -07:00
Clayton Craft 63d2bc78f5 temp/abuild: update to latest version of -systemd split patch
A few minor changes/refactorings were made from feedback received in
https://gitlab.alpinelinux.org/alpine/abuild/-/merge_requests/394

Signed-off-by: Aster Boese <asterboese@mailbox.org>
Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6713
2025-07-27 17:02:45 -04:00
Clayton Craft 1de3ea4e3d Revert "temp/eudev-compat: fork eudev from alpine to build systemd"
This reverts commit 61d0f3de8b.

Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6797
[ci:skip-build]: already built successfully in CI
2025-07-17 17:58:40 -07:00
Clayton Craft e05f990135 Revert hacks to get systemd to build again
This reverts commit cd60d78ac1.
This reverts commit d1ec69e1f2.

Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6797
2025-07-17 17:58:08 -07:00
Clayton Craft cd60d78ac1 systemd: add eudev-compat to makedepends
in order to build systemd when systemd-udev pkg is broken in binary repo

Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6794
[ci:skip-build]: already built successfully in CI
2025-07-17 17:52:29 -07:00
Clayton Craft 61d0f3de8b temp/eudev-compat: fork eudev from alpine to build systemd
This is temporary, just to fix building systemd

Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6794
2025-07-17 17:52:19 -07:00
Clayton Craft d1ec69e1f2 systemd: drop libfido2 dependency
This allows building systemd without pulling in udev, and should be
reverted once systemd is updated in the binary repos...

Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6794
2025-07-17 17:04:37 -07:00
Clayton Craft 44688263bd Revert "systemd: provide -dev as elogind-dev"
This commit (and the one before it) seem to have broken building new
images, apk hits a conflict with udevd and systemd-udevd:

  systemd-udevd-257.7-r1:
    conflicts: systemd-257.7-r1[eudev=257.7-r1]
    satisfies: systemd-257.7-r1[systemd-udevd=257.7-r1]
  systemd-257.7-r1:
    conflicts: systemd-udevd-257.7-r1[eudev=257.7-r1]
    satisfies: postmarketos-base-systemd-48-r0[systemd]
               systemd-journald-257.7-r1[so:libsystemd-shared-257.so]
               systemd-logind-257.7-r1[systemd=257.7-r1]
               systemd-logind-257.7-r1[so:libsystemd-shared-257.so]
               systemd-timesyncd-257.7-r1[systemd=257.7-r1]
               systemd-timesyncd-257.7-r1[so:libsystemd-shared-257.so]
               systemd-udevd-257.7-r1[so:libsystemd-shared-257.so]

This reverts commit a6a31b3fe7.

Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6794
2025-07-17 14:28:20 -07:00
Clayton Craft f10fb45ae5 Revert "systemd: versionize systemd-related provides"
This reverts commit 74f754ecef.

Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6794
2025-07-17 14:22:23 -07:00
Clayton Craft ac28c52eef main/postmarketos-ui-cosmic: depend on bluez
For working BT out of the box...

Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6737
2025-07-05 09:31:45 +09:00
Clayton Craft 68c3ba73f1 linux-postmarketos-qcom-laptop: enable systemd BPF requirements
Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6708

[ci:skip-build]: already built successfully in CI
2025-06-30 11:03:15 -07:00
Clayton Craft 682ad68e4c extra-repos/systemd: drop armhf
We currently don't build systemd for armhf anymore. Disable all other
packages in the systemd repo too, as these can't be built without the
systemd dependency.

FWIW all of Phosh, Gnome Mobile and Plasma Mobile already have major
packages not building for armhf so they couldn't be used on this arch
anyway.

Once pmb issue 2618 is resolved, we can re-enable systemd for armhf.

Co-authored-by: Oliver Smith <ollieparanoid@postmarketos.org>
Related to !6637
Fixes #3783
[ci:skip-build], [ci:skip-vercheck]: changing arch= only
Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6710
2025-06-29 23:08:38 +02:00
Clayton Craft 0dc0c9f03e soc-qcom: run systemd splitfunc in pulseaudio-systemd subpkg
Just like when defining custom -openrc subpkgs, or prepare funcs, etc,
we *need* to manually the corresponding abuild function or else things
break.

fixes #3781

Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6690
[ci:skip-build]: already built successfully in CI
2025-06-20 19:22:57 +02:00
Clayton Craft ed5f3dd73e systemd: disable armhf
This is a workaround for pmb#2618, basically.

To build systemd with BPF support (so things like unpriv. nspawn work),
we have to install linux-stable-dev to get a special header(vmlinux.h).
This kernel (linux-stable) isn't build in Alpine for armhf. Normally
that's not a problem, we could just add linux-stable-dev conditionally
to the makedepends, right? No... not possible until pmb#2618 is fixed.
Given this arch is used by only 3 devices in testing (the rest are in
`downstream` or `archive`), I think it makes sense to disable systemd on
this arch until someone has the motivation to fix the pmb bug.

Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6637
[ci:skip-build]: already built successfully in CI
2025-06-20 12:37:11 +02:00
Clayton Craft 1c4fd97318 systemd: enable BPF support for unprivileged systemd-nspawn
Partially fixes #3746, kernel options are required for systemd to
correctly enable support for this in systemd-nsresourced at runtime.

Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6637
2025-06-20 12:37:07 +02:00
Clayton Craft 32b1a6d9b6 systemd/xorg-server: upgrade to 21.1.18
Part-of: https://gitlab.postmarketos.org/postmarketos/pmaports/-/merge_requests/6686

[ci:skip-build]: already built successfully in CI
2025-06-20 11:25:02 +02:00
Clayton Craft a9fe11c77f main/postmarketos-base-ui: always install sleep-inhibitor.conf
Installing this config only when elogind/openrc is installed means that
systemd versions of pmOS don't get the fix in !6612

Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6682
[ci:skip-build]: already built successfully in CI
2025-06-18 15:22:00 -07:00
Clayton Craft 72c8e7c6c1 main/boot-deploy: upgrade to 0.19.0
Changelog: https://gitlab.postmarketos.org/postmarketOS/boot-deploy/-/tags/0.19.0

Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6656
2025-06-15 00:17:35 -07:00
Clayton Craft 8734489c8b kconfigcheck: add UDMABUF to default kconfig
See:
https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6163#note_467983

Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6167
[ci:skip-build]: already built successfully in CI
2025-06-13 17:05:24 -07:00
Clayton Craft 34d62b85da systemd: Always install X11 tmpfiles config
This is needed by some(all?) Xwayland implementations too, so don't make
installing it exclusive to having the actual X11 xorg-server installed.

This fixes an issue where Xwayland doesn't work on COSMIC.

Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6658
[ci:skip-build]: already built successfully in CI
2025-06-13 17:02:32 -07:00
Clayton Craft d336e2f0ef firmware-lenovo-21bx: drop aport
All firmware that this used to provide is now upstream in
linux-firmware 🎉

Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6660
[ci:skip-build]: already built successfully in CI
2025-06-13 11:42:00 -07:00
Clayton Craft 2c2e4e8895 device-lenovo-21bx: drop dependency on firmware-lenovo-21bx
Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6660
2025-06-13 11:42:00 -07:00
Clayton Craft 9d7f74090c device-lenovo-21bx: use dtbloader, remove bootmac
bootmac is no longer necessary for configuring bluetooth MAC when using
dtbloader.

Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6603
[ci:skip-build]: already built successfully in CI
2025-06-13 08:51:13 -07:00
Clayton Craft aae0373b2d kconfigcheck: add missing option dependencies
These options are things that other required kconfig depend on, found
when creating a new config from scratch and noticing a few required
kconfig wasn't making it into the final config.

I don't expect this to have any impact on existing kernel packages that
already pass the kconfig check, because they would already need to have
these options enabled.

Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6641
2025-06-11 23:27:04 +02:00
Clayton Craft 492fead1ce main/postmarketos-base-ui: stop inhibiting sleep/suspend during audio playback
This test is apparently wrong a lot now, so let's disable it. Audio
apps should inhibit sleep/suspend on their own, or worst case you can do
something like `systemd-inhibit <audio app>`.

We still want sleep-inhibitor around for now to inhibit sleep/shutdown
when an SSH client is connected or when apk is running.

Fixes #3745

Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6612
[ci:skip-build]: already built successfully in CI
2025-06-10 12:17:36 +02:00
Clayton Craft 7bf6a9da16 systemd/systemd-services: fix zram_swap unit
Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6614

[ci:skip-build]: already built successfully in CI
2025-06-09 13:02:30 +02:00
Clayton Craft b524646bde device-generic-x86_64: depend on hwdata
This is useful for having more hardware work OOTB when using
this generic image. On openrc installs, which pulls in eudev-hwids.

Fixes #3744

Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6611
[ci:skip-build]: already built successfully in CI
2025-06-09 12:59:14 +02:00
Clayton Craft 832128c3db systemd: fix udevd symlink
On a merged /usr system, this results in a broken symlink since
sbin/udevd is really usr/sbin/udevd, and usr/sbin/../usr/lib/ is not a
real thing. This should have no effect on unmerged /usr systems, since
sbin/../../usr/lib/.... is still a correct (if ugly) path.

It's quite difficult to create a relative symlink for these things
that works reliably on a merged AND unmerged /usr install, so for now
I'm going to make the symlink source path absolute so that we can be
confident it'll work on either type of installation, and we can revisit
making them relative after usr merge is done/deployed on all installs.

Part-of: https://gitlab.postmarketos.org/postmarketos/pmaports/-/merge_requests/6598
2025-06-05 15:44:30 +02:00
Clayton Craft d0e480eda1 systemd/systemd-services: add sshd@.service unit
This is inspired by the units shipped by Fedora and Debian:
https://salsa.debian.org/ssh-team/openssh/-/blob/master/debian/systemd/sshd@.service
https://src.fedoraproject.org/rpms/openssh/blob/rawhide/f/sshd%40.service

Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6566
[ci:skip-build]: already built successfully in CI
2025-06-04 20:24:35 +02:00
Clayton Craft a3e5f4cda7 systemd/systemd-services: Fix zram_swap unit
This change makes the zram_swap service depend on a deviceinfo being
present in the rootfs (which may not always be the case, e.g. when
building an image with mkosi), and it replaces the ExecStartPre with
a dependency on modprobe@zram.service so that modprobe is only called
once if other services happen to also depend on this module (which is
unlikely, but a nicer way to handle this)

Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6566
2025-06-04 20:24:31 +02:00
Clayton Craft 0dabd564d1 systemd/postmarketos-base-systemd: replace pmos-baselayout
Some files overwritten by this package are in pmos-baselayout now

Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6565
[ci:skip-build]: already built successfully in CI
2025-06-04 09:09:37 -07:00
Clayton Craft c9790be804 main/postmarketos-base: add -release and -baselayout subpkgs
This splits off two new subpackages in postmarketos-base, allowing for
tools (e.g. mkosi) to build a very small "postmarketOS" rootfs.

postmarketos-base depends on these two new packages, so there should be
no functional change outside of enabling this specific use case.

The versioned replaces is meant to fix installing this new package on
existing installs. In some cases apk installs this package *before*
installing the `postmarketos-base-systemd` update that accompanies this
patch.

Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6565
2025-06-04 09:09:36 -07:00
Clayton Craft 97b9d77632 main/postmarketos-qemu-common: disable hw cursors on wlroots
This partially works around #2246

This is setting a var specific to wlroots, BUT many UIs use wlroots and some
(phosh) vendor it so adding a single text file with 1 line in it seems better
than having at least 2 extra subpackages (1 for installing if phoc, 1 for
installing if wlroots, and others?)

Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6508
Part-of: https://gitlab.postmarketos.org/postmarketos/pmaports/-/merge_requests/6508
2025-06-03 12:27:58 +02:00
Clayton Craft 68ed2f96a1 device-qemu-*: depend on postmarketos-qemu-common
Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6508
Part-of: https://gitlab.postmarketos.org/postmarketos/pmaports/-/merge_requests/6508
2025-06-03 12:27:57 +02:00
Clayton Craft 6272fcbf15 main/postmarketos-qemu-common: new aport
This package contains common config shared between all qemu "devices"

Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6508
Part-of: https://gitlab.postmarketos.org/postmarketos/pmaports/-/merge_requests/6508
2025-06-03 12:27:57 +02:00
Clayton Craft 5747b80ab1 linux-postmarketos-qcom-laptop: upgrade to 6.15
- Enable boot_delay support (can help with debugging)

Part-of: https://gitlab.postmarketos.org/postmarketos/pmaports/-/merge_requests/6414
[ci:skip-build]: already built successfully in CI
2025-06-03 12:08:31 +02:00
Clayton Craft c9c7583282 main/devicepkg-utils: add missing makedepend
pmb is more strict about this

Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6583
[ci:skip-build]: already built successfully in CI
2025-06-01 12:46:01 +02:00
Clayton Craft fd96e65267 cross/busybox-static-*: upgrade to 1.37.0-r18 2025-05-29 14:18:10 -07:00
Clayton Craft 2e9e6ddbf9 temp/abuild: upgrade to 3.15.0
APKBUILD was also rebased onto the latest version in aports

Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6569
[ci:skip-build]: already built successfully in CI
2025-05-29 21:35:12 +02:00
Clayton Craft 4edb3d9cbc main/postmarketos-base-ui-gnome: add gapless to pmb_recommends
This seems to be a nice, featureful music player to ship by default for
GNOME-based UIs that works well on mobile and desktop

Fixes #3544

[ci:skip-vercheck] pmb_recommends change

Part-of: https://gitlab.postmarketos.org/postmarketos/pmaports/-/merge_requests/6558
2025-05-27 11:50:42 +02:00
Clayton Craft 10f9386920 main/swclock-offset: upgrade to 0.2.6
Small bugfix release, see upstream changelog:
https://gitlab.postmarketos.org/postmarketOS/swclock-offset/-/tags/0.2.6

Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6545
[ci:skip-build]: already built successfully in CI
2025-05-24 20:23:39 -07:00
Clayton Craft 891093fd9e linux-wiko-lenny{3,5}: add shared patches to fix build issues
Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6542

[ci:skip-build]: already built successfully in CI
2025-05-22 22:59:46 -07:00
Clayton Craft 3b0f9a1b82 systemd/postmarketos-base-systemd: fix issue with locale.conf being ignored
Shells (and DEs!) that set environment from /etc/profile.d will end
up sourcing 20locale.sh from alpine-baselayout. This file will set
`LANG=C.UTF8`, and this will override whatever systemd-localed/systemd
sets LANG to. In other words, locale.conf is effectively ignored. I
hit this issue when debugging why the date in COSMIC was always `M05`
instead of `May`, and why various COSMIC components failed to detect the
locale (because it was set to C.UTF8)

Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6535
[ci:skip-build]: already built successfully in CI
2025-05-22 17:10:47 -07:00
Clayton Craft 3592e6dcee main/postmarketos-mkinitfs: upgrade to 2.6.2
Includes an important fix for /usr merged installs

Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6539
[ci:skip-build]: already built successfully in CI
2025-05-20 14:33:07 -07:00
Clayton Craft d2631ed229 device-generic-x86_64: depend on systemd-boot-x86
Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6506

[ci:skip-build]: already built successfully in CI
2025-05-15 22:48:30 +02:00
Clayton Craft f80528b498 cross/systemd-boot-x86: new aport
fixes #3711

Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6506
2025-05-15 22:48:30 +02:00
Clayton Craft ed19fab2a3 ci/test_provides: make exception for provides with valid versions hardcoded
The APKBUILD reference seems to suggest that versioned provides= can
have any valid version string (e.g. 0.12-r3) in the `provides=` var, and
that it doesn't have to match `$pkgver-r$pkgrel` for the APKBUILD. IIRC
this test intends to catch typos like `provides=foo=$pkgver-$pkgrel`, so
this makes it pass when any valid version string is given.

Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6475
[ci:skip-build]: already built successfully in CI
2025-05-15 10:22:04 +02:00
Clayton Craft ee13367e22 systemd/systemd-services: add docker-engine/dockerd and containerd unit files
fixes #3679

Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6450
[ci:skip-build]: already built successfully in CI
2025-05-12 19:07:27 +02:00
Clayton Craft 905a0683c4 systemd/systemd-services: add avahi-daemon unit files
Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6477

[ci:skip-build]: already built successfully in CI
2025-05-11 17:16:36 +02:00
Clayton Craft 92de2f095a main/postmarketos-base-ui: revert qcom/adreno flatpak workaround
This reverts commit d246f597de.

The Mesa bug was fixed upstream[1] and the fix is in Mesa 25.0.5.

1. https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34628

Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6472
[ci:skip-build]: already built successfully in CI
2025-05-10 22:50:22 -07:00
Clayton Craft 42a507315b cross/gcc-*: upgrade to 14.2.0-r6 2025-05-09 13:38:36 -07:00
Clayton Craft 5d4ff3b1be cross/busybox-static-*: upgrade to 1.37.0-r17 2025-05-08 16:34:02 -07:00
Clayton Craft 7a9acf86ec systemd/postmarketos-base-systemd: add configuration for systemd-resolved
Installing systemd-resolved by default is still probably not a good
idea (e.g. until #1430 is fixed, at least?), but this adds config for
NM and sd-resolved to get the stub resolver set up automatically when
systemd-resolved is installed manually by a user.

Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6250
[ci:skip-build]: already built successfully in CI
2025-05-06 10:19:38 -07:00
Clayton Craft f84adcd778 main/*: explicitly depend on openrc if install scripts call rc-update
[ci:ignore-count]

Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6476
[ci:skip-build]: already built successfully in CI
2025-05-06 10:49:08 +02:00
Clayton Craft a308720ea9 device-realme-x3: add nonfree-fw-openrc subpkg
This should make it possible to build systemd images for this device. I
don't know if anyone cares, but I couldn't look away when I found this
until I fixed it :D

Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6476
2025-05-06 10:48:44 +02:00
Clayton Craft 469374de6d device/*: explicitly depend on openrc if install scripts call rc-update
Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6476
2025-05-06 10:48:44 +02:00
Clayton Craft de59cdaa67 device-generic-x86_64: add modules to initfs to support emmc storage
Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6444

[ci:skip-build]: already built successfully in CI
2025-05-05 15:40:08 -07:00
Clayton Craft a5cefca7b2 Revert: usr merge preparations
pmbootstrap isn't ready yet for these patches, so building systemd
images is broken when they are in pmaports.

This reverts commits:
23894ca89d.
6c78abbde6.
9bcdec3337.
53500854fe.
8639c2c0e4.
9d33e4d812.

Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6473
[ci:skip-build]: already built successfully in CI
2025-05-05 13:13:00 -07:00
Clayton Craft 85728d6861 main/postmarketos-ui-os-installer: new aport
Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6320

[ci:skip-build]: already built successfully in CI
2025-04-25 15:52:55 -07:00
Clayton Craft ec2c2564e0 device-alcatel-ttab: update checksums
[ci:skip-vercheck]

Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6447
2025-04-24 12:35:15 -07:00
Clayton Craft 60778a8e82 systemd/systemd-services: remove zram-init -s param from zram_swap.service
This causes zram-init to write to a device attr that was dropped from the 6.15 kernel, and fail:

https://github.com/torvalds/linux/commit/4127e13c9302f6892f73793f133ea4b4fffb2964

Reported upstream:
https://github.com/vaeth/zram-init/issues/50

fixes #3677

Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6443
[ci:skip-build]: already built successfully in CI
2025-04-23 13:59:59 -07:00
Clayton Craft 5075aa3523 device-xiaomi-nabu: add audio subpkg to install pw
This also relocates some audio-related config into the new audio subpkg
so that it's only installed in cases where a UI requires audio.

Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6408
[ci:skip-build]: already built successfully in CI
2025-04-17 20:50:01 +02:00
Clayton Craft cfac29e5c0 device-samsung-lt023g: add audio subpkg to install pw
This also relocates some audio-related config into the new audio subpkg
so that it's only installed in cases where a UI requires audio.

Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6408
2025-04-17 20:50:01 +02:00
Clayton Craft 01deb2b288 device-pine64-pinephone: add audio subpkg to install pw
This also relocates some audio-related config into the new audio subpkg
so that it's only installed in cases where a UI requires audio.

Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6408
2025-04-17 20:50:01 +02:00
Clayton Craft af9283e9d9 main/postmarketos-ui-*: update relevant UIs to depend on pmos-base-ui-audio
Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6408
2025-04-17 20:49:58 +02:00
Clayton Craft b95fc85cbc main/postmarketos-base-ui: make -audio subpkg
This removes the audio-none subpkg, and the dependency that
postmarketos-base-ui had on it.

This renames the pmos-base-ui-audio virtual that the pw and pa backends
provided to `postmarketos-base-ui-audio-backend`.

To allow UIs to select no audio components, a new pmos-base-ui-audio
subpkg was added. UIs that need audio should depend on the virtual
pkg `postmarketos-base-ui-audio`. UIs that don't want audio can simply
depend on postmarketos-ui-base and no audio stuff will be pulled in.

Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6408
2025-04-17 20:37:14 +02:00
Clayton Craft e9c344bf7a main/postmarketos-ui-cosmic: add gnome-keyring to pmb_recommends
This is used by the DE's upstream (popOS), and works reasonably well so
let's install it by default so that apps that depend on secret manager
things work OOTB.

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

Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6410
2025-04-15 16:06:52 -07:00
Clayton Craft 225bb4696e ci: don't run test_kernel on linux-pam-pmos (MR 6418)
The pkg name changed a while back in d3545fc941.

[ci:skip-build]: already built successfully in CI
2025-04-15 14:05:27 -07:00
Clayton Craft 7fd9e01f7f ci/pytest: make sure tests run on correct branch (MR 6418)
This works around a situation where pmbootstrap init checks out the
wrong branch and we end up executing the wrong version of the tests.

For context:
https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6418#note_477266
2025-04-15 14:05:27 -07:00
Clayton Craft 2d77fa6662 ci: verify_checksums: support packages in systemd repos
In 65038ce26a the logic for also checksum checking pkgs in the systemd
repo was dropped when the logic was moved from build_changed_aports.py,
this re-introduces that logic so that checksums for packages in the
systemd repo are also checked.

Part-of: https://gitlab.postmarketos.org/postmarketos/pmaports/-/merge_requests/6404
2025-04-12 09:17:19 -07:00
Clayton Craft 8fb9f32e44 linux-postmarketos-qcom-laptop: upgrade to 6.14
- Updated kconfig to be compliant with latest kconfigcheck
- Dropped patch for workaround, the issue is now fixed upstream

Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6216
[ci:skip-build]: already built successfully in CI
2025-04-08 15:39:06 -07:00
Clayton Craft bc850c6250 abuild: upgrade to 3.15-rc2
We were already running abuild > 3.14.0, but the pkgver for these forked
pkgs was wrong.

Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6376
2025-04-03 13:46:29 -07:00
Clayton Craft 2d103255db systemd/systemd: add patch to install legacy tmpfiles config
This patch is in 257, so we can drop it when upgrading. Without this
patch, we'd have to the enable sysv compat stuff in systemd just to get
this legacy.conf file generated/installed, which totally doesn't seem
worth it (the sysv compat stuff seems to be a lot!)

Fixes #3616

Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6352
[ci:skip-build]: already built successfully in CI
2025-03-26 20:52:30 +01:00
Clayton Craft 55755615c4 device-lenovo-21bx: always resize the root partition
It's common to build installs for this device to flash on USB drives or
whatever, and the rootfs alwys runs out of space fast because it's not
resized on boot. Let's fix that...

Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6340
2025-03-26 20:30:16 +01:00
Clayton Craft 4e3a7ad0bf systemd/systemd-services: fix install_if, try 2
Typo caused an invalid install_if to be generated, convincing apk to remove pkgs

Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6351
[ci:skip-build]: already built successfully in CI
2025-03-23 10:14:56 -07:00