From: Paul Sokolovsky <pmiscml@gmail.com>
To: "Mike (mwester)" <mwester@dls.net>
Cc: openembedded-devel@lists.openembedded.org
Subject: Re: Adding support for DirectFB across the board
Date: Wed, 26 Sep 2007 03:08:44 +0300 [thread overview]
Message-ID: <1162450671.20070926030844@gmail.com> (raw)
In-Reply-To: <0be701c7ffbf$cc912850$6e01a8c0@twilight>
Hello Mike,
Wednesday, September 26, 2007, 1:02:43 AM, you wrote:
> Another ugly issue has reared its head. This occurred with the OpenMoko
> build, but will affect most other distros as well. The problem is that as
> far as bitbake is concerned, there is absolutely no difference between
> pango-directfb-1.18.1 and pango-1.18.1, at least in terms of their ability
> to satisfy dependencies.
> Thus, the simple act of creating pango-directfb-1.18.1.bb was enough for new
> builds to select pango-directfb instead of the pango recipe -- so the same
> build that worked yesterday morning fails in various ways now. On a
> positive note, at least the problem of incorrect recipe selection is
> discovered at build time that way -- if it built without error it is
> possible that the same build done today will have a radically different
> binary image than one done yesterday, and would go undetected until the
> binary failed. Note that existing build environments are fine; the
> selection of pango vs pango-directfb has already been done, and bitbake will
> be happy that the dependency on pango is met.
> My first thought was to place my favorite magic incantation (PREFERENCE =
> "-1") in the pango-directfb recipe, but that matters not. Even such
> powerful magic cannot overcome this problem.
I faced this issue too and chatted about it with Richard Purdie, but
I believe it isn't even submitted as as bitbake bug. But in general,
this should be the right and the most logic solution - unless
PREFERRED_PROVIDER explicitly selects some variant, one with higher
preference should be used, not random.
> Consulting with the experts on #oe, it seems that the only solution is to
> add "PREFERRED_PROVIDER" lines for every distro that explicitly select which
> recipe they want. I simply deleted the *-directfb recipes so I could get
> the build running, as time was not on my side -- I had 6 hours of build time
> to catch up on from this problem.
> A few questions, then:
> First, this fails the principle of "least surprise". How is it that when I
> specify a dependency on "pango" that the "pango.bb" recipe is ignored and
> the "pango-something-different.bb" recipe is used instead? That's just not
> logical. Shouldn't bitbake select the one who's name matches exactly, when
> all else is equal?
Mildly good heuristic too, but using DEFAULT_PREFERENCE would be even
better.
> Is it really necessary that pango-directfb and pango provide the same thing,
> from a "PROVIDES" point-of-view?
Apparently yes, as they provide the same facility/functionality, but
different implementation of it. It is the essence of PROVIDES. And we
shouldn't give up this idea simply because current version of
OE/bitbake doesn't do it right.
> A simple change in name would avoid this
> problem completely. I think we're just asking for confusion, and the
> problems that stem from confusion, by having multiple somethings that claim
> to provide the same thing.
> If it is, in fact, necessary that these two recipes provide the same things,
> then since one is clearly in early development and can destabilize so many
> different distros, then why can we not use a branch to do the initial
> testing and development, with a scheduled merge to the mainline so that the
> distros are all alerted to the need to verify and test when major changes
> happen? This is a pet peeve of mine - we seem to have frequent "events"
> that result in mass build breakage where the only fix is to have everyone
> delete their tmp directories, resync, and build from scratch! As a
> stockholder in Intel, I am grateful for the resulting increased demand for
> quad-core CPUs, but as a developer, each of these surprise events takes a
> full day of productivity away. I think all of us value the time we spend on
> this hobby, and doing disruptive changes on a branch in isolation just seems
> to me to be a respectful, and decent thing for each developer to do as part
> of being a community member. JMNSHO.
With a good chance, that won't improve integral productivity of OE
developers, just will make breakages "more scheduled". At least not
before we'll make tools and conventions right.
> Finally, can we have bitbake be a bit more "in your face" about its
> decisions when there are no external criteria provided? A warning to say
> "Hey! I've just selected "pango-directfb" to satisfy the dependency for
> "pango" -- but you should know that "pango" would equally-well satisfy the
> dependency, and I picked one only because you didn't provide any hints to
> select one over the other!"?
That's exactly what it does - it says something like "Consider
defining PREFERRED_PROVIDER". It's notice though, IIRC.
> Thanks,
> Mike (mwester)
[]
--
Best regards,
Paul mailto:pmiscml@gmail.com
next prev parent reply other threads:[~2007-09-26 0:13 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-09-23 19:20 Adding support for DirectFB across the board shanevolpe
2007-09-24 10:06 ` Richard Purdie
2007-09-24 11:08 ` Koen Kooi
2007-09-24 13:36 ` shanevolpe
2007-09-25 22:02 ` Mike (mwester)
2007-09-25 23:49 ` shanevolpe
2007-09-26 0:08 ` Paul Sokolovsky [this message]
2007-09-26 1:47 ` Mike (mwester)
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=1162450671.20070926030844@gmail.com \
--to=pmiscml@gmail.com \
--cc=mwester@dls.net \
--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.