The bug referenced in the APKBUILDs is 3 years old and I cannot
reproduce it anymore when cross compiling from x86_64.
This syncs the enabled architectures with Alpine.
[ci:skip-vercheck]: enabling packages for arch
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7858>
Is the common used way in Alpine, we don't have any style changes documented
in Alpine right now, but it is WIP and it would certainly documented be like that.
This then would also fix the nightly-builder replacing of source=.
[ci:skip-vercheck]: just a style change
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7818>
Standardize the use of pkgver=9999$_pkgver, allowing easier upgrades but
also a single expected behaviour for users like nightly-builder.
[ci:skip-vercheck]: some package have the same $pkgver-r$pkgrel
[ci:ignore-count]: this is expected
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7802>
For some reason, apk preferred to satisfy g-s-d's pulseaudio dependency
by pipewire-pulse-9991.4.9-r1 (with k=1) and not pulseaudio-17.0-r7
(with k=10), and therefore didn't respect provider_priority but pkgver.
This then resulted in the apk solver preferring
pmos-base-ui-audio-pipewire over -pulseaudio, because the
!pipewire-pulse dep by -pulseaudio wasn't satisfiable.
[ci:skip-build]: alpine binary repos incomplete for some archs
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7776>
This disables swap-based killing and sets a lower pressure threshold
for user apps in the app slice so they will get killed sooner than other
things (e..g the whole session slice).
Killing based on swap usage was resulting in some sudden kills from
oomd, and upon further investigation is seems like other distros
(ubuntu, fedora) either never enabled this or walked it back due to it
being confusing for users.
The override for app.slice and sets the pressure limit to a value less
than the other slices, in an attempt to fix situations where an app
(e.g. firefox) was creating a ton of pressure and systemd-oomd was
killing the entire UI/session.
Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7751>
This unit will activate `time-sync.target` after system time is synced,
e.g. by NTP. We can use this target to delay starting some units until
we know that system time is correct. IIUC this shouldn't have any impact
on system startup otherwise, including existing units we enable, so
nothing should be slowed down by adding this.
Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7711>
It's taken from the third-party kodi-standalone-service repo, which just ships
services & configs to be used with kodi. They seem opinionated enough
that they won't make sense in upstream Kodi. So I think vendoring it
downstream is fine.
Also adding me as a co-maintainer for kodi, as I'm the aports maintainer
and care enough about it.
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7672>
Else systemd/meson may try to generate it at build time, which doesn't
work when the host kernel is a different arch than the target.
Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
This builds from upstream now.
- tests are re-enabled
- disable BTF support / drop vmlinux.h dependency, enabling bpf is
enough for mkosi/testing stuff, and getting a sane vmlinux.h that
systemd can compile with seems to be "complicated."
- armhf is re-enabled since we don't enable BTF anymore
- workaround stage0 linking failing on riscv64 by enabling tests
- increase test timeout for main pkg, because running in qemu is slow
- a lot more dependencies are explicitly listed now, because they are
dlopened and abuild doesn't know how to detect these
- meson build options re-arranged / cleaned up (some of these are
implicitly disabled by using -Dlibc=musl)
- tests are skipped for archs that we build in CI/bpo that don't have
native hw, since ~13 of them fail for unknown (or timeout) reasons. 2
of them time out after >1200 seconds and 11 fail for mysterious
reasons.
Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7584>
Apparently the user slice and root slice weren't being configured
correctly and oomd was not stepping in during high swap pressure events
before the kernel oom killer showed up to the party. This (hopefully)
properly configures systemd-oomd now... The configuration was inspired
by Fedora.
https://fedoraproject.org/wiki/Changes/EnableSystemdOomd
I used the test in that wiki page to confirm it's now properly configured:
$ systemd-run --user tail /dev/zero
$ journalctl -f
...
systemd[1081]: Started [systemd-run] /usr/bin/tail /dev/zero.
systemd-oomd[517]: Considered 79 cgroups for killing, top candidates were:
systemd-oomd[517]: Path: /user.slice/user-10000.slice/user@10000.service/app.slice/run-p5146-i5147.service
systemd-oomd[517]: Swap Usage: 4.6G
systemd-oomd[517]: Killed /user.slice/user-10000.slice/user@10000.service/app.slice/run-p5146-i5147.service due to memory used (2458>
systemd[1081]: run-p5146-i5147.service: systemd-oomd killed 1 process(es) in this unit.
systemd[1081]: run-p5146-i5147.service: Main process exited, code=killed, status=9/KILL
systemd[1081]: run-p5146-i5147.service: Failed with result 'oom-kill'.
Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7556>