Security update keeps failing

Hello,

my OpenSUSE 15.6 Leap installation keeps failing to install system updates including three security updates (!). The problem persists since a few days ago.

Each time the update process gets cancelled with the following error message:

error: package kernel-firmware-intel-20250122-150600.3.12.3.noarch is not installed

I have kernel-firmware-intel-20250122-150600.3.15.1 installed. However, when I select the 3.12.3 version in YaST2 it seems to peform an installation but when checking it, I see that in fact it did not perform that downgrade.
I tried to do so manually, both using zypper and rpm, but that did not work as well. Why and how is this package protected from downgrading it, as this seems to be the case?

But even more importantly: What can I do to solve this problem? I do not want to continue using a system if installing security updates is not possible.

In fact this behavior looks like a bug to me. I can not imagine why that intel-specific kernel package should be ‘protected’ from downgrading and never encountered a similar behavior.

Thanks in advance!

The famous “it does not work”.

Post complete output of zypper up or zypper patch or whatever command(s) you are using as preformatted text.

zypper in --oldpackage --force kernel-firmware-intel-20250122-150600.3.12.3.noarch

Output:

Loading repository data...
Reading installed packages...
Forcing installation of 'kernel-firmware-intel-20250122-150600.3.12.3.noarch' from repository 'Update repository with updates from SUSE Linux Enterprise 15'.
Resolving package dependencies...

The following package is going to be reinstalled:
  kernel-firmware-intel

The following package is going to be REMOVED:
  kernel-firmware-intel

1 package to reinstall, 1 to remove.

Package download size:     9.5 MiB

Package install size change:
              |       9.6 MiB  required by packages that will be installed
    -9.7 MiB  |  -   19.2 MiB  released by packages that will be removed

Backend:  classic_rpmtrans
Continue? [y/n/v/...? shows all options] (y): 
Retrieving: kernel-firmware-intel-20250122-150600.3.12.3.noarch (Update repository with updates from SUSE Linux Enterprise 15)                                                                                                                            (1/1),   9.5 MiB    
Retrieving: kernel-firmware-intel-20250122-150600.3.12.3.noarch.rpm ........................................................................................................................................................................................[done (1.7 MiB/s)]

Checking for file conflicts: (2 skipped) ...............................................................................................................................................................................................................................[done]
Warning: 2 packages had to be excluded from file conflicts check because they are not yet downloaded.

    Note: Checking for file conflicts requires not installed packages to be downloaded in advance in
    order to access their file lists. See option '--download-in-advance / --dry-run --download-only'
    in the zypper manual page for details.

(1/1) Installing: kernel-firmware-intel-20250122-150600.3.12.3.noarch ..................................................................................................................................................................................................[done]
%posttrans(kernel-firmware-intel-20250122-150600.3.12.3.noarch) script output:
[dracut output skipped]
Running post-transaction scripts .......................................................................................................................................................................................................................................[done]

Looking at this output one would assume that the downgrade worked but it did not:
zypper info kernel-firmware-intel

Loading repository data...
Reading installed packages...


Information for package kernel-firmware-intel:
----------------------------------------------
Repository     : Update repository with updates from SUSE Linux Enterprise 15
Name           : kernel-firmware-intel
Version        : 20250205-150600.3.15.1
Arch           : noarch
Vendor         : SUSE LLC <https://www.suse.com/>
Installed Size : 9.7 MiB
Installed      : Yes
Status         : up-to-date
Source package : kernel-firmware-20250205-150600.3.15.1.src
Upstream URL   : https://git.kernel.org/cgit/linux/kernel/git/firmware/linux-firmware.git/
Summary        : Kernel firmware files for Intel-platform device drivers
Description    : 
    This package contains compressed kernel firmware files for
    Intel-platform device drivers.

When I try to downgrade via YaST2, it says that it successfully updated the package after having run the post-install scripts. However, if I then check it I see that nothing changed as 20250205-150600.3.15.1 is still installed. So it is the same behavior like when I try to downgrade using zypper.

So am I doing anything wrong or is this a bug?

As root:
rpm --rebuilddb

Thanks a lot, rebuilding the RPM database fixed this issue! I was able to perform the (security) updates without any error message now, since it does not require downgrading kernel-firmware-intel anymore.