Commit Graph
3122 Commits
Author SHA1 Message Date
Aster Boese 993d92a696 main/postmarketos-base: add kernel-cmdline.d config to disable splash
By creating a package for this, debugging boot-time issues is made a lot easier
as now during image creation `postmarketos-base-nosplash` can be added to
extra-packages and installed without rebuilding any packages.

Signed-off-by: Aster Boese <asterboese@mailbox.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8304>
2026-04-19 17:38:49 +00:00
Luca Weiss cbed5ce151 main/devicepkg-dev: support passing LLVM=1 in downstreamkernel_prepare
As required by kernels that probably shouldn't be using the
downstreamkernel_* functions in the first place, but we need to fix this
up to unblock linux-postmarketos-allwinner compilation.

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8295>
2026-04-18 14:40:03 +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
Arnav Singh c5a625ac35 main/postmarketos-base: allow pwfeedback default to be overridable by dropins
Currently dropins are processed before the default of enabling pwfeedback,
so a dropin that does `Defaults !pwfeedback` to restore the pre-sudo-rs behavior
has no effect. With this change, the dropin will take effect.

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8388>
2026-04-17 10:10:03 -07:00
Ferass El Hafidi 37d5c5e228 main/postmarketos-ui-plasma-mobile: preinstall angelfish or firefox
depending on arch

Angelfish is not available on armv7 nor riscv64 due to qt6-qtwebengine
getting disabled. However, it is still preferable to install a web
browser by default. Firefox however can still be used on those devices.
Add a new -web subpackage, which installs Firefox on armv7/riscv64, and
installs angelfish on others, so everyone gets to have a pre-installed
and working web browser.

Signed-off-by: Ferass El Hafidi <funderscore@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8373>
2026-04-17 13:38:44 +00:00
Ferass El Hafidi 14a23d8a3e main/postmarketos-ui-plasma-mobile: move qtwebengine apps to extras_web
A web browser engine not being available should not cause the whole UI
to become unavailable, especially when not required for the UI itself to
work. Move packages depending on qt6-qtwebengine to a separate
subpackage, that gets pulled only on arches where qtwebengine is
available.

Signed-off-by: Ferass El Hafidi <funderscore@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8373>
2026-04-17 13:38:44 +00: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
Achill Gilgenast 599973fa45 main/postmarketos-base-ui: depend on avahi
Pre-install and enable a zeroconf provider

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8102>
2026-04-16 16:01:26 +02:00
Aelin ecb80ae8ca main/postmarketos-ui-plasma-mobile: Disable on ARMv7
qt6-qtwebengine has been disabled on ARMv7, and therefore angelfish is
no longer available for this architecture (pending disablement in
Alpine, but cannot be installed due to the missing qtwebengine libraries).

[ci:skip-vercheck]: only changing architectures

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8372>
2026-04-16 05:12:15 +02:00
Oliver Smith b0aefa426d main/postmarketos-ui-mediaberry: remove
This package depends on mbwl, which has been removed from pmaports.

Signed-off-by: Oliver Smith <ollieparanoid@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8335>
2026-04-13 15:01:17 +00: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
Clayton Craft 6d8d98c235 main/postmarketos-duranium: depend on shadow-subids
useradd is run during first boot, and if /etc/sub{uid,gid} exist then
the user is added there. By adding an explicit dependency, we make sure
these files always exist on first boot so that container stuff added
later (e.g. in an extension) will work OOTB.

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
Clayton Craft 7674d8b45a main/postmarketos-duranium: add systemd-sysext preset
This service merges installed system extensions on boot

Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8258>
2026-04-12 21:34:39 -07:00
Clayton Craft 06489cbd79 main/postmarketos-duranium: add support for systemd config extensions
Some of this was inspired by what GNOME OS does.

Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8330>
2026-04-12 17:17:55 +00:00
Clayton Craft 89e4cd346f main/postmarketos-duranium: add script to set image channel
This adds a script that can be used to set the "channel" for images to
"staging" or "main." "Staging" will come from a separate pipeline in the
duranium mkosi config repo, it may build images with patches or whatever
for testing, and won't be available to users running the "main" channel.

Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8330>
2026-04-12 17:17:55 +00:00
Achill Gilgenast fdb3d2ebbc main/postmarketos-base-ui: adapt replaces= to upstream chrony changes
The config file got moved to the new chrony-common package, so we must
"replace" this subpkg, so apk doesn't fails when replacing the file

Ref: https://gitlab.alpinelinux.org/alpine/aports/-/commit/70b570d4095272ab926a2693fdfb09c62d016a0b
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8294>
2026-04-07 11:17:19 +02:00
Clayton Craft 236204b51f main/postmarketos-install-recommends: set Clayton as maintainer
Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8287>
2026-04-06 22:09:05 +00:00
Clayton Craft 6b903686d4 main/postmarketos-install-recommends: upgrade to 0.3
Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8287>
2026-04-06 22:09:05 +00:00
Dylan Van Assche f4ad3632fc main/postmarketos-base-ui: set TimeoutStopSec for iio-sensor-proxy
Enforce to be killed on shutdown in 3s,
until https://gitlab.freedesktop.org/hadess/iio-sensor-proxy/-/merge_requests/410 is upstream.

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7788>
2026-04-06 16:29:10 +00:00
Clayton Craft e1317493c6 main/postmarketos-base-ui: proximity and accel sensor support
This is hopefully temporary. The proximity and accelerometer sensor tags
were removed upstream(1) citing an open issue on a specific device
and the desire to have more testing. Enabling it in pmOS will help get testing.

This udev rule shouldn't have any impact on devices that don't have
fastrpc. Installing it conditionally on iio-sensor-proxy just seems adds
packaging complexity for basically no benefit.

1. https://gitlab.freedesktop.org/hadess/iio-sensor-proxy/-/commit/a9d7ff148cd4fa5e40b23b189894b36dd81f51df

Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7788>
2026-04-06 16:29:10 +00:00
Bart Ribbers e90be571c4 main/postmarketos-base-ui-plasma: depend on geoclue
Required for GPS/location functionality in various applications. Needs
to be pulled in by the meta package rather than the apps themselves to
ensure it'll work for Flatpakked apps.

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8269>
2026-04-06 00:01:36 +00:00
Achill Gilgenast ec6491ffe9 main/postmarketos-ui-phosh: update to mobi.phosh schema for stevia
See https://gitlab.gnome.org/World/Phosh/stevia/-/commit/a4c92473dad292e524dea4e465a8b620a0684991

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8282>
2026-04-05 17:37:01 +00:00
Nikita Travkin 8f192af9b1 main/dtbloader: upgrade to 1.5.4
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8277>
2026-04-05 11:07:11 +05:00
Clayton Craft dceffe8a46 main/postmarketos-duranium: new aport
Duranium is an immutable variant of postmarketOS that uses systemd's
image-based OS model: dm-verity verified /usr, A/B slots managed by
systemd-sysupdate, LUKS2-encrypted root, and systemd-boot with UKIs.

This package ships systemd-repart, systemd-sysusers, tmpfiles, and
first-boot service configuration needed at runtime in both the initramfs
and the booted system, as well as sysupdate transfer definitions for
finding and upgrading images. Build-time repart and sysupdate config
lives in the mkosi config repo[1].

The pmOS initramfs is not used. Rather than re-implement partition
setup, verity, factory reset, and switch_root in shell script and
risk regressions for mutable pmOS installs, an initramfs is built by
mkosi containing systemd. This lets the standard systemd initrd
machinery handle everything, with no modifications to the pmOS
initramfs required.

On Android devices, subpartition logic from the pmOS initramfs is
essentially copied into a new systemd unit that runs in the initramfs
and sets up subpartitions so that they are available to tooling that
runs later in the boot process. In the future, this functionality should
be moved upstream into systemd.

Boot flows:

"Normal boot": the verified /usr partition is mounted and the LUKS
root partition is unlocked (empty passphrase by default, with fallback
to a graphical unlock prompt for user-set passphrases). switch_root
hands off to the real rootfs.

"First boot": systemd-repart creates the root partition, always as a
LUKS volume with an empty passphrase. After switch_root, a first-boot
app runs before the display manager to collect a username and password,
create the user account, and optionally set a LUKS passphrase. The
passphrase can also be changed later via systemd-cryptenroll or
cryptsetup.

"Factory reset": detected in the initramfs by systemd, which uses
systemd-repart to wipe and recreate the root partition. Boot then
continues with the first boot flow above. Factory reset can be triggered
while booting in the rootfs by starting a systemd unit that configures
an EFI variable to signal to the initramfs on next boot.

Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7059>
2026-04-03 19:23:17 +00:00
WrenIX 07d8d68309 main/postmarketos-ui-os-installer: switch from doas to sudo
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8228>
2026-04-02 22:35:35 +00:00
Aster Boese d4c0788fb6 main/postmarketos-initramfs: install udev.conf from /usr/lib/udev/udev.conf
Signed-off-by: Aster Boese <asterboese@mailbox.org>

[ci:skip-build]: already built successfully in CI (except riscv64 and armv7 due to known CI issue)

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8046>
2026-04-02 20:29:28 +00:00
Aster Boese 3713cc55a7 main/postmarketos-base: move udev.conf to /usr/lib/udev/
Moves udev.conf from `/etc/udev.conf` to `/usr/lib/udev/udev.conf` and fixes
invalid syntax.

Signed-off-by: Aster Boese <asterboese@mailbox.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8046>
2026-04-02 20:29:28 +00:00
Hugo Osvaldo Barrera 6d1ef68afc */*: rely on abuild's systemd integration
abuild's default behaviour copies files from usr/lib/systemd into a the
$pkgname-split subpackage.

Several APKBUILD definitions do this manually, since they predate this
feature.

Remove the superfluous systemd() function in these cases.

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8023>
2026-04-01 21:40:48 +00:00
Bart Ribbers 74bc7fb86b main/postmarketos-base-ui-plasma: move plasma-camera to -ui-plasma-mobile
Not sure why we were installing this application to desktop and
bigscreen as well...

[ci:skip-vercheck]

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8252>
2026-04-01 14:18:40 +02:00
Bart Ribbers d7c7786947 main/postmarketos-ui-plasma-bigscreen: re-enable
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8141>
2026-03-31 17:48:41 +00:00
Stefan Hansson 6ff3ee9670 main/dint: upgrade to 0.2.0
Signed-off-by: Stefan Hansson <newbyte@postmarketos.org>
2026-03-31 17:28:23 +02:00
Achill Gilgenast 59012769cc */*: rebuild against python 3.14
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8239>
2026-03-31 14:25:42 +00:00
Aelin 4997cbff8c main/hexagonfs-firmware-loader: drop
Back in the days, hexagonrpcd was not suitable for generic device
packages and we had to hack around it with this service / script. Now
that hexagonrpcd can guess the HexagonFS directory location at runtime,
we can and should get rid of this service to align with our (future)
firmware packaging guidelines.

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8163>
2026-03-30 22:04:04 +00:00
Pablo Correa Gómez 6399bd2a4a main/gesture: drop
This is now upstream in Alpine.

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7499>
2026-03-28 10:58:46 +00:00
Pablo Correa Gómez 6671b8deea main/shelli: drop
This is now upstream in Alpine

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7499>
2026-03-28 10:58:46 +00:00
Jana Steuernagel dc5f770d8a main/postmarketos-config-nftables: add rule for rdp
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8231>
2026-03-27 15:54:13 +00:00
Clayton Craft 0a1cf811db main/postmarketos-usb-moded: improve systemd unit override
This changes the override to:

1) use /sys/kernel/config for the configfs location
2) depend on the sys-kernel-config.mount unit, which will automatically
mount configfs
3) depend on modprobing libcomposite
4) create the g1/configs/c.1 path automatically in case it's not created
yet

The configfs.ini file is also updated with the path

Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8175>
2026-03-20 17:05:42 -07:00
Clayton Craft 24184654b2 main/postmarketos-initramfs: change configfs mount point
This matches the path that systemd's sys-kernel-config.mount unit uses,
and imho it's a lot nicer to tuck the mount point under /sys/kernel
(like for debugfs) than to have it in /

Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8175>
2026-03-20 17:05:42 -07:00
Aster Boese 30e5479de2 main/postmarketos-base: switch from doas to sudo-rs
The version of OpenBSD's doas packaged by Alpine had its last commit
21-02-2022. This in itself is not bad, but the issue is that in that time,
there have been many MRs and issues filed to the repo that see no action.
One major MR, that being a hardening patch against rowhammer attacks,
has layed stale since 03-03-2024. After Natanael Copa asked if the repo
was still maintained, the response was that it is low-priority.

As such switching to sudo-rs, despite its larger size and attack surface, makes
sense due to more users and thus more eyes on it performing analysis and fixing
security issues quicker. OpenBSD doas does not have this itself, and a low-usage
fork of it definitely does not. While there are snazzier, more modern
alternatives like run0, capsudo, or s6-sudo, none of these are in a state where
they can fully replace all the features that sudo provides.

sudo-rs was chosen over the original sudo due to a few factors. The first is
memory safety, as Rust generally solves that issue in the codebase, so a whole
class of possible vulns are eliminated. Second is that sudo-rs is already in
use by larger distributions like Canonical's Ubuntu, meaning that the user base
is already quite large, leading to similar amounts of eyes on the source code.
Third, sudo-rs has had support from the original authors of sudo, allowing the
project to avoid the pitfalls of the legacy C codebase. Finally, sudo-rs has
already had two fairly recent independent security audits, meaning that their
security posture is diligent enough to be trusted.

See https://github.com/trifectatechfoundation/sudo-rs/tree/main/docs/audit

In the future, any further switch in the privilege-escalation tool should keep
the sudo command, be it through a symlink, shim, or a binary itself. This is
maintained currently due to having installed doas-sudo-shim by default, but
more care should be taken in the future to not break user workflows.

Partially reverts 0f327af853

See https://gitlab.postmarketos.org/postmarketOS/pmaports/-/issues/4144

Signed-off-by: Aster Boese <asterboese@mailbox.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7967>
2026-03-18 17:36:30 +00:00
Ingo Reitz e96de8dd47 main/cros-keyboard-map: update to 0_git20251218
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8174>
2026-03-18 17:22:28 +00:00
Achill Gilgenast 2478dbed46 main/postmarketos-base-ui-gnome: remove fractional scaling override
Has been stablized and enabled by default in upstream GNOME 50, which is
in pmOS edge. GNOME Mobile which is on 48, had it enabled anyway.

Ref: <https://gitlab.gnome.org/GNOME/mutter/-/commit/74965cdb047df0f2159d53cb12770949924c60e9>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8194>
2026-03-17 11:31:57 +00:00
Achill Gilgenast 605969d5b5 main/postmarketos-base-ui-gnome: recommend gnome-user-share & rygel
Enables the "Sharing"-panel in g-c-c for file & media sharing between
local computers.

Don't need a user preset, since they should be disabled by default, but
can be enabled in g-c-c.

Might need more configuration for mDNS/Avahi/zeroconf to work, but can be done
seperately, see
<https://gitlab.postmarketos.org/postmarketOS/pmaports/-/issues/1380> &
<https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8102>

Closes: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/issues/3256

[ci:skip-vercheck]: pmb_recommends

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8184>
2026-03-15 18:23:53 +00:00
Pablo Correa Gómez cd91997729 main/postmarketos-initramfs: don't halt execution if IN_CI
This is already done in the CI hook

Signed-off-by: Pablo Correa Gómez <pabloyoyoista@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7881>
2026-03-12 19:17:36 +00:00
Pablo Correa Gómez 37980a2ac7 main/postmarketos-test: add myself as Co-Maintainer
Signed-off-by: Pablo Correa Gómez <pabloyoyoista@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7881>
2026-03-12 19:17:36 +00:00
Pablo Correa Gómez e510376e8b main/postmarketos-mkinitfs-hook-ci: add myself as Co-Maintainer
Signed-off-by: Pablo Correa Gómez <pabloyoyoista@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7881>
2026-03-12 19:17:36 +00:00
Pablo Correa Gómez 61f52ad05c main/postmarketos-mkinitfs-hook-ci: halt booting process after finishing
This is currently done in the initramfs itself, and there's no need to
leak that information, so follow-up commits will remove it from the
initramfs.

Signed-off-by: Pablo Correa Gómez <pabloyoyoista@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7881>
2026-03-12 19:17:36 +00:00
Pablo Correa Gómez 864a894594 main/bootrr: upgrade to git20240706
Which includes the patches we were carrying

Signed-off-by: Pablo Correa Gómez <pabloyoyoista@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7881>
2026-03-12 19:17:32 +00:00
Pablo Correa Gómez 3fd2bd3660 main/bootrr: drop now-unused pmtest subpackage
This allows to upstream the package to alpine, and makes the logic
more consistent.

Signed-off-by: Pablo Correa Gómez <pabloyoyoista@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7881>
2026-03-12 19:17:32 +00:00
Pablo Correa Gómez 733dde2963 main/postmarketos-test: document a bit the split function
Signed-off-by: Pablo Correa Gómez <pabloyoyoista@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7881>
2026-03-12 19:17:29 +00:00
Pablo Correa Gómez 8283f0002a main/postmarketos-test: add bootrr subpackage
Taking the files from the bootrr package. This will allow us to move
the package to alpine in the future, also to, in follow-up commits,
make the use of the postmarketos-test package consistent.

Signed-off-by: Pablo Correa Gómez <pabloyoyoista@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7881>
2026-03-12 19:17:25 +00:00