* Parse the file in python and ensure it is ordered alphabetically
* Ensure that we have at least as many gitlab nicknames in CODEOWNERS,
as there are listed maintainers in main and community devices. This
should help with enforcing that every maintainer is also listed in
CODEOWNERS, so they can be easily pinged via their gitlab nickname if
something for the device they maintain is happening.
[ci:skip-build]: already built successfully in CI
Sometimes we need to figure out the gitlab nicknames of maintainers and
co-maintainers as listed in the APKBUILDs, e.g. when a specific issue
appears that only happens with a given device. Or if we want to ping
all device maintainers in the testing phase for the new release.
So far it has been a very tiresome, manual process to figure out gitlab
nicknames from the maintainers in the APKBUILDs (involving git log
--follow and opening merge requests in browsers...). After some
discussion we figured it would be good to store it in the CODEOWNERS
file.
This also has the nice side-effect that maintainers get notifications if
the APKBUILDs they maintain get changed.
We configure editors via editorconfig file. Remove the modeline, it was
wrong anyway by setting "et" to expand tabs to spaces, where in reality
this file uses tabs.
We have decided to not use the non-free firmware subpackages anymore,
read the details in the blog post. Allow direct dependencies from the
device packages to the firmware packages.
Related: https://postmarketos.org/edge/2024/02/15/default-nonfree-fw/
[ci:skip-build]: already built successfully in CI
Move the files to initramfs-extra, so the initramfs is not too big for
ChromeOS devices. I had initially added this to initramfs, because
otherwise the graphics on my Thinkpad L14 would not come up. But I
verified that it also works with having it in initramfs-extra.
Fixes: #2578
The riscv64 builder in Alpine is currently stuck, let's disable the
package for riscv64 temporarily so bpo isn't stuck on it for master. I
doubt anybody is using it on riscv64 currently.
[ci:skip-vercheck]
[ci:skip-build]: already built successfully in CI
Add a subpackage that sets the pmOS wallpaper, instead of always setting
the wallpaper that was added for giving GNOME Shell on Mobile a better
contrast.
Adjust to change in Alpine that moved rockchip to single image:
https://gitlab.alpinelinux.org/alpine/aports/-/merge_requests/51827
Fix for:
ERROR: The following firmware binary does not exist in the rootfs_pine64-rockpro64 chroot: /usr/share/u-boot/rockpro64-rk3399/idbloader.img
[ci:skip-build]: already built successfully in CI
Due to symlinks from linux-firmware-ath10k apk is now pulling in
linux-firmware-qcom which already provides a630_sqe.fw.
Since this file is not device/vendor-specific we can really use the file
from linux-firmware and not provide our own. For the record,
a619_gmu.bin also shouldn't be device-specific but currently
linux-firmware doesn't provide that one.
Also just pulling linux-firmware-qcom for this tiny file is pretty space
inefficient but due to the symlink dependency mentioned above, just
removing this file for now from the firmware package removes the file
conflict reported by apk:
ERROR: linux-firmware-qcom-20230919-r1: trying to overwrite lib/firmware/qcom/a630_sqe.fw owned by firmware-fairphone-fp4-adreno-20230215-r1.
[luca: update commit message to reflect dependency situation, update
packaging code a bit]
Adjust the trigger script to only check for the new deviceinfo path. The
purpose of this check is to make sure that a full device package is
installed, and only in that case run mkinitfs. Otherwise, it will fail
because e.g. no kernels may be installed.
With recent changes, /etc/deviceinfo is a part of devicepkg-utils and
only /usr/share/deviceinfo/deviceinfo really indicates that a device
package is installed.
Remove the "exit 0" at the end while at it, it did not do anything since
the script runs with "/bin/sh -e". Add a comment to make this clear.
[ci:skip-build]: already built successfully in CI
Wrap rustc commands with sccache when building native build scripts.
More interesting will be using sscache for compiling for the target
architecture, but sccache currently refuses to cache with --sysroot.
This can be optimized further later on, get some initial support for
sccache in here first.
While at it, tweak the -vV logic to also support -V, start using semver
with this and add myself as maintainer of the package.
[ci:skip-build]: already built successfully in CI
* Don't use "cargo install", as it leads to building a second time.
* Make the build very verbose, as this package is mainly used to debug
and develop the crossdirect scripts for rust.
The ovos package is now available in Alpine for aarch64 too. Enabling
the package for aarch64 again fixes the currently failing bpo images for
master:pine64-rockpro64:plasma-bigscreen.
[ci:skip-vercheck]: modifying arches only
[ci:skip-build]: already built successfully in CI
Move the elogind configuration and post-install call of "loginctl
reload" into an extra subpackage with install_if=elogind.
Fix for:
Executing device-pine64-pinebookpro-16-r0.post-install
* service nvme-powersave added to runlevel boot
* service sysfsconf added to runlevel default
lib/apk/exec/device-pine64-pinebookpro-16-r0.post-install: line 5: loginctl: not found
ERROR: device-pine64-pinebookpro-16-r0.post-install: script exited with error 127
Make the post-install scripts more robust while at it, by adding
"exit 0" at the end.
Add GNOME specific wallpapers with a good contrast, so lables for
launchers on top of the wallpaper can be read nicely.
Also set myself as maintainer since the original maintainer didn't
change the package since 2018.
Add a dummy subpackage that does not install any kernel. This is useful
for testing 'pmbootstrap install' code quickly without actually
downloading and installing a kernel package.
For a lot of people having the 1 second timeout results in not finding
the sim at all. Let's rather wait up to 4 seconds for the sim to appear,
it was reported that 3 is enough in a report where 1 wasn't.
Related: issue 2072
[ci:skip-build]: already built successfully in CI
It doesn't build currently (issue 2146) and also it's not used by any
device package currently (with other ports we support selecting between
mainline and downstream kernel in some cases, but not here).
If it's useful, the build can be fixed and it can be added back in a
future patch.
Make it easier to look up the librem5-base version that was used in the
device-purism-librem5 package, e.g. for writing service pack release
notes:
> Purism Librem 5 Phone (librem5-base: 58pureos1)
[ci:skip-build]: already built successfully in CI