[Fedora-packaging] Re: libtool(.la) archive policy proposal
Enrico Scholz
enrico.scholz at informatik.tu-chemnitz.de
Thu Oct 12 14:00:24 UTC 2006
Axel.Thimm at ATrpms.net (Axel Thimm) writes:
>> > Revisting the root of evil. What exactly is wrong with not removing
>> > all *.la files?
>>
>> - .la files must be shipped in main package, not in -devel
>
> Obviously "must" is the wrong word since they are currently nuked
> away.
Sentence was written under the assumption that all .la files will be
shipped (as suggested by your question).
> And the issue seems to be when using the information on the dependent
> libraries inside which only affects *-devel files independent whether
> *.la is part of the main or the *-devel file.
No; modules (which are non-devel files) can contain something like
| dependency_libs='... /usr/lib/libkickermain.la ...'
--> non-devel file requires .la file
--> .la files must not be in -devel package
> E.g. keep the *.la if you like in the main packge or elsewhere, the
> issue is still only "bloat in BRs in *-devel". Do you agree?
When it would be only the small .la file in -devel, I agree.
But I have problems with shipping a useless file without a good reason
in -lib packages.
>> - they add untracked dependencies to the rpm packages: when B was
>> built against A which has libA.la, B will stop to work when A does
>> not ship libA.la anymore (e.g. because it uses now cmake).
>
> It will also break when libA changes the soname, an API, add/remove
> include files and the like.
rpm would bark loudly about broken dependencies in these casees.
>> - .la files are not required
>
> Seems to really depend on the software generating/using them. Or from
> a different viewpoint: if they really were not required (on Linux),
> then why are libtool authors installing them (on Linux)?
I know exactly one case where they are required: when software uses
'lt_dlopen("foo.la")'.
This can be fixed easily by writing 'lt_dlopenext("foo")'.
Installing .la files happens probably only due to legacy reasons.
> We wouldn't be having this thread if the simple statement ".la files
> are not required" would indeed hold true.
See above about lt_dlopen(); KDE (which requires .la) moved away from
.la recently.
Enrico
More information about the Fedora-packaging
mailing list