public inbox for gentoo-dev@lists.gentoo.org
 help / color / mirror / Atom feed
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: Sat, 03 Apr 2010 20:51:43 +0200	[thread overview]
Message-ID: <1270320703.1230.11.camel@localhost> (raw)
In-Reply-To: <201004031238.18500.reavertm@gmail.com>

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

Am Samstag, den 03.04.2010, 12:38 +0200 schrieb Maciej Mrozowski:
> Problem
> 
> ..is known, let me summarize briefly.
> 
> Uninstalling packages providing libraries, without checking reverse runtime 
> dependencies of those packages leaves their dependencies unsatisfied (packages 
> with broken executables and/or shared libs).
> Some package managers try their best not to remove said libraries, yet 
> allowing packages to be removed.
> Those orphaned libraries cause problems[1] as build systems of some other 
> packages being (re)installed afterwards pick them up and abuse those orphaned 
> libraries. (we don't like orphans abused, we prefer them... "gone").
> 
> Solution
> 
> Now, I suppose there are some ideas how to make orphaned libraries not go in a 
> way. Basically then need to be available for system, but hidden for "emerge".
> 
> There is opt-out suggestion[2], unfortunately it does not provide any info how 
> exactly it's supposed to be achieved. As far as portage/pkgcore is concerned, 
> maybe - as Brian Harring suggested - sandbox could be used to somehow "hide" 
> preserved libraries or preserved library directory from ebuild environment 
> (preserved library directory a'ka "purgatory" - libs could be moved there when 
> considered orphaned).
> 
> Opt-in suggestion is as follows:
> 1. Use some library path (read by ld loader from environment) and export it 
> globally to environment pointing it to preserved library directory.
> 2. During "emerge", unset environment variable corresponding to said preserved 
> library directory - orphans are no longer located.
> Attached patch for glibc (2.11, but should apply to any other glibc around) 
> and uClibc (this one is not tested but should work as well) that makes ld 
> loader aware of LD_GENTOO_PRESERVED_LIBRARY_PATH variable.
> 
> (LD_LIBRARY_PATH would work as well, but it's being used widely so cannot be 
> safely mangled.. on the second though it can - one could filter out preserved 
> library paths from it during "emerge").
> 
> Thoughts?

Don't fix the hack. Remove the preserve libs "feature", make the PMs
check for rdeps per default before unmerging things. Slot libraries
where needed, slot dep operators (EAPI 4) will help. 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).


-- 
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 --]

  parent reply	other threads:[~2010-04-03 18:52 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 [this message]
2010-04-03 21:05   ` Maciej Mrozowski
2010-04-04 15:33     ` Tiziano Müller
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=1270320703.1230.11.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