[OE-core] [PATCH] image.bbclass: Don't mark do_rootfs and do_build as nostamp

Koen Kooi koen at dominion.thruhere.net
Sat Apr 27 09:20:21 UTC 2013


Op 27 apr. 2013, om 11:08 heeft Richard Purdie <richard.purdie at linuxfoundation.org> het volgende geschreven:

> On Sat, 2013-04-27 at 09:34 +0100, Paul Eggleton wrote:
>> On Friday 26 April 2013 12:30:38 Phil Blundell wrote:
>>> There doesn't appear to be any compelling reason for these tasks to be
>>> nostamp and having them re-run on every build can be irritating (for
>>> example, when the image is an initramfs which your kernel image depends
>>> on).
>>> 
>>> Signed-off-by: Phil Blundell <philb at gnu.org>
>>> ---
>>> meta/classes/image.bbclass |    2 --
>>> 1 file changed, 2 deletions(-)
>>> 
>>> diff --git a/meta/classes/image.bbclass b/meta/classes/image.bbclass
>>> index ffb372a..667d03d 100644
>>> --- a/meta/classes/image.bbclass
>>> +++ b/meta/classes/image.bbclass
>>> @@ -168,11 +168,9 @@ LINGUAS_INSTALL ?= "${@" ".join(map(lambda s:
>>> "locale-base-%s" % s, d.getVar('IM
>>> 
>>> PSEUDO_PASSWD = "${IMAGE_ROOTFS}"
>>> 
>>> -do_rootfs[nostamp] = "1"
>>> do_rootfs[dirs] = "${TOPDIR} ${WORKDIR}/intercept_scripts"
>>> do_rootfs[lockfiles] += "${IMAGE_ROOTFS}.lock"
>>> do_rootfs[cleandirs] += "${S} ${WORKDIR}/intercept_scripts"
>>> -do_build[nostamp] = "1"
>>> 
>>> # Must call real_do_rootfs() from inside here, rather than as a separate
>>> # task, so that we have a single fakeroot context for the whole process.
>> 
>> I have to say I'm not in favour of this. AFAIK these tasks have always been 
>> nostamp, and I'm not sure making do_build is going to help for the case you 
>> cite because the dependency on INITRD_IMAGE is on do_rootfs.
>> 
>> If you're concerned about your initramfs image rebuilding when building the 
>> main image, what happens if you specify do_rootfs[nostamp] = "0" ?
> 
> I think this deserves some further thought. It is a pretty major change
> however it is something I've wondered about for a while independently of
> Phil, I've just never proposed a patch.
> 
> It might help to think about this in an alternative way. Before we has
> the sstate checksums, it was near impossible to know when the inputs to
> an image had changed and when they had not. Now with the sstate
> checksums, we can know when any given input has changed and if it has
> changed, the sstate checksum changes and the task re-runs.
> 
> You can therefore make the case that these "nostamp" tasks are a legacy
> of the former world and that now, there is no compelling reason to have
> them as nostamp. If you particularly want to force them to run, we do
> have the -f option and its tainting works here just as well as it does
> anywhere else.
> 
> If the rootfs nostamp is removed, there is no reason to have build as a
> nostamp either, they were there as a pair.
> 
> Further thoughts?

You summed up my thoughts on this quite nicely :)

regards,

Koen



More information about the Openembedded-core mailing list