Bug#607558: cyrus-sasl2-dbg: circular dependency with cyrus-sasl2-mit-dbg, cyrus-sasl2-heimdal-dbg

Bill Allombert Bill.Allombert at math.u-bordeaux1.fr
Wed Dec 22 22:43:54 UTC 2010


On Mon, Dec 20, 2010 at 03:17:30PM -0500, Roberto C. Sánchez wrote:
> On Mon, Dec 20, 2010 at 11:48:20AM +0100, Bill Allombert wrote:
> > On Sun, Dec 19, 2010 at 06:09:58PM -0500, Roberto C. Sánchez wrote:
> > > On Sun, Dec 19, 2010 at 07:30:48PM +0100, Bill Allombert wrote:
> > > Please see #601977 and let me know if you still feel the same way.
> > 
> > The correct fix for #601977 is for
> > cyrus-sasl2-mit-dbg and cyrus-sasl2-heimdal-dbg to Replaces: cyrus-sasl2-dbg.
> > Neither Pre-depends nor Conflicts, nor adding more Depends are going to fix it.
> > 
> Well, since the user must have cyrus-sasl2-dbg installed along with one
> of either cyrus-sasl2-mit-dbg or cyrus-sasl2-heimdal-dbg, I don't see
> either package reasonably replace cyrus-sasl2-dbg.  The only way that
> would be possible would be to duplicate the files from cyrus-sasl2-dbg
> into both cyrus-sasl2-mit-dbg and cyrus-sasl2-heimdal-dbg, which doesn't
> seem like a good idea either.

Sorry for the previous rushed out answer.
As things stands, in squeeze there are two packages cyrus-sasl2-dbg and cyrus-sasl2-heimdal-dbg
containing the file /usr/lib/debug/usr/lib/sasl2/libgssapiv2.so.2.0.23, which a RC bug. Adding
Replaces alone will not fix the underlying packaging problem. However if you
want squeeze users to be able to upgrade cleanly to the fixed version, the
fixed version will need to have Replaces fields.  (for example if you remove 
/usr/lib/debug/usr/lib/sasl2/libgssapiv2.so.2.0.23 from cyrus-sasl2-dbg, then you will need
to add Replaces cyrus-sasl2-dbg to cyrus-sasl2-heimdal-dbg so that dpkg will not report
a conflicts between the older cyrus-sasl2-dbg and the new cyrus-sasl2-heimdal-dbg).

> > > Basically, the dependency from cyrus-sasl2-dbg is on
> > > "cyrus-sasl2-mit-dbg | cyrus-sasl2-heimdal-dbg", while the two specific
> > > -dbg packages depend on the main package.  Basically, if a user
> > > installs the cyrus-sasl2-dbg, we want them to also get the specific
> > > symbols for one of MIT or Heimdal. 
> > 
> > How do you know the user will get the right one ? If the user can get the wrong one,
> > then what is the point ?
> > 
> It doesn't matter to us one way or the other.  There is no "wrong one."
> If the user has the MIT version of the library installed, then the MIT
> debug symbols are "right" and if the user has the Heimdal version of the
> library installed then the Heimdal debug symbols are "right."

But of course the packaging system will not enforce it, so there is no point in using
a Depends. A Recommends would do as well and avoid the circular dependency.

Cheers,
-- 
Bill. <ballombe at debian.org>

Imagine a large red swirl here. 



More information about the Pkg-cyrus-sasl2-debian-devel mailing list