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

Re: dh_libtool proposal (-dev dependencies on -dev from libtool)



On Wed, Oct 05, 2005 at 05:44:02PM -0400, Jay Berkenbilt wrote:
> 
> The proposal is to have this program populate a substvar named
> ${libtool:Depends}.  I've studied this problem at a cursory level, and
> this is what I currently intend to do:
> 
>  * Traverse the directory to be installed for .la files
> 
>  * Parse the .la file to read dependency_libs item; scan this item for
>    other .la files
> 
>  * Determine what packages provide the given .la files
> 
>  * Filter out packages that are already in the dependency list
> 
>  * Place the resulting packages in the libtool:Depends substitution
>    variable

I think it shouldn't add anything that isn't also in the
Build-Depends for the package itself.

But I'm not really in favour of this at all.  I think we should
rather concentrate on avoiding the need to have those
depedencies in most cases.

Some things I think about:
- It shouldn't be using the dependency_libs in most cases on
  atleast Linux in the first place when creating shared libraries.
  In that case, there shouldn't even be a reason to parse that
  line.  The current Debian version is patched not to link to
  those libs, but it still parses that line anyway.

  Upstream is looking into a better fix for the whole dependency
  problem when linking, and it might be nice to fix that too.

- There was talk about libtool dealing with missing .la files.  I
  don't see how this would work.  If you're trying to link
  staticly, it will need that file, for shared see above.

  What we could try and do is reduce the libraries that are in
  the dependency_libs field.  For instance on Linux, when we only
  provide a shared lib, it's not needed to have anything in the
  dependency_libs.

- Something else I wonder about is wether it currently works
  recursivly or not, I would need to check the code.  If it did,
  we can probably also reduce the number of libraries in the
  dependency_libs for the general case.  It now atleast has a
  list of all libs it will end up linking to, even for indirect
  dependencies.  It really should only list the direct
  dependencies.

  This would also make it so much easier to change some
  dependency at a lower level, and we don't have to go and relink
  all the libraries like we for instance had to do in case howl
  was removed from main.
  

Anyway, it would be great to get all those things in a new
upstream libtool version.


Kurt



Reply to: