OpenEmbedded "poky" with some sysmocom specific modifications. Mostly used only up to sysmocom release 201310, but the "pyro" branch is still used for 201705
Go to file
Chris Larson e4921fda5b Implement variable typing (sync from OE)
This implementation consists of two components:

- Type creation python modules, whose job it is to construct objects of the
  defined type for a given variable in the metadata
- typecheck.bbclass, which iterates over all configuration variables with a
  type defined and uses oe.types to check the validity of the values

This gives us a few benefits:

- Automatic sanity checking of all configuration variables with a defined type
- Avoid duplicating the "how do I make use of the value of this variable"
  logic between its users.  For variables like PATH, this is simply a split(),
  for boolean variables, the duplication can result in confusing, or even
  mismatched semantics (is this 0/1, empty/nonempty, what?)
- Make it easier to create a configuration UI, as the type information could
  be used to provide a better interface than a text edit box (e.g checkbox for
  'boolean', dropdown for 'choice')

This functionality is entirely opt-in right now.  To enable the configuration
variable type checking, simply INHERIT += "typecheck".  Example of a failing
type check:

BAZ = "foo"
BAZ[type] = "boolean"

$ bitbake -p
FATAL: BAZ: Invalid boolean value 'foo'
$

Examples of leveraging oe.types in a python snippet:

PACKAGES[type] = "list"

python () {
    import oe.data
    for pkg in oe.data.typed_value("PACKAGES", d):
        bb.note("package: %s" % pkg)
}

LIBTOOL_HAS_SYSROOT = "yes"
LIBTOOL_HAS_SYSROOT[type] = "boolean"

python () {
    import oe.data
    assert(oe.data.typed_value("LIBTOOL_HAS_SYSROOT", d) == True)
}

(From OE-Core rev: a04ce490e933fc7534db33f635b025c25329c564)

Signed-off-by: Chris Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-05-20 17:34:22 +01:00
bitbake git fetcher: add support for rebaseable git repo 2011-05-17 15:19:36 +01:00
documentation documentation/bsp-guide/bsp.xml: Updated Example Filesystem Layout 2011-05-17 20:07:48 +01:00
meta Implement variable typing (sync from OE) 2011-05-20 17:34:22 +01:00
meta-demoapps recipes: Add Upstream-Status to multiple recipes 2011-05-13 10:29:01 +01:00
meta-rt Rename poky-image-* -> core-image-* and task-poky-* -> task-core-* 2011-04-21 00:29:30 +01:00
meta-skeleton Add a skeleton for init scripts 2011-05-18 14:32:45 +01:00
meta-yocto linux-yocto/meta-yocto: fix gcc 4.6.0 compilation failures 2011-05-19 17:33:50 -07:00
scripts *pull-request: add copyright, license, and descriptions 2011-05-19 23:40:40 +01:00
.gitignore Rename the remaining poky-* scripts to oe-* or runqemu-* 2011-04-21 00:29:31 +01:00
LICENSE LICENSE: Clarify the license recipe source code is under 2010-06-10 10:13:18 +01:00
README README: Update to reflect what Poky is today 2011-04-21 13:03:52 +01:00
README.hardware Rename poky-image-* -> core-image-* and task-poky-* -> task-core-* 2011-04-21 00:29:30 +01:00
oe-init-build-env Further cleanup of various poky references 2011-04-21 12:56:16 +01:00

README

Poky
====

Poky is an integration of various components to form a complete prepackaged
build system and development environment. It features support for building
customised embedded device style images. There are reference demo images
featuring a X11/Matchbox/GTK themed UI called Sato. The system supports
cross-architecture application development using QEMU emulation and a
standalone toolchain and SDK with IDE integration.

Additional information on the specifics of hardware that Poky supports
is available in README.hardware. Further hardware support can easily be added
in the form of layers which extend the systems capabilities in a modular way.

As an integration layer Poky consists of several upstream projects such as 
BitBake, OpenEmbedded-Core, Yocto documentation and various sources of information 
e.g. for the hardware support. Poky is in turn a component of the Yocto Project.

The Yocto Project has extensive documentation about the system including a 
reference manual which can be found at:
    http://yoctoproject.org/community/documentation

For information about OpenEmbedded see their website:
    http://www.openembedded.org/