Hi Alejandro, We're getting there, thanks for your patience - just a few more tweaks:
On Tuesday 04 November 2014 12:09:13 Alejandro Hernandez wrote: > build information to target filesystem on /etc/build Looks like the shortlog has been split over two lines here... > such as enabled layers, their current status and commit. > > [YOCTO #6770] > > Signed-off-by: Alejandro Hernandez <alejandro.hernan...@linux.intel.com> > --- > meta/classes/image-buildinfo.bbclass | 76 > ++++++++++++++++++++++++++++++++++++ 1 file changed, 76 insertions(+) > create mode 100644 meta/classes/image-buildinfo.bbclass > > diff --git a/meta/classes/image-buildinfo.bbclass > b/meta/classes/image-buildinfo.bbclass new file mode 100644 > index 0000000..d695d24 > --- /dev/null > +++ b/meta/classes/image-buildinfo.bbclass > @@ -0,0 +1,76 @@ > +# > +# Writes build information to target filesystem on /etc/build > +# > +# Copyright (C) 2014 Intel Corporation > +# Author: Alejandro Enedino Hernandez Samaniego > <alejandro.hernan...@intel.com> +# > +# Licensed under the MIT license, see COPYING.MIT for details > +# > +# Usage: add INHERIT += "image-buildinfo" to your conf file > +# > +# Desired variables to display > +# * If it is a list if values it must be present in both (e.g. > IMAGE_FEATURES) + > +IMAGE_BUILDINFO_VARS ?= "DISTRO DISTRO_VERSION IMAGE_FEATURES > +IMAGE_INSTALL" I'm not sure we really want IMAGE_FEATURES and IMAGE_INSTALL in the default value; it seems to me at the moment the main usage for this is to help determine the version of the build system & metadata that was used. > +IMAGE_BUILDINFO_LVARS ?= "IMAGE_FEATURES IMAGE_INSTALL" I didn't think to use it when I wrote the original implementation, but it turns out that at least for both of these two variables, they have a set type i.e. from meta/classes/image.bbclass: IMAGE_INSTALL[type] = "list" So we could use d.getVarFlag(varname, 'type') to determine the type and then we can avoid having to explicitly list them - could you please make this change for this version of the function? (Let's leave fixing the buildhistory version as a separate exercise for now.) > +# From buildhistory.bbclass > +def squashspaces(string): > + import re > + return re.sub("\s+", " ", string).strip() To be honest I had thought squashspaces() would still be moved to oe.utils since this function is generic. > +# From buildhistory.bbclass > +def outputvars(vars, listvars, d): > + vars = vars.split() > + listvars = listvars.split() > + ret = "" > + for var in vars: > + value = d.getVar(var, True) or "" > + if var in listvars: > + value = squashspaces(value) > + ret += "%s = %s\n" % (var, value) > + return ret.rstrip('\n') I've just realised, if we're inheriting both this class and buildhistory globally and these have the same name, that might be a problem. Can we rename this version to something lime image_buildinfo_outputvars? Thanks, Paul -- Paul Eggleton Intel Open Source Technology Centre -- _______________________________________________ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core