The current usage of EXPORT_FUNCTIONS is rather problematic since a class
list (classes) is passed into the ast statement and cached as it was
when first parsed. This class list may be different in other cases but
is locked once in the cache.
Worse, the construction of classes can be broken by exceptions during parsing
at the wrong moments since the state of the parser is not always reset
correctly. This can lead to leakage of other classes into the classes list.
The current EXPORT_FUNCTIONS implementation looks at the last two currently
inherited classes and sets up an indirect function call view the second last
class inherited, e.g.:
do_configure calls gnomebase_do_configure
gnomebase_do_configure calls autotools_do_configure
This intermediary doesn't seem to serve a useful purpose.
This patch therefore makes builds deterministic and fixes various cache problems
and indirection by removing the intermediaries and simply performing
directly mapping for the cases where its needed.
(Bitbake rev: 9fc98f96f0e0320beda0ce9546275a99336732c1)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The classes variable in particular could be in an odd state if parsing of a
previous recipe had abruptly ended.
(Bitbake rev: 3dc5e896a97154914cee6c47900e3bb2a2627cdb)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
I appreciate a fixed value is suboptimal but this is better than not
working at all!
(Bitbake rev: d338a1ad14680af41d218772decd03e98eb2cad5)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
There is a race where the registerEventHandler() server call may happen in
a different thread to the main UI, causing the main UI to see
httplib.CannotSendRequest exceptions.
This moves the call into the main thread, removing the init race and fixing
errors I was seeing with the xmlrpc backend.
(Bitbake rev: 14cdd3b351d1ab23cb3ea5f853e403a53e67ac1c)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
An issue was uncovered where changing:
IMAGE_INSTALL_append = "X"
to
IMAGE_INSTALL_append = "X Y"
in local.conf would not get noticed by bitbake. The issue is that
the configuration hash doesn't account for overrides or key expansion.
This patch improves get_hash to account for these. This means the hash
does account for changes like the above.
[YOCTO #3503]
(Bitbake rev: 86bf1f5603e8f98019544e45f51bd0db9a48112a)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Leaving the sigdata files around can aid debugging and doesn't harm
anything. This is the easiest way to allow this to happen.
(Bitbake rev: 1f500149ecd533a6edbeea902c3f1e009c755154)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The "*" part of the mask is to ensure we clean both any stamp, and any
setscene varient. It turns out we would also trample other tasks,
e.g. do_package_write could trample do_package_write_rpm. do_package also
tramples do_package_write_* but this is less of an issue since the other
tasks depend on it.
Rather than use the wildcard, we can just use a list instead.
[YOCTO #3484]
(Bitbake rev: c14d831ea3f625e9a47266a0c4e6deefc924ca5a)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
wget commands for check and resume were
mixed-up, leading to the following issues:
1. long running "NOTE: Preparing runqueue"
reason: objects were downloaded, not spidered on the mirror
2. Failing network test in Build Appliance, because wget 1.14
(in use in BA) will fail if a file already exists.
During the network connectivity test, index.php file was
actually downloaded, not spidered (checked for existence on
yoctoproject.org website), leading to wget failure.
(Bitbake rev: d7a5185cae975eaca50a9785c6605e895dc7bb51)
Signed-off-by: Cristian Iorga <cristian.iorga@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The last changes introduced an error in some of the logic. Add brackets
to clarify the meaning of the expression and fix certain build failures.
(Bitbake rev: 87aea65bd5d553bd0495b0f1efe6d41d0bb2810f)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
- there are some layers which cannot be removed; so ,I have used
a new variable called BBLAYERS_NON_REMOVABLE located in bblayers.conf,
which contains those layers which cannot be deleted
- "meta-hob" layer is added to this variable in hob code, like it's
added to BBLAYERS var
[YOCTO #3176]
(Bitbake rev: 05da1621eed4c6201cd65372d229f63ea8a44b6e)
Signed-off-by: Cristiana Voicu <cristiana.voicu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Currently there is code which uses FILESDIR in unpack to ensure
parent directories are created, leading to differing behaviour depending on
which search path is used to locate the directory.
This change standardises the code and takes the data from the fetcher in
question meaning we can standardise the code and deprecate FILESDIR.
(Bitbake rev: 1cccb3bd01ed82e4978acfef0fda1bd797eef72a)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Currently wildcard matches end up working by FILESDIR being defined
in the metadata to a default of "." in FILESPATH which is hacky at best.
This patch adds the behaviour into the fetcher so its at least slightly
more explicit.
(Bitbake rev: 07b5f84133ac79aac4e939ea5f24390ad7f940a5)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Using curses initscr/endwin causes screen corruption if for example you
suspend bitbake and resume it. This changes the code to use a less
invasive approach to determining colour availability on the terminal.
(Bitbake rev: 4548a8f037eaf8d47a77052acc3e9ec264ac41e0)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Run the sanity check only once
[YOCTO #3377]
(Bitbake rev: 0db80d57d4d2b1bb97375444c439827450ff33d1)
Signed-off-by: Constantin Musca <constantinx.musca@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-to enable this in hob, first you have to enable this in bitbake using
BB_DISKMON_DIRS and/or BB_DISKMON_WARNINTERVAL vars
-created "restart the build" action on the build_fail_top_bar
[YOCTO #3357]
(Bitbake rev: 964ac25d153ff4da144963289a32066db0e28b89)
Signed-off-by: Cristiana Voicu <cristiana.voicu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
In normal usage, we never hit the timeout issue. If we do, it becomes obvious
that the current error handling is not good enough. The request may have made it
to the server and the answer will get queued. This means the next command may get
the return value from the previous command with suitably puzzling results.
Without rewriting large sections of code, its not possible to avoid this problem.
It is better to increase the timeout to several seconds giving the server a chance
to respond and if it does timeout, hard exit since recovery is not possible with the
code base today.
I'd be happy to see the structure of this code improved but this quick fix at least
stops corrupted builds from happening which has to be a good thing.
(Bitbake rev: 410c11dd10736873f2dc587fbe9119c38831e693)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Add bold color output to log level name and standard color output to log msg
when bitbake is run from an iteractive console. Color output is only
enabled
if the terminal supports color.
Used Jason Wessel's recommendation for transparency on verbose, note and
plain.
(Bitbake rev: 2734240da2cc150f811129a6adf6eb4b2161b204)
Signed-off-by: Seth Bollinger <seth.boll@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Any issues encountered during the build (fatal or not) is displayed
in the Issues tab, and the total number of issues is changed.
[YOCTO #3376]
(Bitbake rev: 64c662ab7f09c2e867445e8ba21ea63ae014d45b)
Signed-off-by: Cristiana Voicu <cristiana.voicu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
When the setscene code was originally written it was thought that we'd
allow "partial" coverage. For example, if we just want to build the target
"bash:do_populate_sysroot" and its available from sstate, it makes no sense
to install gcc-cross's sstate package as its simply not needed.
Due to various other issues in the codebase, this functionality was
disabled/removed to allow the setscene code and sstate to stabilise and allow
us to concentrate on other problems.
The time has now come to enable "partial" coverage. There are two major changes
in this patch:
a) Creation of an unskippable list. This lists direct dependencies of
build targets and hence things that cannot be skipped.
b) Addition of a handler which looks at a given setscene target and what depends
on it and then decides whether its necessary.
(Bitbake rev: 2a937cd6a6c3110030b40bc4d85e349b85cb4db7)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The data returned by get_file_depends() may me used in contexts like
checksums where order is important. The current usage of sets means
that some of the checksums can change in circumstances they should not.
This patch changes to use lists, thereby removing the problem.
(Bitbake rev: a44285fc4109236ab89f7aad0a1fc9220eec19b6)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The duplicated import could result in an UnboundLocalError.
(Bitbake rev: a098cebd5c33ebd704efd35d9e655262283cbe1f)
Signed-off-by: Christopher Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
"bitbake -e ASSUME_PROVIDED" should fail, but the error message wasn't
clear enough in the past:
$ bitbake -e bzip2-native
[snip]
ERROR: Command execution failed: Traceback (most recent call last):
File "/buildarea/lyang1/poky/bitbake/lib/bb/command.py", line 94, in
runAsyncCommand
commandmethod(self.cmds_async, self, options)
File "/buildarea/lyang1/poky/bitbake/lib/bb/command.py", line 323, in
showEnvironmentTarget
command.cooker.showEnvironment(None, pkg)
File "/buildarea/lyang1/poky/bitbake/lib/bb/cooker.py", line 325, in
showEnvironment
fnid = taskdata.build_targets[targetid][0]
KeyError: 0
[snip]
With this patch, the massage will be:
[snip]
ERROR: bzip2-native is in ASSUME_PROVIDED
ERROR: Command execution failed: Exited with 1
Summary: There were 2 ERROR messages shown, returning a non-zero exit code.
[YOCTO #3392]
(Bitbake rev: f31447dac92454c822d4ebb7dd48e96c6c69dde4)
Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-after pressing "build image" button, hob was freezing because it didn't
receive well the log file
[YOCTO #3398]
(Bitbake rev: e3619e34d43c3f7725fc83c362d8cbd07e153ebe)
Signed-off-by: Cristiana Voicu <cristiana.voicu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Currently, command.py can return an error message from runCommand, due to
being unable to run the command, yet few of our UIs (just hob) can handle it
today. This can result in seeing a TypeError with traceback in certain rare
circumstances.
To resolve this, we need a clean way to get errors back from runCommand,
without having to isinstance() the return value. This implements such a thing
by making runCommand also return an error (or None if no error occurred).
As runCommand now has a method of returning errors, we can also alter the
getCmdLineAction bits such that the returned value is just the action, not an
additional message. If a sync command wants to return an error, it raises
CommandError(message), and the message will be passed to the caller
appropriately.
Example Usage:
result, error = server.runCommand(...)
if error:
log.error('Unable to run command: %s' % error)
return 1
(Bitbake rev: 717831b8315cb3904d9b590e633000bc897e8fb6)
Signed-off-by: Christopher Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-small changes to the text of the progress bar when parsing recipes
[YOCTO #3282]
(Bitbake rev: 90c0dfc39c3ce13e53c7c91168dc3401f7df476b)
Signed-off-by: Cristiana Voicu <cristiana.voicu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This code is dead and doesn't do anything so lets remove it.
(Bitbake rev: 8d45739f49618757a5d7d79782deda355e3981ec)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Dumping the environment data into the console log files directory is
invariably not what the user wants or expects and leads to confusion
when looking at the log directory.
This change forces the logs to be disabled by default when using
the -e option.
(Bitbake rev: 5d825b31d1133e41d3982db1b94f6a30a6fb99f7)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Its a minor correctness detail but the update flag should be set
when Start events are encountered.
(Bitbake rev: 96683ed68e11672ff22fb4a291d2628676c136f0)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
There was an issue where the last tasks run by bitbake would not
correctly get displayed in the knotty footer. This was due to the
total count including active tasks. This change ensures the footer
is displayed if the are any running tasks.
(Bitbake rev: d787e4efc106589811651bc18ca48d5223443b95)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-since the order of the layers can potentially impact
the build outcome, users should be able to reorder
the layers within the layers dialog;
-used TreeView Drag and Drop
[YOCTO #3270]
(Bitbake rev: 2bd9a00facb90f7d76a9bdaa86ca765fb2159e71)
Signed-off-by: Cristiana Voicu <cristiana.voicu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
User introduced proxy settings were not saved
when a proxy details input dialog was opened.
The proxy settings were lost upon return, and
restored from the previously stored one.
Also:
Code cleanup:
details_cb() function duplicate definition
removed
Fixes [YOCTO #3240]
(Bitbake rev: aa64b2e472f8a9713e3dc25647aa2cae474e2622)
Signed-off-by: Cristian Iorga <cristian.iorga@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
- indicating on progress bar that hob has gone from parsing
recipes to "Generating dependency tree"; this will provide
some visibility of what has caused the "stop" button state
to change
[YOCTO #3282]
(Bitbake rev: d964d04ff1f59a590bd3ab5430517d79e92536d0)
Signed-off-by: Cristiana Voicu <cristiana.voicu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
- created a new file named "hobthreads.py", defining a thread
for opening the log file in a subprocess using subprocess module;
in the future I think we will add some other threads here, to
implement some other performance issues
- on "builddetailspage", "packageselectionpage" and "imagedetailspage"
I have changed the manner for opening the log file; it uses the thread
to open the file, and on main thread it creates a dialog to show a
progress bar, which pulses till the file is open
- this was added because when the log file is big, it takes time to
be opened; on the dialog you can use "Cancel" button to terminate the
process initiated to open the file
[YOCTO #2997]
(Bitbake rev: 165362a63f085991b6bab63ab90a0c7b9bf6b784)
Signed-off-by: Cristiana Voicu <cristiana.voicu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Image selection is not properly initialized to none,
and it used before having a chance to have a value.
Due to dynamic nature of Python, variable is used before
it exists, in this case. This causes a crash.
Bug introduced during the fix of [YOCTO #3228]
Fixes [YOCTO #3334]
(Bitbake rev: 1c540541c5397c38dca880a79df9ebfcda576d4c)
Signed-off-by: Cristian Iorga <cristian.iorga@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
- added a scroll bar in the shared state tab from settings
- added a signal on it, so when you add a new mirror, it will
auto-scroll to the end of the list
[YOCTO #3229]
(Bitbake rev: 00afd6a25c0cc0a4fcddd9f7c26a17ef6c47cbd2)
Signed-off-by: Cristiana Voicu <cristiana.voicu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Image selection is remembered correctly even after
advanced settings have been changed.
Selected image was reset even when it was not the case.
Fixes [YOCTO #3228]
(Bitbake rev: 93fb0a2c56100b2bbc8769af9ae2343c05e72193)
Signed-off-by: Cristian Iorga <cristian.iorga@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
- when you do a build you should see "Log" page, not
"Build configuration" page
[YOCTO #2569]
(Bitbake rev: 431cb80d4d5222f832f6141b8578291f2f14a131)
Signed-off-by: Cristiana Voicu <cristiana.voicu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-when the recipe parsing process is stopped, the progress bar shows
"Stopping recipe parsing"
[YOCTO #3259]
(Bitbake rev: d20626bd717bb8f5cfd73b91337af880198db247)
Signed-off-by: Cristiana Voicu <cristiana.voicu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
In "Edit Recipes" and "Edit packages" pages, the "Brought in by"
column is displayed correctly, with the right number of additional
packages and a proper title.
Fixes [YOCTO #2195].
(Bitbake rev: 4d1d3e5a54eb718e2eee02f734d929f15ccf99ce)
Signed-off-by: Cristian Iorga <cristian.iorga@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
added a method in progressbar.py that doesn't update the
percentage in the progress bar shown in hob.
the call of the method is done in builder.py.
(Bitbake rev: 7ab5775fceda1055b86bdc3313fc4bf928bf5155)
Signed-off-by: Andrei Dinu <andrei.adrianx.dinu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-when returned to the Image configuration page, after canceling on the
Recipe selection page, the image selected previously is now shown corectly
[YOCTO #3205}
(Bitbake rev: 0a755026661a18ae386eb64b807e9e9e8f0dfe4c)
Signed-off-by: Cristiana Voicu <cristiana.voicu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
size_str = '%.1f' % (size*1.0/(1024*1024)) + ' MB'
from /bitbake/lib/bb/ui/crumbs/hobpages.py file transformed
the size in MB. In our file it was again multiplied by 1024
instead of doing a division by 1024, which brought a faulty size on
the edit packages screen.
(Bitbake rev: 7dcea3884a45973ae332695dc8a53814b701151f)
Signed-off-by: Andrei Dinu <andrei.adrianx.dinu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This patch allows the user to check the network connectivity in
the "Proxy" page ("Settings" dialog) by adding a button which provides
this functionality. It also disables retrigerring sanity checks if the
proxy values are changed, since now the proxy checks are explicit.
Note that this patch depends on a patch in oe-core
("sanity.bbclass: trigger network tests explicitly"). It will
not work properly if the patch in oe-core is not merged.
[YOCTO #3026]
(Bitbake rev: cb1354d29c0be27aee57b9783c724457ef6725fb)
Signed-off-by: Bogdan Marinescu <bogdan.a.marinescu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This change also applies to task-core-standalone-sdk-target-dbg and resolves
build failures caused by the missing packages.
(Bitbake rev: 4cd0200e96fb282980a945b80af641a6e022e0b4)
Signed-off-by: Andrei Dinu <andrei.adrianx.dinu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
- throw a Hob exception if runCommand returns 'Busy' or
'No such command'
[YOCTO #1245]
(Bitbake rev: 5a8e3baa66f845599a616f080a7efce81ecda631)
Signed-off-by: Constantin Musca <constantinx.musca@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
- qemu images cannot be deployed to hardware, even if live
images (hddimg and iso) files are created
[YOCTO #3196]
(Bitbake rev: 001b1c439ffa450cb8728b0fa9469fed63ae9bed)
Signed-off-by: Constantin Musca <constantinx.musca@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
- when displaying image details, even if the kernel information is not shown, the kernel value must be set (if dealing with qemu) otherwise running the image will throw an error
(Bitbake rev: 334125a98ecb8a938aee4bc530205ad75099361c)
Signed-off-by: Ioana Grigoropol <ioanax.grigoropol@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
It is a common mistake to use http:// and protocol=git when attempting
to fetch from a git repository using the http protocol; if this is
detected then throw an error explaining that you need to use git:// with
protocol=http instead.
(Bitbake rev: 5bc4930c1638db16bcd5f9c8cfc4081f9ffc192b)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
For some reason the code calls int() on the epoch component of any
PREFERRED_VERSION. Since this is compared against strings, the comparison
would always fail. This removes the stray cast and allows epochs
in preferred_version to work correctly.
[YOCTO #3187]
(Bitbake rev: 117b47553970fc5307374cbf500744b7c302efb4)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
- the title label is destroyed at page switching (that's why we need
to generate it every time)
[YOCTO #3195]
(Bitbake rev: d6d991c08f66cf9ab27c53075109212ea9129380)
Signed-off-by: Constantin Musca <constantinx.musca@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Scrollbars have now an automatic behavior, depending on
the error's text size and error window size.
Fixes [YOCTO #2983]
(Bitbake rev: 0c0a25672498520fb2c46164f08959dda83c61e0)
Signed-off-by: Cristian Iorga <cristian.iorga@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
1. Replace some labels in the "Build environment" tab
2. 'defaultsetup' changed to 'Default' in the "Image types" tab
3. Fixed the moving icon in the "Output" tab
For more details: https://bugzilla.yoctoproject.org/show_bug.cgi?id=2162
[Yocto #2162]
(Bitbake rev: db7d98569117b7a75262eb555e1c7ae9a421bdf8)
Signed-off-by: Bogdan Marinescu <bogdan.a.marinescu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
- the 'User selected' tag is only used when the user
selects a package
- fix hob to remember which packages are 'User selected'
- if the package is already brought in by some other package,
it should not appear as 'User selected'
[YOCTO #3108]
(Bitbake rev: 2391e9ba7034d4f90bafa5732d8efa8166f69950)
Signed-off-by: Constantin Musca <constantinx.musca@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-the tab shows an empty mirror row when no mirror is configured
-able to delete the mirror row even if it's not empty(if it's not
the first mirror)
[YOCTO #3189]
(Bitbake rev: d6472608112b8af2e98f247e6f89a7f948b2d020)
Signed-off-by: Cristiana Voicu <cristiana.voicu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The API for explode_dep_versions is flawed since there can only be one version
constraint against any given dependency. This adds a new function with an API
without this limitation. explode_dep_versions() is maintained with a warning
printed when its used in a situation where information is lost.
This should allow a simple transition to the new API to fix the lost dependency
information.
join_deps() is updated to deal with data in either format.
(Bitbake rev: babeeded21827d8d3e7c7b785a62332ee9d45d4f)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Refactor the explode_dep_versions to be more lenient on whitespace values.
The required format is:
foo (= 1.10)
foo (=1.10)
foo ( = 1.10)
foo ( =1.10)
foo ( = 1.10 )
foo ( =1.10 )
(Bitbake rev: 39c1c12c58fadd854098cf14ebe92f4d307a36dd)
Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
explode_dep_versions is not able to have duplicate entries. Previously
duplicate entries ended up with the last item being the one returned to
the caller.
We now detect a collision. We do allow an empty item to have a comparison
added to it, or a duplicate with the same comparison without error.
When a collision is detected a ValueError exception is thrown.
Allowed:
foo foo (= 1.12) foo
Invalid:
foo (= 1.12) foo (= 1.13)
(Bitbake rev: d40448f0483a2959e9dcaac9b6dd35839f396a6e)
Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This patch fixes the bad merge of #2162 fixes on master.
(Bitbake rev: 5b84d88f2a47063197f9a20f8ebf0a7ccf22c2eb)
Signed-off-by: Bogdan Marinescu <bogdan.a.marinescu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
For long errors (bigger than 200 letters),
the text box is scrollable and resizable
and text is selectable.
Additionaly, all message dialogs are modal.
Otherwise, a user could still interact with hob
even in an error case, leading to potential problems.
See design details in related bugs.
Fixes [YOCTO #2960], [YOCTO #2983]
(Bitbake rev: be8bf02f2b347edf5514cafc6cb6a44f71118736)
Signed-off-by: Cristian Iorga <cristian.iorga@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
When a build fails, there should not be a back button on the screen.
All available actions are provided within the failure notification,
so no back button is needed.
[YOCTO #3104]
(Bitbake rev: 03f978d21c7bfbf5f1afc741a43766030f2882a8)
Signed-off-by: Cristiana Voicu <cristiana.voicu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The console can appear to hang when no tasks are executing even if bitbake
is iterating through a large number of tasks behind the scenes.
This patch tweaks the footer code to display a status even when no tasks
are active to give the user better feedback about what is happening.
(Bitbake rev: 0a950ee14fce3a0cb938c22d7c717dc93ce6e25f)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Syntax like:
FOO = "bar" # eek"
would result in FOO taking the value 'bar" #eek' which is clearly
not the intention. Whilst our metadata is riddled with mixtures of even
quotes like:
FOO = "d.getVar("X")"
odd numbers of quotes seem rare. This patch adds detection of one odd
quote which we don't have any of in OE-Core so it seems a valid sanity
improvement.
(Bitbake rev: 5f892d9b083550e20e37576070ec7d1a94cc88fe)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The entire interface isn't usable whilst the progress dialog is up so we might
as well set the modal flag so that some WMs (such as GNOME 3) can do nice things
with the dialog (such as pin it to the titlebar).
(Bitbake rev: 9a19fe8e8c65b75dbbb4ae5401df6d6838495bdd)
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Add a new tab to show correctly SSTATE_MIRRORS variable. Now you can add new
mirrors or delete mirror. "info" image was also changed( it is smaller, so it
can be next to labels).
>From "Build environment" tab, SSTATE_DIR and SSTATE_MIRRORS vars were removed.
[YOCTO #2893]
(Bitbake rev: ae27a7cf4d31a1b99840a761a27fd6256cb1dd9b)
Signed-off-by: Cristiana Voicu <cristiana.voicu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
- use the progress bar text to indicate the stopping status
- the text should say: 'Stopping the build...'
[YOCTO #3152]
(Bitbake rev: 6f59db920ca4f527606670969c79afbf34eaff81)
Signed-off-by: Constantin Musca <constantinx.musca@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Instead of logging the function/variable separately as a NOTE when
failing to expand, re-raise ExpansionError with more contextual
information. This means that the full details are reported in Hob as
well as actually reporting the original error message in any UI where
we previously did not. For example, we used to get this with tab/space
indentation issues in a python function:
NOTE: Error expanding variable populate_packages
ERROR: Unable to parse /path/to/recipename.bb
Now, we will get this:
ERROR: ExpansionError during parsing /path/to/recipename.bb: Failure
expanding variable populate_packages: IndentationError: unindent does
not match any outer indentation level (<string>, line 4)
Fixes [YOCTO #3162].
(Bitbake rev: ce5c7a95a359cdaecab7c4a519ad4f9df029da82)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Make these a little easier to understand.
(Bitbake rev: 84ab874c8818484d37ee438aab27486fff497705)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Add "-d" option to cpio since it is useful:
-d
--make-directories
Create leading directories where needed.
[YOCTO #3137]
(Bitbake rev: a78f9ded7896432b107f34c0bb608b389fdb676a)
Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
1. Move the "Others" tab from advanced settings to simple settings
2. Organize content of tabs into headings
3. Match various labels in the settings with the design
4. Clean up config_md5 in both simple and advanced settings
This patch implements a part of the changes requested by Belen in the settings dialogs.
The second version of the patch addresses all the UI changes requested by Belen (more
details are in the bug description): alphabetical ordering of the image types and
warnings if no image type is selected.
[YOCTO #2162]
(Bitbake rev: b45438555ecf2e25ebb99324a18d31c812a2738a)
Signed-off-by: Bogdan Marinescu <bogdan.a.marinescu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This patch adds a sanity check progress screen to hob. The screen
is displayed when Hob executes the sanity check procedure. The screen
is displayed for at least 5 seconds. If a network error is detected,
a special dialog is displayed which lets the user open the proxy
configuration page directly.
Note that currently bitbake triggers the network tests only when
the value of its TMPDIR variable changes, which happens fairly rare
on my system. This is the subject of another bug (#3026).
Version 2 of the patch splits the changes in two parts (sanity.bbclass
belongs to oe-core).
[YOCTO #3025]
(Bitbake rev: b48f1351271cc066ffe919db112b14834a6d8f8f)
Signed-off-by: Bogdan Marinescu <bogdan.a.marinescu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
When a user makes a build from a tarball, it shows fatal error in branch field.
Now it not complains as a fatal error. It is a normal message.
[YOCTO #3114]
(Bitbake rev: 53d5d542cd0197ca67c5f90a57808af2f19ff56d)
Signed-off-by: Cristiana Voicu <cristiana.voicu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
- removed all set_size_request calls for buttons in order to:
- force autosizing of buttons with regard to the text length
- use host theme default height for buttons
- modified buttons on image details page to have the same height (default host one) and the width of the button with the largest text
- modified Stop button on build details page to have the default height by directly attaching it to the containing table instead of hbox
(Bitbake rev: 9cdfaa17309d368c3bbae0f1cce0ad875d340e83)
Signed-off-by: Ioana Grigoropol <ioanax.grigoropol@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Add a new tab to show correctly SSTATE_MIRRORS variable. Now you can add new
mirrors or delete mirror. "info" image was also changed( it is smaller, so it
can be next to labels).
>From "Build environment" tab, SSTATE_DIR and SSTATE_MIRRORS vars were removed.
[YOCTO #2893]
(Bitbake rev: 1a81e27365d969e4ad4b4f0aec290aa967a8a35f)
Signed-off-by: Cristiana Voicu <cristiana.voicu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
When you stop a build, a "Build stopped" message appears. I have changed 2 tooltips and
also eliminate the alert that comes up when you click 'Edit packages'.
[YOCTO #3160]
(Bitbake rev: f5a21da2faf7ede56cf211b96dffd8aaa4b485b8)
Signed-off-by: Cristiana Voicu <cristiana.voicu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
It is possible to lose critical log data when python exits in an
unorderly fashion via segmentation fault or certain types of crashes.
This is because the buffer characteristics are inherited from the top
level stdout, which should be set to unbuffered, for the purpose of
all the forked children.
This pushes the buffering to the OS, instead of having python managing
the buffers in its stream handler class.
This change is also to provide the ability to tail logs written from
processes in "real time" because they would be written in an orderly
fashion depending upon the OS characteristics for the file I/O.
(Bitbake rev: c6a367bc3224adafca698a4ffc5414ad83842c16)
Signed-off-by: Jason Wessel <jason.wessel@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The LogExecTTY even is intended to provide the ability to spawn a task
on a the controlling tty, if a tty is availble. When a controlling
tty is not availble the previous behavior is preserved where a warning
is issued about the action an end user must execute.
All the available UI's were tested against the new event type.
This feature is primarily intended for hooking up a screen client
session automatically on the controlling tty to allow for a more
streamlined end user experience when using a pure command line driven
environment. The changes that send the LogExecTTY event are in the
oe-core side.
(Bitbake rev: cffe80d82a46aaf52ff4a7b6409435754043553f)
Signed-off-by: Jason Wessel <jason.wessel@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The following traceback appears when running the following command after the
devshell is exited.
bitbake -u goggle -c devshell busybox
-- traceback --
Traceback (most recent call last):
File "/work/bitbake/lib/bb/ui/goggle.py", line 35, in event_handle_idle_func
build.handle_event (event, pbar)
File "/work/bitbake/lib/bb/ui/crumbs/runningbuild.py", line 299, in handle_event
pbar.set_text(event.msg)
AttributeError: 'ProgressBar' object has no attribute 'set_text'
(Bitbake rev: a6cc53cdb3c34fc8fd01bbc5ce0008429dc6785c)
Signed-off-by: Jason Wessel <jason.wessel@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Mainly intended for the purpose of debugging or forcing builds
from source, the --no-setscene will prevent any setscene
tasks from running.
(Bitbake rev: 440e479f3e248482c38c149643403c6907ac7034)
Signed-off-by: Jason Wessel <jason.wessel@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
bitbake-selftest is failing due to directories not being created. This adds in an
appropriate mkdir so the tests can complete. Presumably in general OE use, something
else is ensuring the parent directory is created.
(Bitbake rev: 1270a07713e2a6c6e6fadcc61b785aebc99ae17b)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* Don't print the full exception in the initial warning - if we later
succeed in fetching the file from a mirror, we won't usually need the
details (which are in the fetch log if they are needed); otherwise the
full error will be printed when the fetch operation fails. Also adjust
the conditional block so that we don't print another warning just
mentioning we're going to try mirrors.
* Call logger.error() so that with knotty the full log is not printed
* Provide an explanation around the lines we print for easily updating
the checksums in the recipe. We don't want users to be just blindly
updating the recipe in case of a transient failure or deliberately
altered remote file.
(Bitbake rev: 2793413106c925b06783beb7413aa87cbcf246c3)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Most of the time we don't need to see the fetch command; the fetch log
includes the command as a debug message in any case, so omit it. Also
adjust the way command output is printed (we don't need stderr/stdout
labelled, and print "no output" instead of "output:\nNone" when there is
no output.
(Bitbake rev: a75505a52e4da918222100221f79e8a658f90446)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
If a target dependency is marked as failed and yet we are continuing on
because -k has been specified, don't try to access the dependency's data
in taskData.build_targets since it will have been removed. This fixes
"IndexError: list index out of range" errors in this situation.
Also, do not print the "unhandled exception" message when SystemExit is
raised since we will have reported the actual error already in this
case (e.g. when -k has been specified and some targets failed).
Fixes [YOCTO #3133].
(Bitbake rev: 70eebc184eb1ab3678be87bed019b5beadecdc89)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
You can't use markup characters (e.g '<' or '>') in the labels for many
widgets - you must use the appropriate entities instead.
(Bitbake rev: 54a16ac999d4a2c4c3f8a4531e8c6fabc39a4147)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This is not necessary for modern applications - instead we just need to
check if we're in the middle of a build and if so, do the same thing as
pressing the "Stop" button.
(Bitbake rev: a79eb5d918239db1dade8134743e6142a4854930)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Allow specifying HOB_MACHINE in local.conf to set the initially
selected machine. With this set, Hob will select the specified machine
and then jump straight into parsing recipes. If you do wish to change
the selected machine with HOB_MACHINE set you still can - you just need
to stop the parsing process first.
Fixes [YOCTO #3148].
(Bitbake rev: c3b623dc7d546a1ededdb532dcbcba4a6230bc65)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
During building we already report errors in a special tab and
indicate when the build has failed; bringing up a dialog was a
regression introduced in bitbake revision
5bab81b124087d63d6eb62a861e1241714fcd483.
Fixes [YOCTO #3151].
(Bitbake rev: cf0a67d62f631aa48d1afc3fbdd0f73995b1c401)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
- If you arrive to the packages screen from the recipes screen, the title
should say: 'Step 2 of 2: Edit packages'
- If you arrive to the packages screen from the image details screen, the
title should say: 'Edit packages'
- The title of the recipes screen should say 'Step 1 of 2: Edit recipes'
[YOCTO #2982]
(Bitbake rev: c366f4314c29b873a486daa9a0a4e29bb4225dd6)
Signed-off-by: Constantin Musca <constantinx.musca@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
When a build was stopped, it wasn't obvious what to do next.
Now, on the page it appers a top bar with 3 buttons: "edit image",
"open log", "build new image"
[YOCTO #2537]
(Bitbake rev: a6afd15b7a40919313e26777b514ae44b587a0f6)
Signed-off-by: Cristiana Voicu <cristiana.voicu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
When the '-s' option is run, change the heading above the list of recipes
to say "Recipe Name" instead of "Package Name".
(Bitbake rev: d1c3a9de875fb488a56ab5cb1d2f8e2f24f31d69)
Signed-off-by: Trevor Woerner <twoerner@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Once package building completes, you can customise the list of
packages that will go into the final image. Once you have made
the changes you need, you can either build your image, or you
can exit the process and go back to the 'Image configuration'
screen by selecting 'Cancel'.
[YOCTO #3105]
(Bitbake rev: c5fd1824c9794923576ec1e747536c0430542fd1)
Signed-off-by: Cristiana Voicu <cristiana.voicu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
If an event handler failed we were not recieving an error message -
parsing just "froze" at 99%. This is because we were expecting a
CommandFailure event and this never happened in the case of
RequestPackageInfo which is where the failure was occurring.
This also required tweaking the error formatting slightly, taking the
return value of the format function rather than the message property
since the latter only seems to contain the first line without the
traceback in the case of event handler failure. Other error cases were
tested and their message formatting is unaffected by this change.
Final part of the fix for [YOCTO #2651].
(Bitbake rev: 5bab81b124087d63d6eb62a861e1241714fcd483)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The "distro" combobox was moved to advanced settings, but it
was also present in simple settings. This patch removed it
from simple settings.
(Bitbake rev: 6d56bec4464da14d7fde0e60946be43293ad6e52)
Signed-off-by: Bogdan Marinescu <bogdan.a.marinescu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Currently when we execute a task, we don't remove other potentially stale
stamps. This can mean if you switch between two different versions of a
recipe without a clean, the build can get very confused.
This patch adds in functionality to allow a wildcard expression of stamp
files to be removed when creating a new stamp file. This patch adds in
the core of the code to enable this but it also requires metadata support
to enable it.
When writing this improvement I went through several different options but
this was the only way I could find to allow things like noexec tasks to
function correctly (where stamps need to be created without the data store).
[YOCTO #2961]
(Bitbake rev: e026469b307522e5b6a680e0ae5587749d33dcae)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Add in misssing space between the parameters. Reported by
Jate Sujjavanich <Jate.Sujjavanich@myfuelmaster.com>.
(Bitbake rev: 55382f0aac84b8f81cad0b82053c0b8295c33e54)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The code in the CVS fetcher is elderly and there are simpler ways of
using the data store. This updates to use the modern APIs.
(Bitbake rev: 78eee8c70a80997293df99475153aed0b2ad0a17)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The localdata variable was removed, fix up a lost reference to this.
(Bitbake rev: 02ccc1396005ce0b7a2150a5ce12b723df21d464)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Fix some issues with the settings dialog that were introduced as
a result of merging the fix for #2162.
[YOCTO #3117]
(Bitbake rev: a363f59579e01cb7bd39be2ce73f22c875c62ce7)
Signed-off-by: Bogdan Marinescu <bogdan.a.marinescu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Rename all the 'View log' buttons to 'Open log' for
consistency.
[YOCTO #3045]
(Bitbake rev: 7bc9b0c1c2544b494959b13ac79ac3e52edb4fe3)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This ensures that our event handlers get run in registration order, making the
behavior more deterministic. I pulled in the python2.7 OrderedDict to avoid
essentially reimplementing a version of it ourselves, figuring we can drop it
when we bump our required python version next.
(Bitbake rev: 44aa0b0537d3fbd1272015e7677948f84d8c0607)
Signed-off-by: Christopher Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
When making filename comparisons for recipes for priority calculations,
we need to split off any virtual prefix. Without this, BBCLASSEXTEND
version of recipes don't follow the priority settings they should.
[YOCTO #2933]
(Bitbake rev: 055b72a230e6b0b1cababd65372c62d9ddce385e)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
If BitBake exits before a UI handler (server) has been registered, we
print the event queue; if there are any errors or other non-debug
messages just print these and suppress the rest of the message queue.
This improves the output when sanity check failures occur with OE-Core
by avoiding printing a long stream of uninformative debug messages.
(Bitbake rev: 8668a94cb1841798636b68fe123400d6b81f6574)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Error messages that use arguments need to be formatted properly, or we
don't get the full message. Use a formatter to do this when an error
occurs.
Partial fix for [YOCTO #2983].
(Bitbake rev: 6783538884adecd914909a9ab4ca73c27575f3ad)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Sort the list of base images to make it easier to find a specific image
in the list. Note that "Create your own image" still remains the last
item in the list.
(Bitbake rev: db16f575a774de7d9d44b4bc727b252de5d0f34d)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This is the interface Hob uses to set variable values in many instances,
and at the moment it is possible that some of the values it passes are
not strings. If a non-string value gets into the datastore it can
trigger exceptions during parsing when we attempt to expand the variable
and substitute in the non-string value.
This fixes using the meta-ti layer within Hob - it currently has a
reference to BB_NUMBER_THREADS within a shell function and since this
is a variable that Hob was setting from its configuration as an integer,
due to the above this was triggering an ExpansionError.
Fixes [YOCTO #2875].
(Bitbake rev: 855b71d8a8e468bfeff9e1a6699d79d68ab27aa1)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
We cannot reorder this list - it must stay in the order shown in the
dialog (which may in future be configurable by the user).
Fixes [YOCTO #2649].
(Bitbake rev: eca0352195d2d8ae8ef15baab9737884ec674a46)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This changes the filtering to use the inheritance of
packagegroup.bbclass to determine if a recipe is a package group.
Also makes the tab tooltip text generic; these recipes could come from
any enabled layer, not just the default ones.
(Bitbake rev: a3bf87a90198bf6127663c27d8be086dab04aaf9)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Our poor implementation of markup escaping was causing invalid
markup, leading to the error dialog being blank. Use the glib markup
escaping function provided by PyGTK+ to do this properly and avoid the
blank error dialogs.
Partial fix for [YOCTO #2983].
(Bitbake rev: 563ea5233a5ab1629c51e802d04280692f96c596)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Some of these values may or may not be overridden on a per-package
basis, so handle them accordingly.
(Bitbake rev: 56cee6a958843b03c5389d4a45245a04d1e03327)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
If an exception occurs during handling another exception we were
getting a useless traceback such as the following, after which
BitBake froze:
ERROR: Command execution failed: Traceback (most recent call last):
File "/home/user/poky/poky/bitbake/lib/bb/command.py", line 84, in runAsyncCommand
self.cooker.updateCache()
File "/home/user/poky/poky/bitbake/lib/bb/cooker.py", line 1207, in updateCache
if not self.parser.parse_next():
File "/home/user/poky/poky/bitbake/lib/bb/cooker.py", line 1694, in parse_next
logger.error('Unable to parse %s', value.recipe,
AttributeError: 'exceptions.TypeError' object has no attribute 'recipe'
Fix this to print an actual traceback of the exception and exit
gracefully (well, as gracefully as possible under the circumstances).
The general fix for [YOCTO #2977].
(Bitbake rev: 675b237a284dff84e972546774b69e2f89afb360)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The implementation of NoMethodError and MalformedUrl was broken - if you
just set self.args in an exception class to a string it treats it as a
list and then fails later on with a TypeError due to the number of
arguments not matching up.
This nasty exception during exception handling was breaking the normal
exception flow (fixed separately), which meant that if you had a
malformed URL or invalid protocol in SRC_URI you would get the
following:
ERROR: Command execution failed: Traceback (most recent call last):
File "/home/user/poky/poky/bitbake/lib/bb/command.py", line 84, in runAsyncCommand
self.cooker.updateCache()
File "/home/user/poky/poky/bitbake/lib/bb/cooker.py", line 1207, in updateCache
if not self.parser.parse_next():
File "/home/user/poky/poky/bitbake/lib/bb/cooker.py", line 1694, in parse_next
logger.error('Unable to parse %s', value.recipe,
AttributeError: 'exceptions.TypeError' object has no attribute 'recipe'
A specific fix for [YOCTO #2977].
(Bitbake rev: 9d4150d99051d24ff218e8a43664ceaf524b19c7)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
When or_label was removed, I forgot to remove also the references to it.
[YOCTO #3010]
(Bitbake rev: 4d208aaedd60f79a4277f501fdbf8c2afc32c250)
Signed-off-by: Cristiana Voicu <cristiana.voicu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This ensures that if all a MIRRORS entry does is add a slash, this does
not result in a circular loop.
Fixes [YOCTO #3073].
(Bitbake rev: 57055d337a2c9997a6e5d5bdabaec396e3e128e9)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
If DISPLAY wasn't set, launching hob has printed a traceback
difficult to understand. Now, the exception is caught and it
shows a human message.
[YOCTO #2596]
(Bitbake rev: a41098a2dacbd903422ccdcd1885b0f351c7ddf3)
Signed-off-by: Cristiana Voicu <cristiana.voicu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
changed the order of task tables,
cancel the 'description' column,
add the binb total number indicator, and so on
[YOCTO 2195]
(Bitbake rev: 6dc3263d60a6d35f9eebfcdbc2665201ee40b953)
Signed-off-by: Liming An <limingx.l.an@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Add the ability to compare the two most recent runs of a specified task,
and follow dependent hash changes recursively. This enables you to trace
back and find exactly why a task was re-run after the fact.
Note that this relies on the metadata providing a function, hooked in
as bb.siggen.find_siginfo, which allows searching in the appropriate
places to find signature data files.
(Bitbake rev: cc70181659c07e04c205e17832846acf1ff31d28)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
These functions become a little bit more reusable if they return a list
containing the output rather than just printing it.
(Bitbake rev: a0ad2a947b71abcc0a1244cf139b9e9dfd8ee049)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
before:
virtual:nativeautomake_1.12.1.bb.do_compile
after:
virtual:native:automake_1.12.1.bb.do_compile
This separation ensures that the key is readable, and if necessary,
parsable.
Unfortunately this invalidates previous native sstate signatures with
OE-Core - not much that can be done about that; however that occurs
frequently during the development cycle so it's par for the course.
(Bitbake rev: 5b96c32dad256090e9bda5af0f80c7dbcc90bde8)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
We had one section of the code mixing tabs with spaces, which is
particularly undesirable with python code.
(Bitbake rev: 8eaa093b179e03a6003a47220540b1bc73afca17)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The code to initialise BitBake within bitbake-layers should be useful
for other utilities that need to query configuration or recipe
information, so refactor it out into its own class, "Tinfoil" (to
continue with our cooking metaphor).
(Bitbake rev: e5707e3938ace47c4a8d1fa2e81583fd4dc6b95d)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Toolchain was not saved in the settings dialog ("Output" tab).
[YOCTO #2695]
(Bitbake rev: f8924b75d6ff7f093d73f4e3c0953e349960d5ff)
Signed-off-by: Bogdan Marinescu <bogdan.a.marinescu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-changed the text shown by both dialogs text
-make small tweaks to alignment
[YOCTO #2999]
(Bitbake rev: b193db13472908b8ec6c670da96ff3b0004e635b)
Signed-off-by: Cristiana Voicu <cristiana.voicu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Now, "Your image is ready" icon doesn't appear when you come back on Imagedetails
page. It appears only after the image was generated.
[YOCTO #2984]
(Bitbake rev: de29bfc163471e4959483493a5e5b26f8a2cf8a0)
Signed-off-by: Cristiana Voicu <cristiana.voicu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
- All buttons in the interface inherit a BaseHobButton that
use the gtk settings for buttons from the host;
- Removed 'or' label between actions on image details page
[Yocto #3011]
(Bitbake rev: 1a8356b57f906cf575612eb52fc8d3a9824ff9a7)
Signed-off-by: Ioana Grigoropol <ioanax.grigoropol@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* Unpack the ".rpm" binary package (only .src.rpm in the past)
* Unpack the .deb and .ipk binary package, their unpack commands are the same.
* This is useful for binary package recipe.
[YOCTO #1592]
(Bitbake rev: de7ceb9459574f33920ccc06255b533434f0ec25)
Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
"Back" button placed on RecipeSelectionPage and PackageSelectionPage
was changed to "Cancel" button to avoid any confusion.
Also, it was placed next to the other buttons on the page.
[YOCTO #3012]
(Bitbake rev: 1785b49a1b0b9698851d6e8aea94d1d2aa22c445)
Signed-off-by: Cristiana Voicu <cristiana.voicu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The image configuration screen should have only one primary action.
"Edit image" button has now secondary action, and also I have removed
"or" label.
[YOCTO #3010]
(Bitbake rev: f54191dac18b4e1100944cc6da86705c1e9c1683)
Signed-off-by: Cristiana Voicu <cristiana.voicu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
For the 'Included' tab: "The packages currently included for your image"
For the 'All packages' tab: "All packages that have been built"
For the 'Search' field: "Enter a package name to find it"
[YOCTO #2322]
(Bitbake rev: 0828f352419127fb30dc4eb5f91feba84ea59202)
Signed-off-by: Cristiana Voicu <cristiana.voicu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
"Back" button from "Packageselection" page now restores correctly previously
selected packages list. Till now "Back" button was implemented just to switch
pages, not to cancel changes you have made to packages list.
[YOCTO #2984]
(Bitbake rev: 1ad03d6a327eb3389f7b4d0d74d2e8ae8b50c3b6)
Signed-off-by: Cristiana Voicu <cristiana.voicu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Because class hcc is useless, remove it.
(Bitbake rev: 08d4a0f76542e05755c298b3875ea373e5512e13)
Signed-off-by: Kang Kai <kai.kang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
[Yocto #2795]
When a new image type added, the hob will crash because the new type is
not in the hard-coded image dictionary.
For most of the image types, they are same with the image file's
extension name. So use variable "IMAGE_EXTENSION_difftype" to map the
image type which is diff with the image file extension name, such as
type "live". And the variable(s) will be set in image_types.bbclass.
(Bitbake rev: e7c84f056af9c613920d5adcd078a011e0387193)
Signed-off-by: Kang Kai <kai.kang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
"bitbake meta-toolchain" with qemu image testing enabled causes problems
since it adds a task after do_rootfs which doesn't exist in this case.
We should simply ignore these extra dependencies rather than adding
them in which is what this patch does (adding a debug message when this
happens).
(Bitbake rev: 843d3d6b0a7eb2e2f7b50c555767f5385df16ede)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The '-s' option shows (input) recipes, not (built/output) packages. Clarify
the help wording for this option so it is consistent with how bitbake defines
recipes and packages.
(Bitbake rev: 0cac6d647c58ae449323959220775fc1afd5bfb0)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This is useful if we need to disable part of one during a backtrace
for debugging purposes.
(Bitbake rev: 80a0c1b06a30a6ba9977c29fac0437a208d8cbbc)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
It was hard for me to understand what the define variable was, modulename
is hopefully a bit better.
(Bitbake rev: 79f9f46319de85f85613ebe248c327f5852225ba)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This removes some dubious functions and replaces them with a simpler, cleaner
API which better describes what the code is doing. Unused code/variables are
removed and comments tweaked.
(Bitbake rev: f1e943aebfb84e98253f3f21646d6765c4fa1d66)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This removes some unnecessary tracebacks
(Bitbake rev: db0ff7b4d47fce8322dd2350a2b1a6f60ef61d25)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Currently parsing failures still allow bitbake to continue on and try
and execute a build. This is clearly a bad idea and this patch adds in
more correct error handling and stops the build.
The use of sys.exit is nasty but this patches other usage in this function
so is at least consisent and its better than the current situation of
trying to execure a half parsed set of recipes. There are probably better
ways this could be improved to use to stop the build.
(Bitbake rev: 22756e9c0f1da33ba2c6e881b214577a610b7986)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Adding a generic backtrace to better_compile and better_exec is pointless,
therefore reraise the exception as a bb.BBHandledException so the
generic code doesn't confuse the user even more.
(Bitbake rev: b3d97130e1e70fe969399277dcd7cccd888103d6)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Currently as soon as execution passes outside the code fragment being
executed by better_exec, we don't get any good traceback information,
just a likely obscure reference to some function name which may
or may not be identifiable.
This patch adds code to query the datastore if present, allowing a more
meaningful back trace to be displayed in many cases.
[YOCTO #2981]
(Bitbake rev: 0edf8431f9ff52581afe0d3ef525c59909af02ba)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
If a recipe is skipped during parsing for whatever reason, check and
report this as an error rather than trying to use the data that is sent
back and failing.
Fixes [YOCTO #2976].
(Bitbake rev: a324df40243fa55ccc89fd5970d46f25330d0a0d)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This improves the stacktraces dumped by bitbake when for example anonymous
python functions fail.
Also default to passing code strings to better_exec to match the behaviour of
simple_exec to aid the transition.
(Bitbake rev: 7e8205929ae953731a6854ea80b197847cff5771)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
On some SuSE systems, the curses python module is not installed by default.
Instead of a python failure, we want a nicer error message.
(On SuSE systems the package is typically python-curses.)
(Bitbake rev: 65a5845ac942d0aa6838c295e41b656f9d2a98bb)
Signed-off-by: Konrad Scherer <Konrad.Scherer@windriver.com>
Signed-off-by: Jeff Polk <jeff.polk@windriver.com>
Reword commit message, rebase to latest bitbake.
Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Print title text surrounded by === as we do with other subcommands so
that you can filter it out in scripts. (You will also want to filter out
lines starting with "WARNING:" if you just want the list).
(Bitbake rev: ba15ba16a5d863886bcfd5b3f0bdfff2a6de11a0)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
We don't actually need to parse all recipes just to show the configured
layers, so just parse the configuration instead.
(Bitbake rev: 406477cbae066b6379873e266cb79801e545a61c)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
All calls to parseConfiguration set self.status and call
self.handleCollections() afterwards, so just do this inside
parseConfiguration() itself.
(Bitbake rev: 3c2322d8a6ce15e20adb07a61aa321d884a9bcca)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Hob is now more context-sensitive regarding
user changes/options. Also, the workflow have been
streamlined and resembles more of a wizard.
Beautified some hardcoded values.
Fixed typo.
New streamlined Image Configuration page.
Build and/or Edit image buttons presence
is context sensitive.
Recipes and packages tabs selected automatically
based on custom image or pre-defined target image
(included or all).
Context sensitive Back button.
Fixes [YOCTO 2165]
(Bitbake rev: b48cd7dcf57b1abc8c5b46ced11d4f57bf06e557)
Signed-off-by: Cristian Iorga <cristian.iorga@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The default value of BB_CONSOLELOG in OE-Core now points to a directory
that might not exist prior to the first build, so ensure it is created
first.
(Bitbake rev: 660821769b9dfb89086291ffc835e9b5444509be)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
If you have foo and foo.git in GITDIR, the two can end up being confused
by git with some horrible union of the two being cloned. This adds
a workaround to avoid this happening until git 1.7.9.2 onwards is
common enough for this to be removed. We use a symlink to hide
the directories we don't want git to know about.
(Bitbake rev: bbf1f6fe594c721a296ca09ee7c583d4a205c591)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
After commit 2718537b4b (bitbake:
build.py: Only execute mkdirhier if stampdir doesn't exist) build
failes as cached_mtime_noerror needs an argument - stamp dir. This
argument was forgotten.
(Bitbake rev: e69103c4f7e45c24f1fbe9df0383f39e877abcb4)
Signed-off-by: Andrei Gherzan <andrei.gherzan@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
There is no good reason knotty2 shouldn't be the default now. If you need
the old behaviour, just pipe the output through cat as non-interactive
terminals get the old output.
(Bitbake rev: b97d50618b2187bcfd7d25f64d1444482ca62ef7)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Long lines of text which wrapped on the terminal corrupted the output shown by
knotty2. This patch catches such errors by becomming aware of the terminal size.
It also catches terminal window size change events and adapting to those
changes using a signal handler.
Based on a patch from Jason Wessel with several tweaks and enhancements
such as use of chained signal handlers and covering all output messages.
(Bitbake rev: 9afc9e4d14abec5ac326851d4bb689c1e8d45a43)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
I noticed this was showing up on profile logs as a sigificant time user
in "bitbake bash" when bash was already built. It reduces the time from
5.2 to 4.5 seconds in my test environment.
We make use of the parser's mtime cache as once a directory exists,
we can assume it continues to exist and this avoids syscalls.
(Bitbake rev: 769b694eeb617bb793bd79d0d7b29c43d2646ece)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This avoids task (0 of 0) type messages being displayed during setscene by knotty2.
(Bitbake rev: 53efa01720a61da2cb344cbb7e977baa28deba3b)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
If this regular expression is unanchored, it would accept strings like:
do_install_append1
do_install_appendsomelongstring
and treat them like they were do_install_append. Clearly this isn't desirable.
Only one instance of this type of issue was found in OE-Core and has been fixed
so correcting the regexp should be safe to do.
(Bitbake rev: 23bd5300b4a99218a15f4f6b0ab4091d63a602a5)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
We really need to pass the finalised data store into the parser init function
(and hence the siggen init function). This ensures any value changes get
passed into the correct code.
(Bitbake rev: 19efc6081c15a59bb8f5aaf8478650a2732cafe8)
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
When a fetch failure occurs for a local file, this patch ensures we print the
locations searched making it easier for the user to debug the problem.
(Bitbake rev: a461adbc5f09b41c771a7603370f6f2d1299ae8e)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Add the dump_cache.py to dump the "recipe -> packages" mapping for
target recipes form bb_cache.dat:
* Usage:
dump_cache.py bb_cache.dat
* The format is:
recipe_path pn pv packages
For example:
/path/to/gzip_1.5.bb gzip 1.5 gzip-dbg gzip-staticdev gzip-dev gzip-doc gzip-locale gzip
* Only save the mapping for the target recipe
* We can extend this to dump other informations when needed.
* Put this script to bitbake/contrib/ (not to oe-core) is because it
needs the bb.cache.
[YOCTO #2741]
(Bitbake rev: 75a7caf6f2d9f4399c95b9249db1b3bc5a48dc61)
Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
show-overlayed actually lists the same recipe in multiple layers
regardless of priority, so change the help description to match.
(Bitbake rev: 17217ff707e41780cb473b9cdd2621dd18b982c2)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
As ui design 'build-fail-spec.pdf' to change the GUI
[YOCTO #2183]
(Bitbake rev: f9b81e44b2e71b4de6729bd2c69b25fd619b5fed)
Signed-off-by: Liming An <limingx.l.an@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
If users build images in Hob, record logs and allow users to retrieve the lo
after successful build.
The logs are generated if and only if:
- users do "just bake"
- users do "build image" after "build packages"
- users do "build packages" only
[YOCTO #1991]
(Bitbake rev: 291289787bb042b99f0599babc2d67c220aadb87)
Signed-off-by: Shane Wang <shane.wang@intel.com>
Signed-off-by: Liming An <limingx.l.an@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* in form which can be copied into a recipe without modification
* like oe-classic did since:
http://git.openembedded.org/openembedded/commit/?id=68abc465559a68e9201c9525be3c4acc6297eaed
* it shows them in right form when they are missing completely, but in
more verbose form when different
* it needs to print that only when checksums were requested, e.g.
fetching from sstate mirror sets both md5mismatch and sha256mismatch,
but your checksums shouldn't be shown
(Bitbake rev: 9eb34fc866775fd8310759a0111f232a9dc98981)
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
If a file:// mirror is being used, the fetcher will create a symlink to the
local file. However, if the local file gets removed, that link will be dead,
and os.path.exists() returns False in that case, so it tries and fails to
recreate the link. Now we unlink such a dead link if it exists.
(Bitbake rev: 229ed3857e826e3e215e843cb51f729c1e13ed37)
Signed-off-by: Christopher Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Without the new exception, when the system is configured to use premirrors,
but not allow network access (via BB_NO_NETWORK), when a recipe was lacking a
checksum the wrong error message(s) were being generated.
Instead of complaining about trying to perform network access, if the system
was able to find the item in the premirror, it should inform the user of the
lack of checksums, and the two SRC_URI fields they should use to update their
recipe.
(Bitbake rev: cb10e9c03a3f96d94e27e18330009616dde5e2b3)
Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Part of [Yocto #2168]
When bitbake runqueue is teminated by disk monitor, it will send event
DiskFull. Update to handle it.
(Bitbake rev: a691de10d8b8de552628b277e78d47c607ee3a46)
Signed-off-by: Kang Kai <kai.kang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Part of [Yocto #2168]
Add a event DiskFull to descript the termination by disk monitor.
Update check() to fire the event DiskFull when terminates the build.
This could help UIs to deal this scenario and show more information to
end user.
(Bitbake rev: 0a0fca3d94a1db6458ae21501a66461a334410ed)
Signed-off-by: Kang Kai <kai.kang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This enhances the fetcher to allow preservation of the path component in urls
like: file://xxx/yyy/somefile.patch.
(Bitbake rev: e49a656a499355a5c6e7eb00bf5b8f1795e8dddb)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The stamp files can change during setscene and the cache should be cleared to
account for this.
(Bitbake rev: 5ec12f586a50fce675b268965b3dc487aaa96c43)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
There was some odd behaviour if some task was run from setcene whilst there were
existing valid stamps for a depepdency. For example, do_populate_sysroot might
be installed at setscene time but if there were other tasks not installed from
setscene such as do_populate_lic which depend on do_configure, the setsceneverify
function would think that do_configure needed to be rerun and would hence void the
do_populate_sysroot and force that to rerun too.
The setsceneverify function needs to know which tasks are going to be rerun, not just
what the overall task list is and what setscene functions have run. This patch adds
that information and maintains backwards compatibility in a slightly ugly but effective
way. The metadata needs updating to take advantage of this change.
(Bitbake rev: 1423aafff97f17169e95ec3ba973eb002ff98c1c)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The scenequeue code could result in one setscene function masking out another
which had been marked as notcovered. This change ensures the notcovered list
is taken into account when deciding which tasks need to be run, ensuring
that tasks that should be run do get run.
(Bitbake rev: 95b31127d8ba12ccb061d67481ece134c18c39f2)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Currently we call the hashvalidate for anything without a valid setscene stamp.
This improves the code to account for existing stamp files so that we only process
setscene hashes for things we might actually end up using. This avoids hash processing
and makes things slightly more efficient and the logs less confusing.
(Bitbake rev: 2e71a65bd910e8be894b8284eb0a50de7270c081)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
There was a bug where an exception in the runqueue code would cause an infinite loop
of debug messages. The exception would get reported but would loop since runqueue was
still registered as an idle handler.
This patch adds an exception handler to ensure in the case of errors, the system
more gracefully shuts down and doesn't loop.
(Bitbake rev: 99467c7e387f6e71358b40b8afae450d72cd68e0)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
We check the stamp cache before comparing t2 and t3 which means that we can miss
a level in the stamp file chains. The result of this is that a stamp can be accepted
as valid when in fact it isn't. Some weird behaviour alerted me to this in a local
build.
This patch also fixes to only uses the cache in recurse mode, there was a corner
case where stamps not in recurse mode could get added to the cache which could cause
an issue potentially.
(Bitbake rev: 7a5f776d325c0e37f58003424beda7cae2695325)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
this allows wget fetcher to store the downloaded file in a specified custom filename in ${DL_DIR}
Exmaple:
SRC_URI = "https://edc.intel.com/Download.aspx?id=6190;downloadfilename=LIN_IEMGD_1_14_GOLD_2443.tgz"
This fixes bug:
[YOCTO #2570]
(Bitbake rev: ceb5871007f221c4d86a7bee421d4dd8d9100aaf)
Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This problem occurs when fetching a different revision of the same source. Which mean every time you update a bzr package.
Using branch sets the pull location, and are the preferred way of cloning/branching a repository in bzr.
(Bitbake rev: 877a04d0b3cea9d5dbdf3c54fe0feb54cb997dda)
Signed-off-by: Martin Ertsaas <mertsas@cisco.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Currently if any parsing failure occurs, there can be a long list of
bbappends that are "dangling" based on the fact that recipes were not
parsed. This change firstly ensures the error counter is incremented
and secondly that the bbappends list is only shown on a completed
parse list.
(Bitbake rev: 358952f0d874b869d361bbd72a5ea317bf939cd3)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Mixed spacing in python functions can cause subtle issues and
generally confuses users. We've standardised on 4 space indentation,
adding this warning helps ensure consistency and avoid bugs. It
also makes _prepend and _append operations on python functions slightly
less risky.
(Bitbake rev: c51cfaf48d3b12a19b01e824b6ba4230376bcad4)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* it was send in v1 of proto -> protocol changes but then wasn't in V2
http://patchwork.openembedded.org/patch/31617/
where warning about proto= was moved to shared __init__
(Bitbake rev: b2017f493ab730d804ae44ec5a168d464626d046)
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
[Yocto #2709]
OE Core Commit c9b01af84b add elf image
type. This will cause hob build image failed.
Add elf to hcc supoorted image types to fix this issue.
(Bitbake rev: a93a58b7cea2ddb9596cb4d718c0801db5d1a295)
Signed-off-by: Kang Kai <kai.kang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Use tempfile.mkstemp to create a temporary file in the sstate dir and move it
into place after closing. The previous code would fail in the chmod() if two
users were running jobs that touched the same signature file.
(Bitbake rev: ff11e9ac5eba2d957917664a7b91b1277d8ad548)
Signed-off-by: Jeffrey C Honig <jeffrey.honig@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
As well, if "proto" is used, get the associated value as "protocol"
(Bitbake rev: 53e6b630f0463d2d07cdaa9c9eb36794dc9b6b69)
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Currently if there are multiple preferred providers available for
a runtime dependency, bitbake will print an Error message and let
the build go on. Anyways the build should abort while any Errors
occured.
[YOCTO #2734]
(Bitbake rev: 5f81a714f4fca785780bef555b419f0250e5ec1c)
Signed-off-by: Wenzong Fan <wenzong.fan@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This also changes to use -t 2 -T 30 as the defaults which are more sane for
a modern fetcher and already specified in OpenEmbedded metadata.
(Bitbake rev: bf0e5dddf0f63cdb0648fb6d872af5ceef6fbfb0)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This brings the cvs fetcher more into line with the others and allows consistent usage
of the FETCHCMD variable and option handling.
(Bitbake rev: 390ad59739356422852e976fa246375abc6aba08)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This is for giving the user a clear list to show which pkg would be
built, we have the "bitbake -g", but it is not easy to read for people,
it is for "dot". Improve the "bitbake -g" to also save a pn-buildlist:
$ bitbake -g core-image-sato
...
NOTE: PN build list saved to 'pn-buildlist'
[snip]
The contents of pn-buildlist:
busybox
shadow-native
pth
sysfsutils
qemu-helper-native
curl-native
ncurses-native
gdbm
xserver-xorg
linux-libc-headers
[snip]
[YOCTO #2404]
(Bitbake rev: 18aff925aece774d0172894e25584353519ca03f)
Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Variables which used multiple overrides and the append/prepend operators were
not functioning correctly. This change fixes that.
This fixes the testcase:
OVERRIDES = "linux:x86"
TESTVAR = "original"
TESTVAR_append_x86 = " x86"
TESTVAR_append_x86_linux = " x86+linux"
TESTVAR_append_linux_x86 = " linux+x86"
[YOCTO #2672]
(Bitbake rev: dc35a2e506e15fb7ddbf74c3b3280e9e83ab33bb)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
svn changed working checkout formats between 1.6 and 1.7. Its convoluted to
detect what format a given working copy is in so the simplest solution is simply
to run "svn upgrade" within the working copy.
The base svn command variable is relocated slightly to enable this new code to
work effectively.
(Bitbake rev: ebd3ecdb5f3c6d3fe1fad27cbed4d80f4277e92e)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
In some cases we want to pull in DEPENDS and RDEPENDS of recrdeptask
dependencies but we need a way to trigger or avoid this behaviour
depending on context. The logical syntax to trigger such behaviour
would be a self referencing recrdeptask:
do_a[recrdeptask] = "do_a do_b"
The dependency chains already recurse this kind of expression correctly, the
missing piece is to avoid any circular reference errors. Since the dependencies
have already been recursively resolved, simply removing any recrdeptask
references is enough to break the circular references.
This patch therefore removes any circular references using the set
difference_update() operator. There will be metadata tweaks required to
add any references needed to the extra taskname.
(Bitbake rev: a5324da9b8a0c9307a6c511ea9009f34be70c92b)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
'git remote prune' at this location does not make much sense because
the following 'git remote rm' will prune stale and non-stale branches.
The 'prune' can cause trouble because it will access the network
bypassing the no-network code in bitbake. When this operation fails and
throws an exception, the next command (--> 'git remote rm') will be
skipped. This in turn, will make all the following operations fail,
because they assume that the remote does not exist yet.
(Bitbake rev: 2ba23df5fad4b94d38a6aed97f7822226d72eb89)
Signed-off-by: Enrico Scholz <enrico.scholz@sigma-chemnitz.de>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
In build detail page, the response action of clicked the 'run image'
or 'deploy' button will accroding to below as ui design:
1)if there has one file in building result, it will responsed the
'run image'(now, we only support the qemu) or 'deploy' directly
2)if there has more than one file, it will popup a dialog with listed
created files type, they are has same action attributes 'deploy'
or 'runnable'.
Note: because the qemu image (runnable file) can't be deployed and
we can't generated a image that has the two attributes now, can be run
or can be deployed, so the code will not deal with this case.
[YOCTO #2155]
(Bitbake rev: 0d24b1e85a11b68c8464cf15b49d3fc78f216818)
Signed-off-by: Liming An <limingx.l.an@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
I'm not sure why we don't currently allow multiple entries in rdeptask when
we do in deptask. This makes the handling match between the two since
its trivial to fix.
(Bitbake rev: 19c84fe8854639768c874cc1449963a9867ad397)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
People are using regexps in the url type field so we need to preserve
this bitbake behaviour. To address the issues with https:// urls mapping
badly to file:// urls we anchor the regexp if its not already anchored.
There should be no expressions in the wild which would break with this
change.
(Bitbake rev: ce0579dc256251e523c6330641f98b9f5a0e5761)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Currently, recrdepends is extremely greedy. For example:
do_foo[rdepends] = "somedep:sometask"
addtask foo
which adds foo with *no* dependencies, will suddenly start appearing
as a dependency in every task which uses recrdepends. So far this has
been mildy annoying but we now have use cases where this makes no sense
at all.
This reworks the recrdepends code to avoid this problem. To do this we
can no longer collapse things into lists just based on file ID. The problem
is this code is extremely performance sensitive. The "preparing runqueue"
phase spends a lot of time in these recursive dependency calculations so any
change here could negatively impact the user experience.
As such, this code has been carefully tested on convoluted dependency trees
with operations like "time bitbake world -g". The net result of this change
and the preceeding changes combined is a net speed up of these operations in
all cases measured.
Tests were made comparing "bitbake world -g" task-depends.dot before and after
this patch. There *are* differences for example -nativesdk do_build dependencies
on -native recipes are no longer present. All removed dependencies appear to
be sensible improvements to the system. The "rdepends" cross contamination
issue above is also fixed.
(Bitbake rev: 82d73423c57569b984ee0ae3d93e3c3bd5dc5216)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This gives some small performance gains and sets the scene for other
improvements by removing the need for duplicate detection code.
(Bitbake rev: 6fd723479e8d49227fd58040b3485c1d5afc4bc5)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This is like gettask_id but doesn't require translation of fnid -> fn
first which the function then translates back. This gives a sizeable
performance improvement since a significant number of lookups are avoided.
(Bitbake rev: 3190cb83e2af195a464f669c5aa8aedbf795160e)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Removed unnecessary button from Recipes screen and
replaced the button that diplayed packages size and total image size
from Packages screen with a label.
(Bitbake rev: e6ff1d4bab43fdcd8af1230f1d54615f53c1978e)
Signed-off-by: Cristian Iorga <cristian.iorga@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
I am sorry that use os.tmpname which casue a security warning.
Follow Darren's suggestion to use tempfile.NamedTemporaryFile instead.
(Bitbake rev: fe514a130579302312f68821536d108c8ceb4363)
Signed-off-by: Kang Kai <kai.kang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
If '*' does end up in mirror urls accidently, some strange things
can break since supports_checksum() looks for this, ud.localpath can
then get ignored and this can lead to empty directories being downloaded
"successfully". '*' is a special case for file urls only at this point
so remove any entries that accidentlly make it in through url mapping.
(Bitbake rev: 1369bec2404d942acc3618a8d005ec6868dcfd41)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
_ and LANG no longer need to be preserved from the external environment.
The value of _ changes between non-pseudo-wrapped and pseudo-wrapped
invocations (e.g. between "bitbake -p" and "bitbake target") and this
will currently trigger a full reparse in the absence of a whitelist
entry in BB_HASHCONFIG_WHITELIST, which is not ideal.
LANG used to be preserved in order to ensure the C locale was being
used for tools invoked by bitbake, however we now set LC_ALL in
bitbake.conf to take care of this.
Second part of the fix for [YOCTO #2600].
Acked-by: Jason Wessel <jason.wessel@windriver.com>
(Bitbake rev: 1c531dff2fb055ecab2d462027eecec3fabc2a44)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
When writing mirror specifications, the current regexp syntax can be awkward
and hard to get it to do what you want. For example, extracting the 'basename'
of a repository:
PREMIRRORS = "git://.*/([^/]+/)*([^/]*) git://somewhere.org/somedir/\\2;protocol=file"
can now become:
PREMIRRORS = "git://.*/.* git://somewhere.org/somedir/BASENAME;protocol=file"
which is much clearer. A MIRRORNAME substitution is also added which contains
an encoded form of both host and path. One of the problems with the existing
regexp syntax is you couldn't access HOST information from PATH and vice-versa
which is an issue this patch also addresses.
Tests for the new syntax are also added.
(Bitbake rev: c6b1acbad7b3d2698530eb8b5249adb4ab95da21)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
When we build the mirror urls, its possible an error will occur. If it
does, it should just mean we don't attempt this mirror url. The current
code actually aborts *all* the mirrors, not just the failed url.
This patch catches and logs the exception allowing things to continue.
(Bitbake rev: c35cbd1a1403865cf4f59ec88e1881669868103c)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
There are two problems with the _logged_communicate that are both
caused as a result of buffering I/O issues:
1) log truncation when python fails
2) While a bitbake task is running it is impossible to see what is
going on if it is only writing a small incremental log that is
smaller than the buffer, or you get only a partial log, up until
the task exists. It is worse in the case that stderr and stdout
are separate file handles, because previous code blocks on the read
of stdout and then stderr, serially.
The right approach is simply to use select() to determine if there is
data available and also flush the log before exiting.
This is based on a patch from Jason Wessel <jason.wessel@windriver.com>
with some changes to flush upon exit, abstract the non blocking file
descriptor setup and drop the buffer size parameter.
(Bitbake rev: 361fb71e907aa84c28ecec79fefc6ca39c39172f)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Currently its not possible to add arbitrary RDEPENDS to a specific task.
This can be useful and this patch adds functionality equivalent to the
'depends' task flag.
(Bitbake rev: db65080a6199baecc5c422294a4c4a9fd12dc29e)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
If -l is specified and the source and destination are not on a common
filesystem an error occurs. The -l option is however the default for
git for local paths which the fetcher already now ensures in the
file:// case.
We can therefore safely drop the -l option.
(Bitbake rev: 3aeb268b2aaab4bb8b1cfff1450e0b76aa8ce855)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Log a note when applying a taint to a task signature (e.g. when using
the -f or -C command line options) so that the user knows this has been
done.
(Bitbake rev: 0fd960fdea83874eedb541cbc2920257e0f3fb81)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
What is specified is a command (or "cmd" as in the help text for -f)
rather than a task - i.e. you specify compile, not do_compile, so change
the sentence to reflect that and reorder it slightly so it makes sense.
(Bitbake rev: 9ab269410ef5cd4753fe11ec74759f421685bb7b)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
A file:// url should use "clone -l" to greatly speed
up the clone in the case of a kernel when it is local.
(Bitbake rev: 2bab2cc3ffe67ee2a308074a6e4c2c7be5636d2f)
Signed-off-by: Jason Wessel <jason.wessel@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
[Yocto 2149]
Use the new progressbar in Hob, so that we can reduce the maintenance
burden of the multiple GUIs.
(Bitbake rev: 6c0da26adbdcaa0c56737bacddb61678a9095e32)
Signed-off-by: Kang Kai <kai.kang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
For mirror mapping, we never use regexps for the type component of
the url. Doing so causes various slightly bizarre behaviour such as
https:// urls being translated to files:// urls which we have no handler
for. This patch forces the type matches to be direct, not regexp based
and gives the expected bahvriour.
(From Poky rev: 695d8aca0999d2d61970b990e83c3132ba6f12cb)
(Bitbake rev: 604df1b25cf114e083f52917df2df64e01279c25)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Using ud.localpath as a basename when it points at a directory causes
problems. The supports_checksum() method gives a good indication of whether
ud.localpath can be used in the way we need.
(From Poky rev: 933ec8a44634e33f92f6f76de3a34094c3d63aa6)
(Bitbake rev: dcd79ae20ab2c72c3312b2251c2b6dc4cabe988e)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
We only consider mirror tarballs when the source and target urls are of
differing types. We also should clear all url paramters when handling
mirror tarballs.
(From Poky rev: da140b8b0b3dda5429f9eee68829ef5247cdfe12)
(Bitbake rev: 7619dcad29a6c2405b15a8fbadfa11e81b399ae1)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This means that parameters in the source expression are used as part of the
match. Parameters in the destination are used explicitly in the final
url.
(From Poky rev: c465cb0c5c927dd41d96ad6d6fa1566349574bb7)
(Bitbake rev: 3c468ac3ed6d045561afce19b85ae9dd18d87cea)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Currently we only consider one pass through the mirror list. This doesn't
catch cases where for example you might want to setup a mirror of a mirror
and allow multiple redirection. There is no reason we can't support this
and the patch loops through the list recursively now.
As a safeguard, it will stop if any duplicate urls are found, hence
avoiding circular dependency looping.
(From Poky rev: 0ec0a4412865e54495c07beea1ced8355da58073)
(Bitbake rev: e585730e931e6abdb15ba8a3849c5fd22845b891)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
With support for things like git:// -> git:// urls, we need to be
more explicity about the mirrortarball check since we need to fall
through to the following code in other cases.
(From Poky rev: 28e858cd6f7509468ef3e527a86820b9e06044db)
(Bitbake rev: a2459f5ca2f517964287f9a7c666a6856434e631)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
There are no functionality changes in this change
(From Poky rev: d222ebb7c75d74fde4fd04ea6feb27e10a862bae)
(Bitbake rev: db62e109cc36380ff8b8918628c9dea14ac9afbc)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This assists with build reproducuility. It also avoids errors if cwd
happens not to exist when we call into the fetcher. That situation
would be unusual but I hit it with the unit tests.
(From Poky rev: 86517af9e066c2da1d580fa66b7c7f0340f3403e)
(Bitbake rev: b886c6c15a58643e06ca5ad7a3ff1f7766e4f48c)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This new command line option forces the specified task and all dependent
tasks up to the default task to re-run. This means that the following
single step:
bitbake -C compile somerecipe
is equivalent to the following two steps (with the recent change to -f):
bitbake -c compile -f somerecipe
bitbake somerecipe
Note that to work this option needs full hashing enabled (i.e.
BB_SIGNATURE_HANDLER must be set to a signature handler that inherits
from BasicHash). If this is not the case, -C effectively does nothing.
Based on a previous implementation of this option by Jason Wessel
<jason.wessel@windriver.com>.
Implements [YOCTO #2615].
(Bitbake rev: 2530e0faada5775897cfd1b93aba6925826dca73)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
If -f is specified, force dependent tasks to be re-run next time. This
works by changing the force behaviour so that instead of deleting the
task's stamp, we write a "taint" file into the stamps directory, which
will alter the taskhash randomly and thus trigger the task to re-run
next time we evaluate whether or not that should be done as well as
influencing the taskhashes of any dependent tasks so that they are
similarly re-triggered. As a bonus because we write this file as
<stamp file name>.taskname.taint, the existing code which deletes the
stamp files in OE's do_clean will already handle removing it.
This means you can now do the following:
bitbake somepackage
[ change the source code in the package's WORKDIR ]
bitbake -c compile -f somepackage
bitbake somepackage
and the result will be that all of the tasks that depend on do_compile
(do_install, do_package, etc.) will be re-run in the last step.
Note that to operate in the manner described above you need full hashing
enabled (i.e. BB_SIGNATURE_HANDLER must be set to a signature handler
that inherits from BasicHash). If this is not the case, -f will just
delete the stamp for the specified task as it did before.
This fix is required for [YOCTO #2615] and [YOCTO #2256].
(Bitbake rev: f7b55a94226f9acd985f87946e26d01bd86a35bb)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The current error message is confusing, this improves it to explain the problem
and the possible ways to resolve it.
[YOCTO #2530]
(Bitbake rev: d316f28ed725ff40daa8771c1aa224ac46d5b224)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The commit 420eb112a4f (fetch2: quote/unquote url paths) caused a regression
since local file urls containing quoted characters are no longer being handled
correctly. This fixes things so the url is dequoted correctly, fixing various
fetcher failures with recipes like "gtk+".
[YOCTO #2558]
(Bitbake rev: 95c0595d66b3f8a5f0716662ba2a878600f312ea)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
There are actually two problems to fix
1) The exception for bb.process.ExecutionError must be processed first
because it is a derived from the bb.process.CmdError class and
we never reach the ExecutionError otherwise.
2) The stderr needs to be printed as well as stdout to determine
the root cause of a fetch failure.
The example I have is that I got a log that looked like:
--
ERROR: Function failed: Network access disabled through
BB_NO_NETWORK but access requested with command
/usr/bin/env wget -t 5 -nv --passive-ftp --no-check-certificate -P
/localds 'http://downloads.yoctoproject.org/[...CLIPPED...] url None)
--
That really didn't tell me much, but with this patch I get error above
plus the following:
--
STDERR: /net/[...CLIPPED...]kernel-tools.git: Read-only file system
--
(Bitbake rev: af2133a04e1f4b22b181adf9c71f89c439bb88cf)
Signed-off-by: Jason Wessel <jason.wessel@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The combo view is not sensitive, after select recipes come back.
so fixed this issue.
[YOCTO #2500]
(Bitbake rev: debcea9c063f7bddcba1d4ed47edbe173ef1d9cf)
Signed-off-by: Liming An <limingx.l.an@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Due in mistake deletion in previous patches, if building failed, will report
the error of no 'set_page', so add that function.
(Bitbake rev: b046f4316ee7f2afaa0bb723e4216714d9cb87a0)
Signed-off-by: Liming An <limingx.l.an@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Tweak some strings in accord with the script name 'image writer', and
remove extra noun 'button'.
(Bitbake rev: d2d65335e8fc2417ebd3910f645cc00a4abfbeaa)
Signed-off-by: Kang Kai <kai.kang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
According to Darren's suggestion, subprocess.call() will wait until the
subprocess complete. So simplify the code, use subprocess.call() to wait
command complete.
(Bitbake rev: 3dea9d5a5af82d99d337238981807a4cb1bd5b93)
Signed-off-by: Kang Kai <kai.kang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Add comments for DeployImageDialog 'standalone' part of codes to make it
easy to read.
And tweak some strings.
(Bitbake rev: b0e604d3d6dbfcaeac0a2e0e4399aeb4327f8cbc)
Signed-off-by: Kang Kai <kai.kang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
[Yocto 2388]
Create a deploy image tool using the existing dialog including
DeployImageDialog and ImageSelectionDialog.
This tool writes bootable images to USB devices, and it can be run
directly without hob.
Signed-off-by: Kang Kai <kai.kang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Part of [Yocto 2388]
Update class DeployImageDialog to get ready for a standalone deploy
image tool. The standalone tool can be run directly without hob, and
add a button to select image file. So adjust the layout of
DeployImageDialog.
(Bitbake rev: 399cfbaf36ccd4b934e25f915e64b87f32a3eb82)
Signed-off-by: Kang Kai <kai.kang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Update function response_cb of DeployImageDialog to get deploy process
return value. According the return value tell user that deploy image
successfully or not.
(Bitbake rev: f78f6d43a68e0f1dc4d3e4164eed453fcb9c22a8)
Signed-off-by: Kang Kai <kai.kang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Remove extra spaces at the end of line or blank line.
(Bitbake rev: 70b75a05a806fecf8be15b9ba66fec2eb87dcce4)
Signed-off-by: Kang Kai <kai.kang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Commit 094742bed2 re-implement the
function popen_read(). If there is no USB device, it crashes with
"ExecutionError: Execution of 'ls /dev/disk/by-id/usb*' failed with exit
code 2:"
Replace popen_read() way with glob module to get the USB devices.
(Bitbake rev: 0c43fe72e3c6a12ac19173d8cbbad81af21c2d85)
Signed-off-by: Kang Kai <kai.kang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
When I try to call function which_terminal() of utils.py directly,
it complains NameError: global name 'bb' is not defined
So import module bb
(Bitbake rev: 9e370d9b1022112be2ac8f73feb182b1bba179b0)
Signed-off-by: Kang Kai <kai.kang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The combo item index dosn't be increased as the insert a dummy item, when
execute the upadate base image combo operation.
[YOCTO #2500]
(Bitbake rev: 59e19634a84fcb4c34b92cdcf7a9ea807c9abb63)
Signed-off-by: Liming An <limingx.l.an@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Added the qemu_image_kernel selection view box to image detail screen GUI, and
changed the 'run image' button clicked work flow.
[YOCTO #2155]
(Bitbake rev: d548eb8a03cfba5c64c018898972bc0a0bdb280c)
Signed-off-by: Liming An <limingx.l.an@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Interpret some special characters for label markup, such as &, <, >, etc.
Otherwise, the message dialog can't show them, and worsely, it makes the
whole message blank.
[Yocto #2492]
(Bitbake rev: fb82f6eb5405274f702bd6d64cbe995fd4b74145)
Signed-off-by: Shane Wang <shane.wang@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
If a user uses a very old version of Hob and does some work,
later on he/she upgrade to the latest version of Hob, because
Hob may change the settings (add more config option into the Adv.
Settings dialog or remove some), then the old templates are not
loadable and workable for the new Hob.
Even though the user hasn't save any template before, the Hob could
remember the settings between Hob sessions as a default template,
(Remember we have a bug to ask Hob remember between sessions?),
the new Hob will also load the default template.
By adding versions, we can easily to fix the issue. If the versions
don't match, Hob will remove the old default template first and
initiate a new build, which has very very little impact on the user.
(Just can't remember from the previous session after the user upgrades
to a new and incompatible Hob)
[Yocto #2492]
(Bitbake rev: d5dd9a7af9d35c588528f9937430d1ef5de216c6)
Signed-off-by: Shane Wang <shane.wang@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
cancel some inviable code and fixed this issue
(Bitbake rev: d2e2c917e4a93ec7fd344a2c703d526ce7b690cf)
Signed-off-by: Liming An <limingx.l.an@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
there are a repeated function in builder.py and imagedetailspage.py,
so combine them to one.
(Bitbake rev: 4bada20cd244a2dd6d72acd38f0cadc90453e60b)
Signed-off-by: Liming An <limingx.l.an@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Add a dependency to each variable on a filtered list of its varflags.
This is intended to catch things such as SRC_URI checksums, varflags
controlling extra functionality from classes (e.g. the recently updated
update-alternatives class in OE-Core), etc. and ensure their values
influence the sstate checksums.
There is an exclusion list which needs to be set via bitbake.conf
(BB_SIGNATURE_EXCLUDE_FLAGS), if this is not set then the functionality
is disabled. The existing vardepsexclude mechanism can also be used to
exclude undesired varflags, but they must be fully specified, e.g.:
do_patch[vardepsexclude] += "do_patch[someflag]"
Implements [YOCTO #2517].
(Bitbake rev: 56c1ab18fcaf4ac245dcb412ed55e8e0af07883b)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Skip evaluating remote URIs when doing local file checksums, because we
don't need to process them and doing so will trigger a parse failure if
SRCREV is not fully specified. Whilst this is just delaying a check
until runtime (when do_fetch runs for the recipe) we're only validating
this here accidentally and if we did wish to check it during parsing it
ought to be done explicitly.
Fixes [YOCTO #2512]
(Bitbake rev: 99feb77c2de707f2d825566cf48371c48f450e3e)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
When an ExpansionError occurs during parsing it is useful to know which
recipe was being parsed when it occurred.
(Bitbake rev: a2a8e8c9f5a1a30aacab696fd2b434939ee2c4e2)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Fix a recent regression where we see the following additional error
after an error occurs during parsing:
ERROR: Command execution failed: Traceback (most recent call last):
File "/home/paul/poky/poky/bitbake/lib/bb/command.py", line 84, in runAsyncCommand
self.cooker.updateCache()
File "/home/paul/poky/poky/bitbake/lib/bb/cooker.py", line 1202, in updateCache
if not self.parser.parse_next():
File "/home/paul/poky/poky/bitbake/lib/bb/cooker.py", line 1672, in parse_next
self.virtuals += len(result)
UnboundLocalError: local variable 'result' referenced before assignment
(Bitbake rev: 1ae0181ba49ccfcb2d889de5dd1d8912b9e49157)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
If the variable name is not specified then don't confuse the error message
by starting off with "Failure expanding variable None...".
(Bitbake rev: 9cb16f3c73751e7cf6d495586a6193f06eb97b1f)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
In order to show a friendlier error message that does not bury the
actual sanity error in our typical preamble about disabling sanity
checks, use a separate event to indicate that sanity checks failed.
This change is intended to work together with the related change to
sanity.bbclass in OE-Core.
Fixes [YOCTO #2336].
(Bitbake rev: 24b631acdaa143a4de39c6e1328849660c66f219)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>