From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from lists.gentoo.org (pigeon.gentoo.org [208.92.234.80]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by finch.gentoo.org (Postfix) with ESMTPS id 3A198139694 for ; Sat, 3 Jun 2017 15:33:24 +0000 (UTC) Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id 3BEAEE0BB3; Sat, 3 Jun 2017 15:33:16 +0000 (UTC) Received: from smtp.gentoo.org (smtp.gentoo.org [140.211.166.183]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by pigeon.gentoo.org (Postfix) with ESMTPS id DAFDDE084A for ; Sat, 3 Jun 2017 15:33:15 +0000 (UTC) Received: from pomiot (d202-252.icpnet.pl [109.173.202.252]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) (Authenticated sender: mgorny) by smtp.gentoo.org (Postfix) with ESMTPSA id 78AAF341828; Sat, 3 Jun 2017 15:33:14 +0000 (UTC) Message-ID: <1496503989.15351.1.camel@gentoo.org> Subject: Re: [gentoo-dev] [RFC] Forced/automatic USE flag constraints (codename: ENFORCED_USE) From: =?UTF-8?Q?Micha=C5=82_G=C3=B3rny?= To: gentoo-dev@lists.gentoo.org Date: Sat, 03 Jun 2017 17:33:09 +0200 In-Reply-To: <20170603130000.4f88fb14@gentoo.org> References: <1496071993.31087.1.camel@gentoo.org> <20170529200037.2559f80a@gentoo.org> <1496093035.12795.3.camel@gentoo.org> <20170530094245.40e1cf64@gentoo.org> <20170530092245.681d4aeb@snowblower> <20170530104654.31b89e10@gentoo.org> <20170530095607.1adbc0b8@snowblower> <20170530112518.65b4f9e9@gentoo.org> <22829.24276.295.969060@a1i15.kph.uni-mainz.de> <1496154812.1238.5.camel@gentoo.org> <20170530173340.0b575526@gentoo.org> <1496167898.1335.1.camel@gentoo.org> <20170530204614.61e8e42c@gentoo.org> <1496213717.1164.1.camel@gentoo.org> <20170531093257.23b66f88@gentoo.org> <1496217792.1164.5.camel@gentoo.org> <20170531103819.417c2420@gentoo.org> <1496235892.25038.1.camel@gentoo.org> <20170531193922.477245bb@gentoo.org> <1496257344.25758.1.camel@gentoo.org> <20170601105523.08a9234e@gentoo.org> <1496352685.30502.4.camel@gentoo.org> <20170602132758.50a5f734@gentoo.org> <1496411717.29233.5.camel@gentoo.org> <20170603130000.4f88fb14@gentoo.org> Organization: Gentoo Content-Type: multipart/signed; micalg="pgp-sha512"; protocol="application/pgp-signature"; boundary="=-tzewt2yAqebYMB/M4Oxm" X-Mailer: Evolution 3.22.6 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-Archives-Salt: 7d7cb008-5872-4783-a0fb-9d14852196d8 X-Archives-Hash: e4b69774a8c70344fdfc98663947b5cb --=-tzewt2yAqebYMB/M4Oxm Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On sob, 2017-06-03 at 13:00 +0200, Alexis Ballier wrote: > This whole thing definitely needs more thought and feedback but for now > those extra restrictions seem quite natural to me, allow easy solving > on the PM side and allow to have useful feedback from repoman. >=20 Well, I'll try to figure out the magic you were telling me later but as a quick note, my specific use case for this are Python targets, so I'm going throw a few basic concepts that need to work for you to play with ;-). In the following samples pt1,2,.. stands for PYTHON_TARGETS; pst1,2,... for PYTHON_SINGLE_TARGET. Eventually I'd like to kill the latter but that depends on how well the autosolving works. 1. ^^ ( pst1 pst2 pst3.. ) pst1? ( pt1 ) pst2? ( pt2 ) pst3? ( pt3 ).. This is the standard constraint for PYTHON_SINGLE_TARGET -- it needs to ensure that=C2=A0exactly one PYTHON_SINGLE_TARGET is selected, and that the matching PYTHON_TARGETS value is (other PYTHON_TARGETS can be enabled or disabled -- doesn't matter). 2. ^^ ( pst1 pst2.. ) pst1? ( pt1 ) pst2? ( pt2 ).. ^^ ( pt1 pt2 ) This is a possible extension of the above for the migration period. The idea is that exactly one PST must be selected, and only the matching PT must be selected (others are implicitly disabled). 3. doc? ( || ( pt3 pt4 ) ) || ( pt1 pt2 pt3 pt4 ) This is distutils-r1 with USE=3Ddoc requiring python2. Note that it's an example where the second || is added via eclass [NB: we've checked and PMS says eclass values are appended to ebuild value]. --=20 Best regards, Micha=C5=82 G=C3=B3rny --=-tzewt2yAqebYMB/M4Oxm Content-Type: application/pgp-signature; name="signature.asc" Content-Description: This is a digitally signed message part Content-Transfer-Encoding: 7bit -----BEGIN PGP SIGNATURE----- iQKmBAABCgCQFiEEbbsHzE8NrQbqCv5BsHoa6u+0Rk4FAlky1rZfFIAAAAAALgAo aXNzdWVyLWZwckBub3RhdGlvbnMub3BlbnBncC5maWZ0aGhvcnNlbWFuLm5ldDZE QkIwN0NDNEYwREFEMDZFQTBBRkU0MUIwN0ExQUVBRUZCNDQ2NEUSHG1nb3JueUBn ZW50b28ub3JnAAoJELB6GurvtEZOQ48P/i+rp9xZAHZSCSMHJuvRVbUrCrASDe3n 2eC/1X6Rgu543jGyz00hIWMxqgt1y0ansWf8zzkwRZPHJy0lR7Cpl4fuMJKDLKYa whLw1IQYOZlmWw7jHOycJe8bdEAX8LS1WWzHM/b/PEOOcFW/VIYF70FdR+yUtdAK p50SQBOYm4pDwj0MIz7YKQK9ATqRKu3znl/W2crDMKvLM/PTAjBVHybWGKObp4yD rArBTjTYUb3iQLg4P8FiGC8A9mmEPAnkDHL8jxpwp5jlwSrpuXBVkij2ulv7+QcB Lrr3rQDRJFiVHjIJMeA5BP2ICgWdh3VF/nGEeg/QRiU1xxUMyG3upL0e0k6Kar3u 39rYg7UDT+pqpUMM58dcd/KgQep42M/iNdtIXwPkGjd4tGWex03xesDcEO2J+DIi s67Bs2gqBA0TKSZAUGjv20eYzOTnKZX37Luw99UxlLLmM2OlIU+LFuOSK5ojyDQ+ oNxPQSvnlxDETR0rOak0QNFsHioaP2E/pJgmLiYB3ePXGlsjpUzYSOcuuHX8Df1S 8n3ATXSmPPvOn3krFnllGIBr5J/hp5+Ov+aKVzLvIaacRexheOvKjmsvVg03vH1U GiwmRuTuSlBPkj+ljerh75KdapsdLlpLdOGPN/JYHvOK+XmGD6WT2TtKvu6jH9TW pDlE357WM2xQ =JwPW -----END PGP SIGNATURE----- --=-tzewt2yAqebYMB/M4Oxm--