From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from lists.gentoo.org (pigeon.gentoo.org [208.92.234.80]) by finch.gentoo.org (Postfix) with ESMTP id 9E3151381F3 for ; Tue, 28 May 2013 14:43:27 +0000 (UTC) Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id 2C199E09FC; Tue, 28 May 2013 14:43:23 +0000 (UTC) Received: from mail-wg0-f42.google.com (mail-wg0-f42.google.com [74.125.82.42]) (using TLSv1 with cipher ECDHE-RSA-RC4-SHA (128/128 bits)) (No client certificate requested) by pigeon.gentoo.org (Postfix) with ESMTPS id 122CDE09EA for ; Tue, 28 May 2013 14:43:21 +0000 (UTC) Received: by mail-wg0-f42.google.com with SMTP id n12so3167896wgh.1 for ; Tue, 28 May 2013 07:43:20 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=from:to:subject:date:message-id:user-agent:mime-version :content-type; bh=c82Cn9sDgTeoY76kjNmEDo6vJNLKqUQBpcTHw+xhf/s=; b=tBYG/J/4wa5hdfBVYzRSROHVpQJrS4/Fj39wpRgctkVZrC1qja1Tru3v2nIqnKzbfL 3pL0wyLmyJRlxnDRbx9UhlylXPeev46nYKd3vgkZtVALemP5+4GS68oXwbPwOheIKFzx yyYI5kk0iD1Uvl2wxeOtLnJBWBE5QwIEln7WswZ/mH5+RZ7iTKWH2JdBE2ImipdIvNFQ iIdZlUL0ZFTtBYrjUkBGjJgKvM0paMFGtyHqP9p+yR0Pj0ZA743PfRxIxfdThUKKDAX6 LjvXv3UD+q11jC933rfA6F5GtyTemHJ+ssJsATUdeHDsMc6WQWOB16sfqxv9OEBRF67y q2Mw== X-Received: by 10.180.206.176 with SMTP id lp16mr12019039wic.43.1369752200635; Tue, 28 May 2013 07:43:20 -0700 (PDT) Received: from darkness.localnet (84.120.230.89.dyn.user.ono.com. [84.120.230.89]) by mx.google.com with ESMTPSA id b11sm24712629wiv.10.2013.05.28.07.43.18 for (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Tue, 28 May 2013 07:43:19 -0700 (PDT) From: David Carlos Manuelda To: gentoo-dev@lists.gentoo.org Subject: [gentoo-dev] Better handling of USE flags to enable/disable system libraries Date: Tue, 28 May 2013 16:43:10 +0200 Message-ID: <1473793.jjmSZnls7x@darkness> User-Agent: KMail/4.10.3 (Linux/3.9.4-gentoo; KDE/4.10.3; x86_64; ; ) 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 Content-Type: multipart/signed; boundary="nextPart2898406.XVJfvaeFMT"; micalg="pgp-sha1"; protocol="application/pgp-signature" X-Archives-Salt: c5022bb7-7752-45a9-b6ec-6b95bc1e20d3 X-Archives-Hash: 516e7c2171ebf3caeb36eaddbdcc0ad9 --nextPart2898406.XVJfvaeFMT Content-Transfer-Encoding: 7Bit Content-Type: text/plain; charset="us-ascii" I posted a bug about that along with a suggestion, despite sometimes I do not explain myself correctly (I am very sorry): bug #471590 Many packages are bundling its own libraries rather than link against system ones, and there is a bug tracker for that (bug #251464) As I saw in many ebuilds, it is fixed by putting a new "system-{$LIBRARY}" IUSE in the affected ebuilds to enable/disable linking with external or bundled library, but there are plenty of libraries and packages out there to pullute the use's config files with several combinations of that USE flags. What I propose here, is to simplify the process a lot by handling those system-{$LIBRARY} USE flags internally with a very simple configuration for the user, rather than expose the USE flag directly and forcing user to save all combinations for that purpose. This request/idea is inspired on how the x86_ABI is handled: As a comparison only, most packages have 32 and 64, and you don't have to handle them via USE flag per-package, rather, you have an option in make.conf to set it all of them automatically. What I propose for example, is a very good and simple approach: to have an option in portage's make.conf, something like that (the name may change): 1.- USE_SYSTEM_LIBRARIES="cairo sqlite XXX" 2.- USE_SYSTEM_LIBRARIES="* -cairo" 3.- USE_SYSTEM_LIBRARIES="*" Case explanation: 1.- Will trigger automatically (and enable) USE flags: system-cairo, system- sqlite and system-XXX 2.- Will trigger all system-* related USE except system-cairo which will be disabled 3.- Will trigger all system-* related USE variables with no exception. I honestly think, it is a best aproach to resolve the library bundling, along with a correct fix for affected ebuilds. What do you think? Thanks for taking your time to read this suggestion. David Carlos Manuelda. --nextPart2898406.XVJfvaeFMT Content-Type: application/pgp-signature; name="signature.asc" Content-Description: This is a digitally signed message part. Content-Transfer-Encoding: 7Bit -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.20 (GNU/Linux) iEYEABECAAYFAlGkwn4ACgkQK8eA6raXdx4GlwCfWwAdZ4VoTba8IwP7PJ6Ztpvx NBQAmgJuv1FvBdTJBZAEjBw6OdQWV2qR =UksU -----END PGP SIGNATURE----- --nextPart2898406.XVJfvaeFMT--