MR 6417 added a workaround for a GTK4 issue in flatpak by setting
GSK_RENDERER=ngl for all Qualcomm devices. This is now causing crashes on
many of the older Qualcomm devices that specifically avoid usage of the ngl
renderer. These devices already set a custom GSK_RENDERER in /etc/profile.d
(e.g. on MSM8916 devices: gl in v24.12, cairo in edge).
Several device packages install those settings into /etc/profile.d/adreno*
so let's avoid the conflict for now by reducing the priority of the flatpak
workaround and installing it to /etc/profile.d/99-flatpak*. That way the
setting from the device packages takes priority.
Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6434
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
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
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
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
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
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
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
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
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().
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
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
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