update-manager shows wrong changelog

Bug #174024 reported by Jamie Strandboge
2
Affects Status Importance Assigned to Milestone
update-manager (Ubuntu)
Invalid
Undecided
Unassigned

Bug Description

Binary package hint: update-manager

On gutsy, update-manager will display the changelog for the latest version it finds, rather than for the package it is installing. Eg, I use gutsy 'deb' lines, but have many 'deb-src' lines, including hardy and debian unstable. Here is my sources.list:

deb http://archive.canonical.com/ubuntu gutsy partner
deb http://localhost/debs hardy-tests/
deb http://security.ubuntu.com/ubuntu gutsy-security main restricted
deb http://security.ubuntu.com/ubuntu gutsy-security universe multiverse
deb http://us.archive.ubuntu.com/ubuntu/ gutsy main restricted universe multiverse
deb http://us.archive.ubuntu.com/ubuntu/ gutsy-updates main restricted universe multiverse
deb-src http://archive.canonical.com/ubuntu dapper-commercial main
deb-src http://archive.canonical.com/ubuntu edgy-commercial main
deb-src http://archive.canonical.com/ubuntu feisty-commercial main
deb-src http://archive.canonical.com/ubuntu gutsy partner
deb-src http://http.us.debian.org/debian unstable main contrib non-free
deb-src http://security.ubuntu.com/ubuntu dapper-security main restricted universe multiverse
deb-src http://security.ubuntu.com/ubuntu edgy-security main restricted universe multiverse
deb-src http://security.ubuntu.com/ubuntu feisty-security main restricted universe multiverse
deb-src http://security.ubuntu.com/ubuntu gutsy-security main restricted
deb-src http://security.ubuntu.com/ubuntu gutsy-security universe multiverse
deb-src http://security.ubuntu.com/ubuntu hardy-security main restricted
deb-src http://security.ubuntu.com/ubuntu hardy-security universe multiverse
deb-src http://us.archive.ubuntu.com/ubuntu/ dapper main restricted universe multiverse
deb-src http://us.archive.ubuntu.com/ubuntu dapper-proposed main
deb-src http://us.archive.ubuntu.com/ubuntu/ dapper-updates main restricted universe multiverse
deb-src http://us.archive.ubuntu.com/ubuntu/ edgy main restricted universe multiverse
deb-src http://us.archive.ubuntu.com/ubuntu/ edgy-updates main restricted universe multiverse
deb-src http://us.archive.ubuntu.com/ubuntu/ feisty main restricted universe multiverse
deb-src http://us.archive.ubuntu.com/ubuntu/ feisty-updates main restricted universe multiverse
deb-src http://us.archive.ubuntu.com/ubuntu/ gutsy main restricted universe multiverse
deb-src http://us.archive.ubuntu.com/ubuntu/ gutsy-updates main restricted universe multiverse
deb-src http://us.archive.ubuntu.com/ubuntu/ hardy main restricted universe multiverse
deb-src http://us.archive.ubuntu.com/ubuntu/ hardy-updates main restricted universe multiverse

Revision history for this message
Jamie Strandboge (jdstrand) wrote :

You can see in the attachment that seahorse 2.20.1-0ubuntu1 is to be installed, but the changelog shown is for 2.21.3-0ubuntu1.

Revision history for this message
Sam Geeraerts (samgee) wrote :

While investigating bug 40058 I was looking through update-manager's code. The method get_changelog does the following:

            srcrecords = apt_pkg.GetPkgSrcRecords()
            srcrec = srcrecords.Lookup(srcpkg)
            if srcrec:
                srcver = srcrecords.Version

I tried something similar on the Python console for seahorse:

>>> import apt_pkg
>>> apt_pkg.init ()
>>> apt_pkg.GetCache()
Reading package lists... Done
Building dependency tree
Reading state information... Done
<pkgCache object at 0x8192060>
>>> rec = apt_pkg.GetPkgSrcRecords()
>>> lu = rec.Lookup('seahorse')
>>> lu
1
>>> rec.Version
'2.22.1-0ubuntu2'

apt-cache show seahorse shows the following versions:
Version: 2.22.2-0ubuntu1
Version: 2.22.1-0ubuntu2

And then for cpp:

>>> import apt_pkg
>>> apt_pkg.init()
>>> apt_pkg.GetCache()
Reading package lists... Done
Building dependency tree
Reading state information... Done
<pkgCache object at 0x8192060>
>>> rec = apt_pkg.GetPkgSrcRecords()
>>> lu = rec.Lookup('cpp')
>>> lu
1
>>> rec.Version
'1.62ubuntu3'

apt-cache show cpp:
Source: gcc-defaults (1.62ubuntu6)
Version: 4:4.2.3-1ubuntu6
Source: gcc-defaults (1.62ubuntu3)
Version: 4:4.2.3-1ubuntu3

So apt-cache shows the latest version first, but it looks like package information is sorted differently for the Lookup method.

This explanation fits the title of this bug report, but not really the description. If what I just described is fixed, then it will probably only get the changelog of the latest version. So it would still need to find the version of the source package that goes with the version of the binary package currently installed.

Changed in update-manager:
status: New → Confirmed
Revision history for this message
RedSingularity (redsingularity) wrote :

Cleaning up unsupported versions.
---
Ubuntu Bug Squad volunteer triager
http://wiki.ubuntu.com/BugSquad

Changed in update-manager (Ubuntu):
status: Confirmed → Invalid
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.