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 5971C139694 for ; Mon, 29 May 2017 22:06:24 +0000 (UTC) Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id 9AAC2E0E4C; Mon, 29 May 2017 22:06:06 +0000 (UTC) Received: from mail-wm0-x241.google.com (mail-wm0-x241.google.com [IPv6:2a00:1450:400c:c09::241]) (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 2AB55E0E20 for ; Mon, 29 May 2017 22:05:51 +0000 (UTC) Received: by mail-wm0-x241.google.com with SMTP id k15so20852137wmh.3 for ; Mon, 29 May 2017 15:05:51 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=googlemail.com; s=20161025; h=date:from:to:subject:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=mR80pIFabkR+qLHDNqm/2+R/zbRjFS34Sg0ytBsfgOc=; b=ke7eAiGVQ9ZlrgwAPClvo9nbCmR1PU3K8etsGqCs7Z0RAr/ZEiQAL2zXi2XCkKhZme mzKIVdwhmd8ywcykv9cTlgRNgjFCL5P90cPiO6V3YwZf57RTekChbchKpAfT7oyJ+97q KW3mtFV0k0k5cjQDqlsfGsXNGLdo32fhUO/mAWQR8Rfm77XAk2bprsgDbhOOkeU3ElnD t6vmJBBT23caqARMK5t/2oMAtvZ4u5fSP0lZid++ij8tIJyCA1va4gA4MtlZbCS3hT01 Ef+XctLXSLFm9V6TmP4iq67CkLRZ7xlDBw7AW7yG9cbaVcSrPnj8GflziXGA8muXbvD3 22Rg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:from:to:subject:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=mR80pIFabkR+qLHDNqm/2+R/zbRjFS34Sg0ytBsfgOc=; b=qcRhYMbAEQNJnZkk2P0pAo+nlxQ2PIRFJattbO5vVBZ2fTSe07XWi6nQNRy+QpAEAg 78Ch5ZGvKDgT4ujyqGqzW2L/BCuOBLah22KevRZ1q9/T9TorrF/PxdByG6+g9ENwHvTx vrM8fM+ou+8VEPEuSAgikSlxZfc6dUckpiZZBaSCyaMdsToWoa+PY0IucMNU4B+gTjfL Gnk6JRjuQrFOOvW8Jq6VBPMRYhfEZyTGYJIcMGYzfhEi7vl3oYC71tmxFEjA35udKe0T FFmDcL+Rzw3dqYB4TnVsneJ1uIn3yW3RDDbCIjSA2yWy7hA2QXPHmakPEJMAn2ADbUah dngQ== X-Gm-Message-State: AODbwcDugojyZzrAdvArlJyV5jEyLWBpU4rsKGd9VdOh+QYvxPJvKMor zqwbPXJN92YgjYEf X-Received: by 10.28.208.7 with SMTP id h7mr24256084wmg.53.1496095549820; Mon, 29 May 2017 15:05:49 -0700 (PDT) Received: from snowblower (cpc4-broo7-2-0-cust35.14-2.cable.virginm.net. [82.8.215.36]) by smtp.gmail.com with ESMTPSA id v72sm13025992wrc.53.2017.05.29.15.05.49 for (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Mon, 29 May 2017 15:05:49 -0700 (PDT) Date: Mon, 29 May 2017 23:05:46 +0100 From: Ciaran McCreesh To: gentoo-dev@lists.gentoo.org Subject: Re: [gentoo-dev] [RFC] Forced/automatic USE flag constraints (codename: ENFORCED_USE) Message-ID: <20170529230546.53b793fe@snowblower> In-Reply-To: <22828.39468.127754.336255@a1i15.kph.uni-mainz.de> References: <1496071993.31087.1.camel@gentoo.org> <20170529200037.2559f80a@gentoo.org> <1496093035.12795.3.camel@gentoo.org> <22828.39468.127754.336255@a1i15.kph.uni-mainz.de> X-Mailer: Claws Mail 3.13.0 (GTK+ 2.24.31; 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: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable X-Archives-Salt: 796d4692-b524-4935-b0fd-c65899247622 X-Archives-Hash: 24b5563ea8c6371bbdee7d6c0ced4113 On Tue, 30 May 2017 00:01:16 +0200 Ulrich Mueller wrote: > >>>>> On Mon, 29 May 2017, Micha=C5=82 G=C3=B3rny wrote: =20 > > On pon, 2017-05-29 at 20:00 +0200, Alexis Ballier wrote: =20 > >> Can you provide an efficient algorithm for the above syntax? That > >> is, given a set of +/- useflags forced by user, output the set of > >> effective useflags (or a rant if it is inconsistent). =20 >=20 > > I'd rather leave that to people who are good with algorithms. I find > > the whole thing scary but I don't really see a sane alternative > > here. Worst case, we have to figure out some arbitrary limitations > > to keep things sane. =20 >=20 > IMHO the sanest alternative would be to restrict the syntax to USE > conditional forms which have an obvious solution. One of the many > problems of REQUIRED_USE is that it sometimes requires solving a > Zebra Puzzle. Solving zebra puzzles isn't really that bad in practice most of the time. The tricky bit is finding the *right* solution, given poor input data that doesn't really let you evaluate what right is. As a simple example, in the olden days, the most obvious and shortest answer to fixing Gnome resolution errors was to set USE=3Dmips because that disabled a whole load of browser dependencies... --=20 Ciaran McCreesh