[yocto] The BitBake equivalent of "Hello, World!"

McClintock Matthew-B29882 B29882 at freescale.com
Tue Oct 9 15:56:12 PDT 2012


On Tue, Oct 9, 2012 at 5:31 PM, Patrick Turley
<PatrickTurley at gamestop.com> wrote:
> Success. The file tree depicted at the bottom of this mail is nearly the
> smallest, valid BitBake project that prints "Hello, World!" Here's the
> output:

Perhaps you could push this to github somewhere as an example?

-M

>
>
>     $ ../BitBake/bin/bitbake  a
>     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
>     NOTE: Running task 1 of 1 (ID: 0,
> /home/pturley/Workspace/Hello/LayerA/a.bb, do_build)
>     NOTE: package None: task do_build: Started
>     Hello, World!
>     NOTE: package None: task do_build: Succeeded
>     NOTE: Tasks Summary: Attempted 1 tasks of which 0 didn't need to be
> rerun and all succeeded.
>
>
> A few things to note:
>
> 1) This is not the *smallest* such BitBake project. For example, the
> "DESCRIPTION" and "PV" variables need not be assigned in "a.bb". I set those
> variables because I wanted "show-layers" and "show-recipes" to display
> reasonable information.
>
> 2) Some of the variables set in "bitbake.conf" have "simplified" values. For
> example, you would *not* want to use these values if there were multiple
> recipes and you had to disambiguate the output from each of them.
>
> 3) On the other hand, *all* the variable assignments in "bitbake.conf" are
> *essential* to BitBake itself. If you remove any one of those assignments,
> BitBake will either declare an error or die (usually because some internal
> variable is set to "None" and the BitBake code can't handle it).
>
>
> ------------------------------------------------------------
>
>
> ├── build
> │   │
> │   ├── classes
> │   │   │
> │   │   └── base.bbclass
> │   │
> │   │       +-----------------------------------------------
> │   │       |  addtask build
> │   │       +-----------------------------------------------
> │   │
> │   └── conf
> │       │
> │       ├── bblayers.conf
> │       │
> │       │   +-----------------------------------------------
> │       │   |  BBLAYERS ?= " \
> │       │   |    /home/pturley/Workspace/Hello/LayerA \
> │       │   |    "
> │       │   +-----------------------------------------------
> │       │
> │       └── bitbake.conf
>> │           +-----------------------------------------------
> │           |  TMPDIR  = "${TOPDIR}/tmp"
> │           |  CACHE   = "${TMPDIR}/cache"
> │           |  STAMP   = "${TMPDIR}/stamps"
> │           |  T       = "${TMPDIR}/work"
> │           |  B       = "${TMPDIR}"
> │           +-----------------------------------------------
>> ├── LayerA
> │   │
> │   ├── a.bb
> │   │
> │   │       +-----------------------------------------------
> │   │       |  DESCRIPTION = "Layer A Recipe"
> │   │       |  PN = 'a'
> │   │       |  PV = '1'
> │   │       |
> │   │       |  python do_build() {
> │   │       |      bb.plain("Hello, World!");
> │   │       |  }
> │   │       +-----------------------------------------------
> │   │
> │   └── conf
> │       │
> │       └── layer.conf
>> │           +-----------------------------------------------
> │           |  BBPATH .= ":${LAYERDIR}"
> │           |
> │           |  BBFILES += "${LAYERDIR}/*.bb"
> │           |
> │           |  BBFILE_COLLECTIONS += "A"
> │           |  BBFILE_PATTERN_A := "^${LAYERDIR}/"
> │           +-----------------------------------------------
>> └── BitBake
>
>    The BitBake directory origin is:
>
>        http://git.openembedded.org/bitbake/
>
>    I have the 1.15.2 tag checked out, which is what
>    Yocto denzil uses.
>
>
> _______________________________________________
> yocto mailing list
> yocto at yoctoproject.org
> https://lists.yoctoproject.org/listinfo/yocto
>


More information about the yocto mailing list