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>
As ui design, we should set at least one primary action for 'My Image' and
'Image detail' screen as the differnt selected image. if no 'run image' or
no 'save as template' or no 'deploy image' we should set 'build new image'
[YOCTO #2326]
(Bitbake rev: d848af637e9a14b627533bee65bf16f680dff854)
Signed-off-by: Liming An <limingx.l.an@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Because some screen not support the alpha visual channel, so the function
'screen.get_rgba_colormap()' will return None, it's a compatible issue, so
change it by another way.
(Bitbake rev: e58ba1ad944ea1ba95a5ada80d4c88f0165bd1ca)
Signed-off-by: Liming An <limingx.l.an@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
For builddetailspage.py:
The "f" was a stream in the past, it is a string now, so it doesn't
need f.close(), and change its name to "branch".
And we don't need the "2>&1" since bb.process.run() can handle it, it
will raise exception when error occurs, we should handle the exception
ourselves if we want to ignore the error.
For hig.py:
Use bb.process.Popen() since it doesn't need the return value. If we
use bb.process.run(), the parent process will wait for the child process
to terminate to get the result.
[YOCTO #2511]
(Bitbake rev: ab10f3da1976581c371c43cdb88f405cf6fbcd95)
Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Set begining folders FileChooserDialog for the select images and
some local directory configurations. That may make user feel more
convenient.
(Bitbake rev: 047ad35c0c869883509557aeb982e0b784ad2e71)
Signed-off-by: Kang Kai <kai.kang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
[Yocto 2142]
Force to exit HOB when hob is parsing recipes, the bitbake doesn't stop.
It hangs on function BitBakeServerConnection::terminate in file
server/process.py:
else:
self.procserver.join()
It is waiting for the children process quit.
In stage of parse recipes BBCooker spawns Parser processes as many as
cpu numbers. When quit the Parser processes they make their internal
Queue to call cancel_join_thread() to avoid block but don't work at
this time.
So force to terminate the Parser processes.
(Bitbake rev: bebef58b21bdff7a3ee1fa2449b7df19144f26fd)
Signed-off-by: Kang Kai <kai.kang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This function no longer returns a value, it raises errors instead, so
update the comments to reflect this.
(Bitbake rev: 8b61b9584a8b00378f9fd8f165dbd65dcfd3c14e)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Despite using python 2.6, there have been reports of issues where
bitbake is printing tracebacks with errors in the exception handling
code. This was masking the real error.
Since we need to do whatever we can to give the user good feedback about
errors, detect the tuple instead of namedtuple case and don't fault
in the exception handler but just give up trying to traceback any further.
In the reported cases, this gives a message the user can then understand.
(Bitbake rev: 9ec0429271e68527a55fc123dea5a1b959c6ec3b)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
If the path passed to which contains empty elements, it will search
the current working directory for the file which is correct baheviour.
Various pieces of code assume the path returned is a full path though.
This commit ensures we don't return relative paths.
(Bitbake rev: 4de24ccc10e40cc088b8515095df59f69b12715d)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
We should always be passing full pathnames around within bitbake. If
a file was referenced as a relative path to the current working
directory, it might not get passed through the abspath call and
hence the cwd would not get added as a prefix.
This change adds a second pass at ensuring we only return absolute paths.
(Bitbake rev: 72fc62ca124a24e2dbe404a3c83a49608a7c7931)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
In image detail page, the primary button should be an 'orange hob
button', there has a primary button is not, so change it.
[YOCTO #2326]
(Bitbake rev: 884a0b2d927404991b7e23d5bbfab096a5b7e849)
Signed-off-by: Liming An <limingx.l.an@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
After parsing recipes, Hob will populate recipes and packages, which is probably
time exhaused. So, this patch is to adjust the progress bar and ensure 100% is
set if and only if all populations are done.
The patch also fixes "weird 18 second delay when parsing recipes" on build appliance.
Because Hob is doing something, but the progress bar shows 100% and wait there.
[Yocto #2341]
(Bitbake rev: 2c4a21dc8a588c8cf05549ddd9734731a46bea10)
Signed-off-by: Shane Wang <shane.wang@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The format of the log file and run file are now selectable
using BB_LOGFMT and BB_RUNFMT, respectively.
The following values may be used:
{task} - task name
{taskfunc} - task.func or func, if task==func
{func} - function name, only available in BB_RUNFMT
{pid} - pid
The log/run files may be placed into a subdirectory that
is relative to T.
Default BB_LOGFMT is: log.{task}.{pid}
Default BB_RUNFMT is: run.{func}.{pid}
(Bitbake rev: 588da606eb81c52cb92d29041e1c67897427bfdf)
Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
We now add a debug message when entering and exiting a python or
shell function. This makes it easier to inspect a log and figure
out the run order from the logs.
(Bitbake rev: a0f554d0e722b6705844c6031fdcafa5d1a1c8a7)
Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
exec_func_python and exec_func_shell are similar, but variable
usage has diverged sync the two up. Since exec_func_python is first
use that as the guide for the later exec_func_shell variable naming.
(Bitbake rev: ccfe1a3a2419172799957676107f240badf3f062)
Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The new log.task_order contains an ordered list of the tasks as they
were executed in any given recipe. The format of the lines is
<task> <pid>: <log file>
(Bitbake rev: 8662b43dcbd6e38a5b2ab9d6529af1fb08c146bf)
Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Replace os.popen with subprocess.Popen since the older function would
fail (more or less) silently if the executed program cannot be found
There is a bb.process.run() which will invoke the Popen to run command,
use it for simplify the code.
For the:
p4file = os.popen("%s%s files %s" % (p4cmd, p4opt, depot))
...
for file in p4file:
list = file.split()
in bitbake/lib/bb/fetch2/perforce.py, it should be an error in the past,
since it didn't use readline() to read the pipe, but directly used the
split() for the pipe. Use the bb.process.run would fix the problem since
bb.process.run will return strings.
More info:
http://docs.python.org/library/subprocess.html#subprocess-replacements
[YOCTO #2075]
(Bitbake rev: 8d6700255a6d4dda403c89b171a6d4a1883e5aae)
Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Replace os.system with subprocess.call since the older function would
fail (more or less) silently if the executed program cannot be found
More info:
http://docs.python.org/library/subprocess.html#subprocess-replacements
[YOCTO #2075]
(Bitbake rev: f5b3bf115dc1ffbfb241a49cec0fc3654cb71021)
Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Patch adds support for a $BITBAKE_UI environment variable which allows
to configure the preferred user interface. Although an '-u' option
(which will override the environment variable) exists already, it was
required to specify this option on every invocation of bitbake.
Because user interface is instanciated very early in the program it is
not possible to use bitbake.conf for setting up a default. An
environment variable (which acts in a similar category like $PAGER or
$EDITOR) is a simple way for configuring the default.
(Bitbake rev: e3c213015953d1a0afb5ef4be59e1264990e5cee)
Signed-off-by: Enrico Scholz <enrico.scholz@sigma-chemnitz.de>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Gathers a list of paths to have checksums calculated at parse time, and
processes these when calculating task hashes. Checksums are cached with
the file's current mtime. Thus, changing any local file in SRC_URI will
now cause the do_fetch taskhash to change, thus forcing a rebuild.
This change adds very roughly about an 8% increase in parse time (a few
seconds) and maybe a few seconds during runqueue generation, so a fairly
moderate performance hit.
Note that since paths are resolved at parse time, this will not force
a rebuild when files are introduced which would cause that resolved path
to be different - for example, where a machine-specific version of a file
was added without otherwise changing the recipe. This will need to be
handled in a future update.
Code to hook this into the signature generator was courtesy of
Richard Purdie <richard.purdie@linuxfoundation.org>.
Implements [YOCTO #2044].
(Bitbake rev: c993b7c457f8b7776e8a5dff253bfa0724bc2cae)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
We want to be able to reuse most this functionality for the file
checksum cache.
(Bitbake rev: 0fe3cb1438d297f90dd0fc6b26362ecbff75c76d)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
issues: when build a image for atom-pc, the output does not include live
image, and 'Save as template' should become the primary action on the screen
[YOCTO 2326]
(Bitbake rev: e9516c7e14d782b943cc6e6a2e5e2111edf03d8c)
Signed-off-by: Liming An <limingx.l.an@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
As ui design, adjusted the line width for each base image description
[YOCTO 2310]
(Bitbake rev: 8bce98b23bc9cbc4da4464bfbaeb4e1a1aaca5c5)
Signed-off-by: Liming An <limingx.l.an@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
change the top bar display in build 'issue' page
[YOCTO #2183]
(Bitbake rev: 0705d3db1ce6d0f29301e2428c990ab0d9b2860e)
Signed-off-by: Liming An <limingx.l.an@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This ensures we can handle things like %-encoded characters in the path
portion of urls.
(Bitbake rev: b1dbc24ebcc4e5100c32568c2c41fd982fb4bcce)
Signed-off-by: Christopher Larson <kergoth@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The image name shouldn't be passed from outside caller, since the image
name may not in the combobox list. Getting the name from
update_image_desc() internally.
(Bitbake rev: 6635cd7bc2a448d1324e9344100f97613f4272b5)
Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Define BBUI_IMAGE_WHITE_PATTERN variable to indicate which image is
allowed to be displayed in image combobox.
Define BBUI_IMAGE_BLACK_PATTERN variable to indicate which image is NOT
allowed to be displayed in image combobox.
This fixes [YOCTO #1581]
(Bitbake rev: 960461bc12945675af3081eb469f932f4a6eb1cd)
Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Without this change, bitbake will try and checksum a wildcard which
will lead to fetch failures.
(Bitbake rev: ac53b88be58b0bed21730c0b61a8fc8e801a2f1b)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
In this way we avoid failing the build while trying to fetch local
directories.
[YOCTO #2475]
(Bitbake rev: 39adb5741d9eee0879d3181be505400dffc60804)
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The indication of the included packages/recipes in the top right of the
GUI, per design, is a button which switches the Notebook to the included
tab.
(Bitbake rev: 494534cae6211d9055098562df1f35b56858f3ec)
Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The width of the combo boxes drop down should match the combo box
itself.
(Bitbake rev: 93e66f494730d0840dd1d4f3ed924d91e6489995)
Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Dark text on a dark background is difficult to read. Further the design
document uses white text.
(Bitbake rev: a84304ccf06a012817a5e6495d53147efcbed960)
Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The custom HobNotebook widget was implemented to address perceived
deficiencies in the gtk.Notebook API.
Recent inspection reveals that the API is capable of all that Hob
requires of it and therefore maintaining a custom class to provide
similar functionality does not make sense.
Addresses [YOCTO #2276]
(Bitbake rev: e683caa9863bbb52480346669806f22173629a5e)
Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
'bitbake -u knotty2' never failed which was caused by main() not
propagating the exit code.
(Bitbake rev: 243e4ba405b88fd466bec7b4aa042d20aa6121ff)
Signed-off-by: Enrico Scholz <enrico.scholz@sigma-chemnitz.de>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
There were some hardcoded behaviours in the system for which backends
support checksums verses which backends recommend them verses which
don't recommend them.
This moves the functionality into specific fetchers and then makes the
general code generic. This cleans up the codebase and fixes some corner
cases such as trying to checksum directories returned by the git fetcher.
(Bitbake rev: ef6d268f7b8527541a7fb044cf95a973be4097f4)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Currently, checksums are only checked for remote files. This changes
the check to apply to any file we have checksum data for. A mismatch
against a file is fatal but in the local case, no warnings are shown
about missing checksums.
(Bitbake rev: 80411b3acf2173a4a7d415102d16676eb98363e3)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
When fetching from mirrors, checksum errors would get buried in the
logs. This raises their profile so a warning is logged on the console
when fetcher checksum issues are encountered, even if other attempts
are made to get the file (which may or may not have the same issue).
(Bitbake rev: d43fafd7f01b5534499b45213197d8ccececdbc4)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Under certain contitions such as local file:// mirrors of all files,
bitbake might not check checksums. This is not desirable and we should
always check the checksum where possible.
This only exception to this is the git mirror tarball case where the
checksum is unknown but we need to create the .done stamp for other
reasons. This patch preserves thta functionality but in a more specific
section of code where this doesn't interfere in normal checksums.
(Bitbake rev: 2592a43e422c06a6f6174ada562e9c8ba25e1ec1)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Under certain circumstances, bitbake could remove files which were
outside its control since it unconditionally removes ud.localpath.
In the file:// case this can point at external paths.
This patch converts it to use the clean() method which will remove
files when its safe to do so but not in the file:// case since the
file:// handler has an empty clean method. This means bitbake no
longer removes files outside its control and is generally much safer.
(Bitbake rev: 9ad1cebe2220b41da2141cdb3f0a403abb46d77c)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
We anticipate signatures being shared amongst peers in a group so ensure
they have rw-rw-r-- permissions to facilitate this.
(Bitbake rev: e4716f316152cafabebcefec7b387edeb02ad3eb)
Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The Python documentation states:
"When opening a file, it’s preferable to use open() instead of invoking
the file constructor directly." [1]
Further in Python 3 direct use of the file constructor is no longer
possible.
1. http://docs.python.org/library/functions.html#open
(Bitbake rev: 759f953e29a7131614e5b1f0312edf2b17523675)
Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
With floating revisions and no specified branch, the fetcher could fail
with some obtuse errors. This was due to the branch name being set to None
which makes no sense. This patch reworks some conditions to avoid this.
(Bitbake rev: 740c58d43cfb1445dd126e4827bb70ce988ca107)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This function was used by old code such as packaged staging but is thankfully
obsolete now and replaced with better mechanisms. Its time to remove it and
the horrible internal only variables associated with it.
(Bitbake rev: 2995b8d551e0532eca20f8862730acd062c608ad)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This was originally used to check the consistency of the stamps in one function
call. This turns out to be inefficient, unnecessary and if it were necessary,
check_stamp_task() could be called in a loop. The function has been unmodified
for a while and likely contains bugs. Its best simply removed.
(Bitbake rev: 728ffde1bd69b880d48fe8523b1616956d13616e)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This should fix issues where bitbake would seemingly lock up when checking
certain configurations of stampfiles.
The cache is kept within the runqueue since that feels like the right
place to associate this cache data.
(Bitbake rev: e95755c4931b26d9f8102ed3652dff969145cfc9)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
- for a normal exit, use WEXITSTATUS, rather than manually shifting
- for exit via signal, set the exit code to 128+N, per shell convention
- if a process was stopped, return and don't handle it, as the process can yet
be continued
This should fix the case where bitbake says a task failed with an exit code of
0 (we assumed failure based on the overall status, but didn't pass all the
information along to task_fail).
(Bitbake rev: 84ea614bc56d35a414eb5bf5658891b340bfc569)
Signed-off-by: Christopher Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
as ui design, add number of packages for each group, and make the
text font to 'bold' when row be selected
[YOCTO #2195]
(Bitbake rev: 5812176a679a39a4d096134c871c3d24a7e505ea)
Signed-off-by: Liming An <limingx.l.an@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
When case about No browser, such as running in 'Build Appliance', user can't open
the hyper link, so add this work around for user. (Checking the browser is avaiable
or not is hard by different system and browser type)
[YOCTO #2340]
(Bitbake rev: 02cc701869bceb2d0e11fe3cf51fb0582cda01b0)
Signed-off-by: Liming An <limingx.l.an@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Because the arrow icon refresh so fast as the go backward by illusion, so adjust it slow.
[YOCTO #2335]
(Bitbake rev: ac4a8885fafdc0d1e79831334ead9a8ddb6e2472)
Signed-off-by: Liming An <limingx.l.an@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
We may meet certain command failure during build time, for example,
out of memory. In this case, we need to clear the "building" status.
This fixes [YOCTO #2371]
(Bitbake rev: 283dbbbf5d34adb4c9e3aa87e3925fdebe21ff42)
Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This allows some simplifications of the function and is slightly faster.
(Bitbake rev: 5999dc9985ad087c036611bfaa59b090a08781a6)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This adds some basic unit testing for the codeparser and data store code. Many of
the actual test cases were taken from work by Chris Larson's OE-Signatures work but with
changes to adapt to the current bitbake APIs we need to test.
I also imported CoW tests written by Holger Freyther from the original bitbake-test
codebase: http://svn.berlios.de/wsvn/bitbake/trunk/bitbake-tests/tests/ and
some tests from the doctests that were removed in commit:
http://git.openembedded.org/bitbake/commit?id=3a11c2807972bbbddffde2fa67fc380d159da467
(Bitbake rev: ae4a95780e3e08cf73c854efa8cd93379e00c4e5)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Having two different version comparision algorithms in bitbake has never seemed
like a sensible idea. Worryingly, they also return different results to each other.
The vercmp_string API is relatively unused with no users in OE-Core or BitBake
itself for example. This patch converts it to use vercmp internalls, bringing
consitency to the comparisions which is easy now we have other recently added
functions. Yes, this changes behaviour but in this case I'd prefer we were
consistent than having two different comparisions.
(Bitbake rev: a569c816e016447d60624c59a750709d59a0f455)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(Bitbake rev: b766630ed7e099fffe817928a2811272677a1b26)
Signed-off-by: Jeff Polk <jeff.polk@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Don't check for network access before grabbing the the current head,
cloning, or updating a clone when the protocol is 'file'.
(Bitbake rev: d5847bc5254b9d2f28a6b574f6157d1286add27c)
Signed-off-by: Jeff Polk <jeff.polk@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
In original scheme, sanity check is part of the parsing process. If a
sanity check fails, it means the parsing is failed and values in Hob
GUI may not correct.
With this commit, Hob will actively issue sanity_check() after the
parsing is completed.
This fixes [YOCTO #2361]
(Bitbake rev: 36968815dcc91759eeacb308bf4b294af416eee5)
Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
If user changed the proxy setting, we will reparse configuration because
it may need sanity check.
(Bitbake rev: 0be54917cd88ea8f110027a7840ac69a411fd589)
Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
To ensure the users configuration is sanity tested enable the sanity
checks after the GUI has started but before any parsing is done.
(Bitbake rev: 244ce2b900ae6cecbeeccfe2056e61c132476261)
Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
There are a number of DeprecationWarnings within BitBake code which
bitbake itself filters out; bitbake-layers was not doing this, resulting
in a stream of warnings printed out when used with Python < 2.7 (these
warnings default to disabled on version 2.7 and above.)
(Bitbake rev: 0a2378237f07eb1c812e2308e64b7d70781e2b39)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The current description is empty. This adds a default
description for hob's dummy_image.
(Bitbake rev: 68a65e5eeeb01d78444f1e5b5d1bb7b21c9d0b2c)
Signed-off-by: Beth Flanagan <elizabeth.flanagan@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
If user stops a build, we need to firstly set the button insensitive and
then hide it. This ensures the button's init status is "insensitive" in
next build.
(Bitbake rev: ea37272ccc28d6e24b48286e5c4c3edbad1d57cd)
Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Originally the upper value for image size and extra size is 1024M, which
is relatively small. Enlarge it to 64GB.
Besides, fix tooltip for toolchain build.
(Bitbake rev: 99f01305b4c2253567a1a13a33339b1755a86e6d)
Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
For config hash, we put the keys in structure of "set()", which is not
order sensitive. Therefore when calculating the md5 value for config
hash, we need to identify the order of the keys.
(Bitbake rev: 0f1b142a3f6b8125bf023c2e5ec269618869abf7)
Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
In package selection page, treeview cell data callback function not cover the 'else' case, so parent item will render the pervious value.
(Bitbake rev: 98694c1dbc276cc151f393db67bfd43442da28ba)
Signed-off-by: Liming An <limingx.l.an@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The 'binb' popup window should be "set transient for" the main application
window which they were spawned from.
(Bitbake rev: a6f45b23851e22c7793d9a534fd197316bb5b9b8)
Signed-off-by: Liming An <limingx.l.an@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
In those systems which had use gtk overlay-scrollbar feature,such as
Ubuntu 11.10, we have the issue with the multiple overlaped scrollbar in
'Recipe View' notebook or 'Package View' notebook, this patch is going to
fix it.
(Bitbake rev: f6be78d8a45dc501c2bbe1e1a399a342dabe11d5)
Signed-off-by: Liming An <limingx.l.an@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit fixes the contents in imagedetailsscreen, which lacks some
kind of image types, e.x., iso and hddimg.
(Bitbake rev: 4505097f4f7834857a6086d5dabeedb24b49cf4c)
Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Create a wrapper with exception handling to call self.server.runCommand() safely.
Again, add exception handling to load_template() and save_template()
(Bitbake rev: cb07a027d3366ed30b0f7e5e85d08c6fda4eb5b9)
Signed-off-by: Shane Wang <shane.wang@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit merges some functionalities together and avoid unnecessary
signal handling. This can help to speed up the Hob startup.
(Bitbake rev: e5a6eb4f007bf270f2fddc814eb856da46e20eee)
Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
If NoProvider event is received, we will handle it in runningbuild
module and send notification to Hob instance, avoiding stepping into the
final page with no image built out.
This fixes [YOCTO #2249]
(Bitbake rev: 067bc46a0fbc542fef1fcaa406ad3737a4c5a55a)
Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Reset user recipe list and package list after the user changes the settings and
triggers recipe reparsing.
This is to continue to fix the bug [Yocto #2255]
[Yocto #2255]
(Bitbake rev: 95f4e9dc351f67442844ff52f90fc154fa95ba95)
Signed-off-by: Shane Wang <shane.wang@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This patch is to remember layers and settings between Hob sessions, which
includes:
- Put some variables for the build details screen from Configuration to
Parameters because they are not actually for build but for show
- We create a dummy Configuration instance and a dummy Parameters instance
in __init__ of builder
- The two instances will be assigned the real values by
update_configuration_parameters() after parsing (in the event callback)
- When it is the first time to launch Hob in a build directory, nothing is
remembered since everything is fresh.
- The feature is implemented with templates, and based on the hook for Hob.
- When the user changes the layers or the settings, a default template file
is saved into ".hob/".
- Later on, the layers and the settings are remembered by loading the default
template automatically.
(Bitbake rev: f7c874ab930b9e7f95e79d0e84e62eb9b967f566)
Signed-off-by: Shane Wang <shane.wang@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Originally we use hardcoded "build" as the default task. This commit
fixes it by using BB_DEFAULT_TASK.
This fixes [YOCTO #2283]
(Bitbake rev: 7540f8d446345559ea9b47f4ff71d203ffdfaf8d)
Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
If user selected a base image and didn't customize it, Hob will still
build the selected image instead of hob-image.
This fixes [YOCTO #2253]
(Bitbake rev: a74a6a033e66a0ae7b47c84d842bdd54066c69a1)
Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Previously we use the template file name as the image name. This commit
changes to use the original selected image into template file.
(Bitbake rev: 14a9da66fe08d181f45853c52e0c9f14773070a8)
Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Added the requried packages task-core-standalone-sdk-target(-dbg) for
building toolchain.
Fixed bug [YOCTO #2274]
(Bitbake rev: 434fdb3913cc78e2e9cdeede4c4fa7f1c8ef8892)
Signed-off-by: Lianhao Lu <lianhao.lu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The version compare function vercmp() was not exatcly conforming to
Debian rules, e.g. it reported 'r1' > 'r1.1' but the Debian rules says
'r1' < 'r1.1'; it didn't support the "~" either.
Modified the vercmp() to meet Debian rules, so that it's compatible to
the rules used in opkg.
This part of the buf fixing of [YOCTO #2233].
(Bitbake rev: 97b610c54c60b5a40fa7f6a09fa23ce17b38f93a)
Signed-off-by: Lianhao Lu <lianhao.lu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
When Hob is busy with generating data, exiting Hob is not allowed.
That should be reasonable because at that time the mouse cursor is not a pointer.
If users want to exit, they can click "Stop" first and then do exit.
That is also a walkaround for [Yocto #2142]
(Bitbake rev: ad7f6bf3c7c4c15d546781aaefdaf03f00193f7c)
Signed-off-by: Shane Wang <shane.wang@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
To make Hob's specific variable settings take effect, we add a Hob
config hook at the end of parsing for each configuration file, and in
the hook function, Hob will set its own variables to the data store.
This fixes:
[YOCTO #2210]
[YOCTO #2254]
(Bitbake rev: 0ec7d1bbfd2e09ae60f99e6134b20ffd1d9145b1)
Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
To make the UI settings take effect, we need to hook at the end of each
config file parsing and set UI specific values.
(Bitbake rev: f54e733c7863110896f43900d9e4e791602f9d65)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The patch is to correct 7e5d41ab22
(Bitbake rev: b6e68019494044305ab28492a517d1eafea851c3) to fix the
missing functions.
[Yocto #2281]
(Bitbake rev: 3c2808b67384e92601cbd66877c36ca40df7c7ba)
Signed-off-by: Shane Wang <shane.wang@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This is just a copy of the same method from the recipeselectionpage so
that we can actually run hob again.
Fixes [YOCTO #2281]
(Bitbake rev: b6e68019494044305ab28492a517d1eafea851c3)
Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Also adjusted the cmdline ordering to work correctly
with both xterm and vte.
(Bitbake rev: 4219e2ea033232d95117211947b751bdb5efafd4)
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Adding this simple version of a terminal selector for use
hob since it's needed. Moving forward in the 1.3 release
the existing code in meta/lib/oe/termnial.py will be migrated
to core bitbake code and this will use that code.
(Bitbake rev: 359a9ea4c8d61247064db3eaefb816ef116d332a)
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Because some variables not be updated when building started, so add them
to the updating function of configuration class, and add reset function of
configurate treeview of building detail page
[YOCTO #2244]
(Bitbake rev: 06ce753fd4680a204ccc63949ace637dc1c115e2)
Signed-off-by: Liming An <limingx.l.an@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
We don't use "grayed out" but use "show/hide" for those appliable buttons
in the image details page.
[Yocto #2143]
(Bitbake rev: df1564d78d081ceab51d628d227e57b7a197259b)
Signed-off-by: Shane Wang <shane.wang@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The patch is to fix [Yocto #2255]. Now the logic is:
- If users change the machine, the image combo is empty for users to select.
- If users load the template, the image combo should set the value of
selected_image specified in the template.
- After loading a template, if users change the machine, the selected_image
specified in the template should be removed from the image combo because
it is probably invalid for a new machine.
- If users customize the recipe/package list, and change the settings which
causes reparsing, selected_recipes and selected_packages should be remembered.
- If users add more layers, selected_recipes and selected_packages should be
remembered.
(Bitbake rev: e549b11f4f31863393f62a253ee96bead4594523)
Signed-off-by: Shane Wang <shane.wang@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
For the steps in IMAGE_GENERATING, the patch consolidates them into
generate_image_async() to call.
(Bitbake rev: d4f2335e40d4d667847d3faed79bcee74baeea37)
Signed-off-by: Shane Wang <shane.wang@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
For the steps in PACKAGE_GENERATING, the patch consolidates them into
generate_packages_async() to call.
For the steps in FAST_IMAGE_GENERATING, the patch also consolidates them
into fast_generate_image_async() to call.
(Bitbake rev: 1ec53d41774528ab01e835d1cf4166f0202a7c38)
Signed-off-by: Shane Wang <shane.wang@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
For the steps in RCPPKGINFO_POPULATING, This patch consolidates them into
populate_recipe_package_info_async() to call.
(Bitbake rev: ed2aa6f235e1b789af8a33729302a4269674c6b4)
Signed-off-by: Shane Wang <shane.wang@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
For the steps in CONFIG_UPDATE, the patch consolidates them into
update_config_async() to call.
consequently remove CONFIG_UPDATE since MACHINE_SELECTION covers it.
(Bitbake rev: f583d43e87c049bdee88890e289f14520c7c31a1)
Signed-off-by: Shane Wang <shane.wang@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
initiate_new_build() (changed the function name into initiate_new_build_async()
to indicate it is an async function) or the similar sub-functions are called at
different places.
This patch is unify to call initiate_new_build_async().
(Bitbake rev: ec42be626a5d6362a09f12f4f4025ad92d70c89b)
Signed-off-by: Shane Wang <shane.wang@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
As UI request, in recipes selection page, if user exclude a item,
the related depends recipes will be excluded together,so the view
clearly to add it.
[YOCTO #2100]
(Bitbake rev: c9eed04c6275ef2c694f89e047f85c7de76f89b6)
Signed-off-by: Liming An <limingx.l.an@intel.com>
Signed-off-by: Shane Wang <shane.wang@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
If zypper is selected, RPM packaging will add extra 50M free space to
the final image. We need to reflect it in package selection page.
(Bitbake rev: 22344f13d5e201be0d6381c6542d05c6fde7eec3)
Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Sometimes, users may open an image that is not built by Hob, therefore
its image name is not started with "hob-image-". This commit sets a
looser rule for runnable image matching.
This fixes [YOCTO #2240]
(Bitbake rev: 7b81389566cb27451557ca11ec8ed40ef2630543)
Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Once user did customization to his base image, we change the base image
to be "Create your own image" to avoid some issues caused by the
relationship between base image and its default recipes and packages.
This fixes [YOCTO #2211]
(Bitbake rev: 8edad8d282b69896237e956a00c66cd4d10ef494)
Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Requiring a double click to show the tooltips isn't very intuitive, add
a callback to show the persistent tooltips on button release.
(Bitbake rev: 80af7e72a9404044910fca7f9265e66354f747a6)
Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Set the expand property on all columns other than the 'Included' column
so that the included column remains at the max size set.
(Bitbake rev: e1406d75c0643a2e65bb61649958e05e730fb332)
Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The 'Included' tab of the notebook should show the 'Group' a recipe
belongs to, per the design.
(Bitbake rev: 4f45d791644e383b11cbcfd4fb02866518cb9c04)
Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The design calls for a single 'Brought in by' item to be shown in the
tree views with any extra items to be shown in the tooltip.
(Bitbake rev: 6866271da738237d3a119e291ac8f9d2c517e124)
Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
With the previous two changes we now work on Gtk+ 2.18 and PyGtk 2.16
(Bitbake rev: 5ccbcdf8c47f2f20655a3ea0f60e5870cdba6f83)
Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The gtk.Widget.get_sensitive() convenience method is only available
in Gtk+ 2.22 or later, instead use the sensitive property of the
gobject to determine whether the widget is sensitive or not.
(Bitbake rev: 82ea0619e9ecf9107b75692385bcf1434ea8a307)
Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
CentOS 6.x doesn't ship with new enough pygtk for this API.
(Bitbake rev: 2b6ce54cdc23c5fc1325e42634287134f55aacbf)
Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Assign a default value to the other one when either disk space interval
or amount of inodes interval value is set for example:
BB_DISKMON_WARNINTERVAL = "50M,"
or
BB_DISKMON_WARNINTERVAL = ",5K"
The diskspace monitor would not enable in the past, that seemed
unreasonable, assign a default value to the other one currently, so the
monitor will be enabled, and will warn both of diskspace and free
amount of inode if they have been set in BB_DISKMON_DIRS.
(Bitbake rev: 09592c119550550edcc59c871f754536d5b7bf65)
Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(Bitbake rev: dd15a92a0932d3e177c0ca7b2923da1d72046e51)
Signed-off-by: Robert P. J. Day <rpjday@crashcourse.ca>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
params["pmake"] should be in the format "-j int".
When loading/saving "PARALLEL_MAKE" into templates, configuration.pmake will be
converted into "-j int", as "PACKAGE_CLASSES" and "BBLAYERS" do.
For "PACKAGE_CLASSES" and "BBLAYERS", params["pclass"] and params["layer"] are
also strings rather than the types of configuration.curr_package_format and
configuration.layers.
(Bitbake rev: d49db15badb77855cef855ee73430fcbc16b6916)
Signed-off-by: Shane Wang <shane.wang@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
image_fstypes in the configuration has been changed into a string rather than
a list. Here we correct it in __init__() of class Configuration. At other places,
image_fstypes are all strings.
(Bitbake rev: 59dd7e91c11e0348f967578f32e13f5984c6a452)
Signed-off-by: Shane Wang <shane.wang@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Avoid the empty white space appearing on top of the machine selection combo
box and the image selection combo box in the "Image configuration" screen
[Yocto #2166]
(Bitbake rev: 9d30ad56803c67d2dc7ebddd7c339038438f02ba)
Signed-off-by: Shane Wang <shane.wang@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
We call intsize_to_string (and string_to_intsize) in 3 different places.
We unify the implementations into one place.
(Bitbake rev: 578ce86a9ac2110f5b128aae582c6e0b3e739cec)
Signed-off-by: Shane Wang <shane.wang@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Handle exceptions during type conversion to integers.
(Bitbake rev: bb3a4e2d40486a347c13563d73e4df6d015a3c6c)
Signed-off-by: Shane Wang <shane.wang@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Handle exceptions during type conversion into integers.
(Bitbake rev: e03da8876045af545303db2b8044a17657337140)
Signed-off-by: Shane Wang <shane.wang@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
We also need to check if the selected image is "Create your own image"
and set it as active.
Besides, to avoid the impact of set_active(), we need to move the
connect signal in the end of the update_image_combo() function.
(Bitbake rev: 54ae7ddac450b4717e5ccae3bfe9acb479449451)
Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
We will not display multilib recipes and tasks in separate tabs,
therefore remove the specific types.
(Bitbake rev: da69e665196714b0f2039c11f9f232db7b58bce3)
Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Hob uses API from pygtk 2.22, therefore check to see whether this
version is available and exit cleanly if not.
(Bitbake rev: 192d5fdf9ea27cdc8b043204857ae5b21173a011)
Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
When the deploy button is disabled since there is no deployable image,
the console will show the warning message:
WARNING: /home/yocto-build5/poky-contrib/bitbake/lib/bb/ui/crumbs/imagedetailspage.py:333:
GtkWarning: /build/buildd/gtk+2.0-2.22.0/gtk/gtkwidget.c:5684: widget not within a GtkWindow
self.deploy_button.grab_default()
This patch is to remove the warning message.
(Bitbake rev: 51a9a5557bb798b559874a4e6dc9924380b5d9a4)
Signed-off-by: Shane Wang <shane.wang@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Previously we reused the info display file which is for indication of tooltips.
But it is too small, when it is shown on the dialog as the dialog indication icon,
it becomes unclear after being stretched out. So, we replace it with a larger
icon.
(Bitbake rev: 87282847f1ba56420b0c6dbf04bea6e518962398)
Signed-off-by: Shane Wang <shane.wang@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
If save every selected package into IMAGE_INSTALL field, and then build
the saved bb file by bitbake command line, it will report errors since
some packages could not be found since they are dynamically generated.
With this commit, Hob will only save those packages into the
IMAGE_INSTALL variable which are brought in by user.
(Bitbake rev: 6c970d07422bb9a8fcf339315587cfc9b207a44e)
Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Originally we added -dev and -dbg postfixes to our selected packages as
toolchain packages. However, some package names are modified in recipes,
so we could not rely on its base name. The new approach is to detect if
a package is selected, then include those packages under the same recipe
endswith "-dev" and "-dbg".
This fixes [YOCTO #2185]
(Bitbake rev: f99c66071bce63780301e1639d74316503ca934c)
Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Sometimes, certain variables have duplicated values inside, for example,
IMAGE_FSTYPES = "tar.bz2 ext3 tar.bz2 ext3"
We need to remove the redundancy for those values.
(Bitbake rev: 98849cf9201239b23bbbe9247db4d6901f0ed905)
Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
initiate_new_build() function is in async mode and could not be called
before another async function.
Also we could not initialize the build if user simply change a setting,
therefore remove this function.
(Bitbake rev: c184cefe90115623e2312ad2bbe34ea95788c129)
Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
If values in advanced is changed, we also need to reparse the cache to
get the latest value.
(Bitbake rev: 7b2f6744201511060f26cd2761e9556efec4b9a2)
Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Define the empty curr_mach to be "" instead of None.
Fix the judgement for ' if self.curr_mach == "" ' to be
' if self.curr_mach '.
Also set machine to bitbake server when "MACHINE" is not empty.
(Bitbake rev: 662fa1b126d5b9b3a80193205c22b2fe29305185)
Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Fixed the issue about the building log scrollbar can not auto scroll to page end sometimes
[YOCTO #2098]
(Bitbake rev: 035e146ff92236a3eda71ad71e8389737f91753b)
Signed-off-by: Liming An <limingx.l.an@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
When "Force stop" is performed during the build stage, after os.kill() kills the build sub-processes, there are many <defunct> python processes in the system. In Hob, when the user initiates a new build, os.waitpid() in runqueue_process_waitpid() will be called, and the pids of those <defunct> processes will be returned as result[0], then self.build_pids[result[0]] will throw KeyError exception because now for the new build self.build_pids is empty.
This patch is to address the above issue to collect the results and handle the sub-processes as soon as they are killed.
[Yocto #2186]
(Bitbake rev: e9f4ca467e795bbc520d12b0e7a5985b6ff0a20e)
Signed-off-by: Shane Wang <shane.wang@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Sort in ascending order on the recipe name (A-Z) and unset the default sort
function so that there's no third (unsorted) state.
(Bitbake rev: c6ab6c7caf16c04e2a0c0f2aefd3377f781206c7)
Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Switch to proportional font sizes and tweak padding and layout based on
feedback from design team.
(Bitbake rev: 356f190bb3f0ee9a15df900714edcb85593d6989)
Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
For make icongraphy consistently to change the original gtk-icon to hob-icon
[YOCTO #2108]
(Bitbake rev: 8c3401bc11c6f3708b8ee9c0175f389399fdff5a)
Signed-off-by: Liming An <limingx.l.an@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The error source picture is not right, so fixed it and adjusted its size.
[YOCTO #2097]
(Bitbake rev: ce680f10037b42831179a4598a69fb39688fb238)
Signed-off-by: Liming An <limingx.l.an@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The change includes:
- remove the colors which are not used
- change the background of indicators to deep red
- change the color style of the texts on HobTabBar, i.e., the tab text and the indicator background are gray when the tab is the current tab; the tab text is white and the indicator background is deep red when the tab is not the current tab.
(Bitbake rev: 95acecbf50cee906dca4abd5ce758701e5761668)
Signed-off-by: Shane Wang <shane.wang@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Sometimes even setting are not changed, the hash values differs due to
variable order issue. This commit fixes the issue.
(Bitbake rev: 1fe0996f89952af72cbdc46ca7c6495868d27a56)
Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Use string format to store image_fstype instead of a list.
(Bitbake rev: c91fe7f9d21939fd437dbd79a923499f90fc95c6)
Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
When config reparse is issued (e.x, adding a layer), we will firstly
remember the past user settings by setting them to bitbake server,
and then do the reparse.
(Bitbake rev: 8a1f6953a082d8002585bfd9e8a67d2a7f69d6aa)
Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
We need to update the parameters stored in Hob side after
configuration is parsed.
(Bitbake rev: 9560e4ccef497e878f2cb8624136ab8f193c061a)
Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
After a successful build, user can initiate a new build by clicking
"Build a new image" button. The previous solution is simply switch to
the first screen and unset MACHINE. This commit will try to re-init
everything for the new build.
(Bitbake rev: df63e15c41d129fe0cff6b8ab3c97434c4809c83)
Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The parameters in triggerEvent function is an event object, and it may
cost some time to pass this object through pipe, causing the pipe's
poll() function timeout. Change it to async mode.
(Bitbake rev: 3b5909ebc86a12dedfb30e5446aa81eb58921760)
Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
While adding meta-hob layer, we need to detect whether it already
exists in current layers.
(Bitbake rev: b195823d19bcb71bd5eef19acfe22b2dd670d90a)
Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Because we sort the treeview to list specific layers at the top, and
therefore implicitly change the sorting of the underlying model, we can't
be certain that the original layer list will equal the new layer list
despite the included layers being the same.
To ensure we can do a simple equality test to determine whether the layers
have been modified first sort the lists to ensure we're comparing based on
contents alone.
(Bitbake rev: ae86cd8b4ef1e43b79230326ccba69e2900d074f)
Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
If the user explicitly stops the build telling them the build failed is a
misnomer.
(Bitbake rev: 722f4f0e31f9debf5ad20a91da759a8c25151567)
Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Because layer changes may take some time allow the user to cancel out of
the dialogue and prevent Hob from applying any of the changes made.
(Bitbake rev: a2d1c035a5dd3d112a887e4386dfaf9b0c37c104)
Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Add space between the target machine combo and the 'Layers' button.
(Bitbake rev: bdd50d92e90f96bf7ff433bb539cdde4b0d21cdb)
Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Add more padding between the icon and the text
(Bitbake rev: a81f6a33cf1fa9fe869ac617f2d14d66e07009ff)
Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This patch is to change some words of variables to make them consistent with the GUI.
(Bitbake rev: 4af7ab24ff3b170dfa74159c057e7110a615a8d3)
Signed-off-by: Shane Wang <shane.wang@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This patch is to add Templates and Settings tool buttons on the image
details screen, which makes things easier and simplier.
In order to fulfill that, the code splits the functions
show_load_template_dialog() and show_adv_settings_dialog() in builder.py
because they will possibly be called from different screens later.
[Yocto #2163]
(Bitbake rev: 29bea7b7076a7b74d36237da86a4eff6605d17ec)
Signed-off-by: Shane Wang <shane.wang@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
With this patch, even though there are a lot of images built out, a default image
which is either deployable or runnable is toggled by default. So, for users, one
more action to select an image before running qemu or deploying is not needed any more.
Note: If there are more than one runnable or deployable images (such as ext2, ext3,
jffs2 and btrfs), only the first image is toggled by default for run-qemu or
deployment. If the user wants to run or deploy others, he/she needs to toggle them
manually.
[Yocto #2155]
(Bitbake rev: 4568dfbd5e693cce0e6e947f323eaf08a3176744)
Signed-off-by: Shane Wang <shane.wang@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
On terminals which support it, add summary information to the end of the
build output about the number of tasks currently running and how many tasks
we've run so far.
This provides a summary at a glace of what the current state of the build is
and what the build is currently doing which is lacking in the current UI.
Also disable echo of characters on stdin since this corrupts the disable,
particularly Crtl+C.
The "waiting for X tasks" code can be merged into this code too since
that is only useful on interactive terminals and this improves the
readability of that output too.
Improvements since v0:
* The tasks are ordered in execution order.
* The display is only updated when the list of tasks changes or there
is output above the footer.
* Running task x oy y and package messages are supressed from the console
This UI can be accessed with "bitbake -u knotty2".
(From Poky rev: e38b4569648f2916c4370871c79e6a6090eb8bc1)
(Bitbake rev: 156189c799d2bb1f69bdaa04b5cd718fe7881425)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Using symlinks to absolute paths isn't gaining us anything, and can cause
problems in situations such as automated build systems when they try to
resolve the link, depending on the mechanism used to pull the build artifacts
(e.g. nfs).
(Bitbake rev: f9cf2671c0ecad153db11bca1aebe151213bfb42)
Signed-off-by: Christopher Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This patch is to read the proxy variables such as all_proxy, http_proxy, https_proxy, ftp_proxy, GIT_PROXY_HOST, GIT_PROXY_PORT, CVS_PROXY_HOST, and CVS_PROXY_PORT from the bitbake server, show them on the Settings dialog for users to change and set proxies for the build.
(From Poky rev: bbef66e4005def54d70d3720ec131fa7edc22e2a)
(Bitbake rev: 66c63167cd139706100bfa35eb4ca66c98407615)
Signed-off-by: Shane Wang <shane.wang@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The runningbuild.py has been shared by different applications, not only hob, so fixed the some not compatibled codes
(From Poky rev: 99fa7388500fa97fe4629456daa50bb5637e51e6)
(Bitbake rev: 23c13560fa76442c798058700863bd91491ca826)
Signed-off-by: Liming An <limingx.l.an@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Make the building log config information to get from the bitbake parameters directly, and then cancel the old way of filting the building log on running
[YOCTO #2144]
(From Poky rev: b52025a0fe2ca65e4d8549b1b90f5813b0c2e39f)
(Bitbake rev: 983f8848da0be02dadb1bb6530ff736325d014ba)
Signed-off-by: Liming An <limingx.l.an@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Because we have hob icon, so need to make some gtk icon to transfer to hob icon. so use hob icon checker to fixed the gtk icon
[YOCTO #2108]
(From Poky rev: d1d84e5529e0d0752fdcd8d3458ed7595d373115)
(Bitbake rev: 65bbc07a3557ac760c6b900880ea6ae2937afde3)
Signed-off-by: Liming An <limingx.l.an@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
fixed the bug of 'error' and 'warning' icon is not constaintly with hob ui design
[YOCTO #2097]
(From Poky rev: 5b4f379b5341222e2678043f078b3d33c0556a86)
(Bitbake rev: 3807a95cd48a01486b3ecd5360a59ddfc3a3b6d6)
Signed-off-by: Liming An <limingx.l.an@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
add a refresh icon to indicator the running task, for avoid add more heavy to bitbake building process, increased the timer interval counter, and decreased the refresh icon render size.
(From Poky rev: cf76d2cef0905a442e61769560173b2e6a58fb62)
(Bitbake rev: d5923a484f80bc1577f78035152c2d0728e4a1f3)
Signed-off-by: Liming An <limingx.l.an@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Use HobAltButton, rather than gtk.LinkButton, for the 'View files'
button.
Use xdg-open to display the folders contents.
(From Poky rev: 22955b47ac485e0d069ddd8301a11658d76bcfee)
(Bitbake rev: 9647c188c0d06ec045c15281eae785e935c25d2b)
Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Tweak the table layout and insert some dummy widgets when the buttons
aren't drawn such that when the buttons do get drawn the existing widgets
don't all jump up.
(From Poky rev: 9edd833e7e36aea6a7350a36a5aad0ef300959c4)
(Bitbake rev: c09f71414d459eb926aa567d90a63407407d173e)
Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Use two lines to display the active task and recipe, per visual design.
(From Poky rev: ea61503fc439e033b341bb7a50bac77c5e88834e)
(Bitbake rev: ab508907308e8b1bc1b097df1f583dffd7ef25af)
Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The design calls for primary buttons which are orange and large and
secondary buttons which are subtle with pale blue text. This is so that the
user is drawn towards the primary action and their use of the application
is more guided.
This patch uses HobButton and HobAltButton classes to style all dialogue
buttons accordingly.
Fixes [YOCTO #2125]
(From Poky rev: 1a52fe9f9e79f33686bd92613fc93eb97daacab8)
(Bitbake rev: 723ad434d427398b202b70f27762878315ffb22c)
Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This patch is to add build status (incl. "Running task XX of XX: XXXXXX") in the build details screen,
in order to provide clear information about task in progress and make the GUI close to the visual design.
[Yocto #2098]
(Bitbake rev: 02d3451b2e0744204a1280f9effe9fd862bb4faf)
Signed-off-by: Shane Wang <shane.wang@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The persistent tooltip looks a little weird when it's too small, request
that the toolkit and WM give it a reasonable minimum size.
(Bitbake rev: 637ea3671dda9c5a1065f992fd9ee87d63043cf4)
Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The design documents have the close button vertically aligned with the
tooltip contents - reorganise the interal widget layout to achieve this.
(Bitbake rev: 4f8c36226867291c7b6c413ee2570d61a326ec47)
Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The design calls for all buttons to match the style of either the HobButton
or HobAltButton classes, therefore implement the styling logic as static
methods of the implementing classes so that we can more easily set styles
for the buttons created by a gtk.Dialog (or subclass) without having to
modify too much of the dialog instantiation code.
(Bitbake rev: ccb8f5cd52ee7833129583b9201c65d93cb87d56)
Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The buttons taking the user back to image configuration should be prefixed
with '<<'.
(Bitbake rev: e0d598b454c01303a0ea9503feef3ce6f1ed1d69)
Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Use an alternative, grey, colour when the button is insensitive so that
the insensitivity is easily noticed.
(Bitbake rev: 53af6a962aa2f6b4d68d59792be9c7f33cf887b4)
Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The two layers which cannot be removed, meta and meta-hob, should be the
first two items in the tree view.
(Bitbake rev: 6e51643325611f6cfc9090dcbbff20755d09c92d)
Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Correct some apparent misspellings of BB_NUMBER_THREADS.
(Bitbake rev: 175e55db8f0762a2f2f0aaf3ca48169016b9ef6b)
Signed-off-by: Robert P. J. Day <rpjday@crashcourse.ca>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
We should get TMPDIR from bitbake server instead of hardcode.
(Bitbake rev: 91bdd43468448385e07a57ac54ce25db9a8edf03)
Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
In Hob advanced setting, if "defaultsetup" is selected, we need to
leave DISTRO variable not set in bitbake server.
Otherwise, defaultsetup.conf will be parsed twice, causing TMPDIR and
its related variables mess up.
(Bitbake rev: 863b14ebf2c7443ce6df362f24af6395e520edbc)
Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Implement the filter for runqemu and deployment functionality.
runqemu
1) suffix should be in the list of RUNNABLE_IMAGE_TYPES.
2) machine should match the pattern of RUNNABLE_MACHINE_PATTERNS.
deployment:
1) suffix should be in the list of DEPLOYMENT_IMAGE_TYPES.
(Bitbake rev: de4d09a8d100b81622300db5f46627c649812abd)
Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This change allows adding extra inherits before getting all the
parameters.
(Bitbake rev: eb993c0bad03718f9d3e133667cd0fefca23611a)
Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
When creating label in recipeselectionpage.py, the builder's
configuration may not be ready yet, so create an empty label in
initialization.
(Bitbake rev: e4f22f6242f489afcadac67cc8dd282936b78586)
Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The ASYNC commands can automatically detect if BB file parsing is needed.
Therefore remove this explicit parsing command.
(Bitbake rev: 73692cb55d7d5aaedfbcf6b8a24ab435a1d25a9e)
Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Change the text of view_recipe_button to 'Add/remove recipes and tasks'
Change the text of view_packages_button to 'Add/remove previously built packages'
[Yocto #2146]
(Bitbake rev: 0348ef08db9ac425d83126d2e6eb465adc28b110)
Signed-off-by: Shane Wang <shane.wang@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
For make the building screen to provide clear information about task in progress by request, so add this function.
At the beginning of building, the vertical scroll bar will go to the active area automatically.
Once the user moves the scroll bar in the middle, the automatic move of the bar is disabled.
However, once the user moves it to the bottom again, it will be kept to the bottom even though more logs come.
[Yocto #2098]
(Bitbake rev: cf43be6685d45c66e6508bbce653f8a67db66a9b)
Signed-off-by: Liming An <limingx.l.an@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This patch is not to show the horizontal scroll bar for building log, and add CellRendererText class to wrap the text.
[Yocto #2091]
(Bitbake rev: 7c5e1297c1af2edd46315e3dec4516f850d5e222)
Signed-off-by: Liming An <limingx.l.an@intel.com>
Signed-off-by: Shane Wang <shane.wang@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Replace all gtk.Button instances that have the orange style applied with
HobButton.
(Bitbake rev: f4dfdc23a6498fdaa164a1bfccf616ff8fcbd251)
Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The design uses a big, bold labelled, orange button for the primary action
on each dialogue. The HobButton implements this design as a reusable widget.
HobButton makes use of Pango Markup to use a relative size, x-large, for
the button text to ensure it's relative to the system configured font
sizes.
(Bitbake rev: 9aa477f7bd16d3e360bf9b51c1f9d5032a6c5288)
Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Design calls for these buttons to include << at the beginning of the label
(Bitbake rev: 08cc5ec196a51c29f936eccba1644607be2ed759)
Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The visual design calls for the alternative button to have a pale blue
colour.
(Bitbake rev: c9f61765216a013c7ebc02157ea47c3478252e7c)
Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Use a separate, pre-lit, icon when the button has the cursor over it.
(Bitbake rev: 535d23921dfb7310022099d39b1092edfee51c1a)
Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Per discussion with the design team the LayerSelectionDialog should only
have a close button.
See: https://bugzilla.yoctoproject.org/show_bug.cgi?id=2083#c10
(Bitbake rev: 65d92efe2786f21b8a2790ef0383f87b6dc15b57)
Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
HobImageButton is an gtk.Button subclass, and therefore behaves like a
button with prelight and focus states, with an icon and two lines of text -
primary and secondary. The secondary text is displayed in a lighter colour
using a new module method, soften_color(), per the design.
(Bitbake rev: b91cc96c4ff4195ac26fdfd1fb0c2ff8db06aff8)
Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Add add-hover and remove-hover icons for the Layer Selection Dialogue.
Autocrop layers_hover, packages_hover and recipe_hover images.
Signed-off-by: Joshua Lock <josh@linux.intel.com>
The Hob GUI requires the meta-hob layer to function so prevent its removal
as we do with the core meta layer.
(From Poky rev: a64d71e1e4475236e286cb20dde29c4d099d3693)
(Bitbake rev: 431624678025b3d3fe04f1c6e8fc50820b3129fb)
Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The layer dialogue design includes in-line remove/delete widgets next to
the layer path in the tree view for all layers other than the meta layer as
well as an in-line notice that the meta layer cannot be removed.
This is achieved in this patch through the use of custom cell_data_func's
for the treeview to render the meta layer differently and a custom
CellRenderer implementation, CellRendererPixbufActivatable, which renders a
pixbuf and emits a clicked signal when the user clicks on it.
Fixes [YOCTO #2083]
(From Poky rev: 83c96b7a0ec4412716090098385a665045909a9a)
(Bitbake rev: b2d8f28c0059992200457a15aef8be09e015a5dd)
Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Shane Wang <shane.wang@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Remove transparent border from the edge of the layers_display,
packages_display and recipe_display images.
(From Poky rev: d240f17687f34a0c5733a7744e8689420f45381c)
(Bitbake rev: e439de09eb073a50e12021b196f10fc87e33b858)
Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This adds a gtk.Button subclass for secondary actions which unsets the
relief so that the user is aware that the button is clickable and yet it is
more subtle than the primary action (such that the primary action is the
most obvious one) - this is per the interaction design.
Further we replace all uses of gtk.LinkButton with the new HobAltButton
Partially addresses [YOCTO #2105], a follow on patch will theme the button
so that it matches the visual design.
(From Poky rev: c3f17fed243180678264168968333463b203bfa0)
(Bitbake rev: 601521c2d7f5568d94529a77b2cbe19fef7cbf48)
Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
We use 4 spaces, not a tab, in BitBake
(From Poky rev: 7d9c9fd7c267d69bab51590074d66a2d68e98ca6)
(Bitbake rev: 7658cd6d8e0e558f60df72b294019a40c27bc703)
Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Darker gtk+ themes, such as the one used in Ubuntu Unity, revealed that the
PersistentTooltip styling wasn't setting the label colour correctly.
Set the label foreground colour to the tooltip_fg_colour value as read from
gtk-color-scheme property of the system settings.
(From Poky rev: 0934cfcea5986dbdc50e7159ee907c70b0b3e587)
(Bitbake rev: ab15ef585e51e4c85a4a55aa6b35fbf3b53f3805)
Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Change the layout and borders so that the close button is flush with the
edge of the tooltip window yet leave the contents with a small border such
that text isn't flush with the window edge.
(From Poky rev: 5a0891d144de5d3f73c51adef5a30492a679c66a)
(Bitbake rev: f652d9d28d69a04bc9361599d173625378ac8d33)
Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
It's a common pattern on Gtk+ desktops to be able to clear a search/filter
entry using an icon in that entry.
(From Poky rev: 6394283522ef2f259397d8bd294291fb20354c8b)
(Bitbake rev: f55372d542995fd0797b11f42dcfdbe57858449a)
Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Previously we use pattern "-image-" to match recipe name to judge if
it is image type. This will ignore some images whose name doesn't
match the pattern. The new method is to use the inherit information,
that is, if a recipe inherits image.bbclass, we treat it as an image.
(From Poky rev: 981b81bd39529d2ba9af0d4e2a25bda3d32bd8fc)
(Bitbake rev: bdbee0c899e115ad08b9a77d3e58d6767766da75)
Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Inherit information could be used to judge if a recipe is image type
or not.
(From Poky rev: 203f112a84b3971dc71da3dc455fd054d1c16a12)
(Bitbake rev: fe52af99918f61abec8f779efb02926b713f2aac)
Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Change 'View Packages' button description from 'Add/remove packages' to 'Add/remove previously built packages to/from your image'.
And we adjust the size to make "View Packages" button fit into the window.
[Yocto #2146]
(From Poky rev: 279dbff3ef9f8e8bc58b86f8c4f5ffe70d4a2e8b)
(Bitbake rev: 594f5936c2450d596967f062c14434f5357cb5aa)
Signed-off-by: Shane Wang <shane.wang@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Move "Create your own image" item to the bottom of base image list.
Besides, remove an un-used hob list entry.
This fixes [YOCTO #2104]
(From Poky rev: f215ce518ad644ca4747ae17279db4b82d0c715d)
(Bitbake rev: 7e00723a6508023ffbefed2c2de1bc9c55564faa)
Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
In the package screen, change the tab order to be:
"Included" and "All packages".
Also change some descriptions in tab.
This fixes [YOCTO #2111]
(From Poky rev: 25628f43d16bcc35874bdac3e1ce1b552c049633)
(Bitbake rev: e12a5e478635a0de87060ac20aff8c9b1858596e)
Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Shane Wang <shane.wang@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
In the recipe screen, change the tab order to be:
"Included", "All recipes", and "Tasks".
Also change some description name in tab.
This fixes [YOCTO #2110]
(From Poky rev: 400b1092f1bad578b26d1e41aeb87dcb852aa4e3)
(Bitbake rev: f7168e891ce4af5234d53896a7f51489a7c84a6f)
Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Shane Wang <shane.wang@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Change the button name according to UI team's design.
This fixes [YOCTO #2126]
(From Poky rev: 1e4477f9b121b2523685cc6440050c47d3ae1cde)
(Bitbake rev: f75dde11f2d73119702026d4dd531c0b242303c7)
Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit change the GUI for package classes selection in advanced
setting dialog, which conforms with UI team's design.
(From Poky rev: 7bbcabdb71d76cdb2ec1de15618d1e47f1149a21)
(Bitbake rev: 4ebce01dde18e67e01ff7c4736c229a3364c04b0)
Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Since the GTK Hob will not use the server/client split model, thus
remove it from current Hob code. But we still keep the core mechanism
in bitbake server.
(From Poky rev: 983ea0265a53e0725dcbf9085ea767ebbc155ae5)
(Bitbake rev: 8c129e05a94d457860d883c9b2934a5559de8d9b)
Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit reverts part of change in 491c87d1, since initcmd has a
possible value of 0, therefore we must explicitly compare the initcmd
with None in if judgement.
(From Poky rev: 5736972974a769ea7ce6c92fdf6842db044f770d)
(Bitbake rev: ee55ca82c94080ef825d6de094e38ba40ee62e8b)
Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
To pass the sanity check, we need to define CONF_VERSION and
LCONF_VERSION in local.conf and bblayers.conf.
[YOCTO #2119]
(Bitbake rev: d595960fea0988df9004d927bc2ec3439540dd9c)
Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
When judging if reparse is needed when change values in advanced
setting, we need also include user's own defined variable pairs.
[YOCTO #2121]
(Bitbake rev: db4b78798e2280736ddce9f54d25cbcdcb779d0a)
Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
When the user is running a desktop where the close button is on the left we
try to detect that and position the tooltip close button appropriately.
Where we can't easily determine this we default to placing the close button
on the right.
Tested on Ubuntu/Unity and Fedora/Gnome Shell.
(Bitbake rev: 09147098a63c33dc05dc39b7fe4da4df8e2dbd4c)
Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This uses a more concise API that will be more flexible whent he Toolbar
style is updated to match the visual design.
(Bitbake rev: 6491b5fd877d6006ebc91e0c73d443a6e7626f3f)
Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
No caller of the method uses the returned toolbar variable
(Bitbake rev: 77ed4bb3468d5d256f08329fd307df5a219ae242)
Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
To fix the signal callback function code, and make the temp parameter to replaced the static global variable, as required.
(From Poky rev: a95b61d48bf92948ff5a21896e71ed3cb323ab38)
(Bitbake rev: 76f63e70c7b2d6291f8b11bc5baebda510a276d7)
Signed-off-by: Liming An <limingx.l.an@intel.com>
Signed-off-by: Shane Wang <shane.wang@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
To change the notebook tab pressed edge color from green to gray.
(From Poky rev: 8e454749e7f535cf43544eeb167c90632e89cfb0)
(Bitbake rev: 8e4e868e6183fbd52fa455937bb824a52ef15ab5)
Signed-off-by: Liming An <limingx.l.an@intel.com>
Signed-off-by: Shane Wang <shane.wang@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
To add auto expand the background area function for long issue text input.
(From Poky rev: f1822f0961bd719de0827e361f7e6fa3bf872746)
(Bitbake rev: f406b0a11b021f8492ed0b083d9ff89de4a14653)
Signed-off-by: Liming An <limingx.l.an@intel.com>
Signed-off-by: Shane Wang <shane.wang@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
fixed the 'for..in..' range dance code, and use the 'iterator' approach to replaced the index for quote the 'children' list
(From Poky rev: 74e7286a4e875eda5e8abeb5db1015031d21c35f)
(Bitbake rev: 3dc443663b97515a54b70c9047a9b22c6b8a0c14)
Signed-off-by: Liming An <limingx.l.an@intel.com>
Signed-off-by: Shane Wang <shane.wang@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
To delete some code which is not used
(From Poky rev: a8f5a72d36e9a55ec7a2296e1c9623e177a95a74)
(Bitbake rev: 27e77f6c196e313b5b941238e54b74fc746a0230)
Signed-off-by: Liming An <limingx.l.an@intel.com>
Signed-off-by: Shane Wang <shane.wang@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This patch is to fix the following:
if foo != None -----> if foo
if foo == None -----> if not foo
(From Poky rev: d771343b1726f166ed8d75543ba68bd2a20aee7b)
(Bitbake rev: 23c140a4d00293d922cbd34b6b837493cac2e93a)
Signed-off-by: Shane Wang <shane.wang@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
We use the more common style to enumerate a list in a for-loop
(http://docs.python.org/library/functions.html#enumerate), that is:
try to use
for item in mylist,
and try to use
for i, item in enumerate(list)
rather than
for i in range(len(mylist))
(From Poky rev: 33c21bc60bd1542f81d33c328f116dec424728cd)
(Bitbake rev: 9b168239a5d9693573438eb6514938b81de85af3)
Signed-off-by: Shane Wang <shane.wang@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This patch is to show the indicators (e.g., the number of the issues) in the build details page to highlight.
(From Poky rev: 2e08a8e6818b8f1df7eaac499ebc3a5854efe7be)
(Bitbake rev: f2eead1bc20c48b2f36e880a879a5a50e6e6567b)
Signed-off-by: Liming An <limingx.l.an@intel.com>
Signed-off-by: Shane Wang <shane.wang@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This patch is to use HobNotebook we defined to implement the notebook in the build details page.
(From Poky rev: 792c5eb29cf44d9ef559ae59802327fb1bb2cb3c)
(Bitbake rev: d51ad20aa00f2af6c7174910b31523fff0e5a639)
Signed-off-by: Liming An <limingx.l.an@intel.com>
Signed-off-by: Shane Wang <shane.wang@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
In recipe selection page, package selection page, and build details page, etc, there is a notebook component which is not gtk.Notebook in the design video.
We implement the visual component with a drawing area, and use it to replace the old notebook in recipe selection page and package selection page. The reasons why we do it are:
1) General speaking, gtk.Notebook doesn't look like the designer worked out. (see https://wiki.yoctoproject.org/wiki/File:Hob1.2-screencast2.mov)
2) And the designer version looks better, for example, there is an indicator to show how many recipes or packages are included, and how many issues happened when building? Very straightforward.
But technically, gtk.Notebook can't implement that, as far as we know.
3) Moreover, there is an entry for "search recipes", and "search packages". How to make it horizontal to the tabs is a problem to us.
Regarding those, we give up gtk.Notebook and use our own.
(From Poky rev: e4ebac226cc5e4589bcecd8bada9fde462e925cc)
(Bitbake rev: b0c2ca3f600694c6d37924006de3f9474b2a9a8e)
Signed-off-by: Liming An <limingx.l.an@intel.com>
Signed-off-by: Shane Wang <shane.wang@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(Bitbake rev: c4c8df0e1e77f99f3ee0b07e1748116fc362819f)
Signed-off-by: Robert P. J. Day <rpjday@crashcourse.ca>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
There is no logger.note, use logger.plain instead (which is what we
really want here anyway.)
(Bitbake rev: c4f7fd708c48d4323db4bbeb3074f576f5be7aa2)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(Bitbake rev: 5a1e62a8cdd4f0253b0dc59046b3b4c3186af461)
Signed-off-by: Gary Thomas <gary@mlbassoc.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Currently the code checking whether stamps are valid only traverses one step
of the dependency graph. This works fine in the normal cases where we've already
validated dependencies but for the setscene code, it doesn't work well. A typical
problem usecase is something like:
bitbake gcc-cross -c unpack -f
bitbake gcc-cross
which will ignore any sstate files already cached which could be used to speed
up the gcc-cross build. This becomes particularly problematic with multiple gcc
builds where only one should rebuild yet they all do.
This patch teaches the stamp code to be able to recurse within a given fn
which gives the behaviour people would expect from the code and allows
bitbake to make better use of prebuild sstate objects.
(Bitbake rev: e68814cb2e8da523d4ddf05e8ceddfaa19244851)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
We were seeing duplicate endings to urls:
DEBUG: For url ['http', 'www.apache.org', '/dist/subversion/subversion-1.7.1.tar.bz2', '', '', {}] comparing ['http', 'www.apache.org', '/dist', '', '', {}] to ['http', 'archive.apache.org', '/dist', '', '', {}]
DEBUG: For url http://www.apache.org/dist/subversion/subversion-1.7.1.tar.bz2 returning http://archive.apache.org/dist/subversion/subversion-1.7.1.tar.bz2/subversion-1.7.1.tar.bz2
This patch addresses this by only performing substitutions when really needed.
(Bitbake rev: a17473d51f54a9dfb4eeaa5ad516c4851d5ac142)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This means that statements that expand to more then one entry
such as:
CLASSES = "a b"
inherit ${CLASSES}
work correctly instead of trying to inherit a class called "a b".
(Bitbake rev: 2568e9ace6e6f483e1bf2a9ef2f4d8318d6c85b7)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Add code so the uihelper keeps track of how may tasks we've run and
how many tasks there are in total so UIs don't have to track
this information themselves.
(Bitbake rev: 17e68cfc6018b93d19738a6a874dfdea23fbab11)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
For Box type of widget, change the padding value to be HIG consistent,
that is an increments of 6 pixels.
(Bitbake rev: 0347e99ca5c232832f2b490584d76872c6d77311)
Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Originally we will send selection chagned notification in each
include_item and exclude_item, which is time cost since these are
recursive functions and we may select hundreds of recipes/packages.
The improvement is to move the notification from include_item and
exclude_item to the place where the two functions are called.
This could greatly improve the selection/deselection speed for recipe
and package lists.
(Bitbake rev: 5ad7c54f4b8739b9ae097c68978093a53f950ed7)
Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Add a Stop button to allow user to quit the parsing process.
(Bitbake rev: a1936ff544f21cde0765f24dc9b0af126ca98752)
Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Only show recipe and package editing button after base image is selected.
(Bitbake rev: 5290d99f4d0f36076c59ec0b59e3f69b04d69ebf)
Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Handle the recipe and package list update in
handler_command_succeeded_cb(), which could avoid potential race
condition when doing recipe/package list updating and page switching.
(Bitbake rev: 0c766a8c69782b2dd35a363dc9573b78f9d41995)
Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Remove the "--select a machine--" prompt in machine selection.
Also change "--select a base image--" to "Start from scratch" for
base image selection.
(Bitbake rev: ac36d218ed6793d6fbf3edfadaf193629ea1e46d)
Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Get the image installation content from rdepends and rrecommends
variables.
(Bitbake rev: a16b2245d7f5ef8509df0c543f9432c98367c79c)
Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
When calculating the image installation dependency, we need the
rdepends and rrecommends information of certain packages.
(Bitbake rev: 5eab31ad9e9431e27725dcefa38cbd7f2e37d394)
Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Currently for non-x86 architecture, there are un-resolved dependency
issue when generate universe dependency tree. Therefore disable the
handling of "NoProvider" event in Hob to enable the build for non-x86
architectures. After we resolved the dependency for universe, we still
need to handle this event in Hob.
(Bitbake rev: e3c5eed2244d7885418c59a62c9584f6397ee623)
Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
For certain distributions, like FC16, it doesn't have close button in
sub-windows or dialogs. Therefore we need to add an "Close" button to
"BinbDialog" to close the dialog.
Besides, let BinbDialog inherits the CrumbsDialog instead of gtk.Dialog
(Bitbake rev: 5d33c355001bec91f4e4c3860db8d7ac2b449782)
Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
See the comment in the code in the commit for more information.
(Bitbake rev: 2d56dc7b1f0d186e14c4c8a949b280b6b3fc31de)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
In the initial implementation there was a relcutance on my part to
generate incremental cache components on the fly since it would lead
to some duplicate code.
We are now seeing problems where each thread reading in the saved cache
file causes significant overhead and can make the process appear to hang
on a many core build, particularly when the cache file is large.
This patch changes the code to maintain the delta in a separate dict
right from the start. The code duplication isn't too bad and could be
mitigated in other ways if it becomes an issue.
[YOCTO #2039 partial]
(Bitbake rev: cdd5d0dee6ab12326b252b6b505a316a52638cac)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The parsing shutdown call can occur more than once. Currently
if this happens the code will hang. Add some code to prevent this.
[YOCTO #2039 partial]
(Bitbake rev: 7614c5bdcaf9d70614b4fad2ca02c7e6eaa92f1b)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The bitbake-runtask doesn't work since there is no taskhash (it worked
in the past, but seems recent changes made it doesn't work again), use
the basehash when there is no taskhash, just like what dump_sigtask
does.
[YOCTO #1229]
(Bitbake rev: b36f2e3803dfc494d5b171759f55faf33708e6f1)
Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
If an error occurs during finalise() (when for example we might get an
expansion error in SRCPV), log a note which mentions which recipe was
being finalised.
Fixes [YOCTO #1782]
(Bitbake rev: 56f9f8ffd92b00b916dbc2386150c83689d5beed)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The Hob visual design includes an info icon which should be used
consistently throught the GUI. This change detects use of the stock info
icon in CrumbsMessageDialog and uses the Hob info icon instead.
(Bitbake rev: 37ed1589a19ffc82e8638b5375c99158988b38fc)
Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Replace all instances of the stock info icon with an attached tooltip with
the new HobInfoButton with associated PersistentTooltip.
(Bitbake rev: cead9a2e32f0196536c51d3a0713c1f28a35bf3d)
Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Use the new HobInfoButton widget in place of the existing gtk.Image with
tooltip.
Modify the markup of the tooltip so that the link to the reference manual
is a clickable hyperlink.
(Bitbake rev: 10b4a6770640db49f2f55b8ad7ce55aebb250598)
Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This button-like widget will display a persistent tooltip with the
supplied Pango Markup when it is clicked by the user. This widget features
prominently in the interaction design to offer help in a more prominent
manner.
(Bitbake rev: 43f33dcd6b7d1a08651cdf0715c2c2a9d488b103)
Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The info icons include large, transparent borders. Crop this out so that
we can use the icon without using too much space in the GUI.
(Bitbake rev: de5fbbd343081147e6b7a118daee7f678d49d0fa)
Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The Hob interaction design calls for a top level widget which shows a
persistent tooltip. This tooltip will not disappear until the user
explicitly closes it.
This allows us to provide clickable hyperlinks, longer instructions and
deeper information in the tooltips.
Note: by design the tooltip should dismiss when the user clicks off it,
this implementation does include that functionality. It's a to do item.
(Bitbake rev: b310fd429150d3a96ecde477934fffad4b4031da)
Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
[YOCTO #2051] Set 'x' bit to make bitbake-prserv executable.
Signed-off-by: Lianhao Lu <lianhao.lu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The change for setscene events to fire a TaskFailedSilent event instead
of TaskFailed resulted in "FailedSilent" being reported in the task
finish note log entry, which is not really desirable, so change it back
to reporting "Failed" again.
(Bitbake rev: 224bc74d4e901b7886b845fbb3b5fe7564a2f6cb)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Save failed real (non-setscene) tasks to uihelper's failed task list.
as before commit e8a3499c95a6d4f2b8fed002fb9504733c5be3c6. Currently
this list is only used by the ncurses UI.
(Bitbake rev: cc74cad0742ea0d4e09e843883cdc55bad39b22e)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Fixes a regression introduced in commit
e8a3499c95a6d4f2b8fed002fb9504733c5be3c6 which resulted in a
backtrace on setscene task failure due to trying to dereference
the setscene task ID twice.
(Bitbake rev: 8b846a92a58b5c20d7cfd2efd32b763e95c3c2fd)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Sometimes user stops the build before runqueue is established,
for example, at the stage of running add_unresolved() function. This
will cause RunQueue to use rqexe field in finish_runqeue() before
initialized. This will cause endless print of "Running idle function"
if use process server.
This commit initialize rqexe variable in RunQueue's init function,
and add a judgement in finish_runqueue().
(Bitbake rev: 59f817723172092a87738c79f555e605f55ea375)
Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit fixes the behavior of clicking stop build button, it will
stay in the build detail screen and show build is failed.
(Bitbake rev: 80291865fa15012a3734e8724eb73c62b4ddc62f)
Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* don't set the position of the main window to the center always
* don't show the message to users if their screen dimensions are lower than 1024x768
(Bitbake rev: 1afa500cb1cb5c10fc0a3ea0f65c7ecc8887efa8)
Signed-off-by: Shane Wang <shane.wang@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Originally, the image size shows the last item in the image tree view in the image details page.
That is not correct. We need to show the size of the image which the user chooses.
(Bitbake rev: 01c18a24252b35959a4cc01088678f93cb2f95e5)
Signed-off-by: Shane Wang <shane.wang@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
When checking the package's RDEPENDS information, we will see some case like
A RDEPENDS virtual-b, and B RPROVIDES virtual-b, we need to reflect this relationship
in packaging selection.
(Bitbake rev: 44562593556e67d7976a124d5a420938aff95e0c)
Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
According to the cooker's change, this commit fixes the way to getting
recipe's build dependency.
(Bitbake rev: da64e59f2e738d6103605139ba2d3e2cdaa35b11)
Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Remove part of the original logic that stores pkg dependency and pkg
recomends, which will not be used in Hob.
Add the judgement for preferred fn provider of a certain package,
which maps package name to its providing recipe name.
The above approaches correct the build dependency calculation,
and they also reduced the total depend_tree size, which speed up the
tree data generation time.
(Bitbake rev: d668eb1300b3b3115964e98127b1bef554caae17)
Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
fnid is an outer variable and shouldn't be overrided, change the inner variable
name from 'fnid' to 'id'.
(Bitbake rev: c6dc8d6310af22c95adb06c64339e7ec9eaeb315)
Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Remove the "resolve" parameter since the original resolve=False
option is no longer be used.
(Bitbake rev: dadce609149cfb09ecdc53bfe1f416a3f57a5033)
Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Several minor tweaks for appearance:
* Try to rework the labels so that the English flows better
* Fix spacing
* Remove the separator - it's not needed
(Bitbake rev: 53c5807c38e97d2e44a6f5c48449178b8b6e6261)
Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Shane Wang <shane.wang@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Gtk+ does a good job of creating dialogues which fit all of the packed
widgets and respect the spacing. Let it do its job.
(Bitbake rev: 2469784b38f21716c09df89323c78cd20d3a4c14)
Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Shane Wang <shane.wang@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
GNOME HIG and Gtk+ convention is for the buttons to be ordered
<secondary action> <primary action> so that the primary action can be
selected easily by navigating to the bottom right of the dialogue.
We should try and match the convention and the HIG standard so that we
aren't contrasting the rest of the users applications.
(Bitbake rev: e90828680e3bc655db54ed2797cad4587e8796d0)
Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Shane Wang <shane.wang@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Inherit from the base CrumbsDialog class which implements standard border and spacing.
Switch all explicitly set dialogue spacings to 6 to converge towards GNOME HIG.
(Bitbake rev: bf938987a007c94fc4bbacb2b4741b7c18cb62ec)
Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Shane Wang <shane.wang@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
We have mentions of HOB and Hob, the approved name is Hob.
"the name's Hob, BitBake Hob"
- Surly BitBake GUI
(Bitbake rev: 06adabbb36472625c1e47991e418346ef7438577)
Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Shane Wang <shane.wang@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Factor out the base dialogue configuration into CrumbsDialog and create a new CrumbsMessageDialog which acts as the CrumbsDialog did to handle dialogues with buttons.
Adopt CrumbsMessageDialog wherever CrumbsDialog was used.
(Bitbake rev: d8c62f54d9f2421cfe7f1083b9d0acfe0373d38a)
Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Shane Wang <shane.wang@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Sometimes the image configuration page flashes the progress bar, that is because we show_all() and then hide() the progress bar. For this case, the patch doesn't add the progress bar onto the gtable. Then, it will not be flashed any more.
(Bitbake rev: ef472710589580b9bfc64d2c02fa42f3ecbdfeb1)
Signed-off-by: Shane Wang <shane.wang@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
When the user changes the machine to be "--select a machine--", the builder.configuration.curr_mach should be set to empty.
Otherwise, if the user adds more layers after the above, the action will trigger recipe parsing, which is not correct.
(Bitbake rev: d5c7c9471b8e101ebcb91d707415b9c820b1419f)
Signed-off-by: Shane Wang <shane.wang@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The dialog references are all in builder.py. We remove the useless "import" in image configuration page.
(Bitbake rev: 804f35e6864aeae2bb02550d9eb34120bbb60fa0)
Signed-off-by: Shane Wang <shane.wang@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
For image types, so far we don't include hddimg and iso. Then those files can not be deployed because they are filtered out in the image selection dialog.
This patch is to include hddimg and iso (which are "live" in image types).
Again, we have a TODO in the code for the future, that is to retrieve image types from the bitbake server instead of to use the walkaround.
(Bitbake rev: d565507940be73fb5ea3ae7048d8d143c44c2a95)
Signed-off-by: Shane Wang <shane.wang@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Some dialogs like advanced settings dialog, and layer selection dialog are using the class methods in HobWidget to create widgets for themselves, which is not a good design for OO.
Clean up the code, and split the functions into the separate classes which use them actually.
Finally, remove the class HobWidget.
(Bitbake rev: f9cccea4d1c52ae2173fd94d5b07ceba7e5c0851)
Signed-off-by: Shane Wang <shane.wang@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
When typing any thing in the search entry, the brough-in-by dialog will be shown. That is because we call back "selection-changed" signal to pop up the dialog, which is not correct.
This patch is to fix the problem by using "row-activated" signal.
(Bitbake rev: ea56ae787153460166697bbcae92f51a77ca1571)
Signed-off-by: Liming An <limingx.l.an@intel.com>
Signed-off-by: Shane Wang <shane.wang@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The current implementation of the image selection dialog walks through all directories and its sub-directories, when users click "My images" to choose a directory. If the directory is /, the system becomes slow. This patch is to avoid walking through all directories but the child directories only, given a directory.
(Bitbake rev: 536fa633b442ff37d43f45cf346ba281d69de496)
Signed-off-by: Shane Wang <shane.wang@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This patch is to make the class HobViewTable more general as a tree view in Hob.
Now the recipe selection page and the package selection page are using it.
And we have tree views in the image selection dialog and the image details page, which used the class methods in HobWidget to create the tree views. That is not good in OO.
So, make them reuse HobViewTable to create its instances.
(Bitbake rev: 3c900211e8bc0311542873480d79b347d7449f59)
Signed-off-by: Shane Wang <shane.wang@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The export regexp was only meant to catch values like:
export VARIABLENAME
however after the stricter quoting patch was applied, it was also matching
variables like:
export BAR=foo
and setting the export flag on a variable called "BAR=foo". The = character
is an invalid variable name character. This patch tightens up the regexp
match so it only matches the intended character set and only matches variable
names.
(Bitbake rev: 6d1765c2eac8c1958ceb9c81d55d04a9bc961cb1)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Enable configuring whether "set +x" is added to all shell tasks rather
than forcing it; this is enabled by setting BB_VERBOSE_LOGS to 1.
(Bitbake rev: 659411b6bb30e1a8355afc1c29b8170a8f2b55ac)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Currently, bitbake will accept variables in the forms:
X = 1
X = '1 \
X = "1"
X = '1'
which will all set X=1. This patch removes the first two possibilities
and makes quoting mandatory. There is little metadata out there which
doesn't quote properly and bitbake will exit with an error about the
exact line number and file with any problem so users can easily identify
and fix issues. OE-Core has already been checked/fixed.
The motivation for this is being able to give sane errors if a user
does something like:
IMAGE_INSTALL += # tslib mtd-utils"
which currently gives a really nasty failure.
(Bitbake rev: a8ae80741fea5e0ec0fb9a52a963a4baa38d2564)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* When a setscene task starts, print out that it's starting in the UI
(ensuring we get the correct task name)
* When a setscene task fails, ensure we remove it from the list of
running tasks so that if you break out any time afterwards it
is not still listed.
(Bitbake rev: e8a3499c95a6d4f2b8fed002fb9504733c5be3c6)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Make dry-run do everything except executing the task, instead of
cutting it off earlier. This fully tests the code path for running the
child task (parsing and fakeroot), as well as enabling future
functionality such as using dry-run to produce signature files.
(Bitbake rev: bf1d7739618dabf3872a868230c0112b9ad2a2c0)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Added new variable BBINCLUDED indicating the file dependency
information. It exposes the internal variable '__base_depends' and
'__depends'.
(Bitbake rev: af524a656fce32d01687481b86c31bef00eb9fc3)
Signed-off-by: Lianhao Lu <lianhao.lu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Adopt the BB_HASHCONFIG_WHITELIST as a exclusion list for variables that are
not needed in cache hash calculation.
(Bitbake rev: ae8cf138b5eb8f1f28a7143b8d67ad06cbe43061)
Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
CC: Christopher Larson <kergoth@gmail.com>
CC: Martin Jansa <martin.jansa@gmail.com>
CC: Andreas Oberritter <obi@opendreambox.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Monitor disk availability and take action when the free disk space or
amount of free inode is running low, it is enabled when BB_DISKMON_DIRS
is set.
* Variable meanings(from meta-yocto/conf/local.conf.sample):
# Set the directories to monitor for disk usage, if more than one
# directories are mounted in the same device, then only one directory
# would be monitored since the monitor is based on the device.
# The format is:
# "action,directory,minimum_space,minimum_free_inode"
#
# The "action" must be set and should be one of:
# ABORT: Immediately abort
# STOPTASKS: The new tasks can't be executed any more, will stop the build
# when the running tasks have been done.
# WARN: show warnings (see BB_DISKMON_WARNINTERVAL for more information)
#
# The "directory" must be set, any directory is OK.
#
# Either "minimum_space" or "minimum_free_inode" (or both of them)
# should be set, otherwise the monitor would not be enabled,
# the unit can be G, M, K or none, but do NOT use GB, MB or KB
# (B is not needed).
#BB_DISKMON_DIRS = "STOPTASKS,${TMPDIR},1G,100K WARN,${SSTATE_DIR},1G,100K"
#
# Set disk space and inode interval (only works when the action is "WARN",
# the unit can be G, M, or K, but do NOT use the GB, MB or KB
# (B is not needed), the format is:
# "disk_space_interval, disk_inode_interval", the default value is
# "50M,5K" which means that it would warn when the free space is
# lower than the minimum space(or inode), and would repeat the action
# when the disk space reduces 50M (or the amount of inode reduces 5k)
# again.
#BB_DISKMON_WARNINTERVAL = "50M,5K"
[YOCTO #1589]
(Bitbake rev: 4d173d441d2beb8e6492b6b1842682f8cf32e6cc)
Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
If we call finish_now(True), rq.state is not updated to match. This
makes the behaviour of finish_now(False) and finish_now(True) consistent
so both leave rq.state consistently.
(Bitbake rev: 9079ae0ab74f9232b7e9853b2013b051d4fcf623)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The commit which introduced the new hob UI also deleted this class
which is used by depexp.
(Bitbake rev: d54dbe54cde8e0086bf1fb4926468e212660db53)
Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
If we find an error in the layer configuration (such as an unsatisfied
item in LAYERDEPENDS) then exit by raising an exception at the end of
handleCollections() (without producing a backtrace).
(Bitbake rev: c7486a09310fe63b1aa1b7b0bb9450f306b6093b)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit implements a new design for hob
Some of the new features:
- Friendly new designed GUI. Quick response to user actions.
- Two step builds support package generation and image generation.
- Support running GUI seprarately from bitbake server.
- Recipe/package selection and deselection.
- Accurate customization for image contents and size.
- Progress bars showing the parsing and build status.
- Load/save user configurations from/into templates.
(Bitbake rev: 4dacd29f9c957d20f4583330b51e5420f9c3338d)
Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Shane Wang <shane.wang@intel.com>
Signed-off-by: Liming An <limingx.l.an@intel.com>
Signed-off-by: Fengxia Hua <fengxia.hua@intel.com>
Designed-by: Belen Barros Pena <belen.barros.pena@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
For similar reasons as the nocheckout option, packages that need
enhanced control over the checkout and branch creation on a repository
may want a complete mirror/bareclone created of the repository when
performing the unpack.
This is useful/required when a local respository is being used, but
local tracking branches have not been created for all branches that
a given recipe needs to manipulate. The standard git clone operations
will create remote branches for the branches that are local to the
source repository, but branches that are remote do not translate to
the destination repository. Doing a mirror/bare clone of the source,
makes all branches available to the repository.
This is a particular use case, but the ability to do a bare clone
creates great flexibility in recipe space, with no impact to recipes
that don't need this functionality.
To implement this, a new option 'bareclone' is craeted which creates
a mirror copy of the repository and leaves it bare in the unpacking
phase. A recipe that uses this option must both checkout and debare
the repository itself.
(Bitbake rev: 82482aae6f311c994275fb0b6b32d954bbfc78c3)
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The current code prints a log when a setscene task starts, therefore
the progressbar in hob will not receive it. Use a sceneQueueTaskStarted
event instead.
Besides, change the sceneQueueTaskFailed event to inherit runQueueEvent
directly to avoid confusion to event receiver.
(Bitbake rev: 7c07cc93d6558d7d9c3144b13493901b7ebae050)
Signed-off-by: Shane Wang <shane.wang@intel.com>
Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The changes include:
- Clean some events in event.py
- Fire essential events for Hob2 to handle with more information.
- knotty changes
(Bitbake rev: 9ede881620c501574f014e600cea6947ea908ac2)
Signed-off-by: Shane Wang <shane.wang@intel.com>
Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Currently we have generateTargetsTree API, which is used to get
dependency information. However in that tree, there will be
"virtual/xxx" in depends fields. Therefore we add the resolve option
to replace it with its real providers.
Besides, for packages that provided by multiple recipes, we will find
their preverred provider.
(Bitbake rev: 28501612efdfc6ee47576cc90deb6e897883e7f5)
Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This functions enables the client to request triggering specific event
from bitbake server.
(Bitbake rev: 45da6d709a69697158fae92e1c0c0a6ac8f30831)
Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Add a new API in command.py to get the cpu count in order to set the appropriate default BB_NUMBER_THREADS and PARALLEL_MAKE variables.
(Bitbake rev: 335047b2e440e65713e88fabb24b47a9c82f939b)
Signed-off-by: Shane Wang <shane.wang@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
In server/client split model, the client will bind to a specific address
and port. We need to pass the values to BitBakeServerConnection().
(Bitbake rev: c8e19c5c389efc06696084c6f9439ba75472c5b7)
Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
When start bitbake as a server only process, we need to assign certain
interface to it.
(Bitbake rev: 95b97d2dc6466ea3d99371f5b5bd68f6f3c99074)
Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
RequestPackageInfo is triggered by GUI client to request the available
package information.
PackageInfo event is to pass package information back to GUI.
(Bitbake rev: 9020c2d4476766f63ff7e024bbd99043d06feefc)
Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Previously we use the file time stamp to judge if a cache is valid.
Here this commit introduce a new method, which calculates the total
hash value for a certain configuration's key/value paris, and tag
it into cache filename, for example, bb_cache.dat.xxxyyyzzz.
This mechanism also ensures the cache's correctness if user
dynamically setting variables from some frontend GUI, like HOB.
(Bitbake rev: 1c1df03a6c4717bfd5faab144c4f8bbfcbae0b57)
Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Ensure that a file and line number are reported for ParseError where
possible. This helps particularly in the case of inherit and require
which previously did not report either of these upon failure.
(Bitbake rev: f588ba69622a2df35417ced184e56c79ac1b40d5)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Fixes a regression introduced in BitBake rev
c9f58ef6b897d3fa5b0d23734b5f2cb3dabb057a which prevents errors during
parsing from being fully reported because BitBake shuts down before it
can print them. Move the error printing to before the shutdown in order
to fix it.
Also remove a couple of superfluous calls to sys.exit() since these
will never be called (as self.shutdown(clean=False) does this itself).
(Bitbake rev: 356c42ed00541dea2c382c57f768a4f431d22db0)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The dataCache exposes much useful information to the singature generation code
for example its possible to figure out whether kernel dependencies are
important or not based on the RRECOMMENDS values.
We therefore pass this information to the handler and trust it to handle
any API changes in the dataCache structure.
For backwards compatibility, OE-Core is already updated to handle
the extra argument when it appears.
(Bitbake rev: 4ebc25155d5f96a7f63de22b52b18d045eb4dec7)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The recent Ctrl+C patch was not fully tested; the variable it was
relying upon is set to non-zero under other circumstances and thus
bitbake was reporting that it was interrupted and returning a non-zero
exit code when it was not. Track this status in a separate variable
in order to fix the issue.
(Bitbake rev: 95a599067650902727ecb4a39d6dd003c5cfedf3)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* otherwise it reports lots of changed checksums just because it compares different tasks
notice linux-libc-headers_3.1.bb.do_package_write:
Task dependency hash changed from 42acced29debf54d598802474c5e9cbb to f438a54f995df77620d0727d6f4b4ce5 (for linux-libc-headers_3.1.bb.do_package_write and linux-gta04_git.bb.do_deploy)
Task dependency hash changed from 61f8babe1d10c6e7fb1423112bb04e1e to 1b3e21ff106ecfcb7ddf76a1e29537bb (for linux-nokia900-meego_git.bb.do_deploy and linux-gta04_git.bb.do_package_write)
Task dependency hash changed from 512f9d6686d760b318d8b11c8b589226 to 42acced29debf54d598802474c5e9cbb (for linux-nokia900-meego_git.bb.do_package_write and linux-libc-headers_3.1.bb.do_package_write)
Task dependency hash changed from 153e91dfd1d2053fda7b98cc08d4b802 to 92a293bdd8ed234932b87a66025038c5 (for systemd-serialgetty.bb.do_package_write and systemd-serialgetty.bb.do_package_write)
Task dependency hash changed from 730abebf9954794bb440c2f3239f79fe to 413eaebaff27a2fd16f5cf68c1f4ff17 (for systemd_git.bb.do_package_write and systemd_git.bb.do_package_write)
with this patch:
Dependency on task linux-nokia900-meego_git.bb.do_package_write was added
Dependency on task linux-nokia900-meego_git.bb.do_deploy was added
Dependency on task linux-gta04_git.bb.do_deploy was removed
Dependency on task linux-gta04_git.bb.do_package_write was removed
Hash for dependent task systemd_git.bb.do_package_write changed from 730abebf9954794bb440c2f3239f79fe to 413eaebaff27a2fd16f5cf68c1f4ff17
Hash for dependent task systemd-serialgetty.bb.do_package_write changed from 153e91dfd1d2053fda7b98cc08d4b802 to 92a293bdd8ed234932b87a66025038c5
* added test if there is different task with same hash then we don't
show it as added/removed dependency, because bitbake doesn't care
(Bitbake rev: ca52bf32b479811bd7fed41648bedcc06b00430b)
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
CommandFailed already sets the return code, so we print out the error
summary message, however we don't increase the error count so it is
usually zero in this case. As we are actually showing an ERROR message,
increment the error count so that the summary makes sense.
(Bitbake rev: aeb71c3ca65dc42015c29c0e4cac050bfbcb51a5)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
If the user uses Ctrl+C to exit out of the build, then ensure we return
a non-zero exit code since the entire build was not completed
successfully.
If nothing else, this is useful to avoid continuing in the bitbake
wrapper script in OE-Core if the initial pseudo build is interrupted.
(Bitbake rev: c11eab7fa230f1fd5cc33589f3555b94e95f202d)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
When building the universe target:
* Show a warning about universe likely producing errors
* Multiprovider errors are now shown as warnings
Also remove an unused "error" variable in runqueue.py.
Fixes [YOCTO #1936]
(Bitbake rev: 293c796e8a3d1f74ca1e51017b6dede261612281)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The number of threads is self.num_processes - 1 due to the range(1,
self.num_processes). Fixed by changing to range(0, self.num_processes).
(Bitbake rev: adc041fd9e3def29cdf9c1ae4849c5383bac46e5)
Signed-off-by: Caleb Crome <caleb@signalessence.com>
Signed-off-by: Christopher Larson <kergoth@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This ensures that when we are shutting down, we drain the queue of events from
the server. This ensures that the server never gets hung up on the join of the
feeder thread associated with the event queue, thereby avoiding a bitbake hang
issue.
Also, since the third keyboard interrupt now behaves the same as the second,
removed that message.
(Bitbake rev: ce9e0946b8a412616074809c76fba54f8bff36c4)
Signed-off-by: Christopher Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This fixes the hang issue encountered with parse errors. The underlying issue
seems to have been the pool.terminate(). This sends SIGTERM to each of the
multiprocessing pool's processes, however, a python process terminating in
this fashion can corrupt any queues it's interacting with, causing a number of
problems for us (e.g. the queue that sends events to the UI).
So instead of using multiprocessing's pool, we roll our own, with the ability
to cancel the work. In the very long term, the python concurrent.futures
module introduced in python 3.2 could be used to resolve this as well.
(Bitbake rev: 7c39cfd8e060cca8753ac4114775447b18e13067)
Signed-off-by: Christopher Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Without it, we get random hangs on parse failure. With it, some folks have
seen hangs even on successful cases. The former is clearly less problematic.
This is temporary, until I can finish investigating the root causes of both
issues.
(Bitbake rev: db689a99beffea1a285cdfc74a58fe73f1666987)
Signed-off-by: Christopher Larson <kergoth@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This ought to have been added earlier. (I consulted with Chris Larson on
the notice covering his work.)
(Bitbake rev: 69ed02b645bdc28c1bf24e436beeed37d226b56b)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
With the addition of new cache domains, the summary, license and section
information is no longer requred in the core cache since its only used by
the hob UI. This patch removes the duplicated entries.
It also adds the DESCRIPTION field to the cache for the benefit of hob2.
(Bitbake rev: 33ffb2e99825cb643b148b3462c2d4cf33ff5f58)
Signed-off-by: Shane Wang <shane.wang@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
To quote my report of this to the git mailing list:
"""
I have a problem with git clone commands using alternates failing by
mixing up different repositories. I have a situation where I could end
up with both:
/srv/mirrors/repo
/srv/mirrors/repo.git
as bare clones.
I then try cloning "repo" with alternates with the command:
$ git clone -s -n /srv/mirrors/repo /tmp/foo
Cloning into /tmp/foo...
done.
$ cat /tmp/foo/.git/objects/info/alternates
/srv/mirrors/repo.git/objects
Note how I'm now referencing repo.git, not repo. This doesn't work as
expected giving some very bizarre results when actually using the
repository.
I appreciate this is a rather bizarre corner case but its one that is
breaking the build system I work with. Ideally people would use a
consistent URL for the same repository but we have an example where they
haven't and this really shouldn't break like this.
Looking at the code, the cause seems to be
clone.c:get_repo_path():
static char *suffix[] = { "/.git", ".git", "" };
since its looking in order for:
repo/.git (fails)
repo.git (suceeds, incorrect)
repo (never looked at)
I'm not sure what would break if that order were to change, swapping the
last two options.
I can "force" the issue by running:
git clone -s -n /srv/mirrors/repo/ /tmp/foo
but this results in the slightly odd looking:
$ cat /tmp/foo/.git/objects/info/alternates
/srv/mirrors/repo//objects
which does at least work.
"""
This patch adds the trailing slash to ensure the correct repository is
referenced at the expense of some ugliness in the alternates file.
(Bitbake rev: d978e7b35550e3785c7c567ffe4c40a3c3947450)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
[YOCTO #1942]
Ping the PRService only if PRSERV_HOST and PRSERV_PORT are set.
(Bitbake rev: 20f24de0bdafac21f5d8a58701f977efa7041288)
Signed-off-by: Lianhao Lu <lianhao.lu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Classes (.bbclass files) can be overlayed in a layer although they are
currently located by BitBake in a different way (via BBPATH instead of
using layer priority) and thus it is useful to be able to see when this
is in effect and which layer's class is actually being used.
(Bitbake rev: f6493e4bad005a82580380d800ebf4c438292f5b)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Add a show-recipes subcommand which lists all available recipes, with
the layer they are provided by. You can optionally filter the output by
recipe name (PN).
(This is a generalised version of the show-overlayed subcommand.)
(Bitbake rev: 05e86ba966f5a26721891c82b21afa48768a67cc)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Make the following improvements to the show-overlayed subcommand:
* Show recipes that are overlayed when the version is higher or lower,
not just when it is the same. This gives a much better picture of the
influence each layer is having over the metadata used for building.
This can be disabled with the -s option if you just want to see
recipes with the same version as before.
* Default to showing name (PN), layer and version rather than the full
path and filename. The old style formatting can be used by specifying
the -f option.
* Mark skipped recipes as such in the output, and print them in the
correct sorted place in the list rather than at the end
* Prefix/suffix title line with === so it can be filtered out easily in
shell scripts if desired
(Bitbake rev: 43b473275d3cb2e60a14e4a52cdc4654b3f4e5e7)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
It turns out that using the collection name as specified within
layer.conf (i.e. what gets added to BBFILE_COLLECTIONS) as a name to
refer to the layer is not particularly useful, since layer creators
aren't necessarily setting these to a meaningful value - e.g. OE-Core
uses "normal", meta-oe uses "openembedded-layer", etc. In any case,
BitBake uses the directory name in its list of configured layers in the
system information presented upon starting a build, so let's just do the
same here and avoid confusion.
Also rename the get_append_layer function to get_file_layer since it is
in no way specific to bbappends.
(Bitbake rev: 35d2c1c618826e961dbf4b9889b829f469346d74)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Rather than the slightly awkward underscores, use dashes in subcommands
e.g. show-layers instead of show_layers. (The old underscored forms
continue to be accepted however.)
(Bitbake rev: 6d311ddc1be04ae5bd0a1ebee94b44968e8a3f27)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This is being added to resolve setscene race issues where we do have
particular dependencies required between setscene tasks. This allows
specific dependencies to be specified. This allows us to fix the races
in sstate with the useradd class in OE-Core.
Any tasks being depended upon have their reverse dependencies cleared to
ensure we don't have circular references.
(Bitbake rev: e1b157d26374a70e6274edcb4c0b9f3bc48f765c)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
When constructing the setscene inter-dependencies, we need to account for all task,
not just the last one found. This patch corrects this oversight and ensures all
dependencies are added, not just the first one found.
(Bitbake rev: b9b5b5129d066e1ff7d3effda116afc3c6657beb)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* this is used in all other bitbake parts where sqlite3 is used, don't
know why it wasn't used here, but it fails e.g. on Gentoo
Traceback (most recent call last):
File "bin/bitbake", line 39, in <module>
from bb import cooker
File "lib/bb/cooker.py", line 39, in <module>
import prserv.serv
File "lib/prserv/serv.py", line 4, in <module>
import xmlrpclib,sqlite3
ImportError: No module named sqlite3
(Bitbake rev: 9a57ec705cf5c932d8c2a35852db7a4627c57937)
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This means that custom signature handlers can override specific parts
of the code without having to reimplement whole functions allowing them
more flexibility.
(Bitbake rev: 164195c068a656733cfe7aa07369c5ed6ea62ca5)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
By calling init_parser which sets up the siggen code after the ConfigParsed
event is fired, we can allow the metadata to add siggen classes which
was always what the code intended.
(Bitbake rev: 69fd5ad4a8402fab5eb8348260966b337c5648ff)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
A lot of our checks in the fetcher code assume that if the downloaded
file exists, the download finished successfully; this meant that if
BitBake was interrupted in the middle of a fetch then it would not
resume the fetch the next time, but instead attempt to use the
half-fetched file and usually fail as a result.
Since we're already writing a ".done" stamp file when a fetch completes,
just check for its existence and assume the download didn't complete
successfully if it isn't present.
(Bitbake rev: 721e986624529aedef96dd06c9fe6243f2897b10)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
It's unclear from the history but at some point we stopped logging the
"Tasks Summary" NOTE when tasks failed. Reinstate this for failure, and
also make the count of attempted tasks include the failed task.
(Bitbake rev: e44d5be98fc5d2589cd929ce143638395936b936)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The actual task names are discounted for comparison of dependent tasks, only
the actual hashes are used. This updates the comparison code to account for
this change, attempting heuristic matching for more user friendly output but
falling back to showing the changed hashes directly. This avoids some confusing
output to users where it looked like tasks had changed when they had not and
actually had the same hash but a different taskname.
(Bitbake rev: 7da7dff83ed765c9cde1d7f91ee1b65e49520481)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Bitbake looks for bbclass now, not oeclass. Update the docs accordingly.
(Bitbake rev: 8b713708541f85a4252c0f7b683aff4407c7d3e0)
Signed-off-by: Darren Hart <dvhart@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This avoids some silent parser hangs we were seeing which were
near impossible to debug as no user feedback was given.
[RP: Tweak commit message]
(Bitbake rev: d104f29871c04a5a36600a35b2568b49e5b21ca0)
Signed-off-by: Christopher Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
[YOCTO #1761]
Reconnect to the backend Sqlite DB in 'database is locked' exception so
the timeout can be leveraged in each time retry.
(Bitbake rev: b310382764367b573c84f33d847c6eb821266f9e)
Signed-off-by: Lianhao Lu <lianhao.lu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Remove the error logged within cooker summarising the list of failed
tasks, and instead print this in the UI (knotty) where it belongs. This
also adds the actual name of the task that failed as well as the
corresponding recipe file that was being shown previously.
In addition, reformat the summary messages more tidily - no extra breaks
between lines and use correct English singular/plurals, with some
allowance for future translation.
(Bitbake rev: cdf69913f99d28bc7f51067a60257701f952c6cb)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Improves error output for matching problems when the -b / --buildfile
command line option is used.
Rename MultipleMatches exception to NoSpecificMatch (as it is also
raised when there are no matching recipes) and make it inherit from
BBHandledException so that it doesn't print a stack trace (we always log
an ERROR prior to raising it.)
In addition, improve the formatting of the error message - only call the
log function once rather than once for every match, and use a more
appropriate message if there are no matches.
Fixes [YOCTO #1141]
(Bitbake rev: 803550a5098ec878164245e71344c3d687310b72)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Make the warning for the initial fetch failure a single line - we don't
need the full command and output here yet, but write it into the log in
full as a debug message. However, if fetching from mirrors fails as well
then print out the full details for the first error that occurred as an
ERROR rather than a WARNING.
Since this is logged as an ERROR, combined with an earlier patch it
suppresses the full log which does make the output much more readable
for any fetch error.
Fixes [YOCTO #1832].
(Bitbake rev: 6bbdc7d259c0cc041b62dbdb26cfc3ec6edcb6f3)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
If a task has logged an ERROR then don't print the contents of the
task's log file in knotty (the default terminal UI).
As a side-effect we now also respect BBINCLUDELOGS in knotty; if it is
false we never print the log (but the pointer to the log file is always
printed).
(Bitbake rev: b9746b7e4d7aa5c34eba15a61427bfc6949af123)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The termination signal and exit code of the fetch process were not being
decoded correctly, resulting in bitbake reporting that the process
terminated with a signal of the exit code (if it was under 255). There
are functions in the Python os module to do this decoding correctly (for
Unix at least), so let's use them.
(Bitbake rev: 50aea9a76e40cf71cc3f1462c88298e4846a031c)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Seeing the word "failed" alone without reading the whole context has
occasionally triggered an automatic assumption on the part of some users
(myself included) that something has gone wrong, even when this message
is telling you that "0 [tasks] failed". To avoid this let's just say
"all succeeded" in this case instead.
As a bonus this means you can now search the output for "fail" and not
find anything if all went well.
(Bitbake rev: b6f067af12d4661758a78788f1db472684b9aba8)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* The "name" argument to FuncFailed is rarely used as a name in actual
usage within bitbake, so don't treat it as one in the output.
* Don't print URL for FetchError if it was not specified (i.e. don't
output "Fetcher failure for URL 'None'")
* Don't include URL in "unable to fetch from any source" message since
we supply it to FetchError and it will be printed anyway.
* Don't include URL in "checksum failed" message for the same reason
(Bitbake rev: 86811bd85e2e453ee92a05fe60160d9b49ac69e8)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The count of warnings being shown in the summary at the end was also
including the number of errors.
(Bitbake rev: d242d6ca81dd83b2b13a3ac77ac4cd829a69cf83)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
[YOCTO #1126]
A local PR service will be started and stopped automatically along
with the bitbake invocation/ternimation.
This local PR service will be started only and if only when the
PRSERV_HOST is set to 'localhost' and PRSERV_PORT is set to '0'.
When started, the sqlite3 database is stored at
"${PERSISTEN_DIR}/prserv.sqlite3" or "${CACHE}/prserv.sqlite3".
(Bitbake rev: 9d8f45407c67ed0d3c4f820cf646de3c385067c7)
Signed-off-by: Lianhao Lu <lianhao.lu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
[YOCTO #1556]
1. Added the package_arch into the index to the DB table. Because the
change in PACKAGE_ARCH will results in different checksum, and it is
better to have seperate PR value domains for differnt PACKAGE_ARCH of
the same pakcage.
2. Changed the PR service to operate in no history mode. In this mode,
the for a given query tuple (version, pkgarch, checksum), the returned
value will be the largest among all the values of the same (version,
pkgarch). This means the PR value returned can NOT be decremented.
3. Added export function. For each (version, pkgarch) tuple, only the
record with the maximum value will be exported.
4. Added import function. The record will only be imported if the
imported value is larger than the value stored in the DB with the same
(version, pkgarch, checksum) tuple.
(Bitbake rev: 379567ee879dcdc09a51f7f1212bde1076147a6f)
Signed-off-by: Lianhao Lu <lianhao.lu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
We have a problem knowing when to show the user debug information and
when not to since the code has already shown the user suitable information
about why a failure is occurring.
This patch adds a bb.BBHandledException exception class which can be used
to identify those exceptions which don't need further explanation to
the user.
This patch uses this class for the bb.providers exceptions and ensures the
command handling code correctly filters the exceptions meaning that
"bitbake invalid"
now shows an simple error message and not a python traceback.
[YOCTO #1141 partial]
(Bitbake rev: eac9249b40ae1e3aa21e016010c862664e59a8d4)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Show a summary count of warning/errors messages shown to the user during the
build and make it clear when an error exit code is being set.
[YOCTO #1540]
(Bitbake rev: 9943bad611a974e4d37a00c7a4de1752250370c5)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
It's recommended practice to close files when finished with them and the
code in this function was not doing this.
(Bitbake rev: 470a160813ce6cf04f83258d46ded5c2ab8bc520)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
If you flatten layers that have different directory structures you may
not end up with a usable layer in the output directory - some files
won't be picked up by BitBake.
To try to avoid this problem, once flattening has completed, get the
BBFILES entries that correspond to the layer from which the output
layer's conf/layer.conf came from, and check through all of the
.bb/.bbappend files in the output directory to see if any will not be
referred to by BBFILES in the output layer. If any are found, show a
warning to the user.
(Bitbake rev: 8e4dc97614f2022855143b49d18795ca0352b237)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
You can now optionally specify two or more layers to flatten into the
output, rather than flattening all of the layers in the current
configuration (but this is still the default behaviour if no layers are
specified). Note that this means the output layer may still contain
bbappends where the corresponding recipes are not present in the list of
layers to flatten. There is also a caveat when a layer not being
flattened would be "inbetween" the flattened layers (see the command
help for details.)
Implements feature request in [YOCTO #1564].
(Bitbake rev: 379b12107ec921b4458eda320078374a509164c1)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The parseConfigurationFiles API calls the related function in
cooker.py to parse config files.
(Bitbake rev: 96c307b9874131ad8c7d9caea6f6dfbd09aab9d4)
Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Create a new option "--server-only" for bitbake command, which allows
bitbake runs as a server, and let frontend connect the server itself.
"--server-only" should work with "-t xmlrpc", or bitbake will exit.
bitbake --server-only -t xmlrpc will print out the server address and
port information.
(Bitbake rev: 2677254cf9792cee083605267570d93b425cc2db)
Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
There is no direct use of command in cooker.py, and it is using
bb.command instead. Remove command in the import list.
This fixes a problem of embedded import between command.py and
cooker.py.
(Bitbake rev: c353316b2efcc7a893d6b4aa9a9647d51a6f69e3)
Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
There is no direct use of command in cooker.py, and it is using
bb.command instead. Remove command in the import list.
This fixes a problem of embedded import between command.py and
cooker.py.
(Bitbake rev: 92fec2788e33d301cc63848901bc6adc764a2ecf)
Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Pass host and port to BitbakeServerInfo class instead of the "server"
instance. With this change, GUI can connect with server individually
by host address and port.
(Bitbake rev: 5124351d6c287185723c98e6e4400c5402a5c8a8)
Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
initCooker is to set the cooker to the initial state with nothing
parsed.
(Bitbake rev: 8ee9c6cc47938604268242d90bd3007218f9a36e)
Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
For buildTargets function, we use bb.configuration.data as parameter
to inject events, since in hob environment, some variables are
modified dynamically and bb.configuration.event_data may out of date.
(Bitbake rev: 487a124942fd5cd9de71413b79a4049a6d26f1e8)
Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
for findConfigFiels() and findFilesMatchingInDir() functions, they
don't need to parse all the bb files, thus setting the needcache
value to be False.
(Bitbake rev: 3ef73dee8b08ccfd15a4901cce315a99b22e71d7)
Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
When debugging setscene problems it was found that some extra debug messages were useful.
This patch adds them.
(Bitbake rev: cff2c258b77fde01d530a5923e553e6111b15eb5)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Local cloning of git repositories from DL_DIR into WORKDIR fails when
using ssh URL with port specification e.g.
"ssh://user@host:port/path/to/repo.git". Git fetcher clones such remote
repository into "${DL_DIR}/git2/host:port.path.to.repo.git". However,
when clonging from ${DL_DIR}/git2/host:port.path.to.repo.git into
${WORKDIR}, git fetcher fails with "ssh: Could not resolve hostname
${DLDIR}/git2/host: Name or service not known".
A solution is to replace ":" by "." in host component, similarly as it
is done when replacing "/" with "." in path component, so that local
clone directory in DL_DIR looks like this: "host.port.path.to.repo.git".
(Bitbake rev: 1f2867b79f1cd2bfbdc849ba5677a39db6fa3396)
Signed-off-by: Juraj Hercek <juraj.hercek@jhksoftware.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
If "bitbake-layers show_layers" was run when the cache was dirty forcing
a parse, it failed with the following error:
ERROR: Failure expanding variable SRCPV, expression was
${@bb.fetch2.get_srcrev(d)} which triggered exception AttributeError:
'module' object has no attribute 'fetch2'
A simple import of bb.fetch2 in bitbake-layers fixes this.
Fixes [YOCTO #1855].
(Bitbake rev: a228f0a32c2c14d62effbbba5f4fada4cd3817f6)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
As reported on the mailing list[1] when changing IMAGE_FSTYPES through the
hob preferences a reparse is required before the changes will be picked up
by the system. This patch sets the reload_required property of the class to
true when the image types have been modified to ensure the reparse is
triggered.
1. https://lists.yoctoproject.org/pipermail/yocto/2011-December/006002.html
(Bitbake rev: 6c0babf08909307ab69a66ed06e77e8818b2a8c5)
Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The knotty UI just ignores these and so should RunningBuild, if these events
aren't handled the UI appears to hang.
Fixes [YOCTO #1665]
(Bitbake rev: 540ba78075bd525776aa23bf38bee66350c66534)
Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Some BB_HASHBASE_WHITELIST variables are in the lists of variable
dependencies for signatures. Ignore those differences in lists
since this difference does not matter
(Bitbake rev: 71b53a3f0766ca464560a1f6a449f9424fbdf7ae)
Signed-off-by: Matthew McClintock <msm@freescale.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
In bitbake/lib/bb/command.py::Command::__init__, we have the following
lines:
for attr in CommandsSync.__dict__:
command = attr[:].lower()
method = getattr(CommandsSync, attr)
sync_cmds[command] = (method)
for attr in CommandsAsync.__dict__:
command = attr[:].lower()
method = getattr(CommandsAsync, attr)
async_cmds[command] = (method)
The sync_cmds and async_cmds are defined as global dictionaries, but it
seems that we've never used them (I did a "grep -r async_cmds bitbake/",
, there is no result except the ones that I have removed), and I can't
find the history of it from "git log -p", I guess that they have been
replaced by the self.cmds_sync and self.cmds_async.
[YOCTO #1791]
(Bitbake rev: 24e99460800856035bb54a84c7aa33b3517436e9)
Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
BB_STRICT_CHECKSUM caused a backtrace as the FetchError parameters are
incorrectly specified such that FetchError is being passed 8 params
when it's expecting 3. This fixes the parameters so we're passing a
formatted string and the url.
(Bitbake rev: b8b2f4287c9125542b18a294c0a94ed89a7e73a8)
Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The assignments of self.configuration.cmd in BBCooker seems duplicated,
have the followings in both BBCooker::__init__ and
BBCooker::loadConfigurationData:
if not self.configuration.cmd:
self.configuration.cmd = self.configuration.data.getVar("BB_DEFAULT_TASK", True) or "build"
The __init__ invokes the loadConfigurationData, and it would make sure
that self.configuration.cmd has been assigned a proper value, so we can
remove the one in __init__.
[YOCTO #1791]
Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Using bitbake -e -b virtual:xxxx:/path/to/the.bb would result in
zero matches since the virtual:xxxx piece wasn't being processed.
This adds in the necessary functionality to handle it correctly.
[YOCTO #1793]
(Bitbake rev: bd5a727c8447bcb747c1d2463b7de2ab6d21a7de)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
There is a subtle but nasty problem that a function's cwd can vary
depending on whether ${B} (often ${S}) exists before the funciton is
called or not. Most functions in the system can cope with this but
its bad practise and I've just witnessed build failures resulting
from this during image generation from bootimg.bbclass. I also
suspect this could explain some odd fetcher behaviour witnessed in
the past.
This change ensures we always call funcitons with a specific build
directory making things deterministic.
(Bitbake rev: ef0888f83fa4408eb768257d7e03700202faad18)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This allows the code to safely fall back to dumping the basehash data
if the taskhash data isn't present for some reason. We could effecitvely
obsolete the runtime option and use this approach instead exclusively.
(Bitbake rev: 5ace320ccc01f4e326f90b7ba060dcbff3380dca)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Since bitbake switched back to the fork instead of the exec model,
it no longer used bitbake-runtask and the code has suffered some bitrot.
bitbake-runtask is a useful tool for excuting the task without
the scheduler of bitbake, so that the external tool can invoke it
easily. It also provides a useful example of how to invoke exec_task()
with low overhead without a lot of the bitbake threading/UI overhead.
Significant changes:
* This patch changes the argument order so that the commonly used
and mandatory arguments come first.
* The taskhash file and dryrun options are now optional
* It now uses the bitbake logging mechanisms to provide processed
logging output to the console.
* The process handling to do with stdout/stderr redirection
are removed since they're no longer required.
[YOCTO #1229]
RP: Logging updates to the patch based on Roberts original patch
Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
USER is the correct variable to use, also this can affect sstate
cache as well.
(Bitbake rev: d7f9edda65dae2e046871afa275c5a51dff48fc4)
Signed-off-by: Matthew McClintock <msm@freescale.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
We have a problem if we want to inject specific information into the variable
dependency code. There are cases for example where we want a dependency
on the value of X but it doesn't matter how X was constructed or what
dependencies it might have had, we only care about the absolute value.
With the current code, its near enough impossible to do this.
This patch adds such a mechanism so the user can trigger this with code like:
baselib[vardepvalue] = "${baselib}"
It also refactors some of the code so we do variable lookups once
instead of doing this in two different functions.
[YOCTO #1583]
(Bitbake rev: 6c879b44ccf42dc73fe4467076e114700d7ba81b)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Currently if you specify a mirror like:
file://.* http://linux.freescale.net/yocto/sstate-cache
it won't work as you expect whilst:
file://.* http://linux.freescale.net/yocto/sstate-cache/
will since it has the trailing slash.
This patch handles both cases correctly. It also adds some debug to
the uri_replace function since its near impossible to debug it without
some kind of output.
[YOCTO #1578]
(Bitbake rev: a0246bf09c93bb657eaf6ba61d090b247ed33640)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The BB_CONSOLELOG variable is used to specify the console log file
to use. This means people can look up things that happened during a
build by may have scrolled off the screen.
[YOCTO #1771]
(Bitbake rev: a34ff490a46577a64345365fa1ac39c48d0861cd)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Defaulting to any file in DL_DIR as the first match for a file:// url
doesn't make much sense and can lead to unexpected results.
This patch changes the logic so this is the last fallback location
instead. Whether it should be using DL_DIR at all for this is a
good question but something for another patch.
[YOCTO #1710]
(Bitbake rev: 5597a68fac0954c682b67471722c2643e2415f99)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Without this patch the tash hash dependencies can be in a order
that is dependent upon directory/filesystem layout. With this
change the data is sorted the same regardless.
Without this the dependent hashes could be in different orders
on different systems and consequently final md5 hash would differ
as well even though nothing else changed.
(Bitbake rev: 9a2029899c946ce9aa8adbc85f2cfe7a85b92182)
Signed-off-by: Matthew McClintock <msm@freescale.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This is useful for really longs lists to pinpoint what has
actually changed
(Bitbake rev: f1eb6d3dcc10c42bb09383a87bde3afa69bc6ed9)
Signed-off-by: Matthew McClintock <msm@freescale.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The existing looping code can mask an existing "found = True"
by forcing it to False each time. This can lead to dependency
lists not being fully searched and results in dependency errors.
An exmaple of this was the autobuilder building linux-yocto from
sstate but then rebuilding some of the recipe's tasks for no
apparent reason. Separating the logic into two variables solves this
problem since any "found = True" value is now always preserved.
(Bitbake rev: 61017fc5d30b7a13308d038872ec92efc1a84cef)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
If A depends upon B which depends upon C and the setscene for B
succeeds but C is going to get rebuilt, we should wait for C to
try and build A but currently we don't.
This is due to the timing of when we run the task_skip() as this
triggers other tasks to become buildable. This patch moves the timing
of that call to a more appropriate place allowing dependencies to
behave as expected.
(Bitbake rev: b7114d8e5d9b0720339bd5d24d243c0f2a7c1f3b)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The OE metadata has cases where it needs to prevent some setscene
functions from running. An example of this is where we know a task
is going to run do_configure (which would clean out do_populate_sysroot)
and hence we don't want do_populate_sysroot_setscene to run.
This change adds in a hook so that the metadata can allow any
such policy decision to filter back up to bitbake.
It removes the existing code which attempted to do this in a generic
way but failed.
(Bitbake rev: 2f6d987d9957a5d713ce119c24c2e87540611f53)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Its possible for relative paths to creep into FILE. These confuse the
build system no end as its not clear where they might be releative to.
This patch ensures we always use resolved absolute paths for FILE
so that things behave in a deterministic way.
(Bitbake rev: 658d7daa70e46c2b20973b90ee53f0bbadc8bf5d)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>