@karns: We do agree with you! While IgnorePkg
and having an LTS kernel are good protections against ZFS breakage (that I am personally using for now), we do agree that the ideal scenario is that the package blocks kernel upgrades when there are known compatibility issues.
Heck, I even like the idea of conflicts
listing kernel versions above the officially supported version as stated by OpenZFS (for instance it would be conflicts=('linux>=6.3')
right now), and for all kernels officially by Arch.
The question is not whether this is a desired behavior (I think we all agree), but exactly how to implement this behavior in a way that won't cause other unexpected problems in some cases. So far, we're not sure there's a way.
The problem with using conflicts
for that (also answering @Vrakfall) is bad interactions that can happen for users with multiple kernels installed (usually with different versions).
Picture this scenario. Some ZFS user installed kernel 6.3, which broke their system, and switched to linux-lts
in the mean time, leaving 6.3 installed. I'm sure there are people actually in this scenario. If we introduce the conflicts
to the PKGBUILD right now, their system packages would be left in an inconsistent state, and pacman would try to uninstall either zfs-dkms
or linux
to resolve it. Uninstalling the former would be pretty bad!
What I'm not sure is whether this approach could work moving forward if we assume that no ZFS user has an incompatible kernel installed (and very strongly warn against the scenario above for the initial transition and assume zfs-dkms
users read this?). Maybe it would work? What do you think, @kstolp?
Pinned Comments
kstolp commented on 2023-09-29 00:34 (UTC)
When requesting changes, please include detailed reasoning for the change.
kstolp commented on 2023-01-07 09:31 (UTC)
If you receive this error when trying to build, it is because you have not imported the GPG keys used for verification.
You have two options:
1) Import the two keys into your keyring. ArchWiki article. You can find the key IDs in the PKGBUILD file, in the
validpgpkeys
array. (recommended)2) Alternatively, you can skip this verification by passing the
--skippgpcheck
argument tomakepkg
when building. (not recommended)