Package: packagekit Version: 1.2.4-1 This started happening after getting these updates:
apt (2.3.15 -> 2.4.0) debianutils (4.11.2 -> 5.7-0.1) golang-github-containernetworking-plugins (0.9.1+ds1-1 -> 1.0.1+ds1-1) golang-github-containers-dnsname (1.3.1+ds1-1+b1 -> 1.3.1+ds1-2) nftables (1.0.1-1 -> 1.0.2-1) python3.9 (3.9.10-1 -> 3.9.10-2) Packagekit itself didn't change when this bug started happening, but we observe it with PackageKit so let's start here. Let there be two versions of a package, "vapor 1-1" and "vapor 1-2". "vapor 1-1" is installed and "vapor 1-2" is available as an update. Then we observe this: # pkcon get-updates Normal vapor-1-2.all (local) dummy vapor All good. # pkcon resolve vapor Installed vapor-1-1.all (manual:local) dummy vapor Available vapor-1-2.all (local) dummy vapor Still good although it used to say "installed:local" instead of "manual:local" for "vapor-1.1.all". # pkcon get-update-detail vapor Details about the update: Package: vapor-1-1.all Updates: vapor;1-1;all;manual:local Update text: Changes: Changelog for this version is not yet available Issued: Updated: # pkcon update vapor There are no updates available at this time. This is wrong. PK returns details about "vapor-1-1.all" instead of "vapor-1-2.all", and indeed doesn't recognize that 1-2 is available when actually asking it to do the update. This can also be observed in the D-Bus API: - GetUpdates returns "vapor;1-2;all;local" - GetUpdateDetails for "vapor;1-2;all;local" emits the UpdateDetails signal for "vapor;1-1;all;manual:local".