-
Notifications
You must be signed in to change notification settings - Fork 167
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Increasing Rustix's minimum supported Linux version to 3.2 #907
Comments
I think, in practice, "minimum of oldest version supported by a Rust target and version in Debian stable" is going to reduce to "oldest version supported by a Rust target", since we're very unlikely to require a newer kernel than Debian stable. I would also suggest that, for any target-specific code in rustix, the minimum version should be the kernel version supported by that Rust target, which might be newer. For instance, a rustix feature that's specific to aarch64 Linux targets could assume Linux 4.1, since the aarch64 Linux targets for Rust require Linux 4.1. Otherwise, this seems like a reasonable conservative policy. Anything less conservative than that could be driven by feature flags opting into requiring newer kernel versions. |
Linux 3.2 is still glacially old. I support this bump. |
I've now opened #927 to document the Linux 3.2 requirement. |
So far, rustix's approach has been to aim to support the Linux versions that Rust supported in rustix's MSRV. The MSRV is currently 1.63, which happens to have supported Linux 2.6.32. However, the choice of Rust 1.63 was guided by Debian stable, while this approach implies supporting Linux 2.6.32 which is older than Debian oldoldstable at this point.
This hasn't usually been a problem, because we can still provide support for features in newer Linux versions, and they'll just fail with
NOSYS
orOPNOTSUPP
at runtime if they're not supported. However, in a few areas, such as the one reported in #905, this is starting to become a burden.I propose we adopt and document a minimum supported Linux version policy, guided by taking the minimum version of all Linux versions supported by any Rust target (currently 3.2) and the oldest version in Debian stable (currently 4.19) at the time of a rustix release. The choice of Debian stable here and in the MSRV isn't due to any specific requirement, and is just used as a representative "very stable Linux distro". I'm open to feedback on better ways to determine either of these versions.
Do we need a semver bump for this? My guess is that we don't, at least for this initial policy. Linux 3.2 is sufficiently old that I don't expect we need to worry about it at this time.
Comments, questions, and feedback are encouraged!
The text was updated successfully, but these errors were encountered: