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 --]
next prev parent 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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox