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

Re: shared library -dev package naming proposal

Junichi Uekawa <dancer@netfort.gr.jp> wrote:
> > > 2. The information of -dev packages depending on other -dev packages
> > > cannot be automatically determined currently; 
> > > it should be possible to obtain a minimal list by analyzing the 
> > > NEEDED field of the objdump output.
> > 
> > Errr, -dev packages generally don't (and shouldn't) depend on other -dev
> > packages.  If you're trying to push the idea that -dev packages should
> > depend on the -dev packages of libraries they depend on- don't.  That's
> > *wrong*, it's the completely wrong approach and should *not* be taken.
> Give me justifications rather than just saying *wrong*,
> because you are giving me an argument that is contrary to 
> current practice in Debian.
> -dev packages do depend on other -dev packages,
> and if they don't work, they are usually filed a serious bug 
> for non-functionality.

Reasons why you need you need to add a build-dependency on libfoo-dev
- You're linking to it
- You're using include files from it.

Simular, if your package is libbar, your lib libbar-dev package needs to
depends on the libfoo-dev packages if:
- Your include files include libfoo's include files.  This is ussually
  something you want to avoid.
- You have a static lib, and people will need to link libfoo if they're
  linking to your package.  I think static libs should be avoided in
  most cases.

An other reason why it's currently done is that some packages link to
packages that only "use" your libbar lib, but also link to libfoo, which
isn't needed.  Isn't not needed because libbar already depends on
libfoo.  This can for instance be the case when using libtool.  The
version of libtool in the archive shouldn't be doing this.

The correct way to fix this is by updating the libtool package, or
whatever that's being used, and not by having -dev packages depend on
other/more -dev packages.  It's just easier to fix this in the short
time, because it only requires one -dev package to be fixed while else
all packages build-depending on it need to be fixed.


Reply to: