On Tue, 07 Oct 2008 20:42:07 +0100 "Adam D. Barratt" <adam@adam-barratt.org.uk> wrote: > On Tue, 2008-10-07 at 20:21 +0100, Neil Williams wrote: > > $ rmadison libloudmouth1-0 > > .... > > libloudmouth1-0 | 1.4.0-1 | testing | alpha, amd64, arm, > > armel, hppa, i386, ia64, mips, mipsel, powerpc, s390, sparc > > libloudmouth1-0 | 1.4.2-1 | unstable | alpha, amd64, arm, > > armel, hppa, hurd-i386, i386, ia64, m68k, mips, mipsel, powerpc, s390, > > sparc > > > > How did gossip migrate with Build-Depends on a version of > > libloudmouth1-0 that still does not exist in Lenny? > > britney only considers installability, not buildability. Maybe it should - after all, in the phase prior to a release, the ability to build the entire release from source *is* important. To me, this is precisely what Britney should be able to avoid - gossip migrated (irrespective of what happened with the unblock, this could easily happen between releases too) in a condition that would not build from source in testing. This would not have been a problem if gossip had been held back from testing migration (with or without a freeze or unblock). > That is to say, if package A depends on "B (>= 2)" then an appropriate > version of B must (in the absence of hints to the contrary) exist in > testing, but if A /build/-depends on "B (>= 2)" then britney does not > care whether B exists in testing at all, yet alone with the correct > version. gossip does build against the version in testing *if* configure and configure.ac is patched to downgrade the LOUDMOUTH_REQUIRED variable. Presumably the build-dependency was increased for a bug fix but the symbols appear unchanged and gossip is not using any new symbols that may appear in the version of libloudmouth in unstable. The binary gossip package does not specify that version of libloudmouth so that is probably a bug in the gossip Debian packaging - an explicit dependency should have been specified to ensure that the release of libloudmouth containing the bug fix needed by gossip upstream was actually available to gossip at runtime. That would have prevented Britney migrating the package. So this is a combination of bugs: The gossip binary should have had an explicit dependency on libloudmouth1-0 (>= 1.4.1) in debian/control.in that overrides the value derived from dpkg_shlibdeps so that gossip users actually got the benefit of the incremented Build-Depends. Britney could be improved to act as a safety-net for packages that fail to set such dependencies in order to prevent bigger problems, like this one. -- Neil Williams ============= http://www.data-freedom.org/ http://www.nosoftwarepatents.com/ http://www.linux.codehelp.co.uk/
Attachment:
pgp7OKnENQ5L2.pgp
Description: PGP signature