[Merge] lp:~mterry/ubuntu-archive-tools/or-deps into lp:ubuntu-archive-tools
Colin Watson
cjwatson at canonical.com
Tue Jul 17 22:28:34 UTC 2012
To be honest, I'm a bit sceptical about doing this at all. In many
cases, even if a dependency technically can be satisfied using one of
the other elements in a disjunction, we really should be updating the
outdated elements anyway; consider the recent case of dhcp3-client,
where it was entirely correct to update at least some of those elements
to say isc-dhcp-client instead. I'm concerned that, if these stop
showing up in nbs-report, we'll stop bothering; and there's really
nowhere else we automatically notice this kind of thing.
How about, instead of removing these packages from the NBS report
altogether, we just put a note against them? Something like "but
alternatives are present: C, D" would provide us an immediate scannable
visual clue that a disjunction is involved, without losing information
or risking false positives.
A few minor code nits:
> + yield (dep, dep_list)
[...]
> + for (depname, depwhy) in parse_relation_packages(stanza[field]):
[...]
> + for (depname, depwhy) in parse_relation_packages(stanza[field]):
These days I tend to prefer to drop the unnecessary parentheses in these
cases.
> + # Check why this rdep is here. If it is part of an or-group, maybe
> + # one of the other rdeps in that group are available, and this rdep
> + # should not be blocking removal of pkg.
> + ignore = False
> + why = nbs[pkg][rdep][1]
> + for whydep in why.split('|'):
> + if whydep not in nbs:
> + ignore = True
> + break
> + if not ignore:
> + try:
> + checked_v.remove(rdep)
> + except KeyError:
> + pass
> + return False
This may be obsolete given my comments above, but FWIW, this could be
more concisely written using Python's handy for/else construction:
why = nbs[pkg][rdep][1]
for whydep in why.split('|'):
if whydep not in nbs:
break
else:
try:
checked_v.remove(rdep)
except KeyError:
pass
return False
--
https://code.launchpad.net/~mterry/ubuntu-archive-tools/or-deps/+merge/115445
Your team Ubuntu Package Archive Administrators is requested to review the proposed merge of lp:~mterry/ubuntu-archive-tools/or-deps into lp:ubuntu-archive-tools.
More information about the ubuntu-archive
mailing list