All of lore.kernel.org
 help / color / mirror / Atom feed
From: Martin Jansa <martin.jansa@gmail.com>
To: Richard Purdie <richard.purdie@linuxfoundation.org>
Cc: openembedded-core <openembedded-core@lists.openembedded.org>
Subject: Re: [PATCH] sanity: Improve configuration upgrade capabilities (support meta-yocto -> poky transition)
Date: Sun, 28 Feb 2016 22:11:00 +0100	[thread overview]
Message-ID: <20160228211100.GA2607@jama> (raw)
In-Reply-To: <1456675182.11498.163.camel@linuxfoundation.org>

[-- Attachment #1: Type: text/plain, Size: 7896 bytes --]

On Sun, Feb 28, 2016 at 03:59:42PM +0000, Richard Purdie wrote:
> On Sun, 2016-02-28 at 13:20 +0100, Andreas Müller wrote:
> > On Sun, Feb 28, 2016 at 11:53 AM, Richard Purdie
> > <richard.purdie@linuxfoundation.org> wrote:
> > > Right now, only one configuration file can be processed
> > > (conf/bblayers.conf)
> > > and it can only have one version number. This is a cause of immense
> > > friction
> > > between OE-Core and Poky since if one needs a version change, it
> > > shouldn't
> > > be forced on the other.
> > > 
> > > We'd like to rename the meta-yocto layer (within the meta-yocto
> > > repository)
> > > to meta-poky. To do this, we need to correct the bblayers.conf file
> > > and that
> > > means changing the sanity version. After the pain this caused the
> > > last time,
> > > Paul made me promise never to have them out of sync between OE-Core
> > > and Poky,
> > > equally, having every distro changing config update OE-Core isn't
> > > scalable
> > > either.
> > > 
> > > This patch changes the sanity upgrade method to list a more generic
> > > format:
> > > 
> > > <config file>:<current version variable name>:<required version
> > > variable name>:<upgrade function>
> > > 
> > > This in theory allows us to support upgrades to any of the core
> > > configuration files, and allow layers to extend them as needed.
> > > Files
> > > with the same name can be handled in different layers by setting a
> > > unique
> > > version name variable in the file itself. The upgrade code is only
> > > called
> > > if the version variable is set.
> > > 
> > > To allow us to make the poky name change and use a new
> > > configuration file
> > > name, one last version bump is included for poky to handle the
> > > transition.
> > > 
> > > Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
> > > 
> > > diff --git a/meta/classes/sanity.bbclass
> > > b/meta/classes/sanity.bbclass
> > > index 49693e7..a0553ee 100644
> > > --- a/meta/classes/sanity.bbclass
> > > +++ b/meta/classes/sanity.bbclass
> > 
> > I think this breaks parsing. Have reverted it and can build again.
> 
> Sorry, I missed a version number change. I've pushed a fix.

Even with:
commit 933088c74870b8c3aa5077d57bc85fc66a652291
Author: Richard Purdie <richard.purdie@linuxfoundation.org>
Date:   Sun Feb 28 15:57:58 2016 +0000

    bblayers.conf.sample: Fix missing layer version bump

    The sanity.bbclass changes required the layer verison to increase,
    this adds that missing component.

I'm still seeing this exception:

NOTE: Started PRServer with DBfile: /home/jenkins/oe/world/shr-core/cache/prserv.sqlite3, IP: 127.0.0.1, PORT: 42730, PID: 10040
ERROR: Error executing a python function in exec_python_func() autogenerated:

The stack trace of python calls that resulted in this exception/failure was:
File: 'exec_python_func() autogenerated', lineno: 2, function: <module>
     0001:
 *** 0002:oecore_update_bblayers(d)
     0003:
File: '/home/jenkins/oe/world/shr-core/openembedded-core/meta/classes/sanity.bbclass', lineno: 151, function: oecore_update_bblayers
     0147:            with open(bblayers_fn, "w") as f:
     0148:                f.write(''.join(lines))
     0149:            return
     0150:
 *** 0151:        sanity_conf_update(bblayers_fn, lines, 'LCONF_VERSION', "7")
     0152:        return
     0153:
     0154:    raise NotImplementedError(failmsg)
     0155:}
File: '/home/jenkins/oe/world/shr-core/openembedded-core/meta/classes/sanity.bbclass', lineno: 24, function: sanity_conf_update
     0020:        if re.search(pattern, line)), (None, None))
     0021:
     0022:def sanity_conf_update(fn, lines, version_var_name, new_version):
     0023:    index, line = sanity_conf_find_line(version_var_name, lines)
 *** 0024:    lines[index] = '%s = "%d"\n' % (version_var_name, new_version)
     0025:    with open(fn, "w") as f:
     0026:        f.write(''.join(lines))
     0027:
     0028:# Functions added to this variable MUST throw a NotImplementedError exception unless
Exception: TypeError: %d format: a number is required, not str

ERROR: Execution of event handler 'check_sanity_eventhandler' failed
Traceback (most recent call last):
  File "/home/jenkins/oe/world/shr-core/openembedded-core/meta/classes/sanity.bbclass", line 954, in check_sanity(sanity_data=<bb.data_smart.DataSmart object at 0x7fb069f71110>):
     
    >    check_sanity_everybuild(status, sanity_data)
         
  File "/home/jenkins/oe/world/shr-core/openembedded-core/meta/classes/sanity.bbclass", line 768, in check_sanity_everybuild(status=<SanityStatus object at 0x7fb069f71090>, d=<bb.data_smart.DataSmart object at 0x7fb069f71110>):
     
    >    sanity_check_conffiles(status, d)
     
  File "/home/jenkins/oe/world/shr-core/openembedded-core/meta/classes/sanity.bbclass", line 548, in sanity_check_conffiles(status=<SanityStatus object at 0x7fb069f71090>, d=<bb.data_smart.DataSmart object at 0x7fb069f71110>):
                 try:
    >                bb.build.exec_func(func, d)
                 except NotImplementedError as e:
  File "/home/jenkins/oe/world/shr-core/bitbake/lib/bb/build.py", line 227, in exec_func(func='oecore_update_bblayers', d=<bb.data_smart.DataSmart object at 0x7fb069f71110>, dirs=None):
             if ispython:
    >            exec_func_python(func, d, runfile, cwd=adir)
             else:
  File "/home/jenkins/oe/world/shr-core/bitbake/lib/bb/build.py", line 263, in exec_func_python(func='oecore_update_bblayers', d=<bb.data_smart.DataSmart object at 0x7fb069f71110>, runfile='/home/jenkins/oe/world/shr-core/tmp-glibc/work/i586-oe-linux/defaultpkgname/1.0-r0/temp/run.oecore_update_bblayers.10038', cwd='/home/jenkins/oe/world/shr-core/tmp-glibc/work/i586-oe-linux/defaultpkgname/1.0-r0/defaultpkgname-1.0'):
         except:
    >        raise FuncFailed(func, None)
         finally:
FuncFailed: Function failed: oecore_update_bblayers

ERROR: Command execution failed: Traceback (most recent call last):
  File "/home/jenkins/oe/world/shr-core/bitbake/lib/bb/command.py", line 101, in runAsyncCommand
    self.cooker.updateCache()
  File "/home/jenkins/oe/world/shr-core/bitbake/lib/bb/cooker.py", line 1586, in updateCache
    bb.event.fire(bb.event.SanityCheck(False), self.data)
  File "/home/jenkins/oe/world/shr-core/bitbake/lib/bb/event.py", line 171, in fire
    fire_class_handlers(event, d)
  File "/home/jenkins/oe/world/shr-core/bitbake/lib/bb/event.py", line 110, in fire_class_handlers
    execute_handler(name, handler, event, d)
  File "/home/jenkins/oe/world/shr-core/bitbake/lib/bb/event.py", line 82, in execute_handler
    ret = handler(event)
  File "/home/jenkins/oe/world/shr-core/openembedded-core/meta/classes/sanity.bbclass", line 991, in check_sanity_eventhandler
    reparse = check_sanity(sanity_data)
  File "/home/jenkins/oe/world/shr-core/openembedded-core/meta/classes/sanity.bbclass", line 954, in check_sanity
    check_sanity_everybuild(status, sanity_data)
  File "/home/jenkins/oe/world/shr-core/openembedded-core/meta/classes/sanity.bbclass", line 768, in check_sanity_everybuild
    sanity_check_conffiles(status, d)
  File "/home/jenkins/oe/world/shr-core/openembedded-core/meta/classes/sanity.bbclass", line 548, in sanity_check_conffiles
    bb.build.exec_func(func, d)
  File "/home/jenkins/oe/world/shr-core/bitbake/lib/bb/build.py", line 227, in exec_func
    exec_func_python(func, d, runfile, cwd=adir)
  File "/home/jenkins/oe/world/shr-core/bitbake/lib/bb/build.py", line 263, in exec_func_python
    raise FuncFailed(func, None)
FuncFailed: Function failed: oecore_update_bblayers


Summary: There were 3 ERROR messages shown, returning a non-zero exit code.
-- 
Martin 'JaMa' Jansa     jabber: Martin.Jansa@gmail.com

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 188 bytes --]

  reply	other threads:[~2016-02-28 21:09 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-02-28 10:53 [PATCH] sanity: Improve configuration upgrade capabilities (support meta-yocto -> poky transition) Richard Purdie
2016-02-28 12:20 ` Andreas Müller
2016-02-28 15:59   ` Richard Purdie
2016-02-28 21:11     ` Martin Jansa [this message]
2016-02-28 22:54       ` Richard Purdie

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20160228211100.GA2607@jama \
    --to=martin.jansa@gmail.com \
    --cc=openembedded-core@lists.openembedded.org \
    --cc=richard.purdie@linuxfoundation.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.