2017-08-08 11:52 GMT+03:00 Henning Schild <henning.schild@siemens.com>:
Am Mon, 7 Aug 2017 19:27:43 +0300
schrieb Alexander Smirnov <alex.bluesman.smirnov@gmail.com>:

> Hi Henning,
>
> thank you for the series! I'm trying to build Isar with your patches
> but got an error:

Thanks for merging some of the stuff!

> ERROR: buildchroot-1.0-r0 do_build: Build of do_build failed
> ERROR: buildchroot-1.0-r0 do_build: Traceback (most recent call last):
>   File "/home/asmirnov/Work/isar/isar/bitbake/lib/bb/data_smart.py",
> line 388, in expandWithRefs
>     s = __expand_python_regexp__.sub(varparse.python_sub, s)
>   File "/home/asmirnov/Work/isar/isar/bitbake/lib/bb/data_smart.py",
> line 138, in python_sub
>     value = utils.better_eval(codeobj, DataContext(self.d), {'d' :
> self.d})
>
>
>   File "/home/asmirnov/Work/isar/isar/bitbake/lib/bb/utils.py", line
> 424, in better_eval
>
>     return eval(source, ctx, locals)
>
>
>   File "FILESDIR", line 1, in <module>
>
>
> AttributeError: 'module' object has no attribute 'which'
>
>
>
> The above exception was the direct cause of the following exception:
> ...
>
> From the internet I got that this problem caused by old python which
> doesn have 'which' method in 'module' object.
> Which python version do you use? My version is python 3.4.2 - this is
> standard one for Debian-8.

I am using 3.4.2 in a Debian-8 container, it just contains a few
Debian-9 packages to fix multistrap host-leakage.
Docker: jankiszka/kas-isar/base

Maybe we build it differently? Could you try the unmodified q on master
as well?

What I've tried:

1. I have clean Debian-8 in chroot with python 3.4.2 installed.
2. The current master at github.com works good.
3. The paster with your series applied (without any changes from my side) - fails with the error mentioned in this mail.
4. To build I use the following command: bitbake multiconfig:qemuarm-wheezy:isar-image-base

Could you please send the list of python plugins installed?

Alex
 
> 2017-08-03 14:55 GMT+03:00 Henning Schild
> <henning.schild@siemens.com>:
>
> > Do not use our own copy of that class and move local deviations into
> > isar-base. That also fixes the default tasks "showdata" and
> > "listtasks", which probably never worked.
> >
> > Signed-off-by: Henning Schild <henning.schild@siemens.com>
> > ---
> >  meta/classes/base.bbclass      | 81 +-----------------------------
> > ------------
> >  meta/classes/dpkg.bbclass      |  2 ++
> >  meta/classes/ext4-img.bbclass  |  2 ++
> >  meta/classes/isar-base.bbclass | 36 +++++++++++++++++++
> >  4 files changed, 41 insertions(+), 80 deletions(-)
> >  mode change 100644 => 120000 meta/classes/base.bbclass
> >  create mode 100644 meta/classes/isar-base.bbclass
> >
> > diff --git a/meta/classes/base.bbclass b/meta/classes/base.bbclass
> > deleted file mode 100644
> > index 48b6bac..0000000
> > --- a/meta/classes/base.bbclass
> > +++ /dev/null
> > @@ -1,80 +0,0 @@
> > -# Copyright (C) 2003  Chris Larson
> > -#
> > -# Permission is hereby granted, free of charge, to any person
> > obtaining a -# copy of this software and associated documentation
> > files (the "Software"),
> > -# to deal in the Software without restriction, including without
> > limitation
> > -# the rights to use, copy, modify, merge, publish, distribute,
> > sublicense, -# and/or sell copies of the Software, and to permit
> > persons to whom the -# Software is furnished to do so, subject to
> > the following conditions: -#
> > -# The above copyright notice and this permission notice shall be
> > included -# in all copies or substantial portions of the Software.
> > -#
> > -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
> > EXPRESS OR
> > -# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
> > MERCHANTABILITY, -# FITNESS FOR A PARTICULAR PURPOSE AND
> > NONINFRINGEMENT. IN NO EVENT SHALL -# THE AUTHORS OR COPYRIGHT
> > HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR -# OTHER LIABILITY,
> > WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, -# ARISING
> > FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR -#
> > OTHER DEALINGS IN THE SOFTWARE. -
> > -THISDIR = "${@os.path.dirname(d.getVar('FILE', True))}"
> > -
> > -die() {
> > -       bbfatal "$*"
> > -}
> > -
> > -bbnote() {
> > -       echo "NOTE:" "$*"
> > -}
> > -
> > -bbwarn() {
> > -       echo "WARNING:" "$*"
> > -}
> > -
> > -bbfatal() {
> > -       echo "FATAL:" "$*"
> > -       exit 1
> > -}
> > -
> > -bbdebug() {
> > -       test $# -ge 2 || {
> > -               echo "Usage: bbdebug level \"message\""
> > -               exit 1
> > -       }
> > -
> > -       test ${@bb.msg.debug_level['default']} -ge $1 && {
> > -               shift
> > -               echo "DEBUG:" $*
> > -       }
> > -}
> > -
> > -addtask showdata
> > -do_showdata[nostamp] = "1"
> > -python do_showdata() {
> > -       import sys
> > -       # emit variables and shell functions
> > -       bb.data.emit_env(sys.__stdout__, d, True)
> > -       # emit the metadata which isnt valid shell
> > -       for e in bb.data.keys(d):
> > -               if bb.data.getVarFlag(e, 'python', d):
> > -                       sys.__stdout__.write("\npython %s ()
> > {\n%s}\n" % (e, bb.data.getVar(e, d, 1)))
> > -}
> > -
> > -addtask listtasks
> > -do_listtasks[nostamp] = "1"
> > -python do_listtasks() {
> > -       import sys
> > -       for e in bb.data.keys(d):
> > -               if bb.data.getVarFlag(e, 'task', d):
> > -                       sys.__stdout__.write("%s\n" % e)
> > -}
> > -
> > -addtask build
> > -do_build[dirs] = "${TOPDIR}"
> > -python base_do_build () {
> > -       bb.note("The included, default BB base.bbclass does not
> > define a useful default task.")
> > -       bb.note("Try running the 'listtasks' task against a .bb to
> > see what tasks are defined.")
> > -}
> > -
> > -EXPORT_FUNCTIONS do_clean do_mrproper do_build
> > diff --git a/meta/classes/base.bbclass b/meta/classes/base.bbclass
> > new file mode 120000
> > index 0000000..11fe0a4
> > --- /dev/null
> > +++ b/meta/classes/base.bbclass
> > @@ -0,0 +1 @@
> > +../../bitbake/classes/base.bbclass
> > \ No newline at end of file
> > diff --git a/meta/classes/dpkg.bbclass b/meta/classes/dpkg.bbclass
> > index a0446d7..3d7aafb 100644
> > --- a/meta/classes/dpkg.bbclass
> > +++ b/meta/classes/dpkg.bbclass
> > @@ -1,6 +1,8 @@
> >  # This software is a part of ISAR.
> >  # Copyright (C) 2015-2016 ilbers GmbH
> >
> > +inherit isar-base
> > +
> >  # Add dependency from buildchroot creation
> >  DEPENDS += "buildchroot"
> >  do_unpack[deptask] = "do_build"
> > diff --git a/meta/classes/ext4-img.bbclass
> > b/meta/classes/ext4-img.bbclass index 65d4c11..1486c3e 100644
> > --- a/meta/classes/ext4-img.bbclass
> > +++ b/meta/classes/ext4-img.bbclass
> > @@ -1,6 +1,8 @@
> >  # This software is a part of ISAR.
> >  # Copyright (C) 2015-2016 ilbers GmbH
> >
> > +inherit isar-base
> > +
> >  # Extra space for rootfs in MB
> >  ROOTFS_EXTRA ?= "64"
> >
> > diff --git a/meta/classes/isar-base.bbclass
> > b/meta/classes/isar-base. bbclass
> > new file mode 100644
> > index 0000000..67d38a1
> > --- /dev/null
> > +++ b/meta/classes/isar-base.bbclass
> > @@ -0,0 +1,36 @@
> > +# This software is a part of ISAR.
> > +# Copyright (C) 2017  Siemens AG
> > +#
> > +# Permission is hereby granted, free of charge, to any person
> > obtaining a +# copy of this software and associated documentation
> > files (the "Software"),
> > +# to deal in the Software without restriction, including without
> > limitation
> > +# the rights to use, copy, modify, merge, publish, distribute,
> > sublicense, +# and/or sell copies of the Software, and to permit
> > persons to whom the +# Software is furnished to do so, subject to
> > the following conditions: +#
> > +# The above copyright notice and this permission notice shall be
> > included +# in all copies or substantial portions of the Software.
> > +#
> > +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
> > EXPRESS OR
> > +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
> > MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND
> > NONINFRINGEMENT. IN NO EVENT SHALL +# THE AUTHORS OR COPYRIGHT
> > HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR +# OTHER LIABILITY,
> > WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, +# ARISING
> > FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +#
> > OTHER DEALINGS IN THE SOFTWARE. +
> > +THISDIR = "${@os.path.dirname(d.getVar('FILE', True))}"
> > +
> > +bbdebug() {
> > +       test $# -ge 2 || {
> > +               echo "Usage: bbdebug level \"message\""
> > +               exit 1
> > +       }
> > +
> > +       test ${@bb.msg.debug_level['default']} -ge $1 && {
> > +               shift
> > +               echo "DEBUG:" $*
> > +       }
> > +}
> > +
> > +do_build[nostamp] = "0"
> > --
> > 2.13.0
> >
> >