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