Debian Bug report logs - #625792
[britney2] Needs to be cleverer at deciding which packages to check for installability

Package: release.debian.org; Maintainer for release.debian.org is Debian Release Team <debian-release@lists.debian.org>;

Reported by: "Adam D. Barratt" <adam@adam-barratt.org.uk>

Date: Thu, 5 May 2011 23:30:01 UTC

Severity: normal

Tags: patch

Done: "Adam D. Barratt" <adam@adam-barratt.org.uk>

Bug is archived. No further changes may be made.

Toggle useless messages

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to debian-bugs-dist@lists.debian.org, Debian Release Team <debian-release@lists.debian.org>:
Bug#625792; Package release.debian.org. (Thu, 05 May 2011 23:30:04 GMT) Full text and rfc822 format available.

Acknowledgement sent to "Adam D. Barratt" <adam@adam-barratt.org.uk>:
New Bug report received and forwarded. Copy sent to Debian Release Team <debian-release@lists.debian.org>. (Thu, 05 May 2011 23:30:04 GMT) Full text and rfc822 format available.

Message #5 received at submit@bugs.debian.org (full text, mbox):

From: "Adam D. Barratt" <adam@adam-barratt.org.uk>
To: submit@bugs.debian.org
Subject: [britney2] Needs to be cleverer at deciding which packages to check for installability
Date: Fri, 06 May 2011 00:27:18 +0100
Package: release.debian.org
User: release.debian.org@packages.debian.org
Usertags: britney

Hi,

With the fix for #624716 applied, b2 no longer crashes attempting to
migrate xfce and friends (via "hint exo").  It does fail the hint,
however, whereas b1 successfully migrated the package set based on the
same input.

Having spent a little while trying things, so I don't forget any of it,
and in case anyone else spots a clean and obvious solution, my thoughts
and analysis on that are below...

The process of deciding which packages need checking for installability
is roughly (see doop_source()):

if source in testing
  for each binary still built from this source in testing
    mark all reverse dependencies as affected [A]
add new source to testing
for each binary built from the new source
  mark the binary as affected [B]
  if the binary exists in testing
    mark all reverse dependencies as affected [C]
    mark all reverse conflicts as affected [D]
  add / update the binary
  mark the new reverse dependencies as affected [E]

Hinting exo initially results in cairo-dock-plugins, cairo-dock (via
c-d-p) and ristretto being flagged as newly uninstallable.  The first
two are easily fixable by applying the patch from #614249 to steps C and
E; step D uses get_full_tree() which is considerably slower but the
number of reverse conflicts is generally small enough that it doesn't
matter.  Resolving ristretto turns out to be more complicated,
unfortunately.

The exo hint involves a number of source packages which provide
ristretto's reverse dependencies.  In the order in which they're
considered:

exo
- mark ristretto as affected (step A)
- ristretto becomes uninstallable

libxfcegui4
- mark ristretto as affected (step A)
- ristretto is still uninstallable

thunar
- mark ristretto as affected (step A)
- ristretto is still uninstallable

thunar-vfs
- the source isn't in testing; so steps A, C and D are skipped
- unstable's ristretto doesn't depend on libthunar-vfs-1-2, so the
package isn't marked for checking again

The net effect is that ristretto is left (incorrectly) marked as
uninstallable and the hint fails.  This is a little bit of a corner case
(due to unstable's ristretto having dropped the dependency) but should
still be fixed.

Regards,

Adam





Information forwarded to debian-bugs-dist@lists.debian.org, Debian Release Team <debian-release@lists.debian.org>:
Bug#625792; Package release.debian.org. (Fri, 06 May 2011 19:00:03 GMT) Full text and rfc822 format available.

Acknowledgement sent to Julien Cristau <jcristau@debian.org>:
Extra info received and forwarded to list. Copy sent to Debian Release Team <debian-release@lists.debian.org>. (Fri, 06 May 2011 19:00:03 GMT) Full text and rfc822 format available.

Message #10 received at 625792@bugs.debian.org (full text, mbox):

From: Julien Cristau <jcristau@debian.org>
To: "Adam D. Barratt" <adam@adam-barratt.org.uk>, 625792@bugs.debian.org
Subject: Re: Bug#625792: [britney2] Needs to be cleverer at deciding which packages to check for installability
Date: Fri, 6 May 2011 20:57:45 +0200
On Fri, May  6, 2011 at 00:27:18 +0100, Adam D. Barratt wrote:

> thunar-vfs
> - the source isn't in testing; so steps A, C and D are skipped
> - unstable's ristretto doesn't depend on libthunar-vfs-1-2, so the
> package isn't marked for checking again
> 
hrm, but why does unstable's ristretto matter at that point, rather than
testing's?  (Apologies if I'm missing something obvious.)

Cheers,
Julien




Information forwarded to debian-bugs-dist@lists.debian.org, Debian Release Team <debian-release@lists.debian.org>:
Bug#625792; Package release.debian.org. (Fri, 06 May 2011 19:18:03 GMT) Full text and rfc822 format available.

Acknowledgement sent to "Adam D. Barratt" <adam@adam-barratt.org.uk>:
Extra info received and forwarded to list. Copy sent to Debian Release Team <debian-release@lists.debian.org>. (Fri, 06 May 2011 19:18:03 GMT) Full text and rfc822 format available.

Message #15 received at 625792@bugs.debian.org (full text, mbox):

From: "Adam D. Barratt" <adam@adam-barratt.org.uk>
To: Julien Cristau <jcristau@debian.org>, 625792@bugs.debian.org
Subject: Re: Bug#625792: [britney2] Needs to be cleverer at deciding which packages to check for installability
Date: Fri, 06 May 2011 20:14:28 +0100
On Fri, 2011-05-06 at 20:57 +0200, Julien Cristau wrote:
> On Fri, May  6, 2011 at 00:27:18 +0100, Adam D. Barratt wrote:
> 
> > thunar-vfs
> > - the source isn't in testing; so steps A, C and D are skipped
> > - unstable's ristretto doesn't depend on libthunar-vfs-1-2, so the
> > package isn't marked for checking again
> > 
> hrm, but why does unstable's ristretto matter at that point, rather than
> testing's?  (Apologies if I'm missing something obvious.)

It's not unstable's ristretto so much as unstable's thunar-vfs.

After adding thunar-vfs to testing, the record for the libthunar-vfs-1-2
binary built from that source is copied from unstable to testing,
including the previously computed list of reverse dependencies, which is
then used to look for affected packages.

I'm fairly sure one of my earlier debugging sessions included
re-scanning for affected packages after the reverse dependency list had
been updated, but it's not in my current version; I'll have another look
at that.

Regards,

Adam





Information forwarded to debian-bugs-dist@lists.debian.org, Debian Release Team <debian-release@lists.debian.org>:
Bug#625792; Package release.debian.org. (Fri, 06 May 2011 20:06:07 GMT) Full text and rfc822 format available.

Acknowledgement sent to "Adam D. Barratt" <adam@adam-barratt.org.uk>:
Extra info received and forwarded to list. Copy sent to Debian Release Team <debian-release@lists.debian.org>. (Fri, 06 May 2011 20:06:07 GMT) Full text and rfc822 format available.

Message #20 received at 625792@bugs.debian.org (full text, mbox):

From: "Adam D. Barratt" <adam@adam-barratt.org.uk>
To: 625792@bugs.debian.org
Cc: Julien Cristau <jcristau@debian.org>
Subject: Re: Bug#625792: [britney2] Needs to be cleverer at deciding which packages to check for installability
Date: Fri, 06 May 2011 21:03:40 +0100
On Fri, 2011-05-06 at 20:14 +0100, Adam D. Barratt wrote:
> On Fri, 2011-05-06 at 20:57 +0200, Julien Cristau wrote:
> > On Fri, May  6, 2011 at 00:27:18 +0100, Adam D. Barratt wrote:
> > > - unstable's ristretto doesn't depend on libthunar-vfs-1-2, so the
> > > package isn't marked for checking again
> > > 
> > hrm, but why does unstable's ristretto matter at that point, rather than
> > testing's?  (Apologies if I'm missing something obvious.)
> 
> It's not unstable's ristretto so much as unstable's thunar-vfs.
[...]
> I'm fairly sure one of my earlier debugging sessions included
> re-scanning for affected packages after the reverse dependency list had
> been updated, but it's not in my current version; I'll have another look
> at that.

I did that, and remembered why I removed the code after the first
attempt.  The dependencies of libthunar-vfs-1-2 are used to ensure it is
listed as a reverse dependency where appropriate, but we want to
recompute its r-dep list instead.

Regards,

Adam





Information forwarded to debian-bugs-dist@lists.debian.org, Debian Release Team <debian-release@lists.debian.org>:
Bug#625792; Package release.debian.org. (Tue, 10 May 2011 18:30:05 GMT) Full text and rfc822 format available.

Acknowledgement sent to "Adam D. Barratt" <adam@adam-barratt.org.uk>:
Extra info received and forwarded to list. Copy sent to Debian Release Team <debian-release@lists.debian.org>. (Tue, 10 May 2011 18:30:05 GMT) Full text and rfc822 format available.

Message #25 received at 625792@bugs.debian.org (full text, mbox):

From: "Adam D. Barratt" <adam@adam-barratt.org.uk>
To: 625792@bugs.debian.org
Subject: Re: Bug#625792: [britney2] Needs to be cleverer at deciding which packages to check for installability
Date: Tue, 10 May 2011 19:27:33 +0100
On Fri, 2011-05-06 at 00:27 +0100, Adam D. Barratt wrote:
> With the fix for #624716 applied, b2 no longer crashes attempting to
> migrate xfce and friends (via "hint exo").  It does fail the hint,
> however, whereas b1 successfully migrated the package set based on the
> same input.
[...]
> Hinting exo initially results in cairo-dock-plugins, cairo-dock (via
> c-d-p) and ristretto being flagged as newly uninstallable.  The first
> two are easily fixable by applying the patch from #614249 to steps C and
> E; step D uses get_full_tree() which is considerably slower but the
> number of reverse conflicts is generally small enough that it doesn't
> matter.

I've pushed the change mentioned above, together with a similar change
in the binary removal code; that's now live.

Regards,

Adam





Information forwarded to debian-bugs-dist@lists.debian.org, Debian Release Team <debian-release@lists.debian.org>:
Bug#625792; Package release.debian.org. (Mon, 30 May 2011 19:18:03 GMT) Full text and rfc822 format available.

Acknowledgement sent to "Adam D. Barratt" <adam@adam-barratt.org.uk>:
Extra info received and forwarded to list. Copy sent to Debian Release Team <debian-release@lists.debian.org>. (Mon, 30 May 2011 19:18:03 GMT) Full text and rfc822 format available.

Message #30 received at 625792@bugs.debian.org (full text, mbox):

From: "Adam D. Barratt" <adam@adam-barratt.org.uk>
To: 625792@bugs.debian.org
Cc: Julien Cristau <jcristau@debian.org>
Subject: Re: Bug#625792: [britney2] Needs to be cleverer at deciding which packages to check for installability
Date: Mon, 30 May 2011 20:15:16 +0100
[Message part 1 (text/plain, inline)]
tag 625792 + patch
thanks

On Fri, 2011-05-06 at 20:14 +0100, Adam D. Barratt wrote:
> On Fri, 2011-05-06 at 20:57 +0200, Julien Cristau wrote:
> > On Fri, May  6, 2011 at 00:27:18 +0100, Adam D. Barratt wrote:
> > 
> > > thunar-vfs
> > > - the source isn't in testing; so steps A, C and D are skipped
> > > - unstable's ristretto doesn't depend on libthunar-vfs-1-2, so the
> > > package isn't marked for checking again
> > > 
> > hrm, but why does unstable's ristretto matter at that point, rather than
> > testing's?  (Apologies if I'm missing something obvious.)
> 
> It's not unstable's ristretto so much as unstable's thunar-vfs.
> 
> After adding thunar-vfs to testing, the record for the libthunar-vfs-1-2
> binary built from that source is copied from unstable to testing,
> including the previously computed list of reverse dependencies, which is
> then used to look for affected packages.

So, the solution to this turned out to be reasonably simple, although it
took me a while to see that.  iter_packages() has a list of undo
dictionaries for the entire exo hint, which includes the fact that the
previous version of libthunar-vfs-1-2 had ristretto as a
reverse-dependency; the fix is to make doop_source() aware of that undo
information.

Patch attached.  I'll probably push it in a day or so unless anyone
yells or points out issues with it.

Regards,

Adam
[b2-625792.diff (text/x-patch, attachment)]

Added tag(s) patch. Request was from "Adam D. Barratt" <adam@adam-barratt.org.uk> to control@bugs.debian.org. (Mon, 30 May 2011 19:18:04 GMT) Full text and rfc822 format available.

Reply sent to "Adam D. Barratt" <adam@adam-barratt.org.uk>:
You have taken responsibility. (Thu, 02 Jun 2011 22:27:09 GMT) Full text and rfc822 format available.

Notification sent to "Adam D. Barratt" <adam@adam-barratt.org.uk>:
Bug acknowledged by developer. (Thu, 02 Jun 2011 22:27:10 GMT) Full text and rfc822 format available.

Message #37 received at 625792-done@bugs.debian.org (full text, mbox):

From: "Adam D. Barratt" <adam@adam-barratt.org.uk>
To: <625792-done@bugs.debian.org>
Cc: Julien Cristau <jcristau@debian.org>
Subject: Re: Bug#625792: [britney2] Needs to be cleverer at deciding which packages to check for installability
Date: Thu, 02 Jun 2011 23:26:22 +0100
On Mon, 30 May 2011 20:15:16 +0100, Adam D. Barratt wrote:
> So, the solution to this turned out to be reasonably simple, although 
> it
> took me a while to see that.  iter_packages() has a list of undo
> dictionaries for the entire exo hint, which includes the fact that 
> the
> previous version of libthunar-vfs-1-2 had ristretto as a
> reverse-dependency; the fix is to make doop_source() aware of that 
> undo
> information.
>
> Patch attached.  I'll probably push it in a day or so unless anyone
> yells or points out issues with it.

I did that earlier today, and it's survived a live run without 
exploding or producing a diff; closing.

Regards,

Adam




Bug archived. Request was from Debbugs Internal Request <owner@bugs.debian.org> to internal_control@bugs.debian.org. (Fri, 01 Jul 2011 07:35:31 GMT) Full text and rfc822 format available.

Send a report that this bug log contains spam.


Debian bug tracking system administrator <owner@bugs.debian.org>. Last modified: Sun Apr 20 01:09:00 2014; Machine Name: buxtehude.debian.org

Debian Bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.