B1;2802;0cOn Thu, Sep 29, 2011 at 07:33:33PM +0100, Iain Nicol wrote:
> Hi Michael,
Hi Iain,
 
> > Thanks for testing [the unattended-upgrade change]! Indeed, when it
> > re-evals the state it needs to update the pkgs_to_upgrade list as
> > well. This is fixed in bzr now as well!
> 
> Thanks, but if you'll let me drag this bug out a little longer :-)...
> 
> There's a problem with the latest change: pkgs_to_upgrade was previously
> a list of packages, not a list of pkgnames; if it contains a pkgname, an
> exception is thrown when the string pkgs is built from it.  There's a
> trivial patch at the end of this email to fix this.

Thanks a bunch! Shows me once more that I should only write code that
has a proper test-case :) I commited it to bzr and it will be part of
the next upload, changelog:

  [ Iain Nicol ]
  * unattended-upgrade:
    - ensure pkgs_to_upgrade stays sorted and fix crash

Let me know if that is accurate enough.
 
> The other thing this patch does is fix a tiny regression: previously,
> pkgs_to_upgrade was automatically sorted alphabetically, because the
> cache iterator happens to iterates alphabetically.  But because of the
> new logic we now need something explicit.  (And the explicit sort key
> seems necessary.)
 
A alternative would be to write:
- pkgs = "\n".join([pkg.name for pkg in pkgs_to_upgrade])
+ pkgs = "\n".join(sorted([pkg.name for pkg in pkgs_to_upgrade]))

But your patch is fine of course as well. apt.Package does not have a
__cmp__ function so the key is indeed needed, I added a __cmp__
function to my python-apt branch now (with a test ;) so in the future
a list of package will sort by name.

Thanks again!
 Michael




-- 
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org

Reply via email to