Hi Mark! > > I have one concern. > > It seems to me that the main reason to specify an LTS kernel is to avoid > the unscheduled breakage that can occur when updating to a new kernel > release series (i.e. to a new major+minor version). Using > "linux-libre-lts" would fail to avoid these unscheduled updates; it > would merely reduce their frequency. > > The only way to reliably avoid unscheduled major+minor kernel updates is > to specify "linux-libre-5.10" or similar. The cost of this approach is > trivial: editing a few characters in the OS configuration when one > wishes to update to a newer LTS series. The benefit is that the user > gains control over when these updates will happen, and thus when any > associated breakage will occur. > > To my mind, the benefit of this approach is so compelling, and its cost > so trivial, that I can hardly understand why anyone who wishes to use an > LTS kernel would choose otherwise. > > If we add "linux-libre-lts" to Guix, I worry that some users would use > it without understanding what they are sacrificing, and later get burned > by breakage when we modify its binding next year, or in some future > year. > > A user who does not understand Guix in depth might reasonably expect > that when choosing "linux-libre-lts", upgrades to a later LTS series > would be postponed until the user gives explicit consent. In theory, > Guix could be modified to behave this way, although I doubt it would be > worth the added complexity. In any case, since it *could* be done, a > user might reasonably expect it. > > If the goal is to solve the problem of users forgetting to update to > newer LTS kernels, I suggest exploring other approaches. Perhaps we > could implement some system where Guix provides periodic reminders to > consider upgrading, when an older LTS kernel is specified in the OS > configuration and a newer LTS is available. There'd need to be a way to > silence the warnings though. > > What do you think? I agree with the fact that the package variable in the form `linux-libre-X.Y` will provide fine grain control, over the form `linux-libre-lts`. But having the latter does not prevent the user from using the former, in the config.scm. Regardless, your concern is valid. The user might or might not know the difference between these forms. For this, I think we add an explanation in manual, somewhat like this: ``` linux-libre => Always points to the latest released version. linux-libre-lts => Always points to the currently released LTS version. linux-libre-X.Y => Only points to the specific major+minor released version. ``` Regarding the reminders, I think it makes things more complex. Yet we do remind users like "The guix distribution is X days old. Please consider updating via `guix pull`". The --news will show the newer linux-libre version. Regards, RG.