bitbake-devel.lists.openembedded.org archive mirror
 help / color / mirror / Atom feed
From: Yoann Congal <yoann.congal@smile.fr>
To: Michael Opdenacker <michael.opdenacker@bootlin.com>,
	Fawzi KHABER <fawzi.khaber@smile.fr>,
	bitbake-devel@lists.openembedded.org
Cc: Ever ATILANO <ever.atilano@smile.fr>,
	YP docs mailing list <docs@lists.yoctoproject.org>
Subject: Re: [bitbake-devel] [PATCH v2 2/2] bitbake-user-manual: update Hello World example
Date: Mon, 27 Feb 2023 19:13:58 +0100	[thread overview]
Message-ID: <4984ee49-eb42-4891-f9fc-7ce7dc79f2ab@smile.fr> (raw)
In-Reply-To: <3ffcb4a2-f71e-cf47-29fd-bb2073316821@bootlin.com>

Hi Michael,

On 2/27/23 18:42, Michael Opdenacker wrote:
>>         When you run BitBake, it begins looking for metadata files. The
>>       :term:`BBPATH` variable is what tells BitBake where
>> @@ -254,17 +242,6 @@ Following is the complete "Hello World" example.
> 
> 
> Wait, before this, it seems you forgot to update the output of the "bitbake" command right after setting the BBPATH variable. Or maybe you didn't work with the "master" branch. Here's what I get when I use bitbake from the current Poky master branch:
> 
> $bitbake
> Nothing to do.  Use 'bitbake world' to build everything, or run 'bitbake --help' for usage information.
> 
> Unless there's something in my environment that makes BitBake behave differently, but that's worth double checking anyway.

FYI, we already did some back and forth internally on this ^^

Be sure to have the BBPATH envvar unset before starting. Its really easy mixing shells and reusing one that did have a OE env sourced at some point and so an active BBPATH envvar.

Here is a minimal script I used to reproduce the output in the patch.

  $ printenv |grep BBPATH # ensure $BBPATH is not set
  $ git clone git://git.openembedded.org/bitbake # clone latest master bitbake
  $ cd bitbake/
  $ ./bin/bitbake --version
  BitBake Build Tool Core version 2.3.1
  
  $ export PATH=$PWD/bin:$PATH
  $ which bitbake # must point to the above bitbake
  
  $ mkdir ../hello && cd ../hello/
  $ bitbake
  ERROR: The BBPATH variable is not set and bitbake did not find a conf/bblayers.conf file in the expected location.
  Maybe you accidentally invoked bitbake from the wrong directory?

I guess the following differences come from the same reason.

Can you try again with the above script?
>>       exists, you can run the ``bitbake`` command again::
>>            $ bitbake
>> -       ERROR: Traceback (most recent call last):
>> -         File "/home/scott-lenovo/bitbake/lib/bb/cookerdata.py", line 163, in wrapped
>> -           return func(fn, *args)
>> -         File "/home/scott-lenovo/bitbake/lib/bb/cookerdata.py", line 177, in _inherit
>> -           bb.parse.BBHandler.inherit(bbclass, "configuration INHERITs", 0, data)
>> -         File "/home/scott-lenovo/bitbake/lib/bb/parse/parse_py/BBHandler.py", line 92, in inherit
>> -           include(fn, file, lineno, d, "inherit")
>> -         File "/home/scott-lenovo/bitbake/lib/bb/parse/parse_py/ConfHandler.py", line 100, in include
>> -           raise ParseError("Could not %(error_out)s file %(fn)s" % vars(), oldfn, lineno)
>> -       ParseError: ParseError in configuration INHERITs: Could not inherit file classes/base.bbclass
>> -
>>          ERROR: Unable to parse base: ParseError in configuration INHERITs: Could not inherit file classes/base.bbclass
>>         In the sample output,
> 
> 
> Same here. At this stage on Poky master, I get:
> $bitbake
> Nothing to do.  Use 'bitbake world' to build everything, or run 'bitbake --help' for usage information.
> 
>> @@ -284,7 +261,10 @@ Following is the complete "Hello World" example.
>>         $ mkdir classes
>>         Move to the ``classes`` directory and then create the
>> -    ``base.bbclass`` file by inserting this single line: addtask build
>> +    ``base.bbclass`` file by inserting this single line::
>> +
>> +      addtask build
>> +
>>       The minimal task that BitBake runs is the ``do_build`` task. This is
>>       all the example needs in order to build the project. Of course, the
>>       ``base.bbclass`` can have much more depending on which build
> 
> 
> Good catch. This is ugly in the current docs.
> 
>> @@ -328,10 +308,11 @@ Following is the complete "Hello World" example.
>>         BBFILES += "${LAYERDIR}/*.bb"
>>         BBFILE_COLLECTIONS += "mylayer"
>>         BBFILE_PATTERN_mylayer := "^${LAYERDIR_RE}/"
>> +      LAYERSERIES_COMPAT_mylayer = "dunfell"
> 
> You may mention that "dunfell" is just an example, and should be adapted to the OpenEmbedded-Core version(s) that your layer supports. By the way, "kirkstone" should be a better choice as it should last longer than "dunfell".
> 
> By the way, wishing we had a DISTRO_NAME_NO_CAP macro like in the YP manual, but that's will be a separate topic.
> 
>>         For information on these variables, click on :term:`BBFILES`,
>> -    :term:`LAYERDIR`, :term:`BBFILE_COLLECTIONS` or :term:`BBFILE_PATTERN_mylayer <BBFILE_PATTERN>`
>> -    to go to the definitions in the glossary.
>> +    :term:`LAYERDIR`, :term:`BBFILE_COLLECTIONS`, :term:`BBFILE_PATTERN_mylayer <BBFILE_PATTERN>`
>> +    or :term:`LAYERSERIES_COMPAT` to go to the definitions in the glossary.
>>         You need to create the recipe file next. Inside your layer at the
>>       top-level, use an editor and create a recipe file named
>> @@ -389,12 +370,14 @@ Following is the complete "Hello World" example.
> 
> 
> Before this too, I don't have the same output when I run "bitbake printhello" for the first time:
> 
> $ bitbake printhello
> ERROR: Nothing PROVIDES 'printhello'
> 
>>       target::
>>            $ bitbake printhello
>> +       Loading cache: 100% |
>> +       Loaded 0 entries from dependency cache.
>>          Parsing recipes: 100% |##################################################################################|
>> -       Time: 00:00:00
>>          Parsing of 1 .bb files complete (0 cached, 1 parsed). 1 targets, 0 skipped, 0 masked, 0 errors.
>>          NOTE: Resolving any missing task queue dependencies
>> -       NOTE: Preparing RunQueue
>> -       NOTE: Executing RunQueue Tasks
>> +       Initialising tasks: 100% |###############################################################################|
>> +       NOTE: No setscene tasks
>> +       NOTE: Executing Tasks
>>          ********************
>>          *                  *
>>          *  Hello, World!   *
> 
> 
> Weird, I believe I followed the instructions correctly, but I still have:
> ERROR: Nothing PROVIDES 'printhello'
> 
> This will probably help to know which version of Bitbake you're using. For documentation in "master", you should be using "master" too.
> 
> Sorry for all this changes, but it's great to fix an outdated version. If you lack time, I'll be happy to suggest a V2 that you could review then. Let me know...
> 
> Thanks again
> Michael.
> 

-- 
Yoann Congal
Smile ECS - Tech Expert


  reply	other threads:[~2023-02-27 18:14 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-02-27 13:51 [PATCH v2 1/2] doc: ref-variables: add LAYERSERIES_COMPAT to term glossary Fawzi KHABER
2023-02-27 13:51 ` [PATCH v2 2/2] bitbake-user-manual: update Hello World example Fawzi KHABER
2023-02-27 17:42   ` [bitbake-devel] " Michael Opdenacker
2023-02-27 18:13     ` Yoann Congal [this message]
2023-02-28  9:16       ` Michael Opdenacker
2023-02-28 10:09         ` Fawzi KHABER
2023-03-01 10:42           ` Fawzi KHABER
2023-02-27 15:50 ` [bitbake-devel] [PATCH v2 1/2] doc: ref-variables: add LAYERSERIES_COMPAT to term glossary Michael Opdenacker

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=4984ee49-eb42-4891-f9fc-7ce7dc79f2ab@smile.fr \
    --to=yoann.congal@smile.fr \
    --cc=bitbake-devel@lists.openembedded.org \
    --cc=docs@lists.yoctoproject.org \
    --cc=ever.atilano@smile.fr \
    --cc=fawzi.khaber@smile.fr \
    --cc=michael.opdenacker@bootlin.com \
    /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;
as well as URLs for NNTP newsgroup(s).