On Fri, Nov 13, 2009 at 02:32:04PM -0800, Russ Allbery wrote: > Mike Hommey <[email protected]> writes: > > > I'm currently writing some lintian checks for mozilla-related packages, > > and I'm trying to come up with a test that would check some > > dependencies. > > > Iceape extensions used to provide a /var/lib/iceape/chrome.d/something > > file in order for update-iceape-chrome to do its job and register the > > extension chrome for use in iceape. > > > Starting with iceape 2.0, this process became useless, but on the other > > hand, not providing the file means the package won't work with earlier > > versions of iceape. > > > OTOH, such packages usually depend on something like iceweasel | > > iceape-browser, such that either one can be installer, or both. > > > The dependency that is expected in such a case (a package not providing > > the /var/lib/iceape/chrome.d/something file) is iceweasel | > > iceape-browser (>= 2.0). This is just fine because such packages won't > > break earlier version of iceape anyways, they will just stop working > > there, while still working in iceweasel. > > > Obviously the Lintian::Relation functions don't help much in that case. > > What would you advise to use ? > > I think you can get there with Lintian::Relation; you just have to do some > preprocessing. If the package does not include that chrome.d file, then > split its Depends on comma and then, for each element, see if > iceape-browser implies that element. If that's true, then report your tag > and suggest changing to iceweasel | iceape-browser (>= 2.0).
Thanks, it works. Though I'll have to group dependencies by package name after splitting on comma (for e.g. package (>= x.y), package (<< z)) Cheers, Mike -- To UNSUBSCRIBE, email to [email protected] with a subject of "unsubscribe". Trouble? Contact [email protected]

