[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Britney error with the gossip package?



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: pgp85h1jTCRIy.pgp
Description: PGP signature


Reply to: