[OE-core] [PATCH 22/22] cmake: Use bb.fatal() instead of raising FuncFailed

Richard Purdie richard.purdie at linuxfoundation.org
Wed Oct 5 22:15:07 UTC 2016


On Wed, 2016-10-05 at 22:26 +0200, Ulf Magnusson wrote:
> On Sat, Oct 1, 2016 at 4:47 AM, Ulf Magnusson <ulfalizer at gmail.com>
> wrote:
> > 
> > This sets a good example and avoids unnecessarily contributing to
> > perceived complexity and cargo culting.
> > 
> > Motivating quote below:
> > 
> > < kergoth> the *original* intent was for the function/task to error
> > via
> >            whatever appropriate means, bb.fatal, whatever, and
> >            funcfailed was what you'd catch if you were calling
> >            exec_func/exec_task. that is, it's what those functions
> >            raise, not what metadata functions should be raising
> > < kergoth> it didn't end up being used that way
> > < kergoth> but there's really never a reason to raise it yourself
> > 
> > FuncFailed.__init__ takes a 'name' argument rather than a 'msg'
> > argument, which also shows that the original purpose got lost.
> > 
> > Signed-off-by: Ulf Magnusson <ulfalizer at gmail.com>
> > ---
> >  meta/recipes-devtools/cmake/cmake_3.6.1.bb | 2 +-
> >  1 file changed, 1 insertion(+), 1 deletion(-)
> > 
> > diff --git a/meta/recipes-devtools/cmake/cmake_3.6.1.bb
> > b/meta/recipes-devtools/cmake/cmake_3.6.1.bb
> > index 67ba9c4..850d6de 100644
> > --- a/meta/recipes-devtools/cmake/cmake_3.6.1.bb
> > +++ b/meta/recipes-devtools/cmake/cmake_3.6.1.bb
> > @@ -14,7 +14,7 @@ python () {
> >      docdir=d.getVar("docdir", True)
> > 
> >      if not docdir.startswith(prefix):
> > -        raise bb.build.FuncFailed('docdir must contain prefix as
> > its prefix')
> > +        bb.fatal('docdir must contain prefix as its prefix')
> > 
> >      docdir_stripped = docdir[len(prefix):]
> >      if len(docdir_stripped) > 0 and docdir_stripped[0] == '/':
> > --
> > 2.7.4
> > 
> Thanks for merging these!
> 
> There's now some documentation that mentions FuncFailed as well:
> https://www.yoctoproject.org/docs/2.2/bitbake-user-manual/bitbake-use
> r-manual.html#bitbake-style-python-functions-versus-python-functions

It did break one of the tests in oe-selftest but we've fixed that...

Cheers,

Richard



More information about the Openembedded-core mailing list