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.

(From OE-Core rev: 953df67eb877a6d0fc68d122964440a9a47de3c3)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Paul Eggleton 2014-02-11 16:10:11 +00:00 committed by Richard Purdie
parent 93a4de6a72
commit 4021080d8e
1 changed files with 4 additions and 1 deletions

View File

@ -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 <koen@openembedded.org>
#
@ -18,6 +18,8 @@ BUILDHISTORY_COMMIT_AUTHOR ?= "buildhistory <buildhistory@${DISTRO}>"
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')