Commit Graph
2736 Commits
Author SHA1 Message Date
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
Oliver Smith 20461d317a Revert "main/postmarketos-ui-console: do not install any audio backend by default (MR 6192)"
This reverts commit e2557598d7. The patch
caused installs to fail where the device package explicitly depends on
postmarketos-base-ui-audio-pipewire:

ERROR: unable to select packages:
  postmarketos-base-ui-audio-pipewire-35-r0:
    conflicts: postmarketos-base-ui-audio-none-35-r0[postmarketos-base-ui-audio=35-r0]
    satisfies: device-xiaomi-nabu-5-r0[postmarketos-base-ui-audio-pipewire]
               postmarketos-base-ui-35-r0[postmarketos-base-ui-audio]
  postmarketos-base-ui-audio-none-35-r0:
    conflicts: postmarketos-base-ui-audio-pipewire-35-r0[postmarketos-base-ui-audio=35-r0]
    satisfies: world[postmarketos-base-ui-audio-none]
               postmarketos-base-ui-35-r0[postmarketos-base-ui-audio]

I've also tried to move the postmarketos-base-ui-audio-pipewire
dependency into a subpackage that doesn't get installed when
postmarketos-ui-console gets installed. But that did *not* work:

audio() {
	# This does NOT work!
	install_if="$pkgname=$pkgver-r$pkgrel postmarketos-base-ui !postmarketos-ui-console"
	mkdir "$subpkgdir"
}

It could work if postmarketos-ui-console did not depend on
postmarketos-base-ui, maybe that should be looked at in a follow-up
patch. Or just install the audio stack and require the user to do
UI=none if they want a really minimal system. Let's revert the patch now
to fix failing installs in bpo, e.g. master:xiaomi-nabu:console.

Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6408
2025-04-17 20:37:10 +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
Caleb Connolly 00919cd2c0 postmarketos-ui-conosle: use systemd
As with ever

Signed-off-by: Casey Connolly <caleb@postmarketos.org>
Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6415
[ci:skip-build]: already built successfully in CI
2025-04-14 13:39:36 -07:00
Oliver Smith d246f597de main/postmarketos-base-ui: add flatpak workaround (MR 6417)
Set GSK_RENDERER=ngl for QCOM devices to fix that GTK4 doesn't work in
flatpak for some of those.

[ci:skip-build]: already built successfully in CI
2025-04-14 21:28:17 +02:00
Caleb Connolly 72de80dd30 postmarketos-initramfs: bump pkgver and fix checksums
Signed-off-by: Caleb Connolly <caleb@postmarketos.org>
Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6182

[ci:skip-build]: already built successfully in CI
2025-04-08 13:35:31 -07:00
Caleb Connolly 959786494a postmarketos-initramfs: add unit tests
Introduce some initial unit tests for the initramfs.

Signed-off-by: Caleb Connolly <caleb@postmarketos.org>
Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6182
2025-04-08 13:35:31 -07:00
Caleb Connolly 9eb1f8d1e7 postmarketos-initramfs: fix caching in find_root/boot_partition
These two functions echo their output, requiring the use of a subshell
to capture it. However they also attempt to cache the output in global
variables.

Unfortunately, we can't do both. Variables set in the subshell aren't
reflected in the parent shell.

Rework these functions so they take a variable to set as a parameter
(like the "read" command). This avoids spawning a subshell and enables
the caching functionality that was added previously.

Signed-off-by: Caleb Connolly <caleb@postmarketos.org>
Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6182
2025-04-08 13:35:30 -07:00
Oliver Smith 602f1a6131 main/mobile-config-firefox: upgrade to 4.6.0
Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6377
2025-04-03 22:00:44 -07:00
Pablo Correa Gómez 329a69efa7 main/postmarketos-ui-gnome: do not use mobile version
Equivalent for GNOME of 69a4afc838

Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6373
[ci:skip-build]: already built successfully in CI
2025-04-03 11:20:13 +02:00
Sicelo A. Mhlongo 9b19e3e248 main/postmarketos-base: drop udev-based firmware loading
udev no longer supports using userspace to service kernel requests for
firmware. While the kernel can be configured to send such requests to
userspace, udev will not do anything about them.

Reference: https://github.com/eudev-project/eudev/commit/3b717594600fa717cdf9bcfd0c7c1b703b245482

Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6332
[ci:skip-build]: already built successfully in CI
2025-04-03 10:50:28 +02:00
David Furey 0c6620f7a2 Allow the USB network host address to be configured rather than random
The USB network host address is used by some hosts to define the interface
name. Making the host address deterministic can simplify host network
configuration.

Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6232
[ci:skip-build]: already built successfully in CI
2025-04-02 12:13:41 +02:00
fossdd 5a65176f72 main/postmarketos-base-ui: remove 50-firefox-wayland.sh
firefox, firefox-esr and thunderbird already default to Wayland.

Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6372
[ci:skip-build]: already built successfully in CI
2025-04-02 12:09:14 +02:00
fossdd d6d96bdd7c main/postmarketos-ui-gnome: remove firefox-wayland.sh
firefox, firefox-esr and thunderbird already default to Wayland.

Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6372
2025-04-02 12:09:14 +02:00
fossdd 4bf90844db main/postmarketos-ui-gnome-mobile: remove firefox-wayland.sh
firefox, firefox-esr and thunderbird already default to Wayland.

Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6372
2025-04-02 12:09:14 +02:00
fossdd dc89a04eec main/postmarketos-ui-gnome-mobile: remove blue accent color override
GNOME Mobile was upgraded to 48

This reverts commit a9e97f5aa6.

Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6372
2025-04-02 12:09:14 +02:00
fossdd 9a363671c8 main/postmarketos-ui-kodi: enable pmb:systemd
kodi.service was added in adada180b2

[ci:skip-vercheck]: only "pmb:" options changed

Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6363
[ci:skip-build]: already built successfully in CI
2025-04-02 11:45:26 +02:00
Felix Urbasik 4dc833abc2 main/postmarketos-initramfs: add support for multi-device btrfs
This change allows mounting btrfs root filesystems which are spread
across multiple devices or partitions.

Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/5508
[ci:skip-build]: already built successfully in CI
2025-03-27 20:49:25 +01:00
Oliver Smith fe59d6ebc5 main/mobile-config-firefox: upgrade to 4.5.0
Part-of: https://gitlab.postmarketos.org/postmarketos/pmaports/-/merge_requests/6356

[ci:skip-build]: already built successfully in CI
2025-03-26 22:20:22 +01:00
Caleb ConnollyandClayton Craft a679e5132c systemd/*: use new abuild systemd helpers
Adjust everything to use the new systemd abuild helpers. These generate
the post-install/pre-deinstall and post-upgrade scripts automagically,
and abuild now provides some helpers where it's necessary to finegle
things a bit (e.g. see the pipewire-pulse-systemd subpackage).

Signed-off-by: Caleb Connolly <caleb@postmarketos.org>
Co-authored-by: Clayton Craft <clayton@craftyguy.net>
Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6334
2025-03-22 17:10:29 +00:00
Oliver Smith 3240d9fd57 main/postmarketos-mkinitfs: trigger: add skip hint (MR 6325)
The recent optimization of not running "mkinitfs" during the trigger
script when running in pmbootstrap lead to unexpected behavior for some
use cases: testing initramfs changes and upgrading the initramfs in the
chroot (e.g. with pmbootstrap chroot --image). Let the user know that it
gets skipped and tell them how they can force building a new initramfs,
as discussed with Caleb.

[ci:skip-build]: already built successfully in CI
2025-03-18 11:45:47 -07:00
Pablo Correa Gómez 4dbf379cdb main/postmarketos-dev: add openssh-client as dependency
And reorder deps alphabetically. This is a follow-up from
f85eabcca6

Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6305
[ci:skip-build]: already built successfully in CI
2025-03-14 21:55:34 +01:00
Caleb Connolly b7118581dd postmarketos-initramfs: bump pkgver and checksum
Signed-off-by: Caleb Connolly <caleb@postmarketos.org>
Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6172
2025-03-14 20:24:07 +00:00
Caleb Connolly 865653c97d postmarketos-initramfs: log splash messages
log splash messages with the new info log level. This can be useful when
working on headless devices.

Signed-off-by: Caleb Connolly <caleb@postmarketos.org>
Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6172
2025-03-14 20:24:07 +00:00
Caleb Connolly 4d3958c4a5 postmarketos-initramfs: add rd.info arg and reduce logging
Support the rd.info cmdline argument to enable additional info logging,
and reduce the log level of some things to info so we print less
overall.

Signed-off-by: Caleb Connolly <caleb@postmarketos.org>
Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6172
2025-03-14 20:24:07 +00:00
Caleb Connolly 8400fffefb postmarketos-initramfs: refactor cmdline parsing
Currently the initramfs is littered with various code snippets which
read /proc/cmdline. This is error prone and results in more complicated
code especially as we want to standardise all the pmos specific cmdline
arguments, and where some arguments have the same behaviour as
deviceinfo variables.

Let's do the parsing correctly, once, and set global variables to
enable/disable/configure parts of the initramfs. At the same time
introduce namespaced and standard versions of the remaining arguments
which haven't been standardised yet.

Now (for example) to check if the splash is disabled, rather than
grepping /proc/cmdline for PMOS_NOSPLASH AND checking if
deviceinfo_no_framebuffer is true, you can just check if "$nosplash" =
"y".

This will drastically simplify the process of adding additional
configuration options in the future.

Most of the code here was taken from the Arch Linux initramfs and
simplified/adjusted to better fix our use case.

Signed-off-by: Caleb Connolly <caleb@postmarketos.org>
Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6172
2025-03-14 20:24:07 +00:00
Caleb Connolly 91c5784bd4 postmarketos-initramfs: refactor find_root/boot_partition
These functions are almost identical and follow the same logic.
Introduce a generic find_partition function which they can both call
into so we can abstract the logic away from the specific usage and make
everything much cleaner.

Signed-off-by: Caleb Connolly <caleb@postmarketos.org>
Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6172
2025-03-14 20:24:06 +00:00
Caleb Connolly 024422416f postmarketos-initramfs: refactor setup_log
Simplify things by putting all the log targets in one variable, and add
a special-case to log to consoles when pmos.nosplash is set and no
consoles are used by the kernel (e.g. because console=null is set).

Signed-off-by: Caleb Connolly <caleb@postmarketos.org>
Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6172
2025-03-14 20:24:06 +00:00
Caleb Connolly 4133f4aeb5 postmarketos-initramfs: use local for more function-local variables
Signed-off-by: Caleb Connolly <caleb@postmarketos.org>
Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6172
2025-03-14 20:24:06 +00:00
Caleb Connolly acb5d895b3 postmarketos-initramfs: reword debug-shell usb storage info
Make it clearer what is exposed over USB and why rather than just
printing the cmdline option.

Signed-off-by: Caleb Connolly <caleb@postmarketos.org>
Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6172
2025-03-14 20:24:02 +00:00
Clayton Craft f62fc95d7d main/postmarketos-ui-cosmic: new aport (MR 6274) 2025-03-13 10:57:35 -07:00
Stephanie Bread b3f4741789 main/postmarketos-base-ui-gnome: add gvfs packages (MR 6314)
[ci:skip-build]: already built successfully in CI
2025-03-13 16:35:00 +01:00
fossdd f757629409 main/postmarketos-ui-kodi: enable some architectures (MR 6273)
[ci:skip-vercheck] only $arch changed, doesnt affect APKINDEX or .apk
2025-03-12 21:11:43 +01:00
fossdd ae7b3c1cdb main/postmarketos-base-ui-gnome: remove epiphany user agent override
Our epiphany got blocked by https://gitlab.gnome.org/ due to their new
AI scraping protection. We used a older User-agent that is not
regocnized by their protection and blocked us with "Access Denied.".

Nowadays Epiphany uses a dynamic user agent by default depending on the
chassis reported by systemd-hostnamed (e.g. mobile or desktop).

Fixes: 2722f6cac5 ("main/postmarketos-ui-{gnome,phosh}: less revealing epiphany user-agent (MR 1402)")

Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6293
[ci:skip-build]: already built successfully in CI
2025-03-12 13:29:08 +01:00
Oliver Smith 6cc823e729 main/postmarketos-mkinitfs: use cross-native2 (MR 6297)
Speed up cross compilation.

Related: https://docs.postmarketos.org/pmbootstrap/cross_compiling.html
[ci:skip-build]: already built successfully in CI
2025-03-10 22:09:26 +01:00
Oliver Smith 79fc4d2cd8 main/postmarketos-mkinitfs: build with cgo (MR 6297)
Set CGO_ENABLED=1 to fix the following when cross compiling with
cross-native2 from x86_64 to (armv7,riscv64,armhf):

  -buildmode=pie requires external (cgo) linking, but cgo is not enabled

Depends: pmbootstrap MR 2565
Related: https://gitlab.alpinelinux.org/alpine/aports/-/issues/15809
2025-03-10 22:09:26 +01:00
Oliver Smith 6b56b58193 main/postmarketos-mkinitfs: trigger: skip in pmb (MR 6297)
Don't run mkinitfs inside "pmbootstrap install" with the trigger
script, as it triggers multiple times as the rootfs gets constructed,
slowing down the process. Instead, pmbootstrap runs "mkinitfs"
explicitly once at the end of "pmbootstrap install".

pmaports master has pmbootstrap_min_version=2.3.2 in pmaports.cfg, which
already runs "mkinitfs" at the end of "pmbootstrap install", see
pmb/install/_install.py, install_system_image().
2025-03-10 22:09:26 +01:00
Oliver Smith 200529afe0 main/postmarketos-mkinitfs: tweak clean print (MR 6297)
Don't print the "Cleaning up old boot files..." message every time in
post-upgrade, only when it actually deletes files.
2025-03-10 22:09:17 +01:00
Jens Reidel 17dd7eb87d main/hexagonfs-firmware-loader: New package
Signed-off-by: Jens Reidel <adrian@travitia.xyz>
Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6286
2025-03-10 15:08:12 +01:00
Jens Reidel ffc486b71d main/msm-firmware-loader: Upgrade to 1.6.0
Signed-off-by: Jens Reidel <adrian@travitia.xyz>
Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6286
2025-03-10 15:08:12 +01:00
Robert Mader d30dd361ee main/postmarketos-base-ui-gnome: Move fprintd from depends to pmb_recommends
It's an optional service, thus users should be free to remove it.

Fixes: 5cffcf7ea ("main/postmarketos-base-ui-gnome: add fprintd to depends (MR 6206)")

Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6300
[ci:skip-build]: already built successfully in CI
2025-03-09 13:25:05 +01:00
Robert Mader b437864625 main/postmarketos-base-ui-gnome: add ffmpegthumbnailer to pmb_recommends
So that the file managers and choosers - Nautilus by default - show thumbnails
not only for images but also videos. Apart from being a nice-to-have, it
can help prevent privacy issues like uploading/sending wrong videos - an
increasingly realistic scenario as camera recording becomes more usable.

Note that Gnome usually uses totem-video-thumbnailer for that job,
but ffmpegthumbnailer has fewer dependencies, seems to be more stable,
is slightly faster - and pmOS already comes with ffmpeg, so there are
no additional licensing issues.

Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6300
2025-03-09 13:25:05 +01:00
Anjandev Momi 71bd7963a6 main/postmarketos-base-ui: drop redundant dependency on openssh-server-pam (MR 6244)
It's now a dependency of postmarketos-base, which is always installed on .
2025-03-08 23:59:05 -08:00
Anjandev Momi f85eabcca6 main/postmarketos-base: depend on openssh-server-pam (MR 6244)
Always make sure openssh server w/ PAM support is installed. This also
drops an implicit dependency on `openssh-client`, this was pulled in
previously by `depends="openssh"`.

fixes #3570
2025-03-08 23:58:17 -08:00
Jakob Hauser 4ebe03a264 main/swclock-offset: upgrade to 0.2.5 (MR 6295)
Changelog:
- Support busybox 'date' command
  BB's `date` doesn't support the long form for args (e.g. `--utc`), only
  the short form, while coreutils supports both versions. By using the
  short form swclock-offset can support both versions of `date`

Fixes #3585
[ci:skip-build]: already built successfully in CI
2025-03-07 16:31:03 +01:00
fossdd 9eb5dfcbf0 main/postmarketos-base: enable apk --cache-pre-download (MR 5921)
This allows safer installation of packages, since the upgrade doesn't
fail with a half-installed system if the download fails while installing.

Note that this will only take effect when Alpine upgrades to apk-tools 3.

Closes: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/issues/3383
See: https://gitlab.alpinelinux.org/alpine/apk-tools/-/issues/10891
2025-03-05 19:16:27 +01:00
David Furey 7606236702 postmarketos-base-ui: honour deviceinfo_disable_dhcpd flag in NetworkManager scripts (MR 6230)
deviceinfo_disable_dhcpd only disables dhcpd during init, but it should
also be disabled in other contexts.

[ci:skip-build]: already built successfully in CI
2025-03-05 14:14:22 +01:00
Pablo Correa Gómez eb18caefb5 Update APKBUILDS to use Maintainer and Co-Maintainer instead of CODEOWNERS (MR 6272)
We now have a bot that reads those lines from APKBUILD files, instead
of using a proprietary gitlab feature. Relevant changes:

* Change @ollieparanoid for @Newbyte as maintainer for GNOME packages
  where Oliver was listed.
* Don't add @craftyguy as Librem5 maintainer, as he dropped it long
  ago
* Remove entries referencing archived ports
* Don't touch jenneron's maintainership. That's a task for another day
* Don't add "balejk" as maintainer. We have tried pinging them, but
  seem to be currently idle
  person is. Help figuring it out would be welcomed.
* Don't add "binarycraft" as maintainer. Last contribution was years
  ago: https://gitlab.com/binarycraft
* Don't add more maintainers to linux-postmarketos-qcom-msm8953, as it
  would have ended up with 7, which might be a bit too much
* Don't add more maintainers to the PinePhone. The current ones seem
  to actually be the most active
* Don't add Danct12 to N900. Sicelo has been single-handedly managing
  it for a long while
* Update maintainer emails for Nikita Travkin, Alexey Minnekhanov, and
  Barnabás Czémán

[ci:skip-vercheck] Co-Maintainer changes require no pkgrel updates
since the names do not make it to the package itself

[ci:ignore-count]

Fixes #3530
[ci:skip-build]: already built successfully in CI
2025-03-04 12:50:09 +01:00
Devin Lin 5b620c3d4f main/postmarketos-ui-plasma-mobile: switch to Dolphin from Index (MR 6255)
[ci:skip-vercheck]

Dolphin is now mobile friendly, we can use it instead of Index as the
default file manager.
2025-03-03 18:32:39 +01:00
Bart Ribbers 9ba315de93 main/postmarketos-ui-asteroid: enable systemd support (MR 6160)
[ci:skip-build]: already built successfully in CI
2025-03-03 18:20:08 +01:00