From: Brian Harring <ferringb@gmail.com>
To: gentoo-dev@lists.gentoo.org
Cc: axs@gentoo.org
Subject: Re: [gentoo-dev] Unified DEPENDENCIES concept
Date: Sat, 15 Sep 2012 13:33:18 -0700 [thread overview]
Message-ID: <20120915203318.GH28593@localhost> (raw)
In-Reply-To: <CAATnKFB54avLas3Cn6vXuDS4j5F3pQ0MbWL6k-wRxteZehdiDg@mail.gmail.com>
On Sat, Sep 15, 2012 at 11:06:01PM +1200, Kent Fredric wrote:
> On 14 September 2012 10:17, Brian Harring <ferringb@gmail.com> wrote:
> >> All you need is something in bash that can parse DEPENDENCIES and
> >> populate *DEPEND , and the underlying guts could be done in
> >> practically any language without requiring PM specific
> >> implementations.
> >
> > You've got it inverted; if any autopopulation is occuring, *DEPEND ->
> > DEPENDENCIES is the sane form.
> >
> > While it definitely *is* possible to render DEPENDENCIES down into
> > depend/rdepend (after all, the PM has to do exactly this for
> > resolution), that does /not/ mean doing it in bash is a good idea.
> >
> > I'd really not want to try that using labels; using use conditionals
> > ('dep:run,build? ( targets )') is frankly a bit easier imo, but still;
> > why do so unless one likes pain? It doesn't actually gain us
> > anything via missing the point of DEPENDENCIES.
> >
> > The point of unified DEPENDENCIES var (regardless of the form) is
> > thus:
> > 1) ability to specify common deps once, w/out having to use
> > intermediate vars/copy-pasting/etc. Think COMMON_DEPEND, and this
> > should make sense.
> >
> > 2) To shift to a form where adding new dependency targets is easy-
> > whether it be sdepend, fdepend, tdepend, or hdepend (or
> > ONE-RING-DEPEND to rule them all). This actually is rather important;
> > for the average 95% case, devs won't actually have to pay much
> > attention to those vars; but for those of us a bit further out (cross
> > compilation, heavy parallelization, etc) those depend forms are
> > becoming increasingly painful in their absense.
> >
> >
> > Basically, having devs specify DEPENDENCIES in ebuilds, which then an
> > eclass chunks out into DEPEND/RDEPEND misses the point of this; it's
> > doable, it's just not particularly sane imo.
> >
> > The other way around, having *DEPEND automatically be collapsed into
> > DEPENDENCIES, however is very sane- it makes transition/compatibilty
> > for devs bloody simple, while structuring it so we can do further
> > enhancements.
> >
> > ~harring
> >
>
>
> Sure, but at least this makes it a viable proof-of-concept without
> needing all the different PM's to implement the new spec first, and
> due to not being EAPI bound when done this way, means you can just do
> it and have it work both now and in the future.
>
> And because of this "experimental" nature, you don't have to do *ALL*
> the parsing in bash, you could make the eclass use some external code
> to parse it and spit it out, and simply have the eclass depend on that
> external program regardless.
>
> I agree that long term, a Unified DEPENDENCIES implementation is the
> way forward, but if you want to convince people, having something
> which has been demonstrated and tested in a real world setting goes a
> long way.
Honestly, QA would be well within their rights to kick anyone who did
this, *hard* in the shins.
I understand your notion- specifically proof of concept, show the
data, etc; I just think you've still got inverted, too focused on
trying to do it in bash.
To demonstrate the gain of this, we basically take the existing tree's
deps, and re-render it into a unified DEPENDENCIES form.
As for adding support to a PM, if we use the use conditional proposal
of mine, it's bloody simple- the PM already supports it, we just need
some minor USE_EXPAND adjustments.
~harring
next prev parent reply other threads:[~2012-09-15 20:34 UTC|newest]
Thread overview: 82+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-09-07 11:45 [gentoo-dev] Unified DEPENDENCIES concept Ciaran McCreesh
2012-09-07 12:29 ` Michał Górny
2012-09-07 12:36 ` Ciaran McCreesh
2012-09-07 14:23 ` Michał Górny
2012-09-07 14:53 ` Ciaran McCreesh
2012-09-07 15:02 ` Michał Górny
2012-09-07 15:07 ` Ciaran McCreesh
2012-09-07 15:16 ` Michał Górny
2012-09-07 15:25 ` Wulf C. Krueger
2012-09-07 14:50 ` Ian Stakenvicius
2012-09-07 14:58 ` Ciaran McCreesh
2012-09-07 15:46 ` Alexis Ballier
2012-09-07 16:03 ` Michał Górny
2012-09-07 16:11 ` Ian Stakenvicius
2012-09-07 16:28 ` Michael Mol
2012-09-07 16:34 ` Ciaran McCreesh
2012-09-07 16:40 ` "Paweł Hajdan, Jr."
2012-09-07 16:47 ` Ciaran McCreesh
2012-09-07 17:40 ` Alexis Ballier
2012-09-07 18:21 ` Michał Górny
2012-09-07 19:59 ` Alexis Ballier
2012-09-07 20:10 ` Michał Górny
2012-09-07 20:14 ` Ian Stakenvicius
2012-09-11 2:16 ` Brian Harring
2012-09-13 19:18 ` Kent Fredric
2012-09-13 22:17 ` Brian Harring
2012-09-15 11:06 ` Kent Fredric
2012-09-15 20:33 ` Brian Harring [this message]
2012-09-15 22:03 ` Michał Górny
2012-09-16 1:20 ` [gentoo-dev] example conversion of gentoo-x86 current deps to unified dependencies Brian Harring
2012-09-16 2:39 ` Diego Elio Pettenò
2012-09-16 7:39 ` Ben de Groot
2012-09-16 13:15 ` Brian Harring
2012-09-18 22:51 ` Matt Turner
2012-09-19 4:22 ` Ben de Groot
2012-09-19 10:59 ` [gentoo-dev] " Duncan
2012-09-19 13:09 ` Michael Orlitzky
2012-09-19 13:16 ` Ian Stakenvicius
2012-09-30 22:15 ` Brian Harring
2012-10-01 0:23 ` Duncan
2012-10-02 17:47 ` Ian Stakenvicius
2012-10-03 4:00 ` Ben de Groot
2012-10-07 14:09 ` [gentoo-dev] " Steven J. Long
2012-09-16 7:56 ` [gentoo-dev] " Michał Górny
2012-09-16 11:10 ` Brian Harring
2012-09-16 11:21 ` Michał Górny
2012-09-16 11:49 ` Brian Harring
2012-09-16 12:02 ` Michał Górny
2012-09-16 13:38 ` Brian Harring
2012-09-07 16:10 ` [gentoo-dev] Unified DEPENDENCIES concept Ciaran McCreesh
2012-09-07 16:53 ` Zac Medico
2012-09-07 16:58 ` Ciaran McCreesh
2012-09-07 17:02 ` Ian Stakenvicius
2012-09-07 17:40 ` Zac Medico
2012-09-07 17:58 ` Ian Stakenvicius
2012-09-07 18:18 ` Zac Medico
2012-09-07 18:23 ` Ciaran McCreesh
2012-09-07 18:23 ` Zac Medico
2012-09-07 18:23 ` Michał Górny
2012-09-07 18:31 ` Ciaran McCreesh
2012-09-07 18:46 ` Michał Górny
2012-09-07 18:52 ` Ciaran McCreesh
2012-09-07 19:11 ` Michał Górny
2012-09-07 19:13 ` Ciaran McCreesh
2012-09-07 19:21 ` Michał Górny
2012-09-07 19:25 ` Ciaran McCreesh
2012-09-07 20:07 ` Michał Górny
2012-09-07 20:15 ` Ciaran McCreesh
2012-09-07 20:08 ` Ian Stakenvicius
2012-09-07 20:14 ` Ciaran McCreesh
2012-09-07 20:28 ` Ian Stakenvicius
2012-09-07 20:40 ` Ciaran McCreesh
2012-09-07 19:42 ` Ian Stakenvicius
2012-09-07 17:31 ` Zac Medico
2012-09-07 16:12 ` "Paweł Hajdan, Jr."
2012-09-07 16:43 ` Michał Górny
2012-09-07 22:55 ` Michael Orlitzky
2012-09-08 6:43 ` Ciaran McCreesh
2012-09-08 13:01 ` Michael Orlitzky
2012-09-08 7:27 ` Michał Górny
2012-09-08 1:02 ` Patrick Lauer
2012-09-09 3:32 ` Matt Turner
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=20120915203318.GH28593@localhost \
--to=ferringb@gmail.com \
--cc=axs@gentoo.org \
--cc=gentoo-dev@lists.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