Commit graph

3258 commits

Author SHA1 Message Date
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: 70b570d409
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. a9d7ff148c

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 a4c92473da

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: <74965cdb04>
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
Pablo Correa Gómez
5a4a943e9a
main/postmarketos-test: let tests add additional files to the initramfs
This will be used in follow-up commits to bring in more tests from
other packages in pmaports

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:22 +00:00
Pablo Correa Gómez
4dbd727be9
main/postmarketos-test: do not hardcode 90 as a prefix for _test function
Instead, use shell globbing to find the corresponding file. This
allows using the function for the -unl0kr subpackage, and improves the
consistency between the filenames

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:18 +00:00
Pablo Correa Gómez
f6266abc12
main/postmarketos-test: remove support for unused rootfs tests
When we create rootfs tests, they will involve more complex scenarios
that might not be fit for this simple packaging and shell
scripts. Therefore, remove it to simplify developing initramfs tests

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:15 +00:00
Clayton Craft
0f0b8ceaa2
main/postmarketos-zram: override vm.min_free_kbytes if >= 1GB RAM
Without a sufficient vm.min_free_kbytes value, the kernel may not start
reclaiming memory early enough to make use of zram swap before the
kernel OOM killer fires. Set a minimum of 100000 KB on devices with >=
1GB of RAM where the kernel's calculated value is lower.

This ignores devices with <1GB of RAM, because I think with so little
RAM isn't unlikely to really matter and if we set this too high then we
risk insta-OOMs.

Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8157>
2026-03-12 15:55:24 +00:00
Oliver Smith
61382834c1
main/postmarketos-ui-phosh: recommend phosh-tour
Put phosh-tour in pmb_recommends instead of having postmarketos-welcome
indirectly installed by default through
postmarketos-base-ui-gnome-mobile. In order to do that, move
postmarketos-welcome from the pmb_recommends of
postmarketos-base-ui-gnome-mobile to postmarketos-ui-gnome-mobile.

The reasons for that is that the postmarketos-welcome app by now has
in part incomplete and outdated explanations about how phosh shall be
used. For example, a common question that we don't answer but phosh-tour
does is how the keyboard can be launched from any app.

The postmarketos-welcome app warns more about that this is an
experimental system, but that is prominently displayed on our homepage
when trying to download images. Otherwise it also doesn't contain much
information that makes it worth keeping instead of phosh-tour.

Finally phosh upstrem has also said that they would be willing to have
distro-specific tour pages, so if we notice that something would be
really good to have there in the long run, we could look into getting it
in phosh-tour.

[ci:skip-vercheck]: changing pmb_recommends doesn't need rebuilds

Signed-off-by: Oliver Smith <ollieparanoid@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8145>
2026-03-08 20:54:00 +01:00
Justin
5491bc9c04
main/unl0kr: upgrade to 3.5.1
This also adds support for building the unl0kr password agent for
systems running systemd.

Co-authored-by: Clayton Craft <craftyguy@postmarketos.org>
Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6463>
2026-03-06 19:51:31 +00:00
Pablo Correa Gómez
07087f8bd5
main/fbkeyboard: drop
This package should instead be in alpine

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7501>
2026-03-03 22:11:34 +01:00
Pablo Correa Gómez
f1b572d289
main/postmarketos-ui-fbkeyboard: update maintainer
Robert Bloy already took maintenance of the fbkeyboard utility in
0431133641 and the former maintainer
does not have an account in our gitlab. So transfer maintainership.

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7501>
2026-03-03 22:11:33 +01:00
Aelin
8c15baad17
main/postmarketos-ui-plasma-desktop: only depend on plasma-login-manager for systemd
By moving the dependency to the systemd subpackage and depending on sddm
for OpenRC installs, we fix OpenRC installs and unbreak the bootstrap
dependency cycle for the main and systemd repo.

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8116>
2026-03-03 19:16:53 +00:00
Bart Ribbers
654c9c242a
systemd/plasma-login-manager: new aport
We're using it as a SDDM replacement

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8079>
2026-03-02 14:31:13 +01:00
Luca Weiss
d3ed45a6a4
main/lk2nd: upgrade to 22.0
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8073>
2026-02-27 16:39:27 +00:00
Luca Weiss
d755b4ddd7
main/deviceinfo-converter: profile.d script fixes
* Fix referencing non-existing variable
* Don't pollute shell variables with deviceinfo by sourcing in a
  subshell and only setting the environment variable.

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8076>
2026-02-26 03:00:27 +00:00
Luca Weiss
be0fe2076a
main/postmarketos-ui-lomiri: various fixes and improvements
* Fix wrong path for lomiri-indicator-location, this has probably
  changed upstream a while ago and was missed.
* Fix font rendering on some Adreno GPUs
* Clean up dependencies
    * Don't force-depend on pipewire* and wireplumber.
    * Remove font-droid-nonlatin since that's already in _pmb_recommends
      of postmarketos-base-ui.
    * Remove networkmanager since that's already a dependency of
      postmarketos-base-ui-networkmanager.
* Add more Lomiri apps as recommended
* Set home button background color, otherwise the white logo is
  invisible on a (default) white background.

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8076>
2026-02-26 03:00:27 +00:00
Bart Ribbers
1cf837e15b
main/postmarketos-ui-plasma-desktop: disable on x86
We pre-install Firefox but that isn't available anymore on x86 since
67ceb722092486a00de16b6ae72933e179f07fc9 in aports. Since
_pmb_recommends doesn't support things like 'case "$CARCH" in', there is
no way to conditonally disable Firefox on the architecture so we have to
disable the entire UI for it for now.

[ci:skip-vercheck]

Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8080>
2026-02-25 20:27:50 +01:00