mainline icon indicating copy to clipboard operation
mainline copied to clipboard

Version question

Open zoomy942 opened this issue 10 months ago • 5 comments

Hey

Learner here. I use this app for kernel updates and was curious

Why does this link have 6.13 (for example) and the mainline app only has up to 6.12…..

Just wanted to learn

Thank you!

zoomy942 avatar Feb 05 '25 04:02 zoomy942

no prob, here ya go
https://github.com/bkw777/mainline?tab=readme-ov-file#missing-kernels

bkw777 avatar Feb 10 '25 21:02 bkw777

Closed but reopned because maybe there is something not quite 100% with the local cache detecting automatically when the web site index changes.

I can't tell for sure now because the evidense has been wiped and everything is good now, but I think what might have happened is the app cached a prior state of the upstream site when 6.13 was a failed build for amd64, and marked that version as invalid and hid it from view. Then later the ubuntu kernel team did eventually sucessfully produce debs for amd64, and the app failed to pick up the change. It just "remembers" that 6.13 is no good forever.

Except in fact there is code to scan for exactly that sequence of events because it's common. It is supposed to be noticing when the datestamps on the various indexes on the ppa site change from the last thing it "remembers" and reload any indexes that changed, and so when failed builds become good builds, we notice and put them in the list of installable kernels. Not look once and remember that some version is bad forever without ever looking again.

The cache is basically downloads of a bunch of index.html files from the ubuntu mainline-ppa web site so the web site isn't hit with 500 downloads every time anyone opens the app. The main page needs to be re-downloaded almost every time, but most of the pages for each individual kernel never need to be downloaded again. We use the date/time stamps in the main page to detect when one of the individual kernel pages needs to be updated.

But that detect & update seems to have failed.

A few minutes ago I opened the app and I don't remember for sure but I think it was not showing 6.13.

I went into settings and un-selected "hide failed builds" which makes the app show all the failed builds even though you can't install them. Any change to the filtering like that causes the same as the Reload button, which deletes and re-creates the cache.

6.13 was showing after that, and even correctly showing as installable not just as invalid.

Even after turning the opotion back on to hide invalid versions again, 6.13 still shows as available and installable, and does actually install fine.

It's hard to be sure now after the fact because I don't have snapshots of the prior state of the ppa site and didn't think to make a copy of my local cache before opening the app just now, so I can't replay the sequence of events to debug it. I'll have to be on the lookout starting now to see if I can catch it when it happens again. I'll have to rig up the app to save snapshot copies of the cache instead of updating the single copy, and then I can replay & debug it next time it happens.

In the mean time, if you suspect kernels are missing you can always just hit the Reload button any time and see if new versions appear. That deletes the entire cache re-downloads all indexes and scans all versions from scratch. If a version you think should be there still isn't there after that, hit the PPA button and look for the latest versions at the bottom of the page. Go into a late version directory and see if the amd64 build actually succeeded. If amd64 failed, then that's why it's not in the app.

bkw777 avatar Feb 10 '25 22:02 bkw777

WOW! Thank you for that explanation! I enjoy learning and appreciate you took the time to add clarity. I did notice that 6.13 showed up but onbly after I clicked 300 different things experimenting. This was very very helpful. Thanks again.

zoomy942 avatar Feb 10 '25 22:02 zoomy942

Sorry to hijack this, I'm trying to follow along at home (fun times with a new AMD gpu that gives me tons of panics)

The latest version is 6.15.3 as of this writing, from six days ago (19th of June). The application lists 6.15.2 as the latest version, even if I include broken builds (just to see if it's even aware of that). The PPA also doesn't seem to have any data for it:

https://kernel.ubuntu.com/mainline/v6.15.2/ exists at the moment

https://kernel.ubuntu.com/mainline/v6.15.3/ is a 404 at the moment

Is that to be expected? Is some build action not working maybe / is that a problem somewhere in Ubuntu's kernel builds then?

darklajid avatar Jun 25 '25 04:06 darklajid

The ubuntu kernel team builds kernels whenever they build kernels. There is no schedule and no promises. The ppa site is really just their own development environment that eventually produces the official kernels that go into the normal repos. We just get to download copies of their ongoing development builds that's all. They don't produce them for us users. They just produce them as a byproduct of development and for their own testing, and we get to yoink the packages too.

When a new kernel is released from upstream, it may or may not eventually be built and packaged by the ubuntu kernel team. They eventually at least try to build most versions but don't actually build every single version always, and when they do build a particular version, it might or might not be viable, and they might or might not rebuild it some time later and it might become viable. Or not. And there is no predicting when.

And this is all fine because by rights it should probably just be a private server only they have access to. It's not a case of them providing a bad service.

bkw777 avatar Jun 25 '25 06:06 bkw777