Audit installed packages against rmp files from version's repo?


So I came across something a little peculiar: both yast and zypper were reporting that I had the latest version of an application (mangohud) installed, but the executable behavior (no version output possible) was that of an older version. Uninstalling and reinstalling the package seemingly did nothing, and a manual deletion of the subdirectory within /usr/lib followed by one last reinstall was the key to obtaining the latest version.

What I would like to know is if there is a way to audit how many packages I have installed which are actually the incorrect versions.

Something like AIDE but in reverse order… would “rpm -V” come into useful play here? :sarcastic:

What version do you expect?

Version numbers and build number can be confusing

Well, YaST Software and Zypper were both reporting version "0.6.7~1-1.1 ". However, the issue I was having was resolved in version “0.6.7”. Uninstalling MangoHud, deleting the “/usr/lib/MangoHud/” directory, then reinstalling MangoHud allowed the proper version to execute as it was no longer having the confirmed issue in previous versions.

Could have been older config files maybe???

You know what, booting into an older snapshot reveals I was incorrect. The directory “/usr/lib/mangohud” existed but zypper/yast reported mangohud was not installed. I must have compiled and installed from source so long ago that I just forgot and did a “reinstall” of mangohud through zypper/yast after that snapshot to try to “update” the software. It’s interesting that zypper/yast would download and report a successful install of the rmp if it didn’t overwrite the files from the source build install.

While I am still curious about why the rpm didn’t overwrite the previous install, I’ve discovered “rpm -Va” shows differences and type of difference between what the rpm expects and what’s installed. So that answers my original question. Since mangohud was not installed through a package manager, I could not “rpm -Va” to see if it detected as different, so I guess that case is closed.

If you build a package it maybe that zypper not know about it and thus will not update it. Depends on exactly how you do the install//build.