From: Brian Harring <ferringb@gmail.com>
To: Zac Medico <zmedico@gentoo.org>
Cc: gentoo-dev@lists.gentoo.org
Subject: Re: [gentoo-dev] RFD: EAPI specification in ebuilds
Date: Tue, 13 Mar 2012 19:01:27 -0700 [thread overview]
Message-ID: <20120314020127.GB7731@localhost> (raw)
In-Reply-To: <4F5E1EC6.3050508@gentoo.org>
On Mon, Mar 12, 2012 at 09:05:26AM -0700, Zac Medico wrote:
> On 03/12/2012 01:36 AM, Brian Harring wrote:
> > On Sun, Mar 11, 2012 at 09:08:24PM -0700, Zac Medico wrote:
> >> 1) User downloads an overlay that doesn't provide cache. We want the
> >> package manager to give a pretty "EAPI unsupported" message, rather than
> >> spit out some bash syntax errors.
> >
> > This criticsm pretty much applies *strictly to the existing
> > implementation*. It's disenguous busting it in this fashion.
> >
> > EAPI as a function explicitly gives it an out before hitting any of
> > that, eliminating your entire critique. Same goes for parsing it out
> > of the ebuild, or renaming the extension.
>
> You're assuming that the ebuild calls your eapi() function before it
> uses any syntax that's unsupported by the user's installed version of bash.
A bit, although that's a pretty valid assumption frankly. For current
bash syntax, the only thing they could do that would cause issues is
bash regex's for example- which if they have regex's prior to the eapi
invocation, they're doing something stupid anyways.
Regardless, detecting and suppressing isn't too hard- start sourcing
w/ `set -e`, disabling that once `eapi` has been invoked for example.
Pretty sure people will scream "that's horrible", but it's
surprisingly effective.
> > 1) PM still doesn't support that EAPI, looks at the cache/ebuild:
> > checksums are the same, thus the stored EAPI is trustable, leading to
> > the PM knowing it still can't process that ebuild and masking it
> > appropriately.
>
> You're assuming that cache is provided by the repo,
Sigh. I'm making no such assumptions, nor would I; it's a stupid line
of thought.
All of this has to function in the absence of a cache, and that's a
core usage scenario.
> which is not
> guaranteed, depending on the source. Even if the cache does exist, then
> you're assuming it's in a format that the package manager can reliably
> parse the EAPI from, even though that EAPI may not be supported. That
> may or may not reliable assumption, and having a pre-defined protocol to
> directly obtain the EAPI without using the cache is much more reliable.
This is a nonstatement. To deal w/ the cache (validate it) you have
to be able to reliably pull EAPI out of the ebuild.
That's what this whole fucking discussion is about; really not sure
why you're trying to argue this point against eapi as a function. As
I already laid out, it can deal w/it, same as the rest. Importantly,
the approach can also work across the transition period preventing
current-day PMs (using current EAPI mechanisms) from breaking when
used against later EAPIs that were released via `eapi as a function`.
> > What I'd like to see, is accuracy in this discussion. Skip the
> > handwavey "complexity! complexity! complexity!" crap, same for
> > selective robustness definitions. Past attempts at this discussion
> > mostly failed due to people pulling crap like this and frankly it just
> > pisses people off.
>
> It's just a symptom of people not abiding by the KISS principle. When
> you start talking about an approach such as the "eapi() function"
> approach which introduces lots of unnecessary complexity, it naturally
> makes the whole discussion more complex and hand-wavey.
With respect; you're proposing we go gum up version parsing via
shoving EAPI directly into it. Literally, make what is already a
complex mess, worse. Apply some KISS to your proposal please. ;)
Just hammering the point home; compatibility *is* complex. Claiming
otherwise is naive. Case in point: your proposal breaks the shit out
of any current-day package manager that saw such a filename.
I really have a hard time reading your posts when basic issues like
that aren't paid attention to, but you've no problems claiming
complexity/brokenness in other proposals.
As I said, I'd like to see some accuracy; not hand wavy buzzwords.
I'd much more like to see prototypes of peoples proposals in addition
since at least that way they would flush out the breakages in their
proposals (potentially dropping it in the process since some of these
are pretty half baked).
~brian
next prev parent reply other threads:[~2012-03-14 2:02 UTC|newest]
Thread overview: 125+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-03-07 20:41 [gentoo-dev] RFD: EAPI specification in ebuilds Ulrich Mueller
2012-03-07 20:44 ` Ciaran McCreesh
2012-03-07 21:07 ` Alexis Ballier
2012-03-07 22:04 ` David Leverton
2012-03-07 22:14 ` Michael Orlitzky
2012-03-08 0:17 ` Ulrich Mueller
2012-03-08 12:03 ` Michał Górny
2012-03-08 15:56 ` Michael Orlitzky
2012-03-08 17:28 ` Michał Górny
2012-03-08 17:48 ` Michael Orlitzky
2012-03-08 17:53 ` Ciaran McCreesh
2012-03-08 18:37 ` Michael Orlitzky
2012-03-08 18:48 ` Ciaran McCreesh
2012-03-08 21:35 ` Michael Orlitzky
2012-03-08 23:31 ` Alec Warner
2012-03-09 3:05 ` Michael Orlitzky
2012-03-09 5:04 ` Michał Górny
2012-03-09 5:35 ` Michael Orlitzky
2012-03-09 5:51 ` Zac Medico
2012-03-09 14:42 ` Michael Orlitzky
2012-03-09 15:05 ` Zac Medico
2012-03-09 15:21 ` Michael Orlitzky
2012-03-09 15:41 ` Zac Medico
2012-03-09 15:51 ` Alexis Ballier
2012-03-09 15:58 ` Zac Medico
2012-03-09 16:49 ` Michael Orlitzky
2012-03-09 16:57 ` Zac Medico
2012-03-09 19:20 ` Ciaran McCreesh
2012-03-10 16:06 ` Zac Medico
2012-03-12 1:55 ` Brian Harring
2012-03-12 4:08 ` Zac Medico
2012-03-12 8:36 ` Brian Harring
2012-03-12 15:35 ` Ciaran McCreesh
2012-03-12 16:05 ` Zac Medico
2012-03-12 16:12 ` Ciaran McCreesh
2012-03-12 16:28 ` Zac Medico
2012-03-14 2:01 ` Brian Harring [this message]
2012-03-14 2:16 ` Zac Medico
2012-03-09 15:52 ` Ian Stakenvicius
2012-03-09 16:15 ` Zac Medico
2012-03-09 16:33 ` Eray Aslan
2012-03-09 16:43 ` Zac Medico
2012-03-09 16:29 ` Michał Górny
2012-03-09 16:57 ` Michael Orlitzky
2012-03-09 17:11 ` Ulrich Mueller
2012-03-09 17:31 ` Michael Orlitzky
2012-03-09 17:47 ` Zac Medico
2012-03-09 18:03 ` Michael Orlitzky
2012-03-09 19:08 ` Rich Freeman
2012-03-12 2:03 ` Brian Harring
2012-03-12 2:20 ` Rich Freeman
2012-03-12 2:24 ` Alec Warner
2012-03-12 6:57 ` Kent Fredric
2012-03-12 6:50 ` Kent Fredric
2012-03-12 7:08 ` Zac Medico
2012-03-12 7:39 ` Kent Fredric
2012-03-12 8:27 ` Michał Górny
2012-03-12 8:30 ` Ciaran McCreesh
2012-03-12 9:09 ` Michał Górny
2012-03-12 9:16 ` Kent Fredric
2012-03-12 9:48 ` Ulrich Mueller
2012-03-12 10:12 ` Kent Fredric
2012-03-12 15:20 ` Rich Freeman
2012-03-12 17:01 ` Zac Medico
2012-03-12 17:30 ` Rich Freeman
2012-03-12 17:46 ` Zac Medico
2012-03-12 19:20 ` Rich Freeman
2012-03-12 8:39 ` Kent Fredric
2012-03-12 9:10 ` Michał Górny
2012-03-12 3:55 ` Zac Medico
2012-03-09 17:52 ` Michał Górny
2012-03-12 1:00 ` Brian Harring
2012-03-09 18:02 ` James Broadhead
2012-03-09 18:24 ` Alexis Ballier
2012-03-09 18:29 ` Zac Medico
2012-03-09 18:33 ` Michael Orlitzky
2012-03-09 18:56 ` Zac Medico
2012-03-09 19:23 ` Ciaran McCreesh
2012-03-09 20:09 ` Michael Orlitzky
2012-03-19 1:12 ` [gentoo-dev] " Steven J Long
2012-03-19 1:36 ` Kent Fredric
2012-03-19 3:21 ` Brian Harring
2012-03-24 13:24 ` [gentoo-dev] " Steven J Long
2012-03-07 22:36 ` [gentoo-dev] " Alexandre Rostovtsev
2012-03-08 2:22 ` Jeroen Roovers
2012-03-08 16:14 ` [gentoo-dev] Ebb (eb) was: " Todd Goodman
2012-03-08 4:12 ` [gentoo-dev] " Alec Warner
2012-03-08 7:27 ` Ulrich Mueller
2012-03-08 8:13 ` Alec Warner
2012-03-08 15:27 ` Zac Medico
2012-03-08 16:11 ` David Leverton
2012-03-08 16:21 ` Zac Medico
2012-03-08 16:29 ` Ciaran McCreesh
2012-03-08 16:50 ` Zac Medico
2012-03-08 16:59 ` Alexandre Rostovtsev
2012-03-08 17:03 ` Ciaran McCreesh
2012-03-08 19:17 ` Ulrich Mueller
2012-03-08 19:31 ` Ciaran McCreesh
2012-03-08 19:48 ` Alexis Ballier
2012-03-08 9:42 ` Marc Schiffbauer
2012-03-08 16:30 ` Zac Medico
2012-03-08 16:35 ` Ciaran McCreesh
2012-03-08 17:07 ` Zac Medico
2012-03-08 17:14 ` Ciaran McCreesh
2012-03-08 17:30 ` Jeroen Roovers
2012-03-08 17:37 ` Ciaran McCreesh
2012-03-10 1:06 ` Kent Fredric
2012-03-10 13:53 ` Ciaran McCreesh
2012-03-09 11:28 ` Marc Schiffbauer
2012-03-08 12:06 ` Michał Górny
2012-03-08 15:58 ` Michael Orlitzky
2012-03-08 16:51 ` Ulrich Mueller
2012-03-08 17:03 ` Rich Freeman
2012-03-08 16:47 ` Mike Gilbert
2012-03-08 17:52 ` Michał Górny
2012-03-08 17:56 ` Ciaran McCreesh
2012-03-08 18:22 ` Zac Medico
2012-03-08 19:04 ` Ulrich Mueller
2012-03-08 19:38 ` Alexis Ballier
2012-03-09 0:50 ` Walter Dnes
2012-03-18 7:23 ` Ralph Sennhauser
2012-03-18 11:18 ` Rich Freeman
2012-03-18 11:27 ` Ulrich Mueller
2012-04-12 19:53 ` [gentoo-dev] " Ulrich Mueller
2012-04-12 20:19 ` Mike Frysinger
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20120314020127.GB7731@localhost \
--to=ferringb@gmail.com \
--cc=gentoo-dev@lists.gentoo.org \
--cc=zmedico@gentoo.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox