public inbox for gentoo-dev@lists.gentoo.org
 help / color / mirror / Atom feed
From: Peter Alfredsen <loki_val@gentoo.org>
To: gentoo-dev@lists.gentoo.org
Subject: Re: [gentoo-dev] Please review: function epunt_la_files for eutils.eclass
Date: Wed, 12 Nov 2008 15:40:48 +0100	[thread overview]
Message-ID: <200811121540.50740.loki_val@gentoo.org> (raw)
In-Reply-To: <1226497311.29028.15.camel@localhost>

[-- Attachment #1: Type: text/plain, Size: 4369 bytes --]

On Wednesday 12 November 2008, Mart Raudsepp wrote:

> I heavily object to having any such function introduced or used or
> equivalent .la removals conducted without a good rationale and
> explanation of why this is the approach taken. I see no such
> explanation anywhere, you are just blatantly removing .la files that
> the package itself installs, with no good way to ensure they aren't
> actually needed by libltdl and breaking revdep-rebuild heavily when
> used unwisely.

It's a utility function. I've done all I can to ensure it'll be used 
wisely. Whether it is used wisely is between you and ( $ROOT or $666 ). 
But let me point out that in most leaf-packages, removing la files will 
cause no pain, but will ensure that they do not have to be rebuilt if 
a .la-listed dependency loses its .la file.

> If such a function is introduced, I'm quite sure it will get used by
> some maintainers in revbumps or version bumps, when the library
> soname has not changed at all compared to the previous version. What
> that means is that the user will get absolutely all packages
> suggested to revdep-rebuild that directly OR _indirectly_ rdepend on
> the library in question. Therefore to have any relatively safe way to
> add this, you can only add the call when the library introduced ABI
> breaks. Some libraries are backwards compatible forever, in effect
> you can't ever add epunt_la_files to those without causing some
> serious one-time pain for users. Therefore this is not a proper
> solution, and I don't see why this should be used for just a small
> set of packages that do have an unstable ABI while not having a
> solution for all the rest.

Because having la files will automagically provide the equivalent amount 
of pain such as in http://bugs.gentoo.org/245889 .
We talked about this on #gentoo-dev the other day. 200 packages out of 
1000 on my system had to be rebuilt because of this. If libxcb didn't 
use la files, that wouldn't have been necessary for the majority of 
those. If the packages themselves didn't use la files, it wouldn't have 
been necessary either.

fix_libtool_files.sh also doesn't play nice with .la files and will 
leave orphan .la files around.

In other words, it's no a question of IF .la files will break stuff but 
WHEN they will break stuff. And how BIG the breakage will be. We can 
remedy the last part by having leaf packages not install .la files and 
by punting library .la files when a .so bump occurs or (as in the case 
of libxcb) when other .la-related breakage occurs.

(Who doesn't remember "The Day the Build Servers were Silenced..." )
http://bugs.debian.org/354674

> Additionally, I am quite unconvinced on the coverage of the removal
> or non-removal of the files. Not removing it on all platforms
> (because you can't) also doesn't solve the problem for those non-ELF
> platforms - you still will get all the pain you are trying to solve
> here on those platforms.

As those platforms are still not supported by Gentoo as such, but by the 
Gentoo/Alt project, that is not really a problem we should be worrying 
about. That part of the function is a good-faith effort to not 
unnecessarily break stuff for Gentoo/Alt users, nothing more. If they 
later discover that some of their non-ELF platforms can do without .la 
files, they can just wiggle the code and make it so.

> Also, this would be a local Gentoo specific hack to reduce pain on
> ELF systems, while I'm sure there are upstream or better solutions
> available that have not been explored. Here are two different ideas
> of mine for libtool upstream work to perhaps solve this:
[Snip good ideas]

Plz2implent. Kthxbye.

But you've still not given a good reason why this function in itself is 
bad.

> I do however think that it would be a good idea to tweak
> revdep-rebuild to not take indirect dependencies listed in .la files
> too seriously, and mostly just go by DT_NEEDED entries in ELF files
> on ELF systems instead of all of the listed ones in .la ones, as even
> if a solution for upstream libtool is figured out, we'd still have
> old installed .la files around that include indirect libraries.

That would cause breakage. There's a reason why revdep-rebuild rebuilds. 
Libtool will look for those la files and fail the compile.

-- 
/PA

[-- Attachment #2: This is a digitally signed message part. --]
[-- Type: application/pgp-signature, Size: 197 bytes --]

  reply	other threads:[~2008-11-12 14:42 UTC|newest]

Thread overview: 32+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-11-09 16:04 [gentoo-dev] Please review: function epunt_la_files for eutils.eclass Peter Alfredsen
2008-11-09 16:10 ` Fabian Groffen
2008-11-09 16:34   ` Peter Alfredsen
2008-11-09 16:48     ` Fabian Groffen
2008-11-09 17:46       ` Peter Alfredsen
2008-11-09 17:53         ` Fabian Groffen
2008-11-12 13:41     ` Mart Raudsepp
2008-11-12 14:40       ` Peter Alfredsen [this message]
2008-11-12 16:14         ` Rémi Cardona
2008-11-12 17:16           ` Peter Alfredsen
2008-11-13  6:21             ` Donnie Berkholz
2008-11-14 10:35             ` Gilles Dartiguelongue
2008-11-14 17:28               ` Marius Mauch
2008-11-14 14:25             ` Alexis Ballier
2008-11-14 14:35               ` Rémi Cardona
2008-11-16  8:44                 ` Michael Haubenwallner
2008-11-16 22:21                   ` Rémi Cardona
2008-11-14 22:31               ` Donnie Berkholz
2008-11-14 22:33                 ` Ciaran McCreesh
2008-11-14 22:44               ` David Leverton
2008-11-12 16:53         ` Mart Raudsepp
2008-11-12 17:31           ` Peter Alfredsen
2008-11-13 18:49             ` [gentoo-dev] " Ryan Hill
2008-11-14  4:14             ` Ryan Hill
2008-11-14 23:05               ` Peter Alfredsen
2008-11-14 23:25                 ` Ciaran McCreesh
2008-11-15  0:26                 ` Mart Raudsepp
2008-11-15  6:44                   ` Duncan
2008-11-17 19:19                 ` [gentoo-dev] " Steve Long
2008-11-12 15:52     ` [gentoo-dev] " Donnie Berkholz
2008-11-12 16:24       ` Peter Alfredsen
2008-11-13  6:23         ` Donnie Berkholz

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=200811121540.50740.loki_val@gentoo.org \
    --to=loki_val@gentoo.org \
    --cc=gentoo-dev@lists.gentoo.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox