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".

Reply via email to