Age | Commit message (Collapse) | Author |
|
This fixes an issue when trying to use depexp without specifying a
recipe. Before change:
$ bitbake -g -udepexp
Traceback (most recent call last):
File ".../bitbake/bin/bitbake", line 382, in <module>
ret = main()
File ".../bitbake/bin/bitbake", line 370, in main
return ui_module.main(server_connection.connection, server_connection.events, configParams)
File ".../bitbake/lib/bb/ui/depexp.py", line 201, in main
logger.error(cmdline['msg'])
NameError: global name 'logger' is not defined
After change:
$ bitbake -g -udepexp
Please specify a package name for dependency graph generation.
Signed-off-by: Olof Johansson <olof.johansson@axis.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
since python-2.5 string.endswith() takes a tuple
Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
With a shared work task like gcc, the task can be run from a variety of
different recipes which may have different virtual extensions in place.
Depending on whether gcc-runtime or nativesdk-gcc-runtime's do_preconfigure
task is called for example will change the sorting of the task hashes due
to the way clean_basename currently works.
The correct thing to do here is sort on the base filename first, then any
extension when ordering the hashes. This means we do account for things
like recipes with both a native and non-native dependency but we also fix
the shared work case where we don't care whether it was a virtual version
or not.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
Currently, if an exception occurs in an event handler, the server shuts
down but the UI simply hangs. This happens in two places, firstly waiting
for events and secondly, sending events to a server which no longer exists.
The latter does time out, the former does not. These patches improve
both code sections to check if the main server process is alive and if not,
trigger things to shut down gracefully. This avoids the timeout in the
command sending case too.
This resolves various cases where the UI would simply hang indefintely.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
Our usage of multitprocessing is problematic. In particular, there is a bug
in python 2.7 multiprocessing where signals are not handled until command
completion instead of immediately.
This adds a workaround into our wrapper function to deal with the issue.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
If we trigger a shutdown whilst parsing for whatever reason, in some
cases we were not closing down the parser threads. This change
ensures we do so. The function names are not entirely intuitive
but the behaviour is more correct (and commented). The previous bug
with the stdout failure would trigger this one, if there was a cold
cache and parsing was required (but not otherwise).
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
When processes terminate, we really want all of the child processes to
terminate too. This was not happening for worker processes which spawned their
own multiprocessing pools, leading to build hangs. This change ensures any
sigterm gets passed to the whole process group. In local tests, this resolved
some hanging process workloads I could generate. It does rely on signals
being delivered in a timely fashion and there is a multiprocessing bug we have
to work around there.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
Currently, IOErrors are just passed over due to the broken Exception
clause. A command like "bitbake X | <invalid command>" would break stdout
triggering a traceback. With these changes we print the exceptions, shut down
the server gracefully and exit which is a much nicer behaviour and is less
confusion to the user.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
Currently if an exception occurs, we just run the idle handler again and
again, usually looping indefintely. Chances are the exception that occurred
will keep occuring and this is not a good place to be.
This was breaking the autobuilders with gigabytes of logs.
At least improve things so the cooker shuts down gracefully when this happens.
Some trace of the original problem may still be present on the console too!
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
Signed-off-by: Robert P. J. Day <rpjday@crashcourse.ca>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
Make OE do_unpack logs slightly prettier.
Signed-off-by: Andre McCurdy <armccurdy@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
Signed-off-by: Robert P. J. Day <rpjday@crashcourse.ca>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
Signed-off-by: Robert P. J. Day <rpjday@crashcourse.ca>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
We don't need the "PR = r0" in the bb, so remove it to avoid misleading
the user.
Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
Its useful to have an event emitted when all of the sceneQueue tasks
have completed since the metadata can hook this for processing.
Therefore add such an event.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
The re module was imported at the top, no need to do it again.
Signed-off-by: Namhyung Kim <namhyung@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
so that it doesn't check it twice for non-empty events
Signed-off-by: Namhyung Kim <namhyung@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
|
|
Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
|
|
I inadvertantly used a &YOCTO_* variable in the book to get
a link to the landing YP page. Of course this does not work.
I replaced it with the actual URL. Unfortunately, a previous
commit slipped through that would have prevented the manual
from "making" correctly.
Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
|
|
Reported-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
|
|
It turns out the codeparser cache is the bottleneck I've been observing when running
bitbake commands, particularly as it grows. There are some things we can do about
this:
* We were processing the cache with "intern()" at save time. Its actually much
more memory efficient to do this at creation time.
* Use hashable objects such as frozenset rather than set so that we can
compare objects
* De-duplicate the cache objects, link duplicates to the same object saving
memory and disk usage and improving speed
* Using custom setstate/getstate to avoid the overhead of object attribute names
in the cache file
To make this work, a global cache was needed for the list of set objects as
this was the only way I could find to get the data in at setstate object creation
time :(.
Parsing shows a modest improvement with these changes, cache load time is
significantly better, cache save time is reduced since there is now no need
to reprocess the data and cache is much smaller.
We can drop the compress_keys() code and internSet code from the shared cache
core since its no longer used and replaced by codeparser specific pieces.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
If there is a corrupt/invalid cache file, we'd keep trying to reopen
it. This is pointless, simplify the code paths and delete the dead
file.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
If we're writing out merged data to disk, its safe to assume that either
we loaded the data or couldn't. Loading it again is relatively pointless
and time consuming.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
The SIGNATURE_HANDLER can be defined by the user, so we can't use choices.
Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
This patch fixes a name collision on the event.data
in the MetadataEvent class. event.data is used in the
event system as a copy of "d" in certain situations,
and this collision triggered a bug leading to data loss.
[YOCTO #6332]
Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
|
|
Since Toaster adds a number of specific requirements managed
by pip, we document these requirements in order to be able
to run bitbake and toaster under virtualenv. The target here
is to break the dependency on distro packages for specific
python libraries.
In order to start bitbake/Toaster in a distro-independent manner,
we use virtualenv and pip. We add venv to the .gitignore list
to make room for the virtualenv deployment in this directory.
Use this command sequence to setup the virtualenv:
$ virtualenv venv
$ . venv/bin/activate
$ cat toaster-requirements.txt | xargs pip install
bitbake and Toaster will then run normally under virtualenv.
We also fix bugs related to toaster starting in managed mode
through this script:
* toaster will not use bldcontrol application in interactive mode
* a proper message will be displayed if toaster detects a managed
start request in a build environment
Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
|
|
This patch enables the localhost build controller to
properly set the layers before the build runs.
It creates the checkout directories under BuildEnvironment
sourcedir directory, and runs the build in the buildir
directory.
Build launch errors are tracked in the newly added BRError table.
These are different from build errors, in the sense that the
build can't start due to these errors.
Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
|
|
This is the first commit on the project main edit page.
At this point we have:
* the default settings for a newly created project
* the ability to add targets
* the ability to trigger a build command, and have
the build executed
Project layers now have an optional field, allowing for
removal. Default meta, meta-yocto and meta-yocto-bsp
layers cannot be optional.
We add XHR calls for interactivity in the main page.
Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
|
|
We move the initial_data fixture to a code migration,
in order to make sure that we don't overwrite modified data.
The data is inserted only if no data is present, instead
of always overwriting the entry.
The check settings returns 0 if the check was ok.
Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
|
|
A layer may live in a subdirectory of a git repository,
so we add a field to track this setting in the Project layers.
We add the Project schedule_build function, which creates
a build request from the current project configuration.
We also fix an import problem with Projects in views.
Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
|
|
We add explicit absolute paths for a directory where
the layer sources will be checked out (sourcedir) and
where the build activities will take place.
Adding minimal checking when starting the application in
order to make sure that BuildEnvironment (BE) settings are
usable. This check is ran by the toaster script at startup.
Modify the localhost bbcontroller to use the BE settings
instead of trying to self-configure on checked out sources.
Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
|
|
Signed-off-by: Robert P. J. Day <rpjday@crashcourse.ca>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
output, which has been recently patched to fix the
'-S SIGNATURE_HANDLER, --dump-signatures=SIGNATURE_HANDLER'
option.
Note also, that I have added a new option that has since appeared
in the output but was not in the manual's example. That option
added is '--token=XMLRPCTOKEN'.
Reported-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
|
|
The clearcase fetcher is used to retrieve files from a ClearCase
(http://en.wikipedia.org/wiki/Rational_ClearCase) repository.
Usage in the recipe:
SRC_URI = "ccrc://cc.example.org/ccrc;vob=/example_vob;module=/example_module"
SRCREV = "EXAMPLE_CLEARCASE_TAG"
PV = "${@d.getVar("SRCREV").replace("/", "+")}"
The fetcher uses the rcleartool or cleartool remote client, depending on which one is available.
Supported SRC_URI options are:
- vob
(required) The name of the clearcase VOB (with prepending "/")
- module
The module in the selected VOB (with prepending "/")
The module and vob parameters are combined to create
the following load rule in the view config spec:
load <vob><module>
- proto
http or https
Related variables:
CCASE_CUSTOM_CONFIG_SPEC
Write a config spec to this variable in your recipe to use it instead
of the default config spec generated by this fetcher.
Please note that the SRCREV loses its functionality if you specify
this variable. SRCREV is still used to label the archive after a fetch,
but it doesn't define what's fetched.
User credentials:
When using cleartool:
The login of cleartool is handled by the system. No special steps needed.
When using rcleartool:
In order to use rcleartool with authenticated users an `rcleartool login` is
necessary before using the fetcher.
Signed-off-by: Dennis Meier <meier.dennis@siemens.com>
Reviewed-by: Roger Meier <r.meier@siemens.com>
Reviewed-by: Christian Liechti <christian.liechti@siemens.com>
Reviewed-by: Henrique Mendonca <henrique.mendonca@siemens.com>
Reviewed-by: Pascal Bach <pascal.bach@siemens.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
If you hit Ctrl+C at the right point, the system processes the request
but merrily continues building. It turns out finish_runqueue() is called
but this doesn't stop the later generation and execution of the
runqueue.
This patch adjusts some of the conditionals to ensure the build really
does stop.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
The bitbake -S had been updated which always reuires an argument, so
update the help info:
- Add the two args in the help message: none and printdiff
- Use type="choice" so that we can get more friendly error messages,
for example:
bitbake: error: option -S: invalid choice: 'printdiffX' (choose from 'none', 'printdiff')
- dump-signatures=DUMP_SIGNATURES -> dump-signatures=SIGNATURE_HANDLER
Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
I added some whitespace to bring the example to use 5 spaces
rather than for so that it follows the manual's convention.
Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
|
|
I added text to separate this example code from the general
BitBake User Manual's spirit of standing alone and away from
YP or OE stuff. Also, added another space to move the examples
code so that 5 spaces are used for literal indentation.
Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
|
|
I noticed that the examples from some patches were not indenting
by 5 spaces. I have fixed these to be consistent.
Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
|
|
"fakeroot" is now specified as a function attribute, not as a task
flag.
Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
|
|
I think having a couple real-life examples here would make a huge
difference.
Comment from Scott: I modified the example description to indicate
that it is from an OpenEmbedded metadata-based recipe (i.e from
YP). We have been trying very hard to keep the BitBake User
Manual as separate as possible from the YP docs.
Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
|
|
As long as i've understood everything correctly, this is just
throwing in some physical examples of a couple concepts.
Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
|
|
Added wording to clearly state immediate or delayed application
for various operators.
Reported-by: Robert P. J. Day <rpjday@crashcourse.ca>
Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
|
|
Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
|
|
Some applied as is, some not applied, some modified.
Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
|
|
Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
|
|
There is no "populate_staging" any longer, should be
"populate_sysroot".
Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
|
|
Fixes [YOCTO #6475]
A new parameter has been added to make sure the user is not
passed as the username for the subversion commands with the
SVN fetcher.
Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
|
|
This patches fixes the build - project identification when
running under managed mode. The build is assigned to the
project from which it was triggered, and to the
build request, as to simplify relationships queries
in the database.
Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
|