[oe] Amend nullifies cache

Ambrose, Martin martin at ti.com
Sat Jun 19 22:58:01 UTC 2010


Hi.

I find that by inheriting "amend" in my local.conf effectively negates the cache.
I added a debug statement to cache.py to see why all my recipes were being removed from the cache every time.

	$ bitbake -D -b arago-feed-configs -f -c clean | grep MJA -A 2
	DEBUG: MJA: removing /home/user/work/oe/arago/recipes/arago/arago-feed-configs.bb from cache since /home/user/work/oe/arago/recipes/arago/files/amend.inc doesn't exist
	DEBUG: Removing /home/user/work/oe/arago/recipes/arago/arago-feed-configs.bb from cache
	DEBUG: Parsing /home/user/work/oe/arago/recipes/arago/arago-feed-configs.bb

This seems undesirable as most recipes don't have amendments. Now retrying with empty amend.inc files.
Note I need two since (I think) the search is based on FILESPATH. The first call is just to 
rebuild the cache (i.e. calling without -b option to bitbake).
	$ touch ~/work/oe/arago/recipes/arago/files/amend.inc
	$ touch ~/work/oe/arago/recipes/arago/amend.inc
	$ bitbake arago-feed-configs -f -c clean
...
	$ bitbake -D -b arago-feed-configs -f -c clean | grep MJA -A 2

The last command had no match for grep indicating recipe wasn't removed from the cache.
Is this expected? Maybe I'm missing a config setting somewhere or possibly a patch...
I do see this comment in amend.bbclass

    # Adding all amend.incs that can exist to the __depends, to ensure that
    # creating one of them invalidates the bitbake cache.  Note that it
    # requires a fix in bitbake.  Without the bitbake fix, the cache will be
    # completely invalidated on every bitbake execution.

Which bitbake fix is that so that I can confirm or deny? Though I expect
I have it since this comment was added in an older commit (73bf2289) when the
file was named amend-recipes.inc. I couldn't find reference to this patch in the
ML maybe because of its age.

Looking further into the amend.bbclass I see that it doesn't add the amend.inc files
to the dependency list if they aren't present on the filesystem. And I verified this by
further debug prints. This is good but leads to the question of where/when these non-existent
files are added to the dependency list.


Regards,
Martin

P.S.
No sure if this is the right mailing list but it seems specific to the way amend.bbclass
works with the cache. Let me know if I should post elsewhere.





More information about the Openembedded-devel mailing list