All of lore.kernel.org
 help / color / mirror / Atom feed
From: Richard Purdie <richard.purdie@linuxfoundation.org>
To: openembedded-devel@lists.openembedded.org
Subject: Re: Eliminating dependency race-conditions (was Re: [PATCH] net-snmp: disable libnl use)
Date: Sat, 19 Mar 2011 00:18:06 +0000	[thread overview]
Message-ID: <1300493886.30423.2226.camel@rex> (raw)
In-Reply-To: <1300391907.2175.23.camel@eha>

On Thu, 2011-03-17 at 20:58 +0100, Esben Haabendal wrote:
> On Thu, 2011-03-17 at 18:05 +0000, Phil Blundell wrote:
> > On Thu, 2011-03-17 at 18:52 +0100, Esben Haabendal wrote:
> > > Well, it might be possible to minimize the disruption for a transitional
> > > period by carefully specifying some catch-all build-time package
> > > dependencies pulling in all packages for recipes not ported yet.
> > 
> > Yes, that's the sort of thing I was thinking of.  It isn't even totally
> > obvious to me that specifying individual packages is any better than
> > "all packages from recipe X", since with the former you then have a
> > potential maintenance headache if files get moved from one package to
> > another.
> 
> There is a number of ways that I believe package based build
> dependencies are better than recipe based.
> 
> a) It is possible to depend on parts of a recipe, which fx. is useful
> when a recipe provides more than 1 library, where you might not want all
> of them.
> 
> b) To build a recipe, you depend on some stuff which you don't need to,
> or perhaps even really don't want to pass on to recipes depending on
> this recipe.
> 
> c) KISS. Using the actual target packages for satisfying build-time
> dependencies are a very simple approach, which I strongly believe will
> make OE a better tool in the long run, by reducing complexity, and thus
> lowering the bar for contributing to OE archictural work.

I'd like to step in here and point out that your approach is not as
simple as you claim. It certainly is a really nice solution for one very
specific use case.

There are however many other problems which appear when you step away
from your isolated usecase.

Take the case of different package managers, how is that handled? Can
you only have one enabled at a given time? What happens if you switch
package manager half way through a build. Currently package managers and
package format are abstracted, I suspect we lose that with your
implementation. What if the package managers have slightly different
behaviours?

Secondly, how about task output that isn't packages? The output of
do_deploy for example(kernel/firmware/bootloader)? The pkgdata generated
by do_package? A generic extra task added by the user which outputs some
data?

What you're proposing is to totally actually totally collapse our
current generic task structure into something entirely governed by
target packages and their specific requirements. Of course you could say
the existing mechanisms are still available but then where is the
simplification?

sstate is very simple in concept and very simple in operation compared
to anything we've previously had. It is generic being task based and can
apply to any task as required. It doesn't require radical changes to the
existing model, there is a clear migration path and it also embraces
things like the checksum/signature generation which I believe are going
to play a significant role in the future.

This isn't to say what you're doing is wrong or that we shouldn't be
looking at it for ideas but I believe it needs to be something
incremental on top of what we already have and functionality we have now
cannot simply be lost as people use it.

Cheers,

Richard





  parent reply	other threads:[~2011-03-19  0:20 UTC|newest]

Thread overview: 40+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-03-11 11:04 [PATCH] net-snmp: disable libnl use Steffen Sledz
2011-03-11 13:05 ` Koen Kooi
2011-03-11 15:53   ` Steffen Sledz
2011-03-12  0:05     ` Khem Raj
2011-03-14  7:06       ` Steffen Sledz
2011-03-14 16:39         ` Khem Raj
2011-03-15  9:08 ` Eliminating dependency race-conditions (was Re: [PATCH] net-snmp: disable libnl use) Esben Haabendal
2011-03-15 22:03   ` Denys Dmytriyenko
2011-03-16  5:47     ` Eliminating dependency race-conditions Esben Haabendal
2011-03-16  6:22       ` Python-native dependency in libxml2 Ahsan, Noor
2011-03-16  7:08         ` Khem Raj
2011-03-16  7:28           ` Frans Meulenbroeks
2011-03-16  7:43             ` Khem Raj
2011-03-16  8:00               ` Frans Meulenbroeks
2011-03-16  8:05             ` Martin Jansa
2011-03-16  8:38               ` Ahsan, Noor
2011-03-17 10:40                 ` Ahsan, Noor
2011-03-18  7:41                   ` Ahsan, Noor
2011-03-18  8:38                     ` Martin Jansa
2011-03-18  9:47                       ` Koen Kooi
2011-03-18  9:01                     ` Frans Meulenbroeks
2011-03-16  6:35       ` Eliminating dependency race-conditions Frans Meulenbroeks
2011-03-15 23:15   ` Eliminating dependency race-conditions (was Re: [PATCH] net-snmp: disable libnl use) Graham Gower
2011-03-17 11:18   ` Phil Blundell
2011-03-17 14:43     ` Esben Haabendal
2011-03-17 14:52       ` Graeme Gregory
2011-03-17 15:24         ` Koen Kooi
2011-03-17 15:07       ` Phil Blundell
2011-03-17 17:52         ` Esben Haabendal
2011-03-17 18:05           ` Phil Blundell
2011-03-17 19:58             ` Esben Haabendal
2011-03-17 21:00               ` Phil Blundell
2011-03-18  5:29                 ` Esben Haabendal
2011-03-18 10:26                   ` Phil Blundell
2011-03-18 12:14                     ` Eliminating dependency race-conditions Esben Haabendal
2011-03-19  0:32                       ` Richard Purdie
2011-03-22  9:01                         ` Esben Haabendal
2011-03-23 20:31                           ` Frans Meulenbroeks
2011-03-19  0:18               ` Richard Purdie [this message]
2011-03-22  9:00                 ` Esben Haabendal

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=1300493886.30423.2226.camel@rex \
    --to=richard.purdie@linuxfoundation.org \
    --cc=openembedded-devel@lists.openembedded.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.