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 4C90813877A for ; Thu, 3 Jul 2014 10:58:27 +0000 (UTC) Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id 41B68E08C4; Thu, 3 Jul 2014 10:58:22 +0000 (UTC) Received: from smtp.gentoo.org (smtp.gentoo.org [140.211.166.183]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by pigeon.gentoo.org (Postfix) with ESMTPS id 4BB99E08BE for ; Thu, 3 Jul 2014 10:58:21 +0000 (UTC) Received: from pomiot.lan (77-255-6-176.adsl.inetia.pl [77.255.6.176]) (using SSLv3 with cipher ECDHE-RSA-AES128-SHA (128/128 bits)) (No client certificate requested) (Authenticated sender: mgorny) by smtp.gentoo.org (Postfix) with ESMTPSA id 261CA33FEEE; Thu, 3 Jul 2014 10:58:18 +0000 (UTC) Date: Thu, 3 Jul 2014 12:58:12 +0200 From: =?ISO-8859-2?B?TWljaGGzIEfzcm55?= To: Ian Stakenvicius Cc: gentoo-dev Subject: Re: [gentoo-dev] Making a common sub-profile for no-multilib Message-ID: <20140703125812.7b799fb4@pomiot.lan> In-Reply-To: <53AB007C.5070306@gentoo.org> References: <53AB007C.5070306@gentoo.org> Organization: Gentoo X-Mailer: Claws Mail 3.10.1 (GTK+ 2.24.24; x86_64-pc-linux-gnu) 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; micalg=pgp-sha512; boundary="Sig_/kkTw5a+egK/bM/lj_MWvT.l"; protocol="application/pgp-signature" X-Archives-Salt: 5afd3f95-a099-4900-a825-b4316fd66fe2 X-Archives-Hash: bc9abaf300d328a2b815e73e879f0d10 --Sig_/kkTw5a+egK/bM/lj_MWvT.l Content-Type: text/plain; charset=ISO-8859-2 Content-Transfer-Encoding: quoted-printable Dnia 2014-06-25, o godz. 13:01:48 Ian Stakenvicius napisa=B3(a): > I would like to propose adding 'no-multilib/[arch]/package.mask' > sub-profile(s), to allow all of these masks to go in one place. >=20 > Populating package.mask should be fairly easy for amd64 at least, > since anything depending on an app-emulation/emul-* will need to be > masked. However the merits of where the package.mask will go needs > discussion. Perhaps, for instance, it's time to adjust the profile > tree hierarchy more aggressively instead of "piling on" with yet > another subdir. >=20 > Thoughts? I would go for a bit different way of handling arch profiles. This is an early idea that probably can't work but could make things a little bit easier to mangle. The arch/ tree starts with 'generic' subdirectories matching main arches -- like arm, mips, x86, sparc, powerpc, s390 (but not amd64). Each of arch trees contains an 'abis' subtree that contains mix-ins describing particular ABIs supported. For example, arch/x86/abis/x86, arch/x86/abis/amd64, arch/mips/abis/o32. Each of those mix-ins describes that basic stuff for ABI (like LIBDIR, standard CHOST), unmasks relevant ABI flags and p.masks them on packages that don't support a particular ABI. Now, each of those mix-ins may come with a sub-profile called 'default' that sets use.force & make.defaults for making the ABI the default ABI. I'm currently not sure if this will be really helpful since the small amount of work we may also put directly into 'real' profiles (described below). Moreover, each of those mix-ins may come with a 'no-multilib' sub-profile. This one -- aside from setting all the standard variables -- package.masks all the packages that were package.use.mask in parent profile. This way, we can keep all the masks almost in a single place. Then, we have multilib profiles like arch/x86/multilib/amd64, arch/x86/multilib/x32. Those inherit from all the relevant ABI profiles -- e.g. amd64 would inherit arch/x86/abis/x86 & arch/x86/abis/amd64[/default], and set the remaining variables for multilib. While I feel it's a bit complex, I think that's somehow a sane way to express what we have now without moving back and forth. Few extra key points: - minimal no of profiles in each 'parent' -- supposedly abis/ would have no parents, and possibly final profiles would have 'arch/base' as parent, - as already mentioned somewhere else, i'd rather see 'arch/base' instead of plain 'base' -- the idea is to put everything that's easier reverted than copied through all arch/ profiles, and have it inherited only by the final arch profiles. For example, the expanded inherits for arch/x86/multilib/amd64 would go like: 1. arch/base -- that disables a lot of uncommon stuff, 2. arch/x86/base [optionally] -- setting some generic defaults, 3. arch/x86/abis/x86 -- setting support for 'x86' ABI, 4. arch/x86/abis/x86/lib32 [optionally] -- overriding LIBDIR_x86 for compatibility with current SYMLINK_LIB screwup, 5. arch/x86/abis/amd64 -- setting support for 'amd64' ABI, 6. arch/x86/abis/amd64/default [optionally] -- setting 'amd64' as default ABI, 7. arch/x86/multilib/amd64 -- finishing multilib setup. The key point here being that no profile is run twice. --=20 Best regards, Micha=B3 G=F3rny --Sig_/kkTw5a+egK/bM/lj_MWvT.l Content-Type: application/pgp-signature; name=signature.asc Content-Disposition: attachment; filename=signature.asc -----BEGIN PGP SIGNATURE----- Version: GnuPG v2 iQJ8BAEBCgBmBQJTtTdFXxSAAAAAAC4AKGlzc3Vlci1mcHJAbm90YXRpb25zLm9w ZW5wZ3AuZmlmdGhob3JzZW1hbi5uZXQ2REJCMDdDQzRGMERBRDA2RUEwQUZFNDFC MDdBMUFFQUVGQjQ0NjRFAAoJELB6GurvtEZOmLsP/jrSqGModVdPkTasJMmhH49N Omy2ZdTwnctdLGWos6vHPMha5RMnnXw1zxlblCkcxIrl0+yztZiNLNx2JGyJBRzM JZi8GaGq1xDb49rNV8V9vW5xNoaZBmqBYRswHeaD7BUN4kiqwKoqljvkA/bSPC22 OOsr567aEoef5B6sH/NftY+X/bdTlIwqm7JVmi0ED0snDNqI7WHFCY02V4Hs9+zX x6cdA8jcsere0LmO3q1Mclnc4cd3PHA4dwj9Ep49nYxTK5m8VUS1W7mhFQLiTf0y 56rX36cHtaCXBQvwHajJnFtK7f1LF67tnQMr5o3PuDc7HLsE6FLwXcl0aUPGzdEk 29722uwyo8F7WOG2dmYwnGmOGgcJzbZxvGPyhinsffVFK2rtTO1Iohab3EgQlQ8z uyeZI9koCUV74pXl5Myi28hVDLgrMTCCjESr/xV7s7l8WjoD1oqpPOl5UqU+1qYF OGwMvsb4fkzH7DwbuZKadU6evrDOO2YCdMqaGhftwQHNgp2M/Gs3kL8Z6moTOkXc KEdBWJYitaN9cv+9f62qyjcaTnQOq0DpHDiP2ySXXWKKvBmqBGosFiddZNyjjT9J 61sqqLg6kORRsFjXgeEbHjhwOCrJl7Q3wmEMsW7eIDHdIZZZ9oxwSEYyh+ApaDxR 6mhPT7kXX7/M85vHX38A =JeQM -----END PGP SIGNATURE----- --Sig_/kkTw5a+egK/bM/lj_MWvT.l--