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

Re: Bug#618965: libetpan15: Breaks build system on Debian Sid



[CCing -devel because there are several questions below]

> Package: libetpan15
> Version: 1.0-3
> Severity: critical
> Justification: breaks unrelated software
>
> Installing libetpan15(-dev) causes libdb-4.8 libdb-4.7 libdb-4.6 to be
> removed since libetpan depends on libdb-5.1. libdb5.1-dev cannot
> coexists with libdb > libdb-5.1. Package should always be build against
> latest version in Sid.

There are actually several separate issues here.


*) libdb*-dev packages do conflict with each other.

As soon as any package depends on one of libdb*-dev, none of others could 
be installed, and none of package depending on one of others.

Don't know if it is a bug or a feature.

#618965 is just an example of this.
At least I doubt it is of severity critical.


*) Generic question about dependences of libdev packages.

If libfoo is linked against libbar, should libfoo-dev depend on libbar-dev?

It is a question of policy.
In old days, there was a requirement for such a dependency, to support 
static linking. But today very few people care about static linking.

Is current policy on this documented anywhere? A pointer will be helpful...


*) libetpan15 is linked against libdb4.8, but libetpan-dev depends on 
libdb5.1-dev

This is a real bug (although not of severity critical!), and is caused by:
- libetpan's configure script is not aware of libdb5.1, but knows about 4.8 
and previous versions
- in build environment, libdb4.8 package is pushed by some recursive 
dependences,
- libdb4.8 provides libdb-4.8.so
- so build successfully finishes against libdb-4.8, although libdb4.8-dev 
is not installed in build chroot
- as for libetpan-dev dependency, it is computed by checking libdb-dev 
dependency [this was once implemented to support backporting], which 
currently is libdb5.1-dev

So at least
- I will fix libetpan to become aware of libdb5.1
- I will fix how libetpan-dev dependency is computed, to check actually 
used libdb instead of using libdb5.1 package dependeny

Open question is - isn't it a bug in libdb4.8 that link against libdb4.8 
suceeds when libdb4.8-dev is not installed? I don't know

One more question: is it safe to have package linked against libdb4.8, and 
then re-link against libdb5.1? Won't that break things because of 
incompatible database format?
[but AFAIK in case of libetpan this should be safe because libdb is used to 
cache things only]

Attachment: signature.asc
Description: This is a digitally signed message part.


Reply to: