This is not ideal, but while our kconfig keeps being very dynamic, we
very often bump into the following situation:
Author of kernel MR fixes kconfig -> the MR is fine ->
1 week passes and some other kconfig changes get merged ->
we assign to the bot for merge -> CI fails and we're back at the
beginning
This means the authors have to get back to fixing kconfig out of us
being slow. And if we are slow again, the same cycle can repeat, which
has happened in the past. This is frustrating for everybody. Instead,
if we are ready to merge and the merge bot is the committer, just
skip kconfigcheck failures. It means that some options might have to
wait for the next update to be included, but still forces authors to
fix kconfig on each of their own pushes, which is a possible trade-off
to reduce friction.
This should be save to revert the day kconfigcheck starts changing
only occassionally.
Signed-off-by: Pablo Correa Gómez <pabloyoyoista@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/9385>
pmbootstrap 3.11 is strict-by-default and previous versions had a broken
implementation which broke upon a full bootstrap of e.g. the systemd
repo. I think it's therefore safe to remove this already, even without
bumping pmbootstrap_min_version.
[ci:skip-vercheck]: doesn't affect any artifacts
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/9112>
There is the ocasional or rare case in which this can be useful
independently of [ci:skip-build], like if something is very urgent and
blocked due to something that only affects HW-CI. We already do not
block merging if actual HW fails the tests to avoid reliability
issues, so this is purely for software bugs.
Signed-off-by: Pablo Correa Gómez <pabloyoyoista@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/9348>
This runs 'kconfig generate' for all archs that the generic kernels
support in order to make sure that kconfig-generic.toml changes are
valid for everything for the kernels it would apply to. This is meant
to catch kconfig changes that might introduce options that don't exist
on some kernel/arch combos or that might be missing other kconfig
dependencies.
Signed-off-by: Clayton Craft <craftyguy@postmarketos.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/9250>
As per the apk-tools and abuild source code, 0 is a perfectly valid integer
for provider_priority, but our Python tests currently fail with a priority of 0
because 0 and None are the same in the if statement that checks priority.
Changes the if statement that checks priority to fail if the priority is
explicitly None.
Signed-off-by: Aster Boese <asterboese@mailbox.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8973>
The original disallowing of these subpackages happened in 2024.
It was expected that device packages would be voluntarily migrated
by the maintainers to reflect this new rule. But, this never happened.
Thus, enforcing this on all new and changed packages will force
the fixing of these packages.
This is not a treewide because so many packages still use the
nonfree-firmware subpackage logic that an MR would be an absolute pain
to handle and rebase. This is also a very easy fix to incorporate into
unrelated changes.
See https://postmarketos.org/edge/2024/02/15/default-nonfree-fw/
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8914>
/etc/local.d/ is reserved entirely for sysadmins for usage with OpenRC.
There was an effort to move this path to *-openrc subpackages in
abuild!484, but it was stalled for this reason. As such, it makes
the most sense to disallow all files in /etc/local.d/ in packaging.
Signed-off-by: Aster Boese <asterboese@mailbox.org>
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8745>
Previously, we only checked that new or moved kernel APKBUILDs in
testing or above were building the kernel with LLVM. Now that it is also
formally a requirement for testing, we should change this check to also
enforce it when making modifications to a kernel APKBUILD in testing or
above.
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/8888>
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>
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>
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>