All of lore.kernel.org
 help / color / mirror / Atom feed
From: Richard Purdie <richard.purdie@linuxfoundation.org>
To: Jason Wessel <jason.wessel@windriver.com>
Cc: bitbake-devel@lists.openembedded.org
Subject: Re: [PATCH 0/2] Signature-based rebuild improvements
Date: Wed, 20 Jun 2012 09:42:37 +0100	[thread overview]
Message-ID: <1340181757.1640.30.camel@ted> (raw)
In-Reply-To: <4FE065F9.6010300@windriver.com>

On Tue, 2012-06-19 at 06:43 -0500, Jason Wessel wrote:
> On 06/18/2012 10:45 AM, Paul Eggleton wrote:
> > The following changes (against poky, but apply cleanly with -p2 against
> > bitbake master) are available in the git repository at:
> > 
> >   git://git.yoctoproject.org/poky-contrib paule/bb-forcebuild
> >   http://git.yoctoproject.org/cgit.cgi/poky-contrib/log/?h=paule/bb-forcebuild
> > 
> > Paul Eggleton (2):
> >   bitbake: ensure -f causes dependent tasks to be re-run
> >   bitbake: add -C option to invalidate a task and rebuild the target
> > 
> >  bitbake/bin/bitbake        |    3 +++
> >  bitbake/lib/bb/build.py    |   18 ++++++++++++++++++
> >  bitbake/lib/bb/cooker.py   |    6 +++---
> >  bitbake/lib/bb/runqueue.py |   28 ++++++++++++++++++++++------
> >  bitbake/lib/bb/siggen.py   |   35 +++++++++++++++++++++++++++++++++++
> >  5 files changed, 81 insertions(+), 9 deletions(-)
> 
> While the use cases described in the defect work, there is a new side
> effect.  The sstate dir starts to fill up with new sums for the what
> ever package you compile.  Perhaps this is some kind of trade off we
> have to live with, but I do thing it is worth discussing.
>
> I start with a fully populated sstate.  I didn't make any code changes
> at all to any package, I just wanted to see the compile log from acl
> in this case.
>
>     bitbake -f -c compile acl
>     bitbake acl
>
> The sstate sum is completely different due to the hash injection, but
> the code compiled for everything is the same.  There is probably no
> easy, cheap (as in cpu/wall time) way to have the best of both worlds.

I think this fix is good and solves various immediate problems. Thinking
forward to the future, if you can know the state of a code base as a
checksum, you could inject that as the "taint" and then you would be
able to match two existing matching compiles. Having everything under
git control for example would be a cheap way to do this, if you can
gurantee that all changes were encapsulated.

For the menuconfig example, I did wonder about checksumming the new
defconfig and injecting that for example.

What I like about the architecture of the taint implementation is that
it doesn't preclude any of the above so its something we can think about
and work towards if we can come up with a good enough plan :)

Cheers,

Richard




      parent reply	other threads:[~2012-06-20  8:53 UTC|newest]

Thread overview: 21+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-06-18 15:45 [PATCH 0/2] Signature-based rebuild improvements Paul Eggleton
2012-06-18 15:45 ` [PATCH 1/2] bitbake: ensure -f causes dependent tasks to be re-run Paul Eggleton
2012-06-19 19:35   ` Björn Stenberg
2012-06-19 23:50     ` Paul Eggleton
2012-06-20  7:45       ` Björn Stenberg
2012-06-20  7:55       ` Björn Stenberg
2012-06-20  8:38         ` Richard Purdie
2012-06-20  8:40         ` Paul Eggleton
2012-06-21 11:25           ` Björn Stenberg
2012-06-21 12:10             ` Paul Eggleton
2012-06-21 12:26               ` Björn Stenberg
2012-06-21 13:25                 ` Paul Eggleton
2012-06-21 13:41                 ` Björn Stenberg
2012-06-21 13:52                   ` Paul Eggleton
2012-06-21 14:44                 ` Richard Purdie
2012-06-18 15:45 ` [PATCH 2/2] bitbake: add -C option to invalidate a task and rebuild the target Paul Eggleton
2012-06-19 11:43 ` [PATCH 0/2] Signature-based rebuild improvements Jason Wessel
2012-06-19 13:02   ` Paul Eggleton
2012-06-19 17:20   ` Gopi - College
2012-06-20 18:11     ` p2020rdb - httpd+php Gopi - College
2012-06-20  8:42   ` Richard Purdie [this message]

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=1340181757.1640.30.camel@ted \
    --to=richard.purdie@linuxfoundation.org \
    --cc=bitbake-devel@lists.openembedded.org \
    --cc=jason.wessel@windriver.com \
    /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.