linuxmint / mintupdate

The Linux Mint Update Manager
309 stars 152 forks source link

Mint Update insists on "updating" a kernel version that is not installed #810

Open kneekoo opened 1 year ago

kneekoo commented 1 year ago

Describe the bug On my new PC I can't boot to graphics mode without a kernel newer than 5.15, so I installed 6.1 and it's fine now. But after I uninstalled 5.15 (being useless to me), the update manager insists on installing the most recent version in the 5.15 branch.

Screenshots Update Manager - kernel update 2023-04-21

Expected behavior If I don't have kernels in a certain branch, the update manager should not prompt me to install those "updates".

Distribution:

Software version: 5.9.8

Additional context Extra bug: as seen in the screenshot, kernel 6.1 is marked as "-oem-oem" in the "You are currently using..." text, although its name end only with "-oem". For some reason, an extra label is added by the kernel manager.

kneekoo commented 1 year ago

For a bit more context, this is what shows up in the Packages section:

Update Manager - kernel update 2023-05-01

P-Woods commented 8 months ago

It does a similar thing for mine. Running unsigned-lowlatency kernels Update always wished to install the generic version. It also calls the installed kernel "-lowlatency-lowlatency" See the screenshot: Screenshot_2023-11-06_11-44-52

icedream commented 3 months ago

I am running into this with an oem kernel as well (I specifically use the linux-oem-22.04d/linux-image-6.5.0-1016-oem packages). It keeps insisting that it needs to upgrade the linux-generic image when I don't even have it installed according to apt.

icedream commented 3 months ago

Turns out this is happening because mintupdate has its own glib setting it uses to track which type of kernel you have installed. It can be overridden for the current user by overwriting the setting selected-kernel-type in schema com.linuxmint.updates with the proper suffix (e. g. -oem for an OEM kernel):

gsettings set com.linuxmint.updates selected-kernel-type -oem

In my case, I even had to set up a system-wide override like this to make it default for any user logging into the system:

sudo tee /usr/share/glib-2.0/schemas/99_mintupdate.oem.gschema.override >/dev/null <<'EOF'
[com.linuxmint.updates]
selected-kernel-type = '-oem'
EOF

Only specific values are "supported", if the value is unsupported it will default to -generic hence suggesting generic kernel instead for the case that the original description of this issue describes where the suffix was repeated. Relevant part of the code: https://github.com/linuxmint/mintupdate/blob/cafc82c3d8a1a43b83512e7c0b77eb7ed3b42ec2/usr/lib/linuxmint/mintUpdate/Classes.py#L21-L30