From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from pigeon.gentoo.org ([208.92.234.80] helo=lists.gentoo.org) by finch.gentoo.org with esmtp (Exim 4.60) (envelope-from ) id 1Ny8S3-0001cq-1p for garchives@archives.gentoo.org; Sat, 03 Apr 2010 18:52:17 +0000 Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id 53DCBE09A2; Sat, 3 Apr 2010 18:52:02 +0000 (UTC) Received: from smtp.gentoo.org (smtp.gentoo.org [140.211.166.183]) by pigeon.gentoo.org (Postfix) with ESMTP id 15ED7E0968 for ; Sat, 3 Apr 2010 18:51:49 +0000 (UTC) Received: from [192.168.0.103] (151-1.3-85.cust.bluewin.ch [85.3.1.151]) (using TLSv1 with cipher DHE-RSA-CAMELLIA256-SHA (256/256 bits)) (No client certificate requested) by smtp.gentoo.org (Postfix) with ESMTP id 4FE431B4017 for ; Sat, 3 Apr 2010 18:51:47 +0000 (UTC) Subject: Re: [gentoo-dev] [RFC] More reliable hiding preserved libraries From: Tiziano =?ISO-8859-1?Q?M=FCller?= To: gentoo-dev@lists.gentoo.org In-Reply-To: <201004031238.18500.reavertm@gmail.com> References: <201004031238.18500.reavertm@gmail.com> Content-Type: multipart/signed; micalg="sha1"; protocol="application/x-pkcs7-signature"; boundary="=-2YP8mRFEF5kEzkT6OER3" Organization: Gentoo Date: Sat, 03 Apr 2010 20:51:43 +0200 Message-ID: <1270320703.1230.11.camel@localhost> Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-dev@lists.gentoo.org Reply-to: gentoo-dev@lists.gentoo.org Mime-Version: 1.0 X-Mailer: Evolution 2.28.3.1 X-Archives-Salt: 6a0107c9-c328-4ed5-adb5-62fcd647c192 X-Archives-Hash: bf2f4854bbb9dd57460e8583f0f30937 --=-2YP8mRFEF5kEzkT6OER3 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Am Samstag, den 03.04.2010, 12:38 +0200 schrieb Maciej Mrozowski: > Problem >=20 > ..is known, let me summarize briefly. >=20 > Uninstalling packages providing libraries, without checking reverse runti= me=20 > dependencies of those packages leaves their dependencies unsatisfied (pac= kages=20 > with broken executables and/or shared libs). > Some package managers try their best not to remove said libraries, yet=20 > allowing packages to be removed. > Those orphaned libraries cause problems[1] as build systems of some other= =20 > packages being (re)installed afterwards pick them up and abuse those orph= aned=20 > libraries. (we don't like orphans abused, we prefer them... "gone"). >=20 > Solution >=20 > Now, I suppose there are some ideas how to make orphaned libraries not go= in a=20 > way. Basically then need to be available for system, but hidden for "emer= ge". >=20 > There is opt-out suggestion[2], unfortunately it does not provide any inf= o how=20 > exactly it's supposed to be achieved. As far as portage/pkgcore is concer= ned,=20 > maybe - as Brian Harring suggested - sandbox could be used to somehow "hi= de"=20 > preserved libraries or preserved library directory from ebuild environmen= t=20 > (preserved library directory a'ka "purgatory" - libs could be moved there= when=20 > considered orphaned). >=20 > Opt-in suggestion is as follows: > 1. Use some library path (read by ld loader from environment) and export = it=20 > globally to environment pointing it to preserved library directory. > 2. During "emerge", unset environment variable corresponding to said pres= erved=20 > library directory - orphans are no longer located. > Attached patch for glibc (2.11, but should apply to any other glibc aroun= d)=20 > and uClibc (this one is not tested but should work as well) that makes ld= =20 > loader aware of LD_GENTOO_PRESERVED_LIBRARY_PATH variable. >=20 > (LD_LIBRARY_PATH would work as well, but it's being used widely so cannot= be=20 > safely mangled.. on the second though it can - one could filter out prese= rved=20 > library paths from it during "emerge"). >=20 > 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). --=20 Tiziano M=C3=BCller 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 --=-2YP8mRFEF5kEzkT6OER3 Content-Type: application/x-pkcs7-signature; name="smime.p7s" Content-Disposition: attachment; filename="smime.p7s" Content-Transfer-Encoding: base64 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 mvLE66NX5MqXfQQ4kSFMSIaFbhc/+Vixb92hF+KhfG8C0PMUFvCzToFYgU+uEL9kvmUfa8MkVzai cWmsnycZ+aywZrBfgJqB50FCANSq2gQ18KnajvMc3lAY5njvJ9S1i0SZQGw7hwIDAQABo4H/MIH8 MAwGA1UdEwEB/wQCMAAwVgYJYIZIAYb4QgENBEkWR1RvIGdldCB5b3VyIG93biBjZXJ0aWZpY2F0 ZSBmb3IgRlJFRSBoZWFkIG92ZXIgdG8gaHR0cDovL3d3dy5DQWNlcnQub3JnMEAGA1UdJQQ5MDcG CCsGAQUFBwMEBggrBgEFBQcDAgYKKwYBBAGCNwoDBAYKKwYBBAGCNwoDAwYJYIZIAYb4QgQBMDIG CCsGAQUFBwEBBCYwJDAiBggrBgEFBQcwAYYWaHR0cDovL29jc3AuY2FjZXJ0Lm9yZzAeBgNVHREE FzAVgRNkZXYtemVyb0BnZW50b28ub3JnMA0GCSqGSIb3DQEBBQUAA4ICAQCu3CflSuep7/s1rJnx /DOwVPIPzytTmfJ++L543zniENTsOrvBMGKv0U0QXcRxnZrV5lboJ2V6VK7lEUSGl54fiaM+ixxv +L2r1FJYkulctQIcJElb1Y2D0tWVmcpFNPG9dCSnmYsZlK3YMJsieYD1ifWNs3achZFxIYBMapo4 vTILS8NhD8OyfZEefFTRthTDn25dlhBKqmTZJZqA2PEpy5BIJ+T0Ico7IaoBWmBSsFeJ1ytGAFtF TpWMwdrbSgl9tR2gTHtheC0il7cE6EtsF4h3NeMkDjCmuo8SsmivLh0baw2aZPz4ka3iFjMFA6ru ts7yuOj03XTwWpCC7XthexysmcafO72YQRXuddKeCbFNROJ7DBy5kwcXly3e/lgaPpGXV75VU1Le TPmVRl6tI2jaQMjSWiMpjM0hFm2q/mCQKiz6/+4La9aN5J7ov5X+RMbpPcKGo8q3hrInD6rqGRCP i/7Md5c0WebwYFnAB34S7RJS4y6bR6hll1pNQcOE6heDf1EkzkXw88Z/BvxLBgE8EwSL5GD5ZA27 udAlgWsc4NVEx/lheDdc1vPb+C45OFkbZsBne4wijsNccZlVtqpkm++6QII6H2G9a8Pef+/5An+3 jW7qNfYRDFGa+uGqBDD6yUkwTIOhajtlqx5ZQU2z5g5CBKqOuA74CYRR7TGCAzMwggMvAgEBMIGA MHkxEDAOBgNVBAoTB1Jvb3QgQ0ExHjAcBgNVBAsTFWh0dHA6Ly93d3cuY2FjZXJ0Lm9yZzEiMCAG A1UEAxMZQ0EgQ2VydCBTaWduaW5nIEF1dGhvcml0eTEhMB8GCSqGSIb3DQEJARYSc3VwcG9ydEBj YWNlcnQub3JnAgMIP1YwCQYFKw4DAhoFAKCCAYcwGAYJKoZIhvcNAQkDMQsGCSqGSIb3DQEHATAc BgkqhkiG9w0BCQUxDxcNMTAwNDAzMTg1MTQwWjAjBgkqhkiG9w0BCQQxFgQUZfLG4UrNMht9qC2a 7Bk0XrKmVjgwgZEGCSsGAQQBgjcQBDGBgzCBgDB5MRAwDgYDVQQKEwdSb290IENBMR4wHAYDVQQL ExVodHRwOi8vd3d3LmNhY2VydC5vcmcxIjAgBgNVBAMTGUNBIENlcnQgU2lnbmluZyBBdXRob3Jp dHkxITAfBgkqhkiG9w0BCQEWEnN1cHBvcnRAY2FjZXJ0Lm9yZwIDCD9WMIGTBgsqhkiG9w0BCRAC CzGBg6CBgDB5MRAwDgYDVQQKEwdSb290IENBMR4wHAYDVQQLExVodHRwOi8vd3d3LmNhY2VydC5v cmcxIjAgBgNVBAMTGUNBIENlcnQgU2lnbmluZyBBdXRob3JpdHkxITAfBgkqhkiG9w0BCQEWEnN1 cHBvcnRAY2FjZXJ0Lm9yZwIDCD9WMA0GCSqGSIb3DQEBAQUABIIBALYSsdOF0utgYqdBoydLTCRb MjH7J4tLQa2C3Lck68/F8qH8ADpnbS5deCzrPw+8INLyQ5xPplDkdEhw6aBTSKc8ddFSGPOqgqYi lExgpUyQb9FBsQkqM9/H/vv9RHtzwxK1yxySs74BdPLkI8HVzSvYvSCu8Bg7nDFl1KYRhwu6ZlrW FBux80R6fqXUk7TWciqwjbiSJeX/VUuVcNBRY2XiSmBkKbuYEdPSr8LGj/5tjEKS97vf6ODqmG9J PCs8qNVDZZ3MQuVrzW5rsed/rjXx2McPZmn0rVg788HNpVUkIPv2Hy9JuiJ7mJnhjx53mwkJx+fp AFXKopY53yYRz/kAAAAAAAA= --=-2YP8mRFEF5kEzkT6OER3--