Hi, while checking why the buildd’s attempted to build xmonad-contrib, even though xmonad was not yet built, I installed wanna-build locally and tried it out. I found out that this part of wanna-build: foreach (%$newdeps) { my $dep = $$newdeps{$_}; # ensure we're not waiting on ourselves, or a package that has been removed next if (not defined($merge_binsrc{$dep->{'Package'}})) or ($merge_binsrc{$dep->{'Package'}} eq $key); if ($dep->{'Rel'} =~ '^>') { $deplist->{$dep->{'Package'}} = $dep; $change++; } } is the culprit. As you can see, the dependency will only be checked if it is of the ">=" kind. If I change that line to if ($dep->{'Rel'} =~ '^[>=]') { the problem gets fixed, and an upload of xmonad-contrib will be marked DepWait on xmonad, as it should. I’m wondering what’s the rationale for only considering >= relations there? If that would catch == as well, the burden of having haskell libraries in the archive would reduce a lot, and other packages will benefit as well. I have attached this change as a patch. Greetings, Joachim -- Joachim "nomeata" Breitner Debian Developer nomeata@debian.org | ICQ# 74513189 | GPG-Keyid: 4743206C JID: nomeata@joachim-breitner.de | http://people.debian.org/~nomeata
--- wanna-build/wanna-build 2008-06-05 16:34:30.000000000 +0200 +++ testdata/wanna-build 2008-07-11 17:17:06.000000000 +0200 @@ -2422,7 +2422,7 @@ my $dep = $$newdeps{$_}; # ensure we're not waiting on ourselves, or a package that has been removed next if (not defined($merge_binsrc{$dep->{'Package'}})) or ($merge_binsrc{$dep->{'Package'}} eq $key); - if ($dep->{'Rel'} =~ '^>') { + if ($dep->{'Rel'} =~ '^[>=]') { $deplist->{$dep->{'Package'}} = $dep; $change++; }
Attachment:
signature.asc
Description: Dies ist ein digital signierter Nachrichtenteil