From mboxrd@z Thu Jan 1 00:00:00 1970 X-GM-THRID: 6449247987863388160 X-Received: by 10.25.193.77 with SMTP id r74mr658950lff.14.1502201628038; Tue, 08 Aug 2017 07:13:48 -0700 (PDT) X-BeenThere: isar-users@googlegroups.com Received: by 10.28.140.199 with SMTP id o190ls1108155wmd.19.gmail; Tue, 08 Aug 2017 07:13:47 -0700 (PDT) X-Received: by 10.28.156.129 with SMTP id f123mr623385wme.19.1502201627735; Tue, 08 Aug 2017 07:13:47 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1502201627; cv=none; d=google.com; s=arc-20160816; b=km2koe31CfPQumwR4DTil5ItoEiFoclCAW42b6HIhnDN84pvnLUJjBsvJuX4iqJtux Y/HiejLAfPTFGLHZ40OuE/xqQcsBF8I4mMUzBlurcITVM/Sbxt8VezRdKhxRY5SQ/CXY 73RBoFr7qO8V53tSRjzgI+argGonOBUVWNX4E89vs6sk7fzy3aLZpieRWZSORagxOYRk s5jdws3pTqjnjPZRpqADBLn2iyLWQmnAdOKo0Og8+xacqWLowqXP/8n78iF057VrVqzo Q/K2bWgAE0sb00j0dy5BUPcda9Y93jsEo9dcYJMBJqKsK9O2mwHYAERR1WoqsK9WNtUH kk1w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:subject:cc:to:from:date:arc-authentication-results; bh=NsYJ6j/kb9qDcVMBB7LETTCE5oJNjRuecRcdhJV8Skc=; b=mgGMdpZCjZQKNbnD3Zj3+xH3TQlYudwTfYKZ4kxO/hObXjJaWOnwNBxeIVMqBBxpO/ O2xE4a2Z6ymgmaRiB/wORpa6Lfcm9xOoLQ9JpJCdRV9mVYFJhlfr/jM4MdHMypherwWK znwhe2ZoY/3g2cEu7lriusSDE5DEhXgSfyC6hqRotHWKp+AEgJdfep6/PCcNski29V5V rEM09CmP2SnOq1hIVWcTDrJapiG0SPgWrOvp5TWKMaq1cB7GKI8cS5SAOo5d+Zf5/X3c jrmh/XNXfG8e3xfCUG4LA4SuyxYCIBm651Jb/DfOIswrIZ40Y3OmsysSOFnJMkg6RVMZ nPeA== ARC-Authentication-Results: i=1; gmr-mx.google.com; spf=neutral (google.com: 192.35.17.14 is neither permitted nor denied by best guess record for domain of henning.schild@siemens.com) smtp.mailfrom=henning.schild@siemens.com Return-Path: Received: from david.siemens.de (david.siemens.de. [192.35.17.14]) by gmr-mx.google.com with ESMTPS id o62si539582wmo.2.2017.08.08.07.13.47 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 08 Aug 2017 07:13:47 -0700 (PDT) Received-SPF: neutral (google.com: 192.35.17.14 is neither permitted nor denied by best guess record for domain of henning.schild@siemens.com) client-ip=192.35.17.14; Authentication-Results: gmr-mx.google.com; spf=neutral (google.com: 192.35.17.14 is neither permitted nor denied by best guess record for domain of henning.schild@siemens.com) smtp.mailfrom=henning.schild@siemens.com Received: from mail1.siemens.de (mail1.siemens.de [139.23.33.14]) by david.siemens.de (8.15.2/8.15.2) with ESMTPS id v78EDk2q009866 (version=TLSv1.2 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 8 Aug 2017 16:13:46 +0200 Received: from md1em3qc ([139.25.68.40]) by mail1.siemens.de (8.15.2/8.15.2) with ESMTP id v78EDkUd025329; Tue, 8 Aug 2017 16:13:46 +0200 Date: Tue, 8 Aug 2017 16:15:43 +0200 From: Henning Schild To: Alexander Smirnov Cc: Subject: Re: [PATCH 0-10 of 16 v2 1/8] meta: classes: use base.bbclass from bitbake Message-ID: <20170808161543.0a81c6fc@md1em3qc> In-Reply-To: References: <87549e3e12d5e4f2ee2464ba0e47cfe3b1d91284.1501760818.git.henning.schild@siemens.com> <20170808104331.3c677719@md1em3qc> X-Mailer: Claws Mail 3.13.2 (GTK+ 2.24.31; x86_64-pc-linux-gnu) MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit X-TUID: qSzP1NQ9GME8 Am Tue, 8 Aug 2017 17:02:19 +0300 schrieb Alexander Smirnov : > 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... It provides 'listtasks' and 'showdata' they never used to work but are handy now that they do. And the logging functions ... Henning > 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 > > > > > > > > > > > >