From mboxrd@z Thu Jan 1 00:00:00 1970 X-GM-THRID: 6449247987863388160 X-Received: by 10.36.51.209 with SMTP id k200mr2815443itk.2.1502200941117; Tue, 08 Aug 2017 07:02:21 -0700 (PDT) X-BeenThere: isar-users@googlegroups.com Received: by 10.36.85.212 with SMTP id e203ls3908585itb.20.gmail; Tue, 08 Aug 2017 07:02:20 -0700 (PDT) X-Received: by 10.36.228.11 with SMTP id o11mr2900778ith.47.1502200940769; Tue, 08 Aug 2017 07:02:20 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1502200940; cv=none; d=google.com; s=arc-20160816; b=Z6Fnbrau6/HPy5zF2vvt+omMUF4gdVzSAUEpSea3BOI3K8vM/swhBm6ztphd8dHOHF zq7ayuvx4WzFstR9Tou5M6AKDFLMeF8p3OSsuJOQ0phSzGPcEzjgf3XyCyIXVC+fayKx G3wgSRqTwyWBy9KWCBN38RKXBAOCzpje3lYjOaUf+YV7HyvUFsy4CmAXtY9LsZ+ia9Xn DDovuxqrlvBA06rmmcK0Tid71x8cme6mLIENdRGlIx/uBhs9xVlWwmewYBYYmby/RZIU bhL0JIiEM+P/NRODu7XOBSj481Os04q3zigOudEQh+pELY7rr0lyBnwlC9EAibfpVa+Y 22Ig== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=cc:to:subject:message-id:date:from:references:in-reply-to :mime-version:dkim-signature:arc-authentication-results; bh=/PYmN+iTt98ljvfnGa84LF4l6y+m6D/Qp4H2y1UfBMc=; b=HVzjVI7JDxgM4I9el1ciuWYDcFFA1iPi+6ZfN7NbpMPUlranTNaKWQ5mfPwujyQElW y5Ckf/UOWGAx0//GmGZfQwFg+u7NTg9avKWYF/sIviFc91UMMc3BmnnHy/eAm3dDjEAQ dr/28/Mpx1hVJaZPQOOdx3JX6RExt5cUTuVItGR/cEakE4jJPrQ4q267LTDXSxuTMP1s 2HGCkrre13jueGk72RSqAN4uOpnMTOAEhNFj+66ALmDqtFr1R83Qz1M0kjyWeFvTWTde MG4pOShaweQuA5e+IZUdCpHzM4mAxuD78nEHsE3k1Sc7/DC0kCvV7EzB0UCj8PjVXIRO M+5Q== ARC-Authentication-Results: i=1; gmr-mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=tyUDGuzM; spf=pass (google.com: domain of alex.bluesman.smirnov@gmail.com designates 2607:f8b0:400d:c09::22a as permitted sender) smtp.mailfrom=alex.bluesman.smirnov@gmail.com; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=gmail.com Return-Path: Received: from mail-qk0-x22a.google.com (mail-qk0-x22a.google.com. [2607:f8b0:400d:c09::22a]) by gmr-mx.google.com with ESMTPS id o129si53780ywe.14.2017.08.08.07.02.20 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 08 Aug 2017 07:02:20 -0700 (PDT) Received-SPF: pass (google.com: domain of alex.bluesman.smirnov@gmail.com designates 2607:f8b0:400d:c09::22a as permitted sender) client-ip=2607:f8b0:400d:c09::22a; Authentication-Results: gmr-mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=tyUDGuzM; spf=pass (google.com: domain of alex.bluesman.smirnov@gmail.com designates 2607:f8b0:400d:c09::22a as permitted sender) smtp.mailfrom=alex.bluesman.smirnov@gmail.com; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=gmail.com Received: by mail-qk0-x22a.google.com with SMTP id x191so19724846qka.5 for ; Tue, 08 Aug 2017 07:02:20 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc; bh=/PYmN+iTt98ljvfnGa84LF4l6y+m6D/Qp4H2y1UfBMc=; b=tyUDGuzMizaXzOMqajnGMyfImNCx+1KDkmzPWuQndq7+Ew4LsoFfVEaeFl5KjYtB91 fgK4QOzDbBIEePoZLtSNGjcHPerJzSk6s6qzOHDoLXAN8nj27utiVweiNE9GP8Te2isz NzgIPSMg8xDnur06CpnMUYt1gkngP6Q8yN/nFUiiTF4CsemQBMBZnlnO2N+JijyEqoXk V6fhG7ISsZtB2aMWQRi04wywj9RJ1tk8h00kuYu7AZJ8oUw7+2+r2LvuZBohuad7RDXl I4ZtYAZw4AtMX+kl6Hz82jGis+eH1+waQKLxr84YQzXSBq7tg/YdpE6OZ7Rq71zzUDxX gH+g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc; bh=/PYmN+iTt98ljvfnGa84LF4l6y+m6D/Qp4H2y1UfBMc=; b=kUWbQDwtzK6nsNTJqSZM+okaIxB2YyM1nX+YyJc83bOW9AiAPAdpj9BRq9aeez9WA5 bru2kup/N+Fu1XweSk22aX3cOQ/SE7Y6FVto5nrLCBc5gJvznpYde2xFdfdotlp9o46i cNvxuSX6lLp+g4tpVs4IFGuKXjHGEtPilerqPFfMBloNwdCfngYffVP5YLMi5vH4oPjr X7XizFQCa8oAc6Hv1oOJLxx3d9MWn+/0pdjxmqNg4yyjRjMCTEw9NaFjgqNy9Pzb8T5J DiA07lBFnKaM2p3D1GkcqcbaNJCIIRmBwqtrXGdUYRVVXKigCBMO+QiOJhZ5VpRpPDyX ExDA== X-Gm-Message-State: AHYfb5gVH/r7V7TPAqdsvywDFrPvkzrtpoYBZjbh4skOLTj3iAHfGCGa KDY1MhDMWqGkN8NLFQJJej47TcufBw== X-Received: by 10.55.110.196 with SMTP id j187mr3412879qkc.128.1502200940191; Tue, 08 Aug 2017 07:02:20 -0700 (PDT) MIME-Version: 1.0 Received: by 10.12.148.188 with HTTP; Tue, 8 Aug 2017 07:02:19 -0700 (PDT) In-Reply-To: <20170808104331.3c677719@md1em3qc> References: <87549e3e12d5e4f2ee2464ba0e47cfe3b1d91284.1501760818.git.henning.schild@siemens.com> <20170808104331.3c677719@md1em3qc> From: Alexander Smirnov Date: Tue, 8 Aug 2017 17:02:19 +0300 Message-ID: Subject: Re: [PATCH 0-10 of 16 v2 1/8] meta: classes: use base.bbclass from bitbake To: Henning Schild Cc: isar-users@googlegroups.com Content-Type: multipart/alternative; boundary="94eb2c05b69a6be4bc05563e69d0" X-TUID: mtL0dKhS/2iK --94eb2c05b69a6be4bc05563e69d0 Content-Type: text/plain; charset="UTF-8" 2017-08-08 11:43 GMT+03:00 Henning Schild : > Am Mon, 7 Aug 2017 22:18:36 +0300 > schrieb Alexander Smirnov : > > > Hi again, > > > > it looks like this patch doesn't work for Isar. 'base.bbclass' is the > > one which is included by default to any bitbake operation. In the > > default 'base.bbclass' there is one very bad line: > > > > bitbake/classes/base.bbclass: > > 51: do_build[nostamp] = "1" > > > > This line disables stamps for build tasks, it completely destroys the > > pipeline. In your patch you move the line: do_build[nostamp] = "0" to > > 'isar-base.bbclass'. But to have this construction working you have to > > explicitely include this class to *every* recipe in Isar, what looks > > for me as huge overhead. > > Ok i did not know what that line does but since i moved it to isar-base > and every class and recipe includes that, the semantics is kept. > > Making sure local changes are always included is less of a problem than > copying files from bitbake and ending up with an outdated copy again. > We are speaking about sample base class in bitbake tree which by default provides *nothing*. As I can understand, this is just an example which doesn't affect the bitbake functionality. Nor OE, nor Yocto doesn't use it and implement their own base classes. Also in bitbake manual: https://www.yoctoproject.org/docs/1.6/bitbake-user-manual/bitbake-user-manual.html chapter A4, document proposes you to create your base class. I was OK with this idea because I assumed that the deafult base class provides correct settings, but now I realized that it doesn't. So keeping broken base class for some reasons and overwrite it in run-time looks too compicated for such simple things. > Every recipe in isar will probably include dpdk-bin or dpdk-src, which > both inherit isar-base. The images also include isar-base. > It's not a question about workaround. It's about knowingly keeping of broken base class and fix it from another class. Meanwhile nothing is used from original base class. I don't really understand why we need base class then... Alex > > Henning > > > 2017-08-03 14:55 GMT+03:00 Henning Schild > > : > > > > > 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 > > > --- > > > 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.bbcla ss > > > 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 > > > > > > > > --94eb2c05b69a6be4bc05563e69d0 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
2017= -08-08 11:43 GMT+03:00 Henning Schild <henning.schild@siemens.com= >:
Am Mo= n, 7 Aug 2017 22:18:36 +0300
schrieb Alexander Smirnov <alex.bluesman.smirnov@gmail.com>:

> Hi again,
>
> it looks like this patch doesn't work for Isar. 'base.bbclass&= #39; is the
> one which is included by default to any bitbake operation. In the
> default 'base.bbclass' there is one very bad line:
>
> bitbake/classes/base.bbclass:
> 51: do_build[nostamp] =3D "1"
>
> This line disables stamps for build tasks, it completely destroys the<= br> > pipeline. In your patch you move the line: do_build[nostamp] =3D "= ;0" to
> 'isar-base.bbclass'. But to have this construction working you= have to
> explicitely include this class to *every* recipe in Isar, what looks > for me as huge overhead.

Ok i did not know what that line does but since i moved it to isar-b= ase
and every class and recipe includes that, the semantics is kept.

Making sure local changes are always included is less of a problem than
copying files from bitbake and ending up with an outdated copy again.

We are speaking about sample base class in b= itbake tree which by default provides *nothing*. As I can understand, this = is just an example which doesn't affect the bitbake functionality. Nor = OE, nor Yocto doesn't use it and implement their own base classes. Also= in bitbake manual:=C2=A0https://www.yoctoproject.org/d= ocs/1.6/bitbake-user-manual/bitbake-user-manual.html chapter A4, docume= nt proposes you to create your base class.

I was O= K with this idea because I assumed that the deafult base class provides cor= rect settings, but now I realized that it doesn't. So keeping broken ba= se class for some reasons and overwrite it in run-time looks too compicated= for such simple things.


Every recipe in isar will probably include dpdk-bin or dpdk-src, which
both inherit isar-base. The images also include isar-base.
=

It's not a question about workaround. It's abou= t knowingly keeping of broken base class and fix it from another class. Mea= nwhile nothing is used from original base class. I don't really underst= and why we need base class then...

Alex
= =C2=A0

Henning

> 2017-08-03 14:55 GMT+03:00 Henning Schild
> <henning.schild@sieme= ns.com>:
>
> > Do not use our own copy of that class and move local deviations i= nto
> > isar-base. That also fixes the default tasks "showdata"= and
> > "listtasks", which probably never worked.
> >
> > Signed-off-by: Henning Schild <henning.schild@siemens.com>
> > ---
> >=C2=A0 meta/classes/base.bbclass=C2=A0 =C2=A0 =C2=A0 | 81 +-------= ----------------------
> > ------------
> >=C2=A0 meta/classes/dpkg.bbclass=C2=A0 =C2=A0 =C2=A0 |=C2=A0 2 ++<= br> > >=C2=A0 meta/classes/ext4-img.bbclass=C2=A0 |=C2=A0 2 ++
> >=C2=A0 meta/classes/isar-base.bbclass | 36 +++++++++++++++++++
> >=C2=A0 4 files changed, 41 insertions(+), 80 deletions(-)
> >=C2=A0 mode change 100644 =3D> 120000 meta/classes/base.bbclass=
> >=C2=A0 create mode 100644 meta/classes/isar-base.bbclass
> >
> > diff --git a/meta/classes/base.bbclass b/meta/classes/base.bbclas= s
> > deleted file mode 100644
> > index 48b6bac..0000000
> > --- a/meta/classes/base.bbclass
> > +++ /dev/null
> > @@ -1,80 +0,0 @@
> > -# Copyright (C) 2003=C2=A0 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<= br> > > 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 O= F 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 -#<= br> > > OTHER DEALINGS IN THE SOFTWARE. -
> > -THISDIR =3D "${@os.path.dirname(d.getVar('FILE'= ;, True))}"
> > -
> > -die() {
> > -=C2=A0 =C2=A0 =C2=A0 =C2=A0bbfatal "$*"
> > -}
> > -
> > -bbnote() {
> > -=C2=A0 =C2=A0 =C2=A0 =C2=A0echo "NOTE:" "$*"=
> > -}
> > -
> > -bbwarn() {
> > -=C2=A0 =C2=A0 =C2=A0 =C2=A0echo "WARNING:" "$*&qu= ot;
> > -}
> > -
> > -bbfatal() {
> > -=C2=A0 =C2=A0 =C2=A0 =C2=A0echo "FATAL:" "$*"= ;
> > -=C2=A0 =C2=A0 =C2=A0 =C2=A0exit 1
> > -}
> > -
> > -bbdebug() {
> > -=C2=A0 =C2=A0 =C2=A0 =C2=A0test $# -ge 2 || {
> > -=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0echo &quo= t;Usage: bbdebug level \"message\""
> > -=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0exit 1 > > -=C2=A0 =C2=A0 =C2=A0 =C2=A0}
> > -
> > -=C2=A0 =C2=A0 =C2=A0 =C2=A0test ${@bb.msg.debug_level['= default']} -ge $1 && {
> > -=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0shift
> > -=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0echo &quo= t;DEBUG:" $*
> > -=C2=A0 =C2=A0 =C2=A0 =C2=A0}
> > -}
> > -
> > -addtask showdata
> > -do_showdata[nostamp] =3D "1"
> > -python do_showdata() {
> > -=C2=A0 =C2=A0 =C2=A0 =C2=A0import sys
> > -=C2=A0 =C2=A0 =C2=A0 =C2=A0# emit variables and shell functions<= br> > > -=C2=A0 =C2=A0 =C2=A0 =C2=A0bb.data.emit_env(sys.__stdout__,= d, True)
> > -=C2=A0 =C2=A0 =C2=A0 =C2=A0# emit the metadata which isnt valid = shell
> > -=C2=A0 =C2=A0 =C2=A0 =C2=A0for e in bb.data.keys(d):
> > -=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0if bb.dat= a.getVarFlag(e, 'python', d):
> > -=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0sys.__stdout__.write("\npython %s ()
> > {\n%s}\n" % (e, bb.data.getVar(e, d, 1)))
> > -}
> > -
> > -addtask listtasks
> > -do_listtasks[nostamp] =3D "1"
> > -python do_listtasks() {
> > -=C2=A0 =C2=A0 =C2=A0 =C2=A0import sys
> > -=C2=A0 =C2=A0 =C2=A0 =C2=A0for e in bb.data.keys(d):
> > -=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0if bb.dat= a.getVarFlag(e, 'task', d):
> > -=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0sys.__stdout__.write("%s\n" % e)
> > -}
> > -
> > -addtask build
> > -do_build[dirs] =3D "${TOPDIR}"
> > -python base_do_build () {
> > -=C2=A0 =C2=A0 =C2=A0 =C2=A0bb.note("The included, default B= B base.bbclass does not
> > define a useful default task.")
> > -=C2=A0 =C2=A0 =C2=A0 =C2=A0bb.note("Try running the 'li= sttasks' 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.bbclas= s
> > 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.bbclas= s
> > index a0446d7..3d7aafb 100644
> > --- a/meta/classes/dpkg.bbclass
> > +++ b/meta/classes/dpkg.bbclass
> > @@ -1,6 +1,8 @@
> >=C2=A0 # This software is a part of ISAR.
> >=C2=A0 # Copyright (C) 2015-2016 ilbers GmbH
> >
> > +inherit isar-base
> > +
> >=C2=A0 # Add dependency from buildchroot creation
> >=C2=A0 DEPENDS +=3D "buildchroot"
> >=C2=A0 do_unpack[deptask] =3D "do_build"
> > diff --git a/meta/classes/ext4-img.bbclass
> > b/meta/classes/ext4-img.bbclass index 65d4c11..1486c3e 10064= 4
> > --- a/meta/classes/ext4-img.bbclass
> > +++ b/meta/classes/ext4-img.bbclass
> > @@ -1,6 +1,8 @@
> >=C2=A0 # This software is a part of ISAR.
> >=C2=A0 # Copyright (C) 2015-2016 ilbers GmbH
> >
> > +inherit isar-base
> > +
> >=C2=A0 # Extra space for rootfs in MB
> >=C2=A0 ROOTFS_EXTRA ?=3D "64"
> >
> > diff --git a/meta/classes/isar-base.bbclass
> > b/meta/classes/isar-base.bbcla ss
> > 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=C2=A0 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<= br> > > 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 O= F 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 +#<= br> > > OTHER DEALINGS IN THE SOFTWARE. +
> > +THISDIR =3D "${@os.path.dirname(d.getVar('FILE'= ;, True))}"
> > +
> > +bbdebug() {
> > +=C2=A0 =C2=A0 =C2=A0 =C2=A0test $# -ge 2 || {
> > +=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0echo &quo= t;Usage: bbdebug level \"message\""
> > +=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0exit 1 > > +=C2=A0 =C2=A0 =C2=A0 =C2=A0}
> > +
> > +=C2=A0 =C2=A0 =C2=A0 =C2=A0test ${@bb.msg.debug_level['= default']} -ge $1 && {
> > +=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0shift
> > +=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0echo &quo= t;DEBUG:" $*
> > +=C2=A0 =C2=A0 =C2=A0 =C2=A0}
> > +}
> > +
> > +do_build[nostamp] =3D "0"
> > --
> > 2.13.0
> >
> >


--94eb2c05b69a6be4bc05563e69d0--