Axel.Thimm(a)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