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 A34C9138010 for ; Sun, 30 Sep 2012 20:15:59 +0000 (UTC) Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id 5411A21C069; Sun, 30 Sep 2012 20:15:48 +0000 (UTC) Received: from mail-da0-f53.google.com (mail-da0-f53.google.com [209.85.210.53]) by pigeon.gentoo.org (Postfix) with ESMTP id A1D2021C028; Sun, 30 Sep 2012 20:14:56 +0000 (UTC) Received: by dadg9 with SMTP id g9so1598020dad.40 for ; Sun, 30 Sep 2012 13:14:55 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=date:from:to:cc:subject:message-id:references:mime-version :content-type:content-disposition:in-reply-to:user-agent; bh=u/O5A7Pywh4E28ISbgyOqqqDdCCL4g9v+aO7srOrOM4=; b=OYt69oSgN40JCqNt2eC+xcWfeUet206ou94IGbbt5X5jtAKP3MHqJmXhyNe8WGu3e2 8VqYJU/HXbUTcx738Y857uoSk/Oe7fbJbbIpDLUVfqWwyUn6deBBmkUjuRf0CuJGKAW3 gujvrEYhwO2cnJdU4tTejcxG1PkSJmfHUbGj0FitQxSexxgkxgAa44wAUSHn5sPaxqU8 i3j0AsIWShMDWttrv8ZSjqkeBOAgNw1IdYayuZN20ZlZhZzLWuZiqoLGUe82FEtxp7xN qCR8P+CckhrX5Ig1/nB7B8zwaH1tB1f+WVxP+JSK5G73Zae+5dzQu5w0sHcqFYvExKkc P3FA== Received: by 10.66.78.104 with SMTP id a8mr31847790pax.38.1349036095837; Sun, 30 Sep 2012 13:14:55 -0700 (PDT) Received: from smtp.gmail.com:587 (74-95-192-101-SFBA.hfc.comcastbusiness.net. [74.95.192.101]) by mx.google.com with ESMTPS id ka4sm9090191pbc.61.2012.09.30.13.14.53 (version=TLSv1/SSLv3 cipher=OTHER); Sun, 30 Sep 2012 13:14:55 -0700 (PDT) Received: by smtp.gmail.com:587 (sSMTP sendmail emulation); Sun, 30 Sep 2012 13:14:53 -0700 Date: Sun, 30 Sep 2012 13:14:53 -0700 From: Brian Harring To: Ciaran McCreesh Cc: gentoo-pms@lists.gentoo.org, gentoo-dev@lists.gentoo.org Subject: [gentoo-dev] Re: [gentoo-pms] GLEP: gentoo sync based unified deps proposal Message-ID: <20120930201453.GC2180@localhost> References: <20120916135211.GC23030@localhost> <20120916153949.05ab795a@googlemail.com> <20120916160528.GD23030@localhost> <20120916175921.4f01661a@googlemail.com> <20120925224614.GF26094@localhost> <20120929170509.63efef70@googlemail.com> 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=us-ascii Content-Disposition: inline In-Reply-To: <20120929170509.63efef70@googlemail.com> User-Agent: Mutt/1.5.21 (2010-09-15) X-Archives-Salt: e45024c1-7358-42fd-a2a1-5ef4059de6c8 X-Archives-Hash: ee7ba0d896c2ab973e4e90b26edb9932 On Sat, Sep 29, 2012 at 05:05:09PM +0100, Ciaran McCreesh wrote: > On Tue, 25 Sep 2012 15:46:14 -0700 > Brian Harring wrote: > > Fun fact; peoples usage of labels in exherbo is thus: > > > > build+run: > > set of deps > > run: > > set of deps/conditionals/etc > > That's largely because there are a lot of former Gentoo developers > there who all said "oh, yeah, I forgot we could do it the other way" > when this was pointed out... I analyzed *all* exheres on git.exherbo. To be crystal clear, these include your packages. You yourself didn't use nested labels. So either the author of labels 'forgot' he could use it, or just didn't find the nesting actually useful. Considering I've not found any examples where nesting /would/ be useful, I'm inclined to agree w/ y'alls usage- that nesting doesn't matter. So... real world usage removes one of the core arguments of labels, leaving it just as "it's a new syntax/aesthetically more pleasing" in comparison to dep:build? ( blah ) form. Not expecting you'll agree with that statement based on the facts of y'alls own repo... so if you're going to retort, bust out actual examples from eithe trees, where nesting would be preferable to the form people use now please; else just drop it (-your- own usage of labels disproves your claim; thus why I want actual examples now if that point will be debated any further). > > > Specification in terms of rendering has a huge problem, though. > > > Remembering the crazy rules Gentoo has for || ( flag? ( ) ), what > > > does this do? > > > > > > || ( dep:build? ( a ) dep:run? ( b ) ) > > > > Honestly, I was waiting for you to bring this up :) > > > > You're conflating two different things here; > > 1) someone being a dumb ass and writing what's effectively a || ( > > atom) block, just doing so in a manner w/out any reason to do so. > > > > 2) Your ongoing jihad against || (), specifically the occasionally > > valid complaint that build/rdepend different means the resolver can > > get stuck in certain pathways when slots are involved, abi, etc. > > > > Either way, in my proposal, I'm not going to single that out and try > > blocking it. The rendered version of it is still stable, albeit if > > it's build/run it's unlikely to be desired if there is ABI involved > > (for non ABI, specifically self-bootstrapping codebases, I suspect > > someone could come up with a valid construct- sed has something > > similar if memory serves). > > The rendered version ends up as ( a b ), in effect... It doesn't end up > as || ( a (at build time) b (at runtime) ). Er, I assume you left out some chars there. The rendered version there isn't ( a b ); in old form it is: DEPEND=|| ( a ) RDEPEND=|| ( b ) This is why I label it a stupid use of syntax, but not ultimately harmful. > > Which is stupid, but syntactically correct. Nor is this a new issue, > > thus I don't particularly agree with your approach of trying to sink > > the proposal via an orthogonal problem. > > No, you're introducing a new kind of weirdness for || ( ) here. Na uh, you're the smelly face! As I said, and via correcting your misrendering, this isn't introducing anything truly new here; people can/have done '|| ( a )'; it's a stupid construct, and for paludis it means it /does/ treat that as an OR block (for hte rest, we do the more obvious tree collapses during parsing, folding "a ( b )" down into "a b", same for "a || ( b )" into "a b" since they're the same thing). > > Either way, via > > http://dev.gentoo.org/~ferringb/unified-dependencies/labels/translated-to-use-deps.txt > > , I think it's pretty clear labels in real world usage aren't > > bringing anything to the tabel that we wouldn't have via my proposal; > > that leaves labels as just a different syntax (perhaps aesthetically > > more pleasing at first glance, but the label stacking bit via exheres > > analysis is proven to be something people explicitly go out of their > > way to protect against; meaning the aesthetics have a mental > > model cost). > > It's not "go out of their way to protect against". It's "there's an > easy way of making sure everything is composable". Your > misappropriation of use flags doesn't have that. Again, you're pulling a "na uh, you're the smelly face" counter argument. Bluntly, you want something that is academically possible, but pragmatically/realistically unneeded- meaning the gains are basically not there, but the costs most definitely are. Now, for exherbo were y'all lack actual versioned format (exheres-0 has changed heavily since it's inception), and chucked everything and did it from scratch (right? or do I need to do a copyright analysis in addition?)... the situation differs. You can invent whatever syntax you want, since you're starting from scratch, changing the mental mode for parsing is fine. We however are *not* starting from scratch. This shifts what we'll accept for costs/gains ratio; frankly, the fact y'all don't make use of those claimed 'gains' makes me think y'all tried something and it turned out to be non-useful; it occurs in formats (ebuild format is littered w/ shit like that unfortunately). Either way, this is gentoo, we're talking about the ebuild format; just the same as everyone shredded mgorny's ass for proposing we mangle atom syntax w/out gain, and proposal you push for the deptree changing, has to have significant gains for changing the existing form; aesthetics at a cost aren't enough. ~harring