Nixpkgs: [20.03]聽Linux latest is for the previous release

Created on 18 Apr 2020  路  3Comments  路  Source: NixOS/nixpkgs

As it has been loosely defined by precedent, here is the update policy for the kernels in the stable branches:

  1. All maintained EOL versions are kept and updated.
  2. The latest kernel version is updated to follow the current latest release.

The first point is important for users using a previous or current LTS, and especially important considering the default kernel is always the latest LTS. I don't think there is anything to discuss about this point here.

The second point is important for a specific use case. Sometimes it happens that a release uses a year old LTS, and this creates issues for some new hardware setups that are often better in the latest releases. This is even more true with the (still unpublished) new-kernel variant of the iso, as it allows those users to start the installer, where sometimes the default release won't start.

It is important that the latest release never downgrades to a previous version (LTS or not). It could end up being several releases behind, and considered a breaking change. It is also important that the version stays fresh and maintained, so it shouldn't be a version that will be EOL'd, and especially not stay the version that is EOL'd.


The current (upcoming) release branch (20.03) currently has the following:

# pkgs/top-level/all-packages.nix
16712   linuxPackages_latest = linuxPackages_5_5;

There is no linuxPackages_5_6 upgrade as would be expected.


The current stable branch (19.09) seems to have suffered a similar fate,

# pkgs/top-level/all-packages.nix
15776   linux_latest = callPackage ../os-specific/linux/kernel/linux-5.4.nix {

I would have expected to see linux-5.6 here.


Additionally, for 19.09 we did the following, which I am still ambivalent about:

The versioned attribute names for non-LTS versions are dropped (to respect this release step.

So let's say 5.6 is the latest, we wouldn't see a linuxPackages_5_6 attribute, but linuxPackages_latest would be 5.6.

Though that's not exactly relevant to kernel update policy, and a release management step.


For previous discussions, see #70202, #50412


@NeQuissimus, has there been a change since our previous discussions? Is there an issue I'm not seeing here that prevents updating to the latest kernel release in the stable NixOS releases?

Thanks.

question kernel policy discussion

Most helpful comment

You are absolutely correct in everything you've said.
I usually wait a bit to update latest until some of the kernel modules have come out with updates. Since I don't keep track of all of them, I generally wait until x.y.2. The specific reason 20.03 is behind is that I have not had the time to make the changes in the release branch.
The reason 19.09 is behind is that I was under the impression the "wandering latest release" thing was new to 20.03; I guess I was incorrect there.

If anybody would like to pick the right commits, please go ahead.

All 3 comments

TODO

  • [ ] Write down the guidelines in a more official manner (as in: in the docs).

You are absolutely correct in everything you've said.
I usually wait a bit to update latest until some of the kernel modules have come out with updates. Since I don't keep track of all of them, I generally wait until x.y.2. The specific reason 20.03 is behind is that I have not had the time to make the changes in the release branch.
The reason 19.09 is behind is that I was under the impression the "wandering latest release" thing was new to 20.03; I guess I was incorrect there.

If anybody would like to pick the right commits, please go ahead.

Commits have been picked, closing.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

grahamc picture grahamc  路  3Comments

ayyess picture ayyess  路  3Comments

retrry picture retrry  路  3Comments

copumpkin picture copumpkin  路  3Comments

lverns picture lverns  路  3Comments