Openembedded Core Discussions
 help / color / mirror / Atom feed
* [PATCH] image-buildinfo: drop more verbose build configuration
@ 2018-09-28  9:48 Andreas Müller
  2018-09-29 14:17 ` Richard Purdie
  0 siblings, 1 reply; 3+ messages in thread
From: Andreas Müller @ 2018-09-28  9:48 UTC (permalink / raw)
  To: openembedded-core

* before DISTRO and DISTRO_VERSION were written only - this is not enough to
  get a complete picture in which environmet an image was build. Now same
  information as displayed on console is written.
* code fragment was based on bass.bbclass

Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
---

I know timing is not the best - we are already feature freezed. But I
think it is an enhancement worth to have an exception...

 meta/classes/image-buildinfo.bbclass | 28 ++++++++++++----------------
 1 file changed, 12 insertions(+), 16 deletions(-)

diff --git a/meta/classes/image-buildinfo.bbclass b/meta/classes/image-buildinfo.bbclass
index 213fb9cf9b..fbb3188040 100644
--- a/meta/classes/image-buildinfo.bbclass
+++ b/meta/classes/image-buildinfo.bbclass
@@ -15,18 +15,6 @@ IMAGE_BUILDINFO_VARS ?= "DISTRO DISTRO_VERSION"
 # Desired location of the output file in the image.
 IMAGE_BUILDINFO_FILE ??= "${sysconfdir}/build"
 
-# From buildhistory.bbclass
-def image_buildinfo_outputvars(vars, listvars, d): 
-    vars = vars.split()
-    listvars = listvars.split()
-    ret = ""
-    for var in vars:
-        value = d.getVar(var) or ""
-        if (d.getVarFlag(var, 'type') == "list"):
-            value = oe.utils.squashspaces(value)
-        ret += "%s = %s\n" % (var, value)
-    return ret.rstrip('\n')
-
 # Gets git branch's status (clean or dirty)
 def get_layer_git_status(path):
     import subprocess
@@ -57,10 +45,18 @@ def buildinfo_target(d):
         # Get context
         if d.getVar('BB_WORKERCONTEXT') != '1':
                 return ""
-        # Single and list variables to be read
-        vars = (d.getVar("IMAGE_BUILDINFO_VARS") or "")
-        listvars = (d.getVar("IMAGE_BUILDINFO_LVARS") or "")
-        return image_buildinfo_outputvars(vars, listvars, d)
+        # taken from base.bbclass
+        localdata = bb.data.createCopy(d)
+        statuslines = []
+        g = globals()
+        func = 'buildcfg_vars'
+        if func not in g:
+            bb.warn("Build configuration function '%s' does not exist" % func)
+        else:
+            flines = g[func](localdata)
+            if flines:
+                statuslines.extend(flines)
+        return ('\n%s\n' % '\n'.join(statuslines))
 
 # Write build information to target filesystem
 python buildinfo () {
-- 
2.14.4



^ permalink raw reply related	[flat|nested] 3+ messages in thread

* Re: [PATCH] image-buildinfo: drop more verbose build configuration
  2018-09-28  9:48 [PATCH] image-buildinfo: drop more verbose build configuration Andreas Müller
@ 2018-09-29 14:17 ` Richard Purdie
  2018-11-07 22:24   ` Andreas Müller
  0 siblings, 1 reply; 3+ messages in thread
From: Richard Purdie @ 2018-09-29 14:17 UTC (permalink / raw)
  To: Andreas Müller, openembedded-core

On Fri, 2018-09-28 at 11:48 +0200, Andreas Müller wrote:
> * before DISTRO and DISTRO_VERSION were written only - this is not
> enough to
>   get a complete picture in which environmet an image was build. Now
> same
>   information as displayed on console is written.
> * code fragment was based on bass.bbclass
> 
> Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
> ---
> 
> I know timing is not the best - we are already feature freezed. But I
> think it is an enhancement worth to have an exception...

It sounds good from the commit message but anyone IMAGE_BUILDINFO_VARS
or IMAGE_BUILDINFO_LVARS is going to find a significant change in
behaviour? At the point past feature freeze I'm not sure we can do
that...

Cheers,

Richard

>  meta/classes/image-buildinfo.bbclass | 28 ++++++++++++------------
> ----
>  1 file changed, 12 insertions(+), 16 deletions(-)
> 
> diff --git a/meta/classes/image-buildinfo.bbclass
> b/meta/classes/image-buildinfo.bbclass
> index 213fb9cf9b..fbb3188040 100644
> --- a/meta/classes/image-buildinfo.bbclass
> +++ b/meta/classes/image-buildinfo.bbclass
> @@ -15,18 +15,6 @@ IMAGE_BUILDINFO_VARS ?= "DISTRO DISTRO_VERSION"
>  # Desired location of the output file in the image.
>  IMAGE_BUILDINFO_FILE ??= "${sysconfdir}/build"
>  
> -# From buildhistory.bbclass
> -def image_buildinfo_outputvars(vars, listvars, d): 
> -    vars = vars.split()
> -    listvars = listvars.split()
> -    ret = ""
> -    for var in vars:
> -        value = d.getVar(var) or ""
> -        if (d.getVarFlag(var, 'type') == "list"):
> -            value = oe.utils.squashspaces(value)
> -        ret += "%s = %s\n" % (var, value)
> -    return ret.rstrip('\n')
> -
>  # Gets git branch's status (clean or dirty)
>  def get_layer_git_status(path):
>      import subprocess
> @@ -57,10 +45,18 @@ def buildinfo_target(d):
>          # Get context
>          if d.getVar('BB_WORKERCONTEXT') != '1':
>                  return ""
> -        # Single and list variables to be read
> -        vars = (d.getVar("IMAGE_BUILDINFO_VARS") or "")
> -        listvars = (d.getVar("IMAGE_BUILDINFO_LVARS") or "")
> -        return image_buildinfo_outputvars(vars, listvars, d)
> +        # taken from base.bbclass
> +        localdata = bb.data.createCopy(d)
> +        statuslines = []
> +        g = globals()
> +        func = 'buildcfg_vars'
> +        if func not in g:
> +            bb.warn("Build configuration function '%s' does not
> exist" % func)
> +        else:
> +            flines = g[func](localdata)
> +            if flines:
> +                statuslines.extend(flines)
> +        return ('\n%s\n' % '\n'.join(statuslines))
>  
>  # Write build information to target filesystem
>  python buildinfo () {
> -- 
> 2.14.4
> 


^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH] image-buildinfo: drop more verbose build configuration
  2018-09-29 14:17 ` Richard Purdie
@ 2018-11-07 22:24   ` Andreas Müller
  0 siblings, 0 replies; 3+ messages in thread
From: Andreas Müller @ 2018-11-07 22:24 UTC (permalink / raw)
  To: Richard Purdie; +Cc: Patches and discussions about the oe-core layer

On Sat, Sep 29, 2018 at 4:17 PM Richard Purdie
<richard.purdie@linuxfoundation.org> wrote:
>
> On Fri, 2018-09-28 at 11:48 +0200, Andreas Müller wrote:
> > * before DISTRO and DISTRO_VERSION were written only - this is not
> > enough to
> >   get a complete picture in which environmet an image was build. Now
> > same
> >   information as displayed on console is written.
> > * code fragment was based on bass.bbclass
> >
> > Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
> > ---
> >
> > I know timing is not the best - we are already feature freezed. But I
> > think it is an enhancement worth to have an exception...
>
> It sounds good from the commit message but anyone IMAGE_BUILDINFO_VARS
> or IMAGE_BUILDINFO_LVARS is going to find a significant change in
> behaviour? At the point past feature freeze I'm not sure we can do
> that...
>
> Cheers,
>
> Richard
>
> >  meta/classes/image-buildinfo.bbclass | 28 ++++++++++++------------
> > ----
> >  1 file changed, 12 insertions(+), 16 deletions(-)
> >
> > diff --git a/meta/classes/image-buildinfo.bbclass
> > b/meta/classes/image-buildinfo.bbclass
> > index 213fb9cf9b..fbb3188040 100644
> > --- a/meta/classes/image-buildinfo.bbclass
> > +++ b/meta/classes/image-buildinfo.bbclass
> > @@ -15,18 +15,6 @@ IMAGE_BUILDINFO_VARS ?= "DISTRO DISTRO_VERSION"
> >  # Desired location of the output file in the image.
> >  IMAGE_BUILDINFO_FILE ??= "${sysconfdir}/build"
> >
> > -# From buildhistory.bbclass
> > -def image_buildinfo_outputvars(vars, listvars, d):
> > -    vars = vars.split()
> > -    listvars = listvars.split()
> > -    ret = ""
> > -    for var in vars:
> > -        value = d.getVar(var) or ""
> > -        if (d.getVarFlag(var, 'type') == "list"):
> > -            value = oe.utils.squashspaces(value)
> > -        ret += "%s = %s\n" % (var, value)
> > -    return ret.rstrip('\n')
> > -
> >  # Gets git branch's status (clean or dirty)
> >  def get_layer_git_status(path):
> >      import subprocess
> > @@ -57,10 +45,18 @@ def buildinfo_target(d):
> >          # Get context
> >          if d.getVar('BB_WORKERCONTEXT') != '1':
> >                  return ""
> > -        # Single and list variables to be read
> > -        vars = (d.getVar("IMAGE_BUILDINFO_VARS") or "")
> > -        listvars = (d.getVar("IMAGE_BUILDINFO_LVARS") or "")
> > -        return image_buildinfo_outputvars(vars, listvars, d)
> > +        # taken from base.bbclass
> > +        localdata = bb.data.createCopy(d)
> > +        statuslines = []
> > +        g = globals()
> > +        func = 'buildcfg_vars'
> > +        if func not in g:
> > +            bb.warn("Build configuration function '%s' does not
> > exist" % func)
> > +        else:
> > +            flines = g[func](localdata)
> > +            if flines:
> > +                statuslines.extend(flines)
> > +        return ('\n%s\n' % '\n'.join(statuslines))
> >
> >  # Write build information to target filesystem
> >  python buildinfo () {
> > --
> > 2.14.4
> >
Is this something for time after feature freeze?

Andreas


^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2018-11-07 22:24 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-09-28  9:48 [PATCH] image-buildinfo: drop more verbose build configuration Andreas Müller
2018-09-29 14:17 ` Richard Purdie
2018-11-07 22:24   ` Andreas Müller

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox