void-linux / void-packages

The Void source packages collection
https://voidlinux.org
Other
2.6k stars 2.16k forks source link

[RFC] adjust and note the kernel series each metapackage follows #53137

Open classabbyamp opened 1 week ago

classabbyamp commented 1 week ago

The current kernel metapackage policy is:

In recent times, kernels have been released and gone EOL faster than zfs can release build fixes, and nvidia in particular has had trouble with recent kernels, holding us back from bumping linux to 6.10 or 6.11. In the recent past, we've had linux point to a kernel that was already EOL (6.3 or 6.5), so we risked not getting backports for important fixes.

I propose the following changes:

This should help us keep linux on a supported kernel and provide a more reliable indicator for when we can update the default kernel series, I think.

@void-linux/pkg-committers, thoughts?

Calandracas606 commented 1 week ago

imo haivng linux-lts follow the second latest LTS release is confusing, and don't see what value it really adds.

If someone wants to use an old kernel, they probably have a good reason for it, and probably will track that specific kernel package manually

I would propose: linux-mainline: no change (eg: 6.13) linux: remove linux-lts: follows latest LTS with nvidia and zfs support (eg: 6.6)

lemmi commented 1 week ago

kernel.org offers mainline, stable and longterm versions. maybe we can try and follow that to some extent? i'd find a bit surprising for the linux package to track lts and then have another linux-lts package that tracks something even older. mainline should more or less follow upstream, like we are doing right now. stable can also follow upstream stable, but maybe hold a version back, in case there are known issues. nvidia and zfs users can then depend on linux-lts and not hold back the other versions.

leahneukirchen commented 6 days ago

My original idea was to provide a lts package that rarely updated the major version so you don't need to fear breakage once a year. YMMV.

ahesford commented 6 days ago

nvidia and zfs users can then depend on linux-lts and not hold back the other versions.

I take pride that our ZFS support is best in class. Shipping a linux package that frequently fails to work with ZFS---especially when it is the default kernel for the distribution---is not acceptable. Likewise, a default kernel package that can't provide video to large numbers of users is no good.

As there is momentum behind keeping the linux package the distribution default, we can't change that now. We are de facto pinning linux at the latest LTS kernel, so let's codify that. In keeping with the spirit of @leahneukirchen's intention with linux-lts, we could amend the proposal slightly: linux-lts can point to a prior LTS kernel such that it is never the same series as linux and is updated at most annually. Users looking for longer stability should just install a specific series and stop tracking the metas.

leahneukirchen commented 6 days ago

Since LTS releases appear at most annually, that sentence is redundant. But fine by me.

This would mean we update LTS to 6.12 in February when 6.13 is mainline? (+- 1 version)

Calandracas606 commented 6 days ago

The way I see it, there are two situations which need solving:

  1. users who need support for the latest hardware
  2. users who need support for zfs and/or nvidia

IMO, problem 1 should be solved by linux-mainline, and problem 2 by linux-lts. this leaves linux redundant.

If keeping the linux package is needed, then I propose killing linux-lts instead, and pinning linux to the most recent LTS kernel supported by zfs and nvidia

Personally, I don't see the value in having a meta package for the previous LTS release, which will always be at least a year old. What problem is that solving? Users who really need that stability should install a specific series and stop tracking the meta.

Calandracas606 commented 6 days ago

If keeping the linux package is needed, then I propose killing linux-lts instead, and pinning linux to the most recent LTS kernel supported by zfs and nvidia

Probably better would be to make linux a meta package which depends on linux-lts

ahesford commented 6 days ago

I don't know that either meta package is needed, but removing one is going to break workflows for people who use them to track new releases. Dropping -lts is probably the least surprising.

classabbyamp commented 6 days ago

based on discussion on IRC, I've added linux-stable, a package that follows what kernel.org calls stable, and adjusted the description of linux.

In the long term, it would be nice to make linux into a virtual package, which would allow for more flexible kernel series switching.

classabbyamp commented 6 days ago

also, I started trying to make linux-headers a virtual, and it didn't work while linux/linux-headers existed as a real package (and maybe another issue, i forget now): https://github.com/void-linux/void-packages/pull/43519

so there are maybe things that this would solve