`pkgs.zfs_unstable` is pre-release software and may very well have
critical bugs that make it unsuitable for general use. As such, we
should not recommend it as a general solution to the problem of "my
Kernel is too new for stable ZFS".
- In some cases, move into a conditional as the substitution is only
needed on some version
- One use of `--replace-warn` since it is looking in a set of files
where the exact files that might contain it may change over time, but
we want to cover all of them
Using zfs.latestCompatibleLinuxPackages can result in downgrades to the kernel on a system, potentially causing breakage.
This breakage may not be apparent during build and switch, but only after attempting to reboot into the updated generation.
By forcing users to explicitly manage their kernel version, we can ensure that the breakage will be apparent at build time instead.
This was added for use by ZFS, but it turned out that `pname == "linux"`
is sufficient enough and has better coverage since many of our Linux
variants do not have an existing `passthru.isX`, and instead are
identifiable by a different pname.
- This release brings official support for Kernel 6.10
- Also update zfs_unstable as it would otherwise lag behind
- Upstream now links `zpool` completion, so only do so on older zfs
(since we still need to support 2.1.x)
Changelog: https://github.com/openzfs/zfs/releases/tag/zfs-2.2.6
This removes the need to micromanage this value, instead we simply find
the correct one based on the existing kernelCompatible attr (though that
is now a function). This not only simplifies ZFS upgrades, but also
whenever Kernel versions are removed due to EOL.
Since this is *zfs_unstable*, & these patches are merged. It seems like
this could let folks test out 6.10 as others have had sucess while
setting the new bar to 6.9.
This just adds complexity and confusion. Once-upon-a-time, there was no
`package` and only `enableUnstable`, but now it is just confusing to
have both, as it would be possible to do e.g. `package = pkgs.zfs` and
`enableUnstable = true`, but then `enableUnstable` does nothing.
The `zfs` alias already has equivalent semantics. Instead, make this
like zfs_2_1 so folks who want to pin a specific release series can do
so easily and clearly to have more control over when more substantial
updates occur.
Rename all tests to match the pkg attr they are testing.
This adds compatibility with newer kernels, which fixes
nixosTests.zfs.series_2_1, which broke when the default kernel version
was bumped.
This means we no longer need the removeLinuxDRM option at all, but
I've kept it around as a no-op so people can leave it set in case the
same thing happens again in future.
ZFS no longer tries to use GPL-only symbols on aarch64.
Tested by building nixosTests.zfs.stable (modified to use Linux 6.6)
and nixosTests.zfs.unstable.