Renames pre-upgrade script to post-upgrade script for non-freefirmware
subpackage.
This script creates stub files for where the waveform firmware should
be. When upgrading from 13-r0, the script detects files being there,
thus does not create the stub files. Unfortunately, since before
15-r0 those files are "owned" by the subpackage, they are removed
when upgrading, and thus the stub files are never created by the
pre-upgrade. By making this script post-upgrade, it'll recreate the
empty stub files so that the actual waveforms can be extracted by
the systemd / openrc boot-up service.
(cherry picked from commit 2a902da452)
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8830>
The input group should not be blanket allowed for UIs that do not need it as
it bypasses the security benefits of Wayland. This change explicitly adds
the input group to only the UIs that absolutely require it, which is only
SXMO due to their udev rules and lisgd.
Signed-off-by: Aster Boese <asterboese@mailbox.org>
[ci:skip-vercheck]
(cherry picked from commit 9755b0ed94)
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8802>
Sway subpackage existed to provide a shim between 7-r0 and 8-r0, where
sway UI configuration was refactored to be under `$pkgname-sway-hrdl`
subpackage instead of `$pkgname-sway`. This refactor was for two reasons:
1) clean-up package so that just the necessary files were included for
different UIs
2) Since sway subpackage was pulled by sxmo-de-sway, it made sense
only sway-related files be packaged by that subpackage.
Since 96853032, sway subpackage depends directly on `$pkgname-sway-hrdl`
subpackage to automatically pull sway-UI opinionated configuration by
default. This was a mistake, as it broke `sxmo-de-sway` that conflicts
with `iio-sensor-proxy` due to depending on conflicting polkit packages.
This commit drops sway subpackage, as the shim is not necessary anyway,
and adds `install_if` to `$pkgname-sway-hrdl` to automatically install
package when installing `postmarketos-ui-sway`. This means
`$pkgname-sway-hrdl` is never pulled when installing
`postmarketos-ui-sxmo-de-sway`, thus never pulling `iio-sensor-proxy`.
Fixes#4612
(cherry picked from commit 07c9b98eb7)
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8789>
The v26.06 branch still has a nonfree_firmware function (in main this
was removed in 10e2244d75, which was not
backported). In this function, the old firmware pkgname is still
referenced, causing errors when building the image:
ERROR: unable to select packages:
firmware-samsung-manta (no such package):
required by: device-google-manta-nonfree-firmware-16-r0[firmware-samsung-manta]
Related: https://builds.sr.ht/~postmarketos/job/1786529
Signed-off-by: Oliver Smith <ollieparanoid@postmarketos.org>
Rename both the device package, and the firmware package.
//Note: The following is mentioned in the original commit message but
wasn't actually in the commit!
Also drop unnecessary deviceinfo_boot_filesystem="fat32" flag, as it
is no longer necessary when device uses u-boot.
Signed-off-by: Lukas Timmermann <lukas@timmermann.space>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8433>
(cherry picked from commit c554d8177e)
Fix for:
ERROR: unable to select packages:
libvdpau-tegra (no such package):
required by: device-nvidia-tegra-armv7-x11-6-r0[libvdpau-tegra]
Signed-off-by: Oliver Smith <ollieparanoid@postmarketos.org>
Fix for:
ERROR: unable to select packages:
pd-mapper (no such package):
required by: soc-qcom-pd-mapper-8-r0[pd-mapper]
Signed-off-by: Oliver Smith <ollieparanoid@postmarketos.org>
Fix for:
ERROR: unable to select packages:
update-sysfs (no such package):
required by: postmarketos-tweaks-setting-definitions-pinephone-1.1.0-r0[update-sysfs]
Signed-off-by: Oliver Smith <ollieparanoid@postmarketos.org>
At least on my laptop with pmbootstrap, I get the following failures:
1/7 gupnp:context FAIL 0.12s killed by signal 6 SIGABRT
5/7 gupnp:service-proxy TIMEOUT 30.01s killed by signal 15 SIGTERM
Let's disable tests for now to not further block the bringup.
Signed-off-by: Oliver Smith <ollieparanoid@postmarketos.org>
For seamless systemd support:
1. Fix sway locking script. systemd adds more paths under /run/user, which
interfere with `find`. Limiting the search depth works around the issue
2. Only force load `nokia-modem` driver under openrc. With systemd, force-
loading the driver appears to confuse systemd-udevd during boot, causing
long boot times and even total failure. On the running system, the driver
also causes systemd-udevd to become unstable. Until the issue is resolved
(probably in the driver), there will not be any modem support when using
systemd
3. Remove the isp1704 driver (for the PHY) from the initramfs. Under systemd,
it might load too early and fail, leading to slow charging in the running
system. It is more reliable when loaded later on. Charging still works in
the initramfs since the actual charger driver (bq2415x) is available
Signed-off-By: Sicelo A. Mhlongo <absicsz@gmail.com>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8612>
(cherry picked from commit 83214d9d05)
q6voiced stores its config in the OpenRC configuration directory, which is
automatically picked up by the default_openrc split function and moved to
the openrc subpackage. This means q6voiced never starts on systemd. Move
this config out of the openrc subpackage by not using default_openrc.
Signed-off-by: Aster Boese <asterboese@mailbox.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8656>
(cherry picked from commit f0a1a7142b)
systemd-stage0 is currently at pkgrel=1, while systemd is still at
pkgrel=0. However, systemd provides systemd-stage0=$pkgver-r$pkgrel, so
currently, installing systemd-stage0 will always install systemd-stage0
instead of systemd. Their pkgrels MUST be kept in sync.
[ci:skip-vercheck]: the stage0 package change is only a new comment
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8709>
(cherry picked from commit e9a700008d)
The poll is not fully over yet, but the outcome seems clear with Alpen
having 51% currently. Let's set the wallpaper now to get further along
in the v26.06 release process, if it really changes in the poll we can
adjust the package in a follow-up MR.
Related: https://social.treehouse.systems/@postmarketOS/116641283568377248
Signed-off-by: Oliver Smith <ollieparanoid@postmarketos.org>
(cherry picked from commit d788ca8a39011963189d4a4b4e0b42176e298cb3)
When building dbus against systemd-stage0, we need to have libucontext
installed. Since systemd-stage0 uses !tracedeps, it needs to be
specified manually in depends. I've reproduced the build error locally
and verified that this fixes it.
Fix for:
[195/243] Linking target test/manual-test-thread-blocking
ninja: job failed: cc -o test/test-sd-activation test/test-sd-activation.p/sd-activation.c.o -Wl,--as-needed -Wl,--no-undefined -pie -Wl,--as-needed,-O1,--sort-common -Wl,-z,pack-relative-relocs -Os -fstack-clash-protection -Wformat -Werror=format-security '-Wl,-rpath,$ORIGIN/../dbus' -Wl,--start-group test/libdbus-testutils.a dbus/libdbus-1.so.3.38.3 dbus/libdbus-internal.a /usr/lib/libglib-2.0.so /usr/lib/libintl.so /usr/lib/libgio-2.0.so /usr/lib/libgobject-2.0.so -pthread /usr/lib/libsystemd.so -Wl,--end-group
/usr/lib/gcc/aarch64-alpine-linux-musl/15.2.0/../../../../aarch64-alpine-linux-musl/bin/ld: warning: libucontext.so.1, needed by /usr/lib/libsystemd.so, not found (try using -rpath or -rpath-link)
/usr/lib/gcc/aarch64-alpine-linux-musl/15.2.0/../../../../aarch64-alpine-linux-musl/bin/ld: /usr/lib/libsystemd.so: undefined reference to `swapcontext'
/usr/lib/gcc/aarch64-alpine-linux-musl/15.2.0/../../../../aarch64-alpine-linux-musl/bin/ld: /usr/lib/libsystemd.so: undefined reference to `getcontext'
/usr/lib/gcc/aarch64-alpine-linux-musl/15.2.0/../../../../aarch64-alpine-linux-musl/bin/ld: /usr/lib/libsystemd.so: undefined reference to `makecontext'
collect2: error: ld returned 1 exit status
Related: https://builds.sr.ht/~postmarketos/job/1776990
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8704>
(cherry picked from commit e96054e2a3)
Changes since v6.12.63 are:
* Rebase on top of 6.18.33
* Sync manta with mainline (@lat3st, @alexmrqt)
* Add bluetooth support to manta (@lat3st, @alexmrqt)
* Fix manta magnetometer with mainline dts (@alexmrqt)
* Fix hang on suspend/display off on galaxy pros (@eisenbahnfan)
* Add support for max77888 and use it on galaxy pros (@eisenbahnfan)
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8634>
(cherry picked from commit fad9378de9)
Apparently plymouth's config parser can't handle in-line comments. This
also fixes an issue I just noticed where the scale wasn't being parsed
correctly either because 1.0 is not a uint.
../src/libply/ply-key-file.c:427:ply_key_file_get_ulong : group 'Daemon' key 'DeviceScale' val '1.0' is not a valid unsigned number
../src/libply/ply-key-file.c:427:ply_key_file_get_ulong : group 'Daemon' key 'XkbExtraEscButton' val '0x1008ff2a # Power button (XKB_KEY_XF86PowerOff)' is not a valid unsigned number
The additional xkb config is necessary for plymouth to detect the pwr
key press, or else it isn't initialized.
Fixes#4548
Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8561>
(cherry picked from commit 77c05f0443)
Without this rule, fb0 doesn't get ID_PATH set in the udev database
and plymouth this to detect that fb0 is backed by a DRM device. This
fixes an issue where plymouth times out and treats fb0 as an independent
display, and creates a second framebuffer renderer, which caused it to
render the splash at the wrong resolution.
These lines were lifted from 71-seat.rules, which are packaged in
systemd-udevd and elogind. They're vendored here because we don't want
to depend on elogind just for a few udev rules. These rules should be
idempotent in the rootfs (setting ID_PATH is guarded by ID_PATH=="" and
IIUC setting an existing TAG is a noop in udev)
Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8561>
(cherry picked from commit 4257f74e62)
Pinenote includes waveform lookup tables that are proprietary and only
available through the `waveform` partition. Before, we packaged empty
files for the firmware so that mkinitfa does not fail. The init scripts
then extracts the waveform binaries on first boot. Unfortunately, this
has the consequence that of overriding the extracted binaries every boot.
Fixes this by only creating stub files when files are missing so
mkinitfs does not fail via pre upgrade and install script.
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8639>
(cherry picked from commit ca932427e6)
Building this package is currently failing with:
scripts/Kconfig.include:41: linker 'aarch64-alpine-linux-musl-ld' not found
This kernel was switched over to LLVM and it built fine then, but due to
other changes (pmbootstrap maybe?) it doesn't build anymore. This is
currently blocking v26.06 bringup, so let's temporarily switch back to
GCC until we can resolve it better in edge, probably by getting !8578 in
which is currently blocked as there seem to be regressions.
This reverts the APKBUILD changes from
9b27b4a0f7.
[ci:skip-kconfigcheck]: minimal changes to make this build again
Signed-off-by: Oliver Smith <ollieparanoid@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8693>
(cherry picked from commit ca390e0be5)
Craftyguy: "we should really just drop apple-tonga, it's redundant with
'device-apple-mac-aarch64'"
See MR 8683 to remove it from the main branch. The linux-asahi kernel
package also doesn't exist anymore so removing it from v26.06 directly
to unblock v26.06 bringup.
(cherry picked from commit 8b3e361a4f4aecc5230d9a1448695a26dae53dec)
Split postmarketos-base-nofde out from postmarketos-base to fix this
bootstrap problem:
postmarketos-initramfs:
provides: postmarketos-ramdisk
depends: postmarketos-fde-unlocker
postmarketos-base:
depends: postmarketos-ramdisk
provides: postmarketos-fde-unlocker (via postmarketos-base-nofde subpackage)
Signed-off-by: Oliver Smith <ollieparanoid@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8657>
(cherry picked from commit 9efd154db2)
The backport of the last patch didn't include a pkgrel bump, because it
already was +1 after changing /etc/os-release for v26.06.
Signed-off-by: Oliver Smith <ollieparanoid@postmarketos.org>
We don't need to have makedepends="postmarketos-initramfs" for building
postmarketos-base. I'm not sure why this was added in
6c799ac4f6.
Removing it fixes this dependency loop we currently see in BPO while
bootstrapping v26.06:
* postmarketos-initramfs-3.11.0-r0 (missing depends: postmarketos-base)
* postmarketos-base-61-r1 (missing depends: postmarketos-initramfs)
Signed-off-by: Oliver Smith <ollieparanoid@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8643>
(cherry picked from commit 13379db56d)
These are relevant for "pmbootstrap ci". Remove scripts for arches we
don't have in stable.
Signed-off-by: Oliver Smith <ollieparanoid@postmarketos.org>
4a1612eb56 introduced a set of changes for this kernel to support the
pine64-pinenote. The commit converts certain built-in drivers into
modules to make them work with the device.
This initially broke `pinebook-pro` due to `CONFIG_GPIO_ROCKCHIP=m`
which was reverted with 51261ea7. Making `CONFIG_DRM_ROCKCHIP` a module
pushes screen init to later in the boot, which is less ideal.
This reverts the change for `CONFIG_DRM_ROCKCHIP` for it to be built-in.
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8633>
Vibrate on multiple stages:
* twice when forced to enter debug-shell
* 3 times on error
* once at the end of the initramfs to indicate that we're booting
to the OS
This uses the beebzzr tool <https://scm.dersco.re/utils/beebzzr.git>.
It is meant to be useful to know if your phone is booting or having
issues, which is useful when legally or fully blind, or when the display
isn't working yet.
On devices without force-feedback support, this is a no-op.
It is worth noting that quite a few devices do not yet have some modules
required for haptics in initramfs. These will need to be fixed for
beebzzr to work.
Signed-off-by: Ferass El Hafidi <funderscore@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7563>
Setting this to an empty string will result in the kernel invoking just
"ld" for linking, rather than aarch64-alpine-linux-musl-ld. When
building with GCC and linking with BFD, we still need to rely on
pmbootstrap to set CROSS_COMPILE appropriately, overriding it will break
cross compilation.
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8622>
It turns out that U-Boot exposes a different name to ALSA UCM. Fix the
symlink to be the correct name from SMBIOS data.
Add the missing PlaybackMixer line. Without it, ALSA doesn't select the
right mixer, leading to a Qualcomm DSP error.
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8624>
Recent test shows that j4lte requires these patches to be able to boot
into postmarketOS, as well as some additional features to make it a little bit
more usable:
1. Disabling direct I/O patch
This is required to fix kernel panic during e2fsck performed by initramfs.
The root cause is still unknown and thus needs further investigation. But for now,
while we're in downstream kernel, temporarily add this hacky patch.
2. Initialize framebuffer later
This fixes kernel panics when `CONFIG_FRAMEBUFFER_CONSOLE` is enabled, caused by
unitialized pointers & mutex. This could be applied on other older Samsung devices that
use similar DECON.
Signed-off-by: Hendra Manudinata <hm@ndraa.xyz>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8574>
The approach used by cross-native2 is more proper and less hacky than
cross-native, so let's use it here as we can without issues.
We can't rely on pmbootstrap defaulting to cross-native2 for noarch
packages since that was introduced with version 3.10.0 and we're still
at pmbootstrap_min_version=3.9.0, doesn't seem worth bumping it over
this.
[ci:skip-vercheck]: Changes don't affect resulting package.
Signed-off-by: Stefan Hansson <newbyte@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8558>
If the user installed bazaar, the service makes sure to e.g. continue
downloading apps and refresh flatpak metadata (which should make startup
faster) while being closed.
Note that we currently don't pre-install bazaar on any UI, but will
bring a benefit to those who choose to manually install it.
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8583>
CONFIG_EFI_GRUB_ARM32_WORKAROUND always disables the caches and mmu. EFI
requires that those are enabled. As a result it takes long to uncompress
the vmlinuz file.
The new u-boot release has this option disabled and thus boots far faster.
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8571>
Quoth /sound/core/seq/Kconfig:
"Many programs require this feature, so you should enable it
unless you know what you're doing."
I'm using my google-wormdingler tablet for some music production stuff
and these missing Kconfigs are really grinding my gears.
The USB-UART is part of my MIDI adapter, but is also quite a common
chip used for many things, including a bunch of arduinos.
Other configs for MIDI are enabled by default, but for whatever reason
the core sequencer device isn't.
Signed-off-by: Paul Sajna <sajattack@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8577>
plymouth-openrc-plugin (and any other OpenRC plugins really) trigger a
bug in OpenRC that only happens on musl-based systems, which can result
in a hang if a service fails.
A PR has been submitted to OpenRC to fix this bug. While the PR is
waiting for review and merging, work around this by reverting to killing
the splash from an OpenRC service to at least no longer trigger this
bug. See pmaports#4536 for more context.
Signed-off-by: Ferass El Hafidi <funderscore@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8560>
category:rust was actually not added to *enable* Rust support in the kernel,
but to add options needed by kernels that had *already* enabled Rust. Since
the category was meant for kernels with Rust enabled, enabling Rust support
with the category makes sense and fits better with the category name to clear
up any confusion kernel package maintainers may have.
See 5cbd09c81c
Signed-off-by: Aster Boese <asterboese@mailbox.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8559>
While ideally everyone would be running the latest pmbootstrap version,
in practice people don't always update right away. And even if they want
to, their distribution may not have the latest version packaged yet.
Let's enforce some wiggle room here so distributions have time to catch
up before we require newer versions.
Signed-off-by: Stefan Hansson <newbyte@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8550>
On cold boot, msm-modem-uim-selection's default 4-second SIM
detection timeout expires before the modem's UIM service is ready,
leaving ModemManager stuck in a "sim-missing" failed state and
requiring the user to manually run `systemctl restart ModemManager`.
Install a systemd drop-in override that increases SIM_WAIT_TIME from
the default 4 seconds to 30 seconds, giving the modem enough time to
finish initializing on this device.
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8428>
In addition to the version upgrade:
1. Drop DTS patch for volume keys. These will be handled via hwdb
2. Drop CONFIG_FW_LOADER_USER_HELPER. It was required by the LED controller
(lp5523) driver until Linux 6.19
3. Restore TWL4030_PWRBUTTON, and make it built-in (in readiness for plymouth)
4. Drop HSI patch. To be replaced with a better quality patch which will be
upstreamed
5. The remainder of changes are from kconfig migrate
Signed-off-By: Sicelo A. Mhlongo <absicsz@gmail.com>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8471>
The codeberg tarball fetch was timing out the verify-checksums CI job
(no bytes received after TCP/TLS handshake for 15 minutes). Switch to
Arnav Singh's GitHub mirror of megi's tree, which mirrors the same tag
(orange-pi-6.18-20260105-0049).
The recorded sha512sum changes because GitHub and Gitea (codeberg)
generate tarballs with different bytes for the same git tag.
Also adjust builddir, since GitHub's tarball top-level directory is
named "<repo>-<tag>" (linux-orange-pi-6.18-20260105-0049/) where
codeberg's was just "<repo>" (linux/).
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8501>
For systemd-logind to allocate VTs automatically when a user switches to them, two
things need to be done. First, logind.conf needs `NAutoVTs=` set to a value, which
in this change is set to the default. Second, getty@.service needs to be symlinked
to autovt@.service, otherwise systemd-logind fails to find the template file.
This change also moves logind.conf to the proper path under `/usr/lib/systemd/`
instead of the sysadmin override path under `/etc/systemd/` and alphanumerically
sorts the sources.
Signed-off-by: Aster Boese <asterboese@mailbox.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8496>
I have kobo-clarahd and tolino-shine2hd.
kobo-clarahd uses the same board as tolino-shine3, but another
pin-compatible but not software-compatible SoC is installed
tolino-shine2hd uses the same SoC as the tolino-shine3.
So if things are working on both of the devices, it is almost
safe to assume that they will also work on the tolino-shine3.
Based on that assumption add me as a maintainer.
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8490>
I have kobo-clarahd and tolino-shine2hd.
kobo-clarahd uses the same board as tolino-shine3, but another
pin-compatible but not software-compatible SoC is installed
tolino-shine2hd uses the same SoC as the tolino-shine3.
So if things are working on both of the devices, it is almost
safe to assume that they will also work on the tolino-shine3.
Based on that assumption add me as a maintainer.
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8490>
This merges system extensions in the initramfs, right before
switch_root, so that the rootfs boot always has the full merged /usr
right from the start. It fixes ordering issues like binfmt starting
before /usr/lib/binfmt.d was merged, and ultimately not working as
expected.
Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8426>
This will allow folks to easily run mkosi, e.g. for building duranium
images. This makes duranium self-hosting.
There are several key changes in this patch:
- mkosi is added to the duranium developer tools sysext
- user qemu is added to the dev tools sysext (for binfmt+qemu)
- coreutils is added to the main pkg to work around a conflict that Alpine
has with mkosi (see: https://github.com/systemd/mkosi/pull/4283). The
issue is that the busybox symlinks installed in the base duranium image
are not replaced by mkosi when it generates a system extension even if
that sysext pulls in coreutils. coreutils isn't *that* big, so it makes
sense to just have these links correct in the base image.
- duranium dev. tools depends on apk-tools. Wait, what?! mkosi uses
apk to bootstrap a tools tree for building pmOS images. Since we don't
actually want apk to work when run against the duranium rootfs, this
also installs a wrapper that refuses to run apk if it detects that it's
being used "unsafely". To be clear, running apk on duranium's rootfs
won't change /usr or break duranium, but it will: 1) fail, 2) create
confusing state in /etc, /var.
Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8426>
It doesn't make sense to install apk by default in all flavors of pmOS,
like duranium. To avoid this, apk-tools is moved into a new -apk
subpackage that is pulled in implicitly via install_if. This has the
following benefits:
- postmarketos-duranium can "depend" on !postmarketos-base-apk to
exclude apk-tools
- apk-tools remains a dependency in existing mutable pmOS installs,
so it shouldn't be purged by this change 🤞
- we don't have to update hundreds of APKBUILDs in pmaports that
explicitly depend on `postmarketos-base` to now depend on some other
package that doesn't have apk-tools as an explicit dependency.
After this change, we'll be able to remove some janky cleanup code in
the duranium image build config for uninstalling apk-tools from the base
image, and it will allow us to *add* apk-tools in a system extension
later [1]
Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
1. https://gitlab.postmarketos.org/postmarketOS/pmaports/-/work_items/4502
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8426>
I've added support for this device and continue to work on it, so
become maintainer.
Udev rule is just a slight tweak to the one generated by pmbootstrap
when touchscreen details are in deviceinfo, except use the device
name instead of /dev/input/eventX, whose number varies each boot.
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8470>
The kernel package used by this device does not meet the community
kernel version requirements anymore and the maintainer has not responded
to the issue #4448 which notified them of the situation.
Since two weeks have passed without a request for more time, the device
should be moved to testing.
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8398>
gcc4 and gcc6 are only used for compiling downstream kernels these days.
Because these compilers are so old, most of fortify-headers does not even
work with them. As such, because downstream kernels have no security
guarantees, removing fortify-headers from the default include path
won't have any negative impacts on the distro.
Signed-off-by: Aster Boese <asterboese@mailbox.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8214>
1. Modernize the boot parameters uboot passes to the kernel
2. Correct the volume keys. Upstream DTS actually sends F7 and F8 for these
keys, which is the behavior from stock. Using hwdb to correct the keys
allows us to drop the relevant DTS patch from linux-postmarketos-omap.
Additionally add the hwdb database into initramfs to ensure the keys
also work during system initialization
3. Disable OMAP 3430 OFF mode early in the initramfs. This is currently
broken and causes system instability. We previously used a DTS patch to
do this, but using an initramfs hook allows us to reduce the amount of
kernel patches we maintain
Signed-off-By: Sicelo A. Mhlongo <absicsz@gmail.com>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8472>
Version 34 of the device-nokia-n900 package implemented an udev-based script
for shutdown due to critically-low battery condition. Therefore, depending on
UPower is no longer necessary. To keep the i3blocks status bar working in
the absence of UPower, switch back to basic sysfs polling.
Signed-off-By: Sicelo A. Mhlongo <absicsz@gmail.com>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8472>
As of upower 1.91.0, UPower supports config fragments, thus there is no longer
a need to ship a full UPower.conf. The device-specific upower package can
therefore be dropped, and the config fragment will be installed unconditionally
as part of the device package.
NB: It is still necessary to use a custom udev script to initiate poweroff due
to low battery on the N900, since the fuel gauge has a hardware limitation
which results in reporting 0% if the calibration is off, causing unwanted
device shutdowns if UPower's mechanism is active.
Signed-off-By: Sicelo A. Mhlongo <absicsz@gmail.com>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8472>
Provide a unified screen locking mechanism, supporting x11 and sway. Auto
locking is also improved to correctly disable inputs in all screen locking
scenarios, and re-enabling them on unlock. Unlock on keypad slide now also
works on sway (from sway v1.12).
Any x11 UI can use the existing script by setting up appropriate keybinds to
the script and autostarting xautolock. It may be necessary to disable any
built-in autolock method integrated within a specific x11 WM.
NB: This is NOT locking in the sense of secure locking. It is purely for
turning the screen off and disabling some inputs (currently only the
touchscreen) to prevent unintended wakeups.
Signed-off-By: Sicelo A. Mhlongo <absicsz@gmail.com>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8472>
This replaces all version requirements below the baseline for the
categories with >=0.0.0 and completely removes configurations that would
only apply to version ranges no longer included in the baseline.
The default category baseline is 2.6.0, categories for community kernels
currently have a baseline of 5.17.
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8421>
Having many separate mkinitfs-hook packages makes it harder to add new
hooks and makes maintaining the hooks very fragmented and challenging.
Merging them all into one package and splitting them out by subpackage
makes them much more maintainable and makes adding new hooks as easy as
adding files and a subpackage.
Signed-off-by: Aster Boese <asterboese@mailbox.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8413>
In some cases when the disk is very large (e.g. 2TB) repart will add
extra space to the slot-A usr partition to make it larger. The slot-B
partitions are already pinned with a min/max size so they would stay
the correct size. This pins the slot-A usr partition so it's no longer
grown. This should have been done all along.
Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8419>
CONFIG_CRYPTO_CTS is built-in if CONFIG_FS_ENCRYPTION is enabled, which
it is by default on loongarch64, which is reasonable.
CONFIG_NFSD is also built-in on some architectures, which causes
CONFIG_RPCSEC_GSS_KRB5 to be built-in rather than a module. We could
either force disable NFSD, which is not great, or just build it as a
module, which is what I opted for.
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8415>
This uses a new naming convention for partitions. It fixes an issue
where some firmware (i.e. on the OnePlus 6 / 6T) will hang when starting
fastboot mode if it finds a (sub!)partition with a GPT partition label
that's "too long" (25char, in the case of enchilada, well under the 34
char limit in the GPT spec).
By keeping the old partition name match pattern, which *should* help
migrate existing installs after 2 updates (to capture partitions
associated with both "slots"). Given duranium's "wip" status, I don't
think it's strictly necessary to migrate existing installs, but I feel
like this is a good opportunity to see if it's possible to do so. It
might be handy to do in the future and working out how to do that now
seems useful.
This also drops the verity signature partition. According to the UAPI
Discov. Partition Spec (DPS) this partition is not really needed if the
verity hash for the usr partition is in the kernel cmdline and the UKI
is signed (not yet, but one day 🤞). There is one mode where having the
separate partition is useful: verified boot in containers, but this is
outside the scope of duranium.
This partition is tiny (16K) so the space saving is negligible... but
it would be nice to have one less partition to "manage". On existing
installs, this partition will become "foreign" to systemd repart, and
sysupdate will not touch it since it will no longer match any patterns.
fixes#4484
Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8408>
The kernel cmdline option is to prevent gnome-initial-setup from
launching, because it doesn't work properly and conflicts with our first
boot setup. On phosh this is technically not necessary since g-i-s won't
try to start there, but adding this to the base gnome UI pkg means I
wouldn't have to add sep. subpackages to gnome and gnome-mobile UI pkgs.
The duranium subpkg also pulls in a plugin for gnome-software so that
g-s can provide a frontend for pulling duranium image updates via
sysupdate.
Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8411>
It is extremely tedious to keep track of what the name of a particular
option was for every kernel release and when they were added. To keep
kconfigcheck maintainable, let's ease the burden on people adding new
options for community categories or other categories only required by
close-to-mainline kernel packages and only have them look back a
reasonable number of kernel versions.
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8407>
The current pipewire rule was forcing every output sink to use the S32LE
format, which caused problems with DACs that do not support this format.
To ensure only the built-in sinks are matched, we manually specify the
alsa card name in the pipewire rule matcher.
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8363>
The current pipewire rule was forcing every output sink to use the S32LE
format, which caused problems with DACs that do not support this format.
To ensure only the built-in sinks are matched, we manually specify the
alsa card name in the pipewire rule matcher.
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8346>
This package was introduced back when Pine64 shipped the PinePhone
with a broken ANX7688. The issue no longer persists on later versions
of the PinePhone and the package requires manual intervention and is
not pre-installed, so let's drop it.
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7799>
The kernel package used by these two devices does not meet our community
kernel version requirements anymore, and two weeks after notifying the
maintainers, the situation hasn't changed, so let's move them to testing
accordingly.
See also #4448
[ci:skip-vercheck]: moving between categories
[ci:skip-kconfigcheck]: moving between categories
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8399>
This commit mirrors some of the changes from google-sargo:
google-sargo: install config for plasma-camera
device-google-sargo: add support for u-boot
community/device-google-sargo: only keep fastrpc link udev rule
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8386>
Since a 'recent' pmbootstrap change, the cross compilers are no longer
installed by default which uncovered that "make oldconfig" is called
without LLVM=1.
scripts/Kconfig.include:41: linker 'armv7-alpine-linux-musleabihf-ld' not found
make[2]: *** [scripts/kconfig/Makefile:85: oldconfig] Error 1
Pass it so that all steps in the build process are run with the LLVM
toolchain and we're not mixing toolchains in the build process.
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8295>
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>
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>
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>
Turns out, a few useful things are gated by this flag that I want to use
in Duranium:
1) bootctl automatically configuring EFI boot entry variables
2) systemd-boot-update.service installation
Let's just re-enable this and strip out the sd-boot stuff already
packaged in Alpine aports, rather than continue to fight the build
system with more patches in pmaports.
Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8371>
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>
The new U-Boot supports the phone's MMC controllers, so let's use that
to enable UEFI boot.
This allows us to drop initfs-extra, avoid reflashing the kernel to the
boot partition every upgrade, fix kernel-cmdline and future-proof the
port in general.
Signed-off-by: Duje Mihanović <duje@dujemihanovic.xyz>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8337>
The calibration is loaded from firmware, which in turn is done through a
modprobe config file.
Besides this, there're a few QoL fixes:
* Update my email in maintainer=
* Drop _pmb_recommends approach for firmware, it's now depended on
* Sort depends alphabetically
Signed-off-by: Duje Mihanović <duje@dujemihanovic.xyz>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8311>
It has been found that the calibration files, while not mandatory, could
be useful with the mainline mwifiex driver as well. Install those on
mainline as well and leave the -downstream subpackage as a stub for
-downstream-openrc.
Also, switch from installing the firmware to /usr/lib instead of /lib to
suppress warnings.
Signed-off-by: Duje Mihanović <duje@dujemihanovic.xyz>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8311>
This reverts commit 688a1c53f1.
It created a dependency on a linux-pam linked against libselinux-dev,
which the one in Alpine currently isn't built against. This went
unnoticed because it only affected systemd --user instances, which
console UI does not seem to depend on as much.
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8362>
Fix that the build-jobs were using Alpine edge. This seems
unintentional, or at least inconsistent. Before this patch we had:
$ git grep alpine:latest
.ci/build-jobs.yaml.j2:image: registry.alpinelinux.org/img/alpine:latest
.gitlab-ci.yml:image: alpine:latest
It turns out that "registry.alpinelinux.org/img/alpine:latest" is
actually alpine edge:
$ docker run --rm registry.alpinelinux.org/img/alpine:latest cat /etc/os-release
Unable to find image 'registry.alpinelinux.org/img/alpine:latest' locally
latest: Pulling from img/alpine
d4a983187cfd: Pull complete
Digest: sha256:47b4a945203d4bad4e0c7840d64044da50a719d0cd0512a50e3ab473240635ea
Status: Downloaded newer image for registry.alpinelinux.org/img/alpine:latest
NAME="Alpine Linux"
ID=alpine
VERSION_ID=3.21.0_alpha20240923
PRETTY_NAME="Alpine Linux edge"
HOME_URL="https://alpinelinux.org/"
BUG_REPORT_URL="https://gitlab.alpinelinux.org/alpine/aports/-/issues"
And alpine:latest is stable (when fetched from docker hub, with podman
it could be configured to point at alpine's registry as well, which
means it is edge... but the OSUOSL CI runners use docker):
$ docker run --rm alpine:latest cat /etc/os-release
Unable to find image 'alpine:latest' locally
latest: Pulling from library/alpine
589002ba0eae: Already exists
Digest: sha256:25109184c71bdad752c8312a8623239686a9a2071e8825f20acb8f2198c3f659
Status: Downloaded newer image for alpine:latest
NAME="Alpine Linux"
ID=alpine
VERSION_ID=3.23.3
PRETTY_NAME="Alpine Linux v3.23"
HOME_URL="https://alpinelinux.org/"
BUG_REPORT_URL="https://gitlab.alpinelinux.org/alpine/aports/-/issues"
Using stable makes more sense here, so temporary bugs in edge don't
break our CI. It is currently somewhat broken because running
pmbootstrap with python 3.14 and musl results in crashes with "No file
descriptors available" errors in some situations.
Related: https://gitlab.postmarketos.org/postmarketOS/postmarketos/-/work_items/141
Signed-off-by: Oliver Smith <ollieparanoid@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8340>
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>
Changelog:
Switched to LLVM ( setotau )
Added support for LTE version of xiaomi-clover ( setotau )
Added proper battery capacities for different xiaomi-clover versions ( setotau )
Removed SD-card slot definition on xiaomi-jasmine ( alexeymin )
Add NT36672A e7t variant support for xiaomi-tulip ( M0Rf30 )
Initial sound support for xiaomi-tulip ( M0Rf30 )
Changed model-name in the sound node of xiaomi-clover-common dtsi ( setotau )
Migrated to DPU from MDP5, following upstream migration ( alexeymin )
Added battery support for sony-pioneer ( alexeymin )
Added Synaptics panel variants of blackberry-luna and blackberry-athena ( sajattack )
Signed-off-by: Nickolay Goppen <setotau@mainlining.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8305>
Implements openrc implementation of the workaround introduced in
d7229de9d4 for a `rockchip_ebc` bug where the
initial waveform is not properly loaded. Reloading `rockchip_ebc` just
before starting `tinydm` loads the correct waveform.
In systemd, this is implemented via a systemd override file for
`tinydm.service` that includes an `ExecStartPre`, reloading the driver via
modprobe. For openrc, we add an initd service that restarts driver before
starting `tinydm`.
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8288>
Neither the firmware binary, nor the Linux driver are called 'venus'
nowadays. Rename the package to VPU (video processing unit).
Also accordingly, don't rename the firmware to "venus.mbn" but keep the
original filename intact.
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8306>
Host `gcc6-gcc` will cause this error:
```
HOSTCC scripts/basic/fixdep
In file included from /usr/include/fortify/sys/select.h:26:0,
from /usr/include/sys/types.h:71,
from scripts/basic/fixdep.c:106:
/usr/include/fortify/fortify-headers.h:56:67: error: missing binary operator before token "("
#if _FORTIFY_SOURCE > 2 && defined __has_builtin && __has_builtin (__builtin_dynamic_object_size)
^
```
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8303>
The previous patch was broken because the kernel was still configured to use
GCC. Builds passed in pmaports CI because the runner is native aarch64, which
hits the issue of Alpine's clang packaging depending on gcc to get access to
libgcc-dev. This pulls in the whole GCC compiler, causing the kernel to default
to it and ignore clang. When this patch got to BPO, it failed because BPO
cross-compiles packages, leading to aarch64 GCC not being installed when
building (only clang is used as the cross-compiler) and causing the build to
fail there.
Signed-off-by: Aster Boese <asterboese@mailbox.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8265>
Fixes the back key on TV remotes not being mapped to escape thus making
it impossible to navigate "back" in applications and menus, and ensures
the virtual keyboard is enabled. Furthermore it now hides the KDE
Connect app and the mouse cursor when not actually used.
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>
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>
As discussed with Luca, Federico and me are maintainers of other devices using
the kernel package (Nothing Phone 1, Radxa Dragon Q6A, RUBIK Pi 3) and would
like to help maintain the kernel package in pmaports.
While we're at it, update the kernel configuration to pass kconfigcheck
again.
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8245>
Fix that building this package fails with:
ccache: error: Could not find compiler "aarch64-alpine-linux-musl-gcc" in PATH
dtc tries to call gcc, so we must add it to the makedepends. It doesn't
seem possible to use clang instead with dtc, and even if, let's get the
package building with GCC first to unblock the queue in BPO and then
look into doing that.
This has probably worked in the past because pmbootstrap used to
pre-install more dependencies in the past during builds and this package
hasn't been built in a long time.
[ci:skip-vercheck]: code wasn't changed, just fixing the build
Signed-off-by: Oliver Smith <ollieparanoid@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8241>
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>
linux-powkiddy-x55 is just the kernel dot org repo with a single
patch applied. Originally, this was meant to be a port to use LLVM,
but too much of compilation was broken by newer clang optimizations,
so porting to the newest release made more sense.
Signed-off-by: Aster Boese <asterboese@mailbox.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8132>
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>
Get touchscreen going by using correct hex value as i2c address
Update display panel / DSS sections:
- Add comment to 'dss' section to explain need for a kernel configuration setting
which in an ideal world could be set in devicetree
- Set rotation property, panel-timing values, and comment on panel section in mcspi4
Set pinctrl entries for the device:
- Entries initially based on older u-boot and kernel board files and code, then
revised based on similar devices
- Add pinctrl values in &omap3_pmx_core and &omap3_pmx_core2 sections
- add pinctrl-names and pinctrl-0 entries for most devices
Start to get sound card / codec set up, although not working yet:
- Set correct codec compatible entry.
Device uses 'ti,tlv320dac3100', not 'ti,tlv320aic310x'
- Attempt to set sys_clkout2 clock for audio codec, but this is not working yet
- Add 'simple-audio-card' section
- Add &mcbsp2 section
- Add two regulators
Enable/ revise wifi section (mmc3 -> wifi)
Add vaux2 regulator section, used by mmc3/wifi
- Other devices have more comprehensive entries for the vmmc-supply and
vqmmc-supply values for wifi which should likely be used for this device as
well, but not implemented yet.
Allow device to actually turn off by setting system-power-controller property on
twl4030
- Add power ("ti,twl4030-power-idle-osc-off") section in twl, this seems to set
suspend/low power commands
Add/ update some items based on similar devices, such as:
- hfclk_26m - set on twl4030
- vpll2 - set regulator to always-on, supposedly for dss/dpi
Set some unused components as disabled: gpmc, mcspi1, mcspi2, mcspi3, uart3, uart4
- uart2 is disabled since bluetooth hasn't been tested. Device does not have
antenna for bluetooth
Many smaller updates:
- add pclk-sample property to lvds-encoder
- Correct accelerometer mount-matrix
- Set max8903_charger as power-supply for max17042 fuel gauge
- corrected touchscreen-size-.. properties to match 'native' orientation
- Add manufacturer model number to model string
- Revise max8903_charger section/ comments
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8144>
This also adds some helper functions to finding dlopened dependencies.
They're printed out during package(), and useful for figuring out which
packages to depend on when adding dependencies manually to the APKBUILD.
They're also quite gross (e.g. invoking apk) so it's commented out by
default.
Trigger change is because `reload-or-restart ---marked` is now
deprecated:
* --marked is deprecated. Please use 'systemctl enqueue-marked' instead.
Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8198>
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>
Replace space inside `[ ]` with `x` to fill the checkbox
-->
* [ ] edge (`master` branch)
* [ ] edge (`main` branch)
* [ ]`v25.12`
* [ ] I confirm that the issue still is present after running `sudo apk upgrade -a`
@@ -35,7 +35,7 @@
#### Environments
* [ ] COSMIC
* [ ] GNOME Shell on Mobile
* [ ] Phosh
* [ ] Phosh (*Please attach the debug information of the Mobile settings app, see [this video](https://peertube.debian.social/w/4GwDjCJNcAmp8cb7dqXz1T) or use `phosh-mobile-settings -d`*)
* [ ] Plasma Mobile
* [ ] Sxmo (Wayland/Sway) **Please post the output of `sxmo_version.sh`**
- [ ] Add the new release to `upgrade.sh` in [postmarketos-release-upgrade](https://gitlab.postmarketos.org/postmarketOS/postmarketos-release-upgrade/)
- [ ] Bump `SCRIPT_VERSION`, tag a new release
- [ ] Package it for edge (make MR), backport it to the new release, but NOT to
the old release yet (otherwise users may upgrade by accident, without
realizing that the new version is not out yet!)
- [ ] Adjust CI of postmarketos-release-upgrade to test the new release too
(`git grep` for the previous release to see what needs to be adjusted)
### Update the wallpaper
- [ ] Set the wallpaper that won in the poll in edge, backport this change to
the stable release branch
### Branch phase
#### Rebase on main
- [ ]`git checkout vYY.MM`
- [ ]`git rebase -i origin/main`
- [ ] Temporarily enable force-push for the `vYY.MM` branch
- [ ]`git push --force-with-lease`
- [ ] Disable force-push for the `vYY.MM` branch again
#### Update BPO config
- [ ] Update bpo's images config to build images for the new branch for all
devices in community and main, except for:
- qemu-*
- [ ] bpo: configure the new branch to be not WIP anymore
- [ ] Roll-out bpo changes
#### pmb release done?
- [ ] Ensure that a pmbootstrap release been made with the apk-tools min
version change
### Test phase
- [ ] Create an issue in pmaports with a checklist of devices and UIs in main
and community (see previous issue for reference)
- Tag the testers of each device and UI
- Ask to verify that the images work as expected
- Release upgrade script: when coming from the previous release, grab it from
From ee0615536ae0d255f59070b904aa35d6de8fce49 Mon Sep 17 00:00:00 2001
From: Ariadne Conill <ariadne@dereferenced.org>
Date: Fri, 21 Aug 2020 06:50:33 +0000
Subject: [PATCH] Ensure that msgfmt doesn't encounter problems during gcc
bootstrapping.
Solves error messages like the following:
msgfmt: /var/tmp/portage/sys-devel/gcc-4.1.2/work/build/./gcc/libgcc_s.so.1: version `GCC_4.2.0' not found (required by /usr/lib/gcc/x86_64-pc-linux-gnu/4.5.3/libstdc++.so.6)
The libgcc_s.so used during build doesn't satisfy the needs of the
libstdc++.so that msgfmt is linked against. On the other hand, msgfmt
is used as a stand-alone application here, and what library it uses
behind the scenes is of no concern to the gcc build process.
Therefore, simply invoking it "as usual", i.e. without any special
From ee0615536ae0d255f59070b904aa35d6de8fce49 Mon Sep 17 00:00:00 2001
From: Ariadne Conill <ariadne@dereferenced.org>
Date: Fri, 21 Aug 2020 06:50:33 +0000
Subject: [PATCH] Ensure that msgfmt doesn't encounter problems during gcc
bootstrapping.
Solves error messages like the following:
msgfmt: /var/tmp/portage/sys-devel/gcc-4.1.2/work/build/./gcc/libgcc_s.so.1: version `GCC_4.2.0' not found (required by /usr/lib/gcc/x86_64-pc-linux-gnu/4.5.3/libstdc++.so.6)
The libgcc_s.so used during build doesn't satisfy the needs of the
libstdc++.so that msgfmt is linked against. On the other hand, msgfmt
is used as a stand-alone application here, and what library it uses
behind the scenes is of no concern to the gcc build process.
Therefore, simply invoking it "as usual", i.e. without any special
Loaded 100 of 5705 files, more files were not shown because too many files have changed in this diff.
Show more
Reference in new issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.