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>
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>
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>
`device-pine64-pinenote-sway.post-upgrade` should check if `sway_hrdl`
is enabled but not installed (like in the case of upgrading from v7-r0
to v8-r0) before setting default session back to `sway`. Else, every
upgrade will set the session back to sway.
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7644>
`device-pine64-pinenote-systemd.post-install` checks if `tinydm-ebc` was
active via `is-active` systemctl command. This does not work in chroot
environment, and exits with exit code 0, thus acting as if `tinydm-ebc`
is active. Since this check is used for v7-r0 to v8-r0 upgrade, it can
be assumed that if output isn't `active`, then the check should not
pass. This commit reworks this by looking for that output rather than a
zero exit code.
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7644>
In an effort to have the option to start with a vanilla sway experience,
the sway subpackage is renamed to sway-hrdl to allow for a vanilla sway
config by default, but give the option for hrdl's opiniated
configuration if desired. Non-opiniated eink optimizations will be added to
the now empty sway subpackage as they are developped. A post-install
script was added to move back to vanilla sway.
In favor of using the more automated systemd subpkg. `tinydm-ebc.service` is
removed in favor of an override file for `tinydm.service` packaged in a
device-wide systemd subpackage. A post-install script was added to
disable `tinydm-ebc.service` and enable `tinydm.service` is tinydm is
in-use at time of upgrade.
Enabling systemd units is now handled by postmarketos-base-systemd's
90-base.preset.
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7515>
* add `partition-table.txt` which sets the partition table using
`rkdeveloptool`. Due to lack of support from pmbootstrap, currently has
to be done manually. Comments are added in `deviceinfo` to make that clear.
* removes from `deviceinfo` `deviceinfo_sd_embed_firmware` as unused.
Due to lack of support from pmbootstrap for flashing u-bout using
pmbootstrap, currently has to be done manually. Comments are added
in `deviceinfo` to make that clear.
Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6711
* manually generate idbloader.img, as it fails when using BL31 from
arm-trusted-firmware
* packages proprietary SPL as it is needed when flashing a new
partition table using rkdeveloptool
* add update-u-boot script to facilitate upgrades
Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6796
Previously, waveform information was provided by maintainer. Since every
device panel is slightly different, waveform information is actually
available on the device in a specific partition (partlabel=waveform).
We thus use the device waveform information instead of the less
appropriate generic binary. We do this by having an initd script extract
and prepare the binary from the partition using hrdl's scripts. The
rockchip_ebc module expects both ebc.wbf and custom_wf.bin under
/lib/firmware/rockchip. Thus, if those files are not detected, the initd
runs the necessary operations, regenerates with mkinitfs, and reloads
rockchip_ebc.
gpio_rockchip is also added to modules-initfs as the kernel now compiles
it as a module
Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6667
[ci:skip-build]: already built successfully in CI
Uses patchset from hrdl rather than m-weigand. It was rebased against
v6.15 by myself, from v6.15_rc3. hrdl rebased m-weigand's patchset from
v6.12 and improved upon it.
Much like linux-rpi, source code is generated by first using upstream
linux source code, patched with minor release patchset. The PineNote
downstream patches are then applied.
Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6667
AKMS builds modules in a sandbox using bubblewrap. Bubblewrap
unfortunately does not work in chroot environment, thus breaking
pmbootstrap. While a PR has been proposed upstream, history shows that
upstream takes a while to consider PRs. Thus, to unblock usage of AKMS,
this adds a patched version that allows disabling of sandbox using
`--no-sandbox` argument or by adding `use_sandbox=false` to
`/etc/akms.conf`. When building in chroot environment, sandboxing is
automatically disabled.
The aport handles conflicts with akms by setting `pkgver=9999$_pkgver`,
thus always overriding Alpine's package.
Upstream PR: https://github.com/jirutka/akms/pull/19
Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6604
ClockworkPi's uConsole needs a few out-of-tree drivers to work that are
usually introduced through patches against raspberry Pi's kernel. To
reduce maintenance overhead, this MR drops
linux-clockworkpi-uconsole-rpi in favor of integrating the missing
drivers via AKMS and using linux-rpi directly. This will also allow
easier updating of the drivers, and avoid having to maintain a seperate
kernel aport.
Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6604