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