From 370c0c5fc2f5cf4efc117f8744b20a9d4a26e3ab Mon Sep 17 00:00:00 2001 From: Phil Blundell Date: Fri, 3 May 2013 13:38:22 +0100 Subject: [PATCH] image.bbclass: Don't mark do_rootfs and do_build as nostamp When image.bbclass was first conceived (as rootfs_ipk.bbclass), oemake was unable to figure out when the inputs to do_rootfs had changed in such a way that it would need to be rerun. Absent any reliable information of this kind, it was necessary to adopt the conservative assumption that images always needed rebuilding and, to this end, do_rootfs and do_build in image recipes were marked as nostamp. (The nostamp annotation for do_build was added in oe-classic commit 80d622e0c1dbc284858e01d3eb670303a6d8cdf9 from January 2005; the exact point at which do_rootfs was made nostamp is obscure, but it predates oe-classic revision 63fad339e01d4b16105146c32a61f24460397126.) This situation persisted for the following eight years but, during that period, oemake evolved into today's sstate-enabled bitbake, oe itself gained the OEBasicHash algorithm which can reliably detect changes to the input data for do_rootfs or any other task, and OEBasicHash was made the default for oe-core in 4199efed48005a62267fa3374c33b13627d85f44 (June 2012). Given these various changes in the wider landscape, there is no longer any obvious benefit to having these two tasks marked as nostamp, and indeed having them so marked causes needless rebuilds which can be annoying. Anybody who does genuinely wish to rerun these tasks when nothing in the input has changed can run "bitbake -f", just like with any other task. So, let's remove the nostamp annotations and just let bitbake figure out when to rerun them. (From OE-Core rev: 8505008c115efb54d18e5f25441c7a938a32ffaf) Signed-off-by: Phil Blundell Signed-off-by: Richard Purdie --- meta/classes/image.bbclass | 2 -- 1 file changed, 2 deletions(-) diff --git a/meta/classes/image.bbclass b/meta/classes/image.bbclass index 5bc0ca2..979921f 100644 --- a/meta/classes/image.bbclass +++ b/meta/classes/image.bbclass @@ -167,11 +167,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. -- 2.7.4