Phosh allows uninstalling apps by tap-holding the icon, in the
background this spawns gnome-software with --uninstall ID.
Since system apps can't be uninstalled, but the user may still want to
hide them, introduce a stub which installs a copy of the apps desktop
file into the users local applications directory and marks it as Hidden,
effectively disabling the app.
Use Zenity to offer a prompt and explain how apps can be re-enabled
later (unfortunately there's no nice UI for this).
Additionally let's just plumb this in to flatpak and invoke flatpak
uninstall in the background, this provides a nicer interface than simply
doing nothing.
Persisted_Captules.sh is huge (70 MB) and can cause boot-deploy failures
when doing transactions that do large modifications to `/boot/`, such as
switching kernel packages. Persisted_Capsules.sh is recreated on reboot
and we do not use it for anything currently, so it is safe to remove in a
hook.
Signed-off-by: Aster Boese <asterboese@mailbox.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8368>
This adds two new subpackages, one pulls in in gnome software and the
other pulls in bazaar. Both subpackages provide a new virtual
(gnome-app-provider), and the main base GNOME UI pkg now depends on
this virtual. This allows us to ship bazaar in Duranium instead of GNOME
Software, and to continue to use GNOME Software by default on mutable
pmOS.
Previously there was an "optional" dependency on a sw
app provider (gnome-software, via pmb_recommends), but I made it a hard
dependency now because:
1) I think users can expect *some* app store thing to be available
by default, and the number of users who would remove all of them is
probably approaching 0
2) Ignoring pmb_recommends made the rest of this easier to implement,
since I'm not entirely sure how pmb would react to a virtual provided
by the pkg it is processing pmb_recommends for, and I didn't want to
find out.
Fixes#4634
Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8831>
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.
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8827>
* Describe relevant changes, especially that we may make non-backport
changes if there is a patch release for a package that meanwhile has a
higher version in main already (e.g. a kernel in main is on linux
7.x.y while stable is on 6.18.z).
* Directly pushing to a stable branch should only be done during initial
branch bringup, otherwise we shall always make MRs that go through CI.
* Update formatting and title of the page.
Signed-off-by: Oliver Smith <ollieparanoid@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8812>
These conflicts in the sysext-dev-tools subpkg were intended to prevent
app store plugins from being pulled into the system extension image
(where they would not work as expected and cause confusion.) They were
causing an issue with how packages are snapshot in the duranium build CI
by causing a conflict when it tried to resolve base and sysext package
lists together (so install_if packages were included). The conflict
was from:
error: apk add --simulate failed:
ERROR: unable to select packages:
gnome-software-plugin-apk2-0.0.3-r1:
breaks: postmarketos-duranium-sysext-dev-tools-11-r0[!gnome-software-plugin-apk2]
satisfies: world[gnome-software-plugin-apk]
It's much simpler to just remove these conflicts and add these plugins
to the list of RemovedPackages in duranium's mkosi config so they are
purged before main image is finalized.
Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8761>
* Note that several steps can already be done even if the community repo
is not published yet in Alpine.
* Adjusting arches in .ci/build-jobs.yaml.j2 is not needed anymore, CI
scripts read them from pmaports.cfg now.
* Branch protection: we have a v2*.* rule in place now that protects new
release branches automatically, adjust wording to just double check if
it still matches and add a link (in 2030 it will not match anymore.)
* channels.cfg: cover case that the aports branch may not exist yet in
pre-branch phase.
* Use git commit -s in example commands.
* postmarketos-ui-asteroid currently doesn't exist anymore, so we don't
need to delete it for stable.
* Add the command for regenerating cross packages.
* Remove postmarketos-repo-nightly in stable.
* Bootstrap of binary packages: tweak wording, mention that only the
main repo needs to be built for x86_64 before arm repos can be
enabled, we don't need to wait for the x86_64 systemd repo.
* Adjust to QEMU devices not being in main anymore.
* Various syntax fixes and readability improvements.
Signed-off-by: Oliver Smith <ollieparanoid@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8815>
In the previous commits,
- enabled bootloader support on 32-bit architectures,
- fixed libpwquality dependency,
- enabled libarchive and zlib supports,
- enabled xen kexec support,
- enabled valgrind support,
- added systemd-tests subpackage,
- added upstream build support.
So, let's bump the pkgrel to make them take effects.
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8718>
For https://github.com/systemd/systemd/pull/39823
The upstream systemd's mkosi build requires that systemd-boot and ukify
are also built from the upstream source files.
Also, mkosi needs to pass specific source and build directories,
override default meson options, and so on. To support them, this adds
several extra environment variables support:
- $_systemd_upstream,
- $_meson_extra_configure_options,
- $_meson_builddir,
- $_upstream_srcdir.
Note, postmarketOS image built with mkosi already enables usr-merge. Hence
several symlink paths are changed when $_systemd_upstream is set.
This should not change any behavior when the above environment variables
are _not_ set.
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8718>
1. Use udev's uaccess tag mechanism to permit unprivileged access to the
gpio_keys input device which reports EV_SW events such as SW_KEYPAD_SLIDE.
Thus the user can interact with the keypad slide switch under X11 without
needing to be in the input group. Do the same for the power button, even
though X11 can read it directly.
2. Drop acpid and related configurations. This removes the dependency on user
being in the input group.
3. Switch to the logind SetBrightness API to control the keyboard LEDs
without requiring elevated permissions. brightnessctl as packaged under
Alpine currently depends on the user being in the input group to control
LEDs.
4. Improve the keyboard backlighting so it is more even, by setting higher values
of brightness for the innermost keyboard backlight LEDs.
5. Simplify the touchscreen calibration rules and merge with the rules for
gpio_keys and power button.
Signed-off-By: Sicelo A. Mhlongo <absicsz@gmail.com>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8748>
systemd supports using gcc or clang for bpf compilation, using clang
seems easier since the gcc option requires bpf-gcc and a few other tools
that don't seem to be packaged in Alpine.
This isn't working on ARM (see #4411 ), but we can enable it now for x86
and in preparation for a kernel fix on ARM later.
Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8779>
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]
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8767>
Commit a4e9924792 ("linux-htc-flounder: Modernize package") dropped the
kernel.release install step. Since then a fresh build fails at install:
(rootfs_htc-flounder) % mkinitfs
ERROR: only one kernel release/flavor is supported, found: []
postmarketos-mkinitfs needs /usr/share/kernel/$_flavor/kernel.release
to detect the flavor. Restore the install line (same as other kernel
packages).
Tested: pmbootstrap 3.10.1, edge; fresh install for htc-flounder passes
mkinitfs again and the image boots on hardware.
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8796>
Force partition resizing as we are installing to sdcard.
Add an x11 config snippet to have cloned displays. This
will help non-specialized UIs to be usable by having the
same picture for both eyes. Seeing totally different things
on both eyes is a nightmare.
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8774>
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
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8784>
u-boot-pinebookpro-2020.07 has a bunch of patches:
- 0001-enable-rockchip-rng.patch
- Upstream as dc38a58360bfc3b21621dc9d5e626febd1aa93ec, in v2020.10
- 0002-enable-usb-keyboard.patch
- Partially upstream as 3a57712496ab4383c528184ad1021908d6620162, in v2020.10
- 0003-display-support.patch bundles has multiple patches:
1. Upstream as 7fe2ebf3a326026b9ab80ed94da3cd217c84724d, in v2021.07
2. Upstream as 04d67ceb1c62012822430135be31e18c9c176d85, in v2021.07
3. **not upstream**
4. **not upstream**
5. Upstream in decbc18ed2a9788fcaad3ca349def7bad36741f4, in v2021.07
6. Upstream as a0c248ef0844da239096ecb4a83f9fa2b0535117, in v2021.07
7. Upstream in b197c934b11f611dcc1a083d90e68019d1e010cf, in v2021.01
8. Upstream as 4db3926874a6a17cca1f97a4fd92e58e9182a272, in v2021.07
9. No longer required (screen works fine after warm reboot).
10. Upstream in 216928c772798609ba2cb01a42b6f89832bb0587, in v2023.01
11. Upstream in fce1e9bba263fb5e3e589fdc5c2321f733e3de81, in v2022.07
- 0004-rk3399-light-pinebook-power-and-standby-leds.patch
- LED support is already upstream. It's not as early as this patch,
but its preferable to align with mainline.
- 0005-support-SPI-flash-boot.patch
- Superceded by f9d67436ce5814ea4e394317ddeaf1dbecb1c36b, in v2020.10
- 0006-implement-boot-menu.patch has four patches
1. Disable CONFIG_SPLASH_SOURCE instead of patching the source.
2. No compressed bmp logo in use. Unnecessary and labelled as a hack.
3. Irrelevant as we don't enable CONFIG_CMD_BOOTMENU for this device.
4. Kept patch "vidconsole-uclass: Implement ANSI_CURSOR_COLUMN".
- 0007-rockchip-boot-order.patch
- Upstream as b212ad24a604b00b240add35516b7381965deb31, in v2021.10
- 0008-rockchip-boot-order-add-usb.patch
- **not upstream**
- 0009-rk3399-support-compressed-kernel.patch
- Upstream in 6c041b35bf8966ef3d48fc439c1c07131431d2f5, in v2020.10
Drop a few cosmetic and UX improvements were dropped. These are not
strictly required for device support. For example, only the Esc or
Ctrl+C key would interrupt boot, rather than u-boot's "press any key".
Carrying these improvements puts a burden on maintenance and drifts us
further from upstream.
Rebasing all the way up to v2024.01 was mostly strightfoward, but
v2024.07 had some major conflicts. The conflicting patch was already a
hack, so the result is a hack too.
Also drop "Define a very-opinionated boot sequence". This enables the
truetype console (which no longer builds on ARM64) and relies of
features which have been completely re-written upstream.
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8586>
I think it's pretty common to want to manage an eSIM on most modern
phones now, so let's install an eSIM management app by default.
For phones without eSIM support:
- I don't think having this by default is an issue, and users can
uninstall it (it's in pmb_recommends)
- There are eSIM adapters that fit in SIM slots, so this app is relevant
for them
Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
[ci:skip-vercheck] - pmb_recommends
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8749>
apkbuild-lint only checks the file from the first parameter:
$ apkbuild-lint main/postmarketos-ui-phosh/APKBUILD
IC[AL65]:main/postmarketos-ui-phosh/APKBUILD:66:2:non-local 'install' variable in function 'openrc'. Add install scripts to global install variable instead.
MC[AL49]:main/postmarketos-ui-phosh/APKBUILD:46:1:invalid option 'pmb:drm'
MC[AL49]:main/postmarketos-ui-phosh/APKBUILD:46:1:invalid option 'pmb:systemd'
$ apkbuild-lint main/hello-world/APKBUILD main/postmarketos-ui-phosh/APKBUILD
(empty output!)
Loop over the APKBUILDs we want to lint so all of them get checked.
Signed-off-by: Oliver Smith <ollieparanoid@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8735>
I was wondering why apkbuild-lint found a bug locally but not in CI:
IC[AL65]:main/postmarketos-ui-phosh/APKBUILD:66:2:non-local 'install' variable in function 'openrc'. Add install scripts to global install variable instead.
The reason is that the we use alpine:latest here. Let's change it to
alpine:edge so we have the most recent abuild-go version that finds the
most APKBUILD linting bugs.
Signed-off-by: Oliver Smith <ollieparanoid@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8735>
bluebunny's j7xelte has sadly bricked, and so they would prefer to step
down as co-maintainer. I will replace them and so my best to carry the
torch and fill their shoes!
[ci:skip-build] [ci:skip-vercheck] just updating maintainership
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8731>
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>
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>
Removes the template file to abide by hermetic-usr. If a user
wishes to override deviceinfo themselves, then they can create
the file. Existing /etc/deviceinfo files will not be deleted if
they have been edited, so current installs with modifications
will not be affected.
Signed-off-by: Aster Boese <asterboese@mailbox.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6834>
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>
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>
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>
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>
systemd 261 can now natively detect and mount subpartitions.
Fixes#4544
This also works around an issue where udiskie will prompt for mounting
the /usr partitions on disk, when they are subpartitions. I didn't
file a bug upstream because it's really not clear to me what to blame
(udisks2? udiskie? udev?)
Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8660>
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>
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>
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>
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>
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>
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>
* [ ] I confirm that the issue still is present after running `sudo apk upgrade -a`
@@ -35,7 +36,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
### 2. 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
- [ ] 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
#### aports stable branch set?
* [ ] Check if a stable branch exists in `aports` for the new release, and that
it is being used in `channels.cfg` (might still be set to `master` if it
did not exist during the Pre-Branch phase).
### 3. 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
# Archived: Downstream port, only for testing. Use mainline port!
# Reference: <https://postmarketos.org/devicepkg>
maintainer=""
pkgname=device-oneplus-instantnoodlep-downstream
pkgdesc="OnePlus 8 Pro (Downstream)"
pkgver=4
Loaded 100 of 1548 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.