From 953df67eb877a6d0fc68d122964440a9a47de3c3 Mon Sep 17 00:00:00 2001 From: Paul Eggleton Date: Tue, 11 Feb 2014 16:10:11 +0000 Subject: classes/buildhistory: avoid buildhistory triggering rebuilds (again) Postfuncs are now incorporated into task signatures as of BitBake rev b84d010144de687667cf855ddcb41c9b863c236e, so we need to exclude the one we're adding to do_fetch. The change to the SSTATEPOSTINSTFUNCS variable value was also entering the signatures of do_populate_sysroot and probably other tasks, so we need to use a slightly hacky trick to avoid that as well. Apart from the final do_rootfs / do_populate_sysroot, this now means that adding and removing INHERIT += "buildhistory" will not cause tasks to be re-run. Also update the copyright date, properly this time. Signed-off-by: Paul Eggleton Signed-off-by: Richard Purdie --- meta/classes/buildhistory.bbclass | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/meta/classes/buildhistory.bbclass b/meta/classes/buildhistory.bbclass index 6d1e74afe1..c048ca290e 100644 --- a/meta/classes/buildhistory.bbclass +++ b/meta/classes/buildhistory.bbclass @@ -3,7 +3,7 @@ # # Based in part on testlab.bbclass and packagehistory.bbclass # -# Copyright (C) 2013 Intel Corporation +# Copyright (C) 2011-2014 Intel Corporation # Copyright (C) 2007-2011 Koen Kooi # @@ -18,6 +18,8 @@ BUILDHISTORY_COMMIT_AUTHOR ?= "buildhistory " BUILDHISTORY_PUSH_REPO ?= "" SSTATEPOSTINSTFUNCS += "buildhistory_emit_pkghistory" +# We want to avoid influence the signatures of sstate tasks +SSTATEPOSTINSTFUNCS[vardepvalue] := "${@d.getVar('SSTATEPOSTINSTFUNCS', False).replace(' buildhistory_emit_pkghistory', '')}" # # Write out metadata about this package for comparision when writing future packages @@ -595,6 +597,7 @@ def _get_srcrev_values(d): return (dict_srcrevs, dict_tag_srcrevs) do_fetch[postfuncs] += "write_srcrev" +do_fetch[vardepsexclude] += "write_srcrev" python write_srcrev() { pkghistdir = d.getVar('BUILDHISTORY_DIR_PACKAGE', True) srcrevfile = os.path.join(pkghistdir, 'latest_srcrev') -- cgit 1.2.3-korg