[OE-core] [PATCH] Modify buildstats to be merged inside buildhistory
Richard Purdie
richard.purdie at linuxfoundation.org
Fri Nov 1 18:07:17 UTC 2013
On Fri, 2013-11-01 at 19:03 +0100, Corneliu Stoicescu wrote:
> - added buildstats inheritance inside buildhistory
> - reworked the buildstats directory structure not to contain the build name(read: the build start date).
> Now it only contains the target name and machine. This is usefull in order to reduce git noise.
> - because builds are no longer separated by build name(read: date) it is necessary to remake(remove and create from scratch)
> the buildstats folder for each build in order keep buildstats compatible with tools like pybootchartgui.py
>
> Some changes to make the new functionality compatible with Yocto:
> - remove buildstats from default usage because it now needs buildhistory (remove it from USER_CLASSES in local.conf)
> - add 'buildhistory' to USER_CLASSES or add INHERIT += "buildhistory" in local.conf
> OPTIONAL: - I tested this patch with buildhistory under git enabled (BUILDHISTORY_COMMIT = "1" in local.conf). I believe this
> should be made default.
>
> I made some tests with the buildhistory-diff tool and it is compatible with the changes. We can add further functionality
> to it in order to make it interpret buildstats data.
>
> Signed-off-by: Corneliu Stoicescu <corneliux.stoicescu at intel.com>
> ---
> meta/classes/buildhistory.bbclass | 1 +
> meta/classes/buildstats.bbclass | 8 ++++++--
> 2 files changed, 7 insertions(+), 2 deletions(-)
>
> diff --git a/meta/classes/buildhistory.bbclass b/meta/classes/buildhistory.bbclass
> index 3da03c8..a78bd4b 100644
> --- a/meta/classes/buildhistory.bbclass
> +++ b/meta/classes/buildhistory.bbclass
> @@ -19,6 +19,7 @@ BUILDHISTORY_PUSH_REPO ?= ""
>
> # Must inherit package first before changing PACKAGEFUNCS
> inherit package
> +inherit buildstats
> PACKAGEFUNCS += "buildhistory_emit_pkghistory"
We could do a
BUILDSTATS_BASE = "${BUILDHISTORY_DIR}/buildstats"
in buildhistory.bbclass
> # We don't want to force a rerun of do_package for everything
> diff --git a/meta/classes/buildstats.bbclass b/meta/classes/buildstats.bbclass
> index 72fff11..476ae94 100644
> --- a/meta/classes/buildstats.bbclass
> +++ b/meta/classes/buildstats.bbclass
> @@ -1,4 +1,4 @@
> -BUILDSTATS_BASE = "${TMPDIR}/buildstats/"
and here do BUILDSTATS_BASE ??= "${TMPDIR}/buildstats/"
> +BUILDSTATS_BASE = "${BUILDHISTORY_DIR}/buildstats"
> BNFILE = "${BUILDSTATS_BASE}/.buildname"
> DEVFILE = "${BUILDSTATS_BASE}/.device"
so when buildhistory is used, buildstats automatically becomes part of
it?
> @@ -33,7 +33,7 @@ def set_bn(e):
>
> def get_bn(e):
> with open(e.data.getVar('BNFILE', True)) as f:
> - bn = f.readline()
> + bn = str(f.readline()).split("/")[0]
> return bn
>
> def set_device(e):
> @@ -175,6 +175,10 @@ python run_buildstats () {
> # set the buildname
> ########################################################################
> try:
> + bb.utils.remove(e.data.getVar('BUILDSTATS_BASE', True), recurse=True)
Do we need to remove this?
I'll let Paul comment on other elements of this.
Cheers,
Richard
> + except:
> + pass
> + try:
> bb.utils.mkdirhier(e.data.getVar('BUILDSTATS_BASE', True))
> except:
> pass
More information about the Openembedded-core
mailing list