This ought to have been added earlier. (I consulted with Chris Larson on
the notice covering his work.)
(Bitbake rev: 69ed02b645bdc28c1bf24e436beeed37d226b56b)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Classes (.bbclass files) can be overlayed in a layer although they are
currently located by BitBake in a different way (via BBPATH instead of
using layer priority) and thus it is useful to be able to see when this
is in effect and which layer's class is actually being used.
(Bitbake rev: f6493e4bad005a82580380d800ebf4c438292f5b)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Add a show-recipes subcommand which lists all available recipes, with
the layer they are provided by. You can optionally filter the output by
recipe name (PN).
(This is a generalised version of the show-overlayed subcommand.)
(Bitbake rev: 05e86ba966f5a26721891c82b21afa48768a67cc)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Make the following improvements to the show-overlayed subcommand:
* Show recipes that are overlayed when the version is higher or lower,
not just when it is the same. This gives a much better picture of the
influence each layer is having over the metadata used for building.
This can be disabled with the -s option if you just want to see
recipes with the same version as before.
* Default to showing name (PN), layer and version rather than the full
path and filename. The old style formatting can be used by specifying
the -f option.
* Mark skipped recipes as such in the output, and print them in the
correct sorted place in the list rather than at the end
* Prefix/suffix title line with === so it can be filtered out easily in
shell scripts if desired
(Bitbake rev: 43b473275d3cb2e60a14e4a52cdc4654b3f4e5e7)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
It turns out that using the collection name as specified within
layer.conf (i.e. what gets added to BBFILE_COLLECTIONS) as a name to
refer to the layer is not particularly useful, since layer creators
aren't necessarily setting these to a meaningful value - e.g. OE-Core
uses "normal", meta-oe uses "openembedded-layer", etc. In any case,
BitBake uses the directory name in its list of configured layers in the
system information presented upon starting a build, so let's just do the
same here and avoid confusion.
Also rename the get_append_layer function to get_file_layer since it is
in no way specific to bbappends.
(Bitbake rev: 35d2c1c618826e961dbf4b9889b829f469346d74)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Rather than the slightly awkward underscores, use dashes in subcommands
e.g. show-layers instead of show_layers. (The old underscored forms
continue to be accepted however.)
(Bitbake rev: 6d311ddc1be04ae5bd0a1ebee94b44968e8a3f27)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
It's recommended practice to close files when finished with them and the
code in this function was not doing this.
(Bitbake rev: 470a160813ce6cf04f83258d46ded5c2ab8bc520)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
If you flatten layers that have different directory structures you may
not end up with a usable layer in the output directory - some files
won't be picked up by BitBake.
To try to avoid this problem, once flattening has completed, get the
BBFILES entries that correspond to the layer from which the output
layer's conf/layer.conf came from, and check through all of the
.bb/.bbappend files in the output directory to see if any will not be
referred to by BBFILES in the output layer. If any are found, show a
warning to the user.
(Bitbake rev: 8e4dc97614f2022855143b49d18795ca0352b237)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
You can now optionally specify two or more layers to flatten into the
output, rather than flattening all of the layers in the current
configuration (but this is still the default behaviour if no layers are
specified). Note that this means the output layer may still contain
bbappends where the corresponding recipes are not present in the list of
layers to flatten. There is also a caveat when a layer not being
flattened would be "inbetween" the flattened layers (see the command
help for details.)
Implements feature request in [YOCTO #1564].
(Bitbake rev: 379b12107ec921b4458eda320078374a509164c1)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
If "bitbake-layers show_layers" was run when the cache was dirty forcing
a parse, it failed with the following error:
ERROR: Failure expanding variable SRCPV, expression was
${@bb.fetch2.get_srcrev(d)} which triggered exception AttributeError:
'module' object has no attribute 'fetch2'
A simple import of bb.fetch2 in bitbake-layers fixes this.
Fixes [YOCTO #1855].
(Bitbake rev: a228f0a32c2c14d62effbbba5f4fada4cd3817f6)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The recent change which modified inheritFromOS to use the intial
environment, rather than the current environment, introduced a bug such
that variables which had been cleaned from the environment where still set
in the data store.
This patch changes things such that a list of approved environment
variables is saved after the environment is cleaned and only the variables
in this list are inherited in inheritFromOS.
CC: James Limbouris <james.limbouris@gmail.com>
CC: Chris Larson <clarson@kergoth.com>
(Bitbake rev: cb6c07054e8baf94614713ec257c643b22266d75)
Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Make show_layers print layer name, path, and priority in a simple table
rather than just the value of BBLAYERS.
(Bitbake rev: 29afbf10c00b5ccdd8d2c063dda3f3e2b6aa1624)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The INFO: prefix makes sense in bitbake itself but in bitbake-layers is
just noise. Changing this exposed the fact that the logger was not being
set up correctly (which should be done anyway to correctly support
logging from BitBake), so this has also been fixed.
[RP: Sync with logging changes]
(Bitbake rev: 79751524cb1f0388975c6228f8c112e6af80f154)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Instead of running show_appends when no command is specified, show the
default help text. Running show_appends by default made sense previously
when that was the only real command provided, but now we have several
useful commands implemented.
(Bitbake rev: 62a2e0aa1ac8a459928d1f72783b6ca9c1756350)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Improve default help output and make unrecognised commands print it out
rather than just an error.
(Bitbake rev: 84f20eb874e7e0ae59bc76883ba9698b0cfcdb6b)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The Cooker requires a copy of the environment mapping, modify
bitbake-layers to take one and pass it to the cooker.
(Bitbake rev: f5653e557b68a27e99a2a6a5c5a31d0ba0b56bcb)
Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
do_EOF is only needed when using the Python cmd class in line-oriented
mode - we are just sending single commands to it.
(Bitbake rev: 0cbf5dcaf9f67522bd58d868aa01f28e846dfc19)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
If you run "bitbake-layers help commandname" it now provides some useful
help text.
(Bitbake rev: 1548edcd18a78bab74cde39167169f11ba3c4d58)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Don't always parse on initialisation - instead check for errors and then
parse when we know we need to. Avoids keeping the user waiting.
(Bitbake rev: 86adaca6ce959ad5e908c394625bc9880f3c0216)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Fix bitbake-layers "TypeError: 'NoneType' object is not iterable" error on
startup. Commit f3be8e9a7d changed to expect
prefile and postfile to be populated and no longer expects file.
(Bitbake rev: 0f45fcab5c724aabb5b2933dfcdf88ebe256cba9)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Structure of cooker was changed since the patch for bitbake commit
edacf98cceb2fe1275042595d3fce6822fa411ca was created - cooker.pkg_pn now
has string keys, so sort it accordingly.
(Bitbake rev: 9c2a064ab7fd9b8bcca58dfeb1abfae2555f0088)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This patch moves the logic of show_appends_with_no_recipes from bitbake-layers
into bitbake. By default, a fatal message is printed; we can also define a variable
BB_DANGLINGAPPENDS_WARNONLY to make the message only a warning(the variables
could be defined in conf/local.conf with a value "yes", "true" or "1").
(Bitbake rev: f5ba7c795df7cbd58124e35970ddc5bd84cbfb8e)
Signed-off-by: Dexuan Cui <dexuan.cui@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Sort packages alphabetically but ensure appends are left in their
original order (layer priority).
(Bitbake rev: edacf98cceb2fe1275042595d3fce6822fa411ca)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Takes the current layer configuration and builds a "flattened" directory
containing the contents of all layers, with any overlayed recipes removed
and bbappends appended to the corresponding recipes. Note that some manual
cleanup may still be necessary afterwards, in particular:
* where non-recipe files (such as patches) are overwritten (the flatten
command will show a warning for these)
* where anything beyond the normal layer setup has been added to
layer.conf (only the lowest priority layer's layer.conf is used)
* Overridden/appended items from bbappends will need to be tidied up
(Bitbake rev: 296c83cc22ce281223fe91ef84bc89034cd141e7)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Add a show_overlayed action to list overlayed recipes.
(Bitbake rev: f0c2175dc943160e45ebd72fc932dd16ee361bfb)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Report bbappends correctly for skipped recipes instead of reporting the
bbappends as not having any matching recipe.
(From Poky rev: 39d72ecf6bc1da85aefb11e6481719185f0cb953)
(Bitbake rev: a71183762e5d7d9f8153832efb9595e3a21d62f1)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This patch marks the bitbake-layers script as executable and fixes the
instantiation of the BBCooker to match recent changes in the BitBake
libraries.
I've also added a brief header which demonstrates the intent and usage
as taken from Chris Larson's original commit message.
Note: this fix is not upstreamable, it's only required in Poky because of an
outstanding difference between BitBake master and Poky's BitBake.
Signed-off-by: Joshua Lock <josh@linux.intel.com>
I forgot that bin/bitbake is what does the environment filtering based upon
BB_ENV_WHITELIST, etc.
(Bitbake rev: 2cc6b6951bd17832866ec710029d119d2df31ba4)
Signed-off-by: Chris Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This script has subcommands which operate against your bitbake layers, either
displaying useful information, or acting against them. Currently, it only
provides a show_appends command, which shows you what bbappends are in effect,
and warns you if you have appends which are not being utilized.
Currently, a bug exists when using this due to the DataContext stuff, but I'm
not certain as to the root cause, it appears to be the bb package relying
implicitly on the way the bitbake script does things. A fix for that issue
will be forthcoming, as will further subcommands.
(Bitbake rev: 78b6d4cb26cec3321f8eec9889205a6b93b2ee18)
Signed-off-by: Chris Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>