On Mon, Nov 01, 2021 at 09:37:40AM -0400, Ben Cotton wrote:
== Summary ==
Autools/libtool-based projects frequently install files ending in
`.la` in their `make install`. These files are usually unwanted. Many
projects therefore end up with a variation of `find $RPM_BUILD_ROOT
-name "*.la" -delete` in their `%install section`.
`*.la` files are "libtool archives" and provide additional metadata
for library files and come from a time before the introduction of the
ELF format. Today, they are only consumed by libtool itself. Refer to
https://autotools.io/libtool/lafiles.html.
I read the mythbuster page, and I still don't understand if removing
the file has any effect or not. Will there be any difference in builds
(for package builds and end-user builds)?
== Scope ==
* Proposal owners:
** Update packaging guidelines to mention the automatic removal of
`*.la` files and mention the mechanism for opting out of this
behavior.
* Other developers:
** For the packages already removing their `*.la` files manually,
there should be no change. For packages that want to install such
packages, the package maintainers need to opt out of the automatic
removal.
If this change is implemented, manual removal in packages becomes unnecessary.
Will you do a 'mass change' sweep to drop those removals?
If a package whishes to keep shipping `*.la` files, the package
maintainer can opt out of the automatic removal by setting
`%__brp_remove_la_files` to `%nil`: `%global __brp_remove_la_files
%nil`
Why would anyone want to do that? (I'm not talking about the case
mentioned elsewhere in the thread were a non-libtool file is removed
by a mistake, but the actual case where one would want to keep
distributing a libtool file.)
Zbyszek