All of lore.kernel.org
 help / color / mirror / Atom feed
From: Gary Thomas <gary@mlbassoc.com>
To: Martin Jansa <martin.jansa@gmail.com>
Cc: Poky Project <poky@yoctoproject.org>
Subject: Re: sstate info
Date: Thu, 12 Jan 2012 08:33:27 -0700	[thread overview]
Message-ID: <4F0EFD47.1070708@mlbassoc.com> (raw)
In-Reply-To: <20120112133749.GD3452@jama.jama.net>

On 2012-01-12 06:37, Martin Jansa wrote:
> On Thu, Jan 12, 2012 at 06:31:01AM -0700, Gary Thomas wrote:
>> On 2012-01-12 06:13, Martin Jansa wrote:
>>> On Thu, Jan 12, 2012 at 02:57:21AM -0700, Gary Thomas wrote:
>>>> I'm trying to understand why sstate sometimes [most times in my case]
>>>> is not reusable.  Comparing some of the .siginfo files gives me some
>>>> info, e.g.
>>>>
>>>> $ bitbake-diffsigs p60_poky/sstate-cache/sstate-pseudo-native-i686-linux-1.2-r4-i686-2-66ad8e10f260d506d065831a738c04a3_populate-sysroot.tgz.siginfo
>>>> p60_test_pass1/sstate-cache/sstate-pseudo-native-i686-linux-1.2-r4-i686-2-c7e01d52b467bbe3af0556a43806521a_populate-sysroot.tgz.siginfo
>>>> Hash for dependent task virtual:nativepseudo_1.2.bb.do_install changed from 9edd41e331b29f08941225709c325a0d to 9865df7c4aa84fdb288c06faecf63426
>>>>
>>>> How do I figure out what went into the hash(es) that changed?
>>>
>>> Try to look in stamps directory
>>>
>>> something like:
>>> tmp-eglibc/stamps/x86_64-linux/pseudo-native-1.2-r4.do_install.sigdata.504f9aac443e1f135aa2d1cbcf84c614
>>
>> How can I interpret the contents of that file?
>
> find file for virtual:nativepseudo_1.2.bb.do_install
> with checksum 9edd41e331b29f08941225709c325a0d and
> with checksum 9865df7c4aa84fdb288c06faecf63426 and
> then compare them with bitbake-diffsigs again
>
> or use bitbake-diffsigs for one sigdata file

I worked this down to the do_patch in pseudo-native:
$ bitbake-diffsigs p60_poky/tmp/stamps/i686-linux/pseudo-native-1.2-r4.do_patch.sigdata.6e97a41d825568db298fdc9dbaed563c 
p60_test_pass1/tmp/stamps/i686-linux/pseudo-native-1.2-r4.do_patch.sigdata.a0d4e99625c211f4f1d793213014ac07
basehash changed from f5994d735ee2b909b72ee811364befc1 to 564be8db4146afa5fc3579dc4c1618d3
Variable DATE value changed from 20120110 to 20120111
Hash for dependent task quilt-native_0.50.bb.do_populate_sysroot changed from 9307106f3c5dfd49d953e206cb1b6da5 to 24151a370083d625b84a2afb77955021

Why is DATE as a variable important?
Why is it not ignored by this statement in ./meta/classes/patch.bbclass?
    patch_do_patch[vardepsexclude] = "DATE SRCDATE PATCHRESOLVE"

As is, it seems that the sstate cache is only good on the day it
was made :-(

Here's what I tried yesterday:
   * Create a new build, e.g.
     % . /local/poky/oe-init-build-env /local/test_pass1
     -- adjust local.conf to match desired target
     % bitbake core-image-minimal
   * Create a new build, using the previous one's sstate-cache
     % . /local/poky/oe-init-build-env /local/test_pass2
     -- adjust local.conf to match desired target
     -- enable sstate cache via these lines in local.conf:
          SSTATE_MIRRORS ?= "\
          file://.* file:///local/test_pass1/sstate-cache/"
     % bitbake core-image-minimal

This all went to plan - the sstate cache was reused for every package except
one.  For some reason, dbus-1 had to be rebuilt.

Today, I tried it again, just like the second step.  Low and behold, virtually
none of the sstate packages were reused :-(  This seems totally broken to me
and has been filed as bug #1896

-- 
------------------------------------------------------------
Gary Thomas                 |  Consulting for the
MLB Associates              |    Embedded world
------------------------------------------------------------


  reply	other threads:[~2012-01-12 15:33 UTC|newest]

Thread overview: 24+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-01-12  9:57 sstate info Gary Thomas
2012-01-12 13:13 ` Martin Jansa
2012-01-12 13:31   ` Gary Thomas
2012-01-12 13:37     ` Martin Jansa
2012-01-12 15:33       ` Gary Thomas [this message]
2012-01-12 16:53         ` McClintock Matthew-B29882
2012-01-12 17:06           ` Gary Thomas
2012-01-12 17:23             ` McClintock Matthew-B29882
2012-01-12 21:07               ` Gary Thomas
2012-01-12 21:12                 ` Chris Larson
2012-01-12 21:14                   ` McClintock Matthew-B29882
2012-01-13 15:23                   ` Gary Thomas
2012-01-13 15:40                     ` McClintock Matthew-B29882
2012-01-13 16:27                       ` Richard Purdie
2012-01-13 16:53                         ` Gary Thomas
2012-01-13 17:11                           ` Gary Thomas
2012-01-14 13:30                             ` Gary Thomas
2012-01-15  0:06                               ` Richard Purdie
2012-01-13 18:09                           ` Richard Purdie
2012-01-13 18:19                             ` Gary Thomas
2012-01-13 19:36                               ` McClintock Matthew-B29882
2012-01-13 18:10                           ` Richard Purdie
2012-01-12 21:13                 ` McClintock Matthew-B29882
2012-01-12 21:28                   ` Gary Thomas

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=4F0EFD47.1070708@mlbassoc.com \
    --to=gary@mlbassoc.com \
    --cc=martin.jansa@gmail.com \
    --cc=poky@yoctoproject.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.