From: "Tiziano Müller" <dev-zero@gentoo.org>
To: gentoo-dev@lists.gentoo.org
Subject: Re: [gentoo-dev] [RFC] More reliable hiding preserved libraries
Date: Sun, 04 Apr 2010 17:33:17 +0200 [thread overview]
Message-ID: <1270395197.1230.89.camel@localhost> (raw)
In-Reply-To: <201004032305.41374.reavertm@gmail.com>
[-- Attachment #1: Type: text/plain, Size: 4019 bytes --]
Am Samstag, den 03.04.2010, 23:05 +0200 schrieb Maciej Mrozowski:
> On Saturday 03 of April 2010 14:16:14 Fabian Groffen wrote:
> > Shouldn't we fix that buildsystem then? Do you have an example of a
> > package/buildsystem that does that?
> "We" already do, the thing is that maybe we don't have to.
> https://bugs.gentoo.org/show_bug.cgi?id=240323
> From top of my head: python having issues with sys-libs/db as well as some
> packages with readline.
>
> > > It would indeed. Now when I think about it, moving stuff to preserved
> > > library dir could be just done - provided it's possible - along with
> > > fixing/setting DT_RPATH's in reverse runtime dependencies. This way no
> > > system-wide LIBRARY_PATH's would be necessary.
> > > Is it possible? Mike?
> > No, unless you somehow make sure you reserve space for this, by e.g.
> > setting a bogus rpath entry at buildtime. If you want to go that route,
> > you probably want to look at the Prefix' binutils-config wrapper that
> > already calls the linker with added rpath arguments. Afterwards you can
> > use chrpath to set it to the correct location. Will get messy with the
> > vdb though, but if Portage's doing it, it can probably be dealt with.
> Sounds messy indeed, what about hardened/SELinux/AppArmor/whatever - do they
> allow such DT_RPATH operations? It should be probably also restricted for
> binary-only packages.
>
> On Saturday 03 of April 2010 20:51:43 Tiziano Müller wrote:
> > Don't fix the hack. Remove the preserve libs "feature", make the PMs
> > check for rdeps per default before unmerging things.
> This will only prevent creating orphans of uninstalled libraries, what about
> upgraded ones when SOVERSION has been bumped (the most common case)?
I addressed this in the next phrase.
> Besides I
> can already imagine PMS-related discussion regarding "make the PMs check for
> rdeps per default before unmerging things" - thx but no thx.
This is not related to PMS. Paludis for example does it already with the
current EAPIs.
>
> > Slot libraries where needed, slot dep operators (EAPI 4) will help.
> Again, you suggest to SLOT every library that happened to bump SOVERSION. It's
> unrealistic. Besides library should be slotted when it's API changes, for
> source based distributions it's not needed for ABI changes - let's not confuse
> those two. Also excessive slotting increases probability of breaking library
> discovery mechanisms in various build systems (not everyone uses pkg-config).
I know that slotting can cause problems. But forcing build systems to
use specific versions of libraries is much easier than "shadowing"
libraries present in library search dirs, especially when those libs are
not even tracked by the PM.
>
> > And if that doesn't work out we need a separate var to give the PM a hint
> when API/ABI breakages happen (such that the PM knows when to re-install the
> rev deps).
> It needs PMS amended and thus GLEP.
Wrong, we don't have GLEPs for >90% of the PMS changes going into EAPI-3
or 4.
> Please submit a GLEP item for this if you
> see it fit.
> Anyway, as explained in OT, it's not a problem of package manager dependencies
> system but issue with broken/not smart build systems - no dependency tree
> magic will solve this issue.
It is a problem which can _only_ be solved at the PM level. You have to
tell the PM when API breakages happen. Either by slotting the lib or by
something else. Using guesswork to determine whether or not a library
should be removed may be a temporary solution. Remember: you're
partially ignoring a users request since he wanted the package to be
removed - and we all know how things like "protect the user from
himself" end up.
--
Tiziano Müller
Gentoo Linux Developer
Areas of responsibility:
Samba, PostgreSQL, CPP, Python, sysadmin, GLEP Editor
E-Mail : dev-zero@gentoo.org
GnuPG FP : F327 283A E769 2E36 18D5 4DE2 1B05 6A63 AE9C 1E30
[-- Attachment #2: smime.p7s --]
[-- Type: application/x-pkcs7-signature, Size: 3551 bytes --]
next prev parent reply other threads:[~2010-04-04 15:33 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-04-03 10:38 [gentoo-dev] [RFC] More reliable hiding preserved libraries Maciej Mrozowski
2010-04-03 10:46 ` Brian Harring
2010-04-03 10:56 ` Fabian Groffen
2010-04-03 12:09 ` Maciej Mrozowski
2010-04-03 12:16 ` Fabian Groffen
2010-04-03 11:13 ` Michał Górny
2010-04-03 11:33 ` Gilles Dartiguelongue
2010-04-03 18:51 ` Tiziano Müller
2010-04-03 21:05 ` Maciej Mrozowski
2010-04-04 15:33 ` Tiziano Müller [this message]
2010-04-05 6:16 ` Maciej Mrozowski
2010-04-05 6:44 ` Brian Harring
2010-04-05 13:27 ` Tiziano Müller
2010-04-05 18:09 ` Brian Harring
2010-04-05 13:38 ` Tiziano Müller
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=1270395197.1230.89.camel@localhost \
--to=dev-zero@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