summaryrefslogtreecommitdiff
path: root/bitbake/lib
Commit message (Collapse)AuthorAgeFilesLines
* bitbake: Overhaul environment handlingRichard Purdie2010-12-094-17/+45
| | | | | | | | | | | | | | Currently, anything whitelisted in the environment makes it into the worker processes. This is undesireable and the worker environment should be as clean as possible. This patch adapts bitbake sosme variables are loaded into bitbake's datastore but not exported by default. Any variable can be exported by setting its export flag. Currently, this code only finalises the environment in he worker as doing so in the server means variables are unavailable in the worker. If we switch back to fork() calls instead of exec() this code will need revisting. Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
* bitbake/cooker: fix idle command processing in serversJoshua Lock2010-12-091-1/+1
| | | | | | | | | | | | | idle command processing in each of the servers does not handle an explicit None return value, which means the goggle UI ends up repeatedly adding "Tasks Summary:" rows to the list. This patch modifies BBCooker.buildTargets.buildTargetsIdle to return False when BuildCompleted is fired, as is done in BBCooker.buildFile.buildFileIdle. It may be that the correct way to fix this is to change the idle command processing in the servers. Signed-off-by: Joshua Lock <josh@linux.intel.com>
* bitbake/goggle: add a ProgressBar for parse progressJoshua Lock2010-12-071-3/+6
| | | | | | | | | Construct a ProgressBar and pass it to the RunningBuild.handle_event() so that goggle users are notified of metadata parsing progress. UI's with status make users less nervous Signed-off-by: Joshua Lock <josh@linux.intel.com>
* bitbake/goggle: automatically show most recently added messageJoshua Lock2010-12-071-0/+4
| | | | | | | | It seems likely that the user would want to view the most recently emitted messages so this patch sets the message dislay treeview to scroll to any newly added rows. Signed-off-by: Joshua Lock <josh@linux.intel.com>
* bitbake/xmlrpc: Modify xmlrpc server to work with Python 2.7Joshua Lock2010-12-071-2/+66
| | | | | | | | | | | | | | | | | Python 2.7's library changes some of xmlrpclib's internal implementation such that interacting with a proxy to BitBakes SimpleXMLRPCServer would cause BitBake to crash. The issue was traced to changes in the xmlrpclib.Transport implementation and Python bug #8194 (http://bugs.python.org/issue8194). This patch introduces a workaround by create a subclass of xmlrpclib.Transport, which overrides the offending methods with the Python 2.6.6 implementation copy and pasted from the Python 2.6.6 xmlrpclib, and using this BBTransport implementation for both xmlrpclib.Server objects we create. Signed-off-by: Joshua Lock <josh@linux.intel.com>
* bitbake/crumbs: add optional pbar parameter to RunningBuild.handle_event()Joshua Lock2010-12-071-1/+9
| | | | | | | Defaults to None, but if set will pass the ParseProgress sofar and total to pbar's update() method. Signed-off-by: Joshua Lock <josh@linux.intel.com>
* bitbake/depexp: Factor ProgressBar into a separate class in crumbs/Joshua Lock2010-12-072-15/+21
| | | | | | | | | ProgressBar will be useful in other UI elements so make it it's own class. Make ProgressBar a subclass of gtk.Dialog, rather than gtk.Window, so that we can suggest the window manager parent the ProgressBar to the widget passed at as parent. Signed-off-by: Joshua Lock <josh@linux.intel.com>
* bitbake/goggle: interaction tweaksJoshua Lock2010-12-071-0/+2
| | | | | | | Set the goggle window to a more sane default size (640x480) and hook up the close button. Signed-off-by: Joshua Lock <josh@linux.intel.com>
* bitbake/crumbs: fix the event name determinationJoshua Lock2010-12-071-1/+1
| | | | | | | | Due to some recent change *somewhere* we need to explicitly look at the name attribute on the instances class, rather than the name attribute of the instance. Signed-off-by: Joshua Lock <josh@linux.intel.com>
* bitbake/crumbs: do the test for ignored messages soonerJoshua Lock2010-12-071-4/+3
| | | | | | | Move the test for ignored messages to the start of the message handling loop to avoid doing work for messages which are only going to be ignored. Signed-off-by: Joshua Lock <josh@linux.intel.com>
* bitbake/crumbs: Fix crumbs UI for bitbake event class name changesJoshua Lock2010-12-071-3/+4
| | | | | | | Some of the events we where trying to look for have had their class names changed, fix these references. Signed-off-by: Joshua Lock <josh@linux.intel.com>
* siggen.py: fix the wrong usage on BB_TASKHASH_WHITELISTKevin Tian2010-12-071-4/+8
| | | | | | | | | | BB_TASKHASH_WHITELIST is expected to filter out native tasks from the dependency list for target recipe's checksum. However current code actually implements the opposite. All native sstate packages end up to have empty task dependency while target sstate packages still have native tasks counted into the checksum. Signed-off-by: Kevin Tian <kevin.tian@intel.com>
* bitbake/data_smart: Refactor _append/_prepend code to remove duplicationRichard Purdie2010-12-071-36/+23
| | | | Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
* bitbake/data_smart: Fix append/prepend/override ordering issueRichard Purdie2010-12-071-8/+16
| | | | | | | | | | | | | | | | | | | | | | | | | Where a variable name consisted of an append/prepend combined with an override and there was also an append/prepend to the variable, the override could be lost if the override was not in OVERRIDES. For example: FOO = "A" FOO_append = "B" FOO_append_virtclass-native = "C" could result in "AB" even though virtclass-native was in OVERRIDES. With this patch applied, the result is "ABC" as would be expected. The problem was the deletion of the _append/_prepend flag was happening if *any* append/prepend was procesed, the result should really be that it should contain any unprocessed append/prepend. Kevin Tian deserves credit for looking into this and working out the problem here. Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
* siggen.py: set 'runtaskdeps' correctlyKevin Tian2010-12-061-6/+2
| | | | | | | | Now 'runtaskdeps' is assigned before taskhash whitelist is filtered out, and thus always contains original task dependencies. This causes problem to diagnose sstate related problem. So fix it by appending filtered dep to 'runtaskdeps' in the fly. Signed-off-by: Kevin Tian <kevin.tian@intel.com>
* bitbake/utils.py: Improve traceback to be more helpful/clear to usersRichard Purdie2010-12-051-7/+23
| | | | Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
* bitbake/utils.py: Ensure the last lines of functions are printed in tracebacksRichard Purdie2010-12-051-2/+5
| | | | Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
* bitbake/runqueue: Teach scenequeue about noexec tasks (since they don't do ↵Richard Purdie2010-11-281-2/+9
| | | | | | anything we can assume they're always successful Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
* bitbake: Simplfy pre and post cooker hooksRichard Purdie2010-11-283-16/+9
| | | | Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
* bitbake/runqueue.py: Fix stamp handling for noexec tasksRichard Purdie2010-11-281-1/+1
| | | | | | | This means the noexec messages are only shown once as the stamp files are now correctly created. Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
* siggen.py: fix comparison around runtaskdepsKevin Tian2010-11-151-2/+2
| | | | | | | | | two dep lists should be sorted before the comparison, or else it just causes false-positive confusion. Also fix 'taskdeps' to 'runtaskdeps' when printing out the difference. Signed-off-by: Kevin Tian <kevin.tian@intel.com>
* bitbake: Rewrite profiling code so its functional for both none and xmlrpc ↵Richard Purdie2010-11-133-37/+71
| | | | | | backends Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
* bitbake/fetch: Allow checking of a single url at a time (massive sstate ↵Richard Purdie2010-11-131-2/+5
| | | | | | speed improvement) Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
* bitbake/fetch: Fix handling of mirrors when checking for url validityRichard Purdie2010-11-131-2/+4
| | | | Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
* Revert "bitbake/fetch/local: Also check DL_DIR for files since they could ↵Richard Purdie2010-11-131-4/+0
| | | | | | | | already exists there" These changes were incorrect. This reverts commit ae98f7eacb9e61fe086d88dc694b4c651af9fee3.
* Revert "bitbake/fetch/local: Fix os.exists reference"Richard Purdie2010-11-131-1/+1
| | | | | | These changes were incorrect. This reverts commit f8e33979352528bb7c289e7c839605a5880e1e43.
* bitbake/fetch/local: Fix os.exists referenceRichard Purdie2010-11-131-1/+1
| | | | Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
* bitbake/fetch/local: Also check DL_DIR for files since they could already ↵Richard Purdie2010-11-131-0/+4
| | | | | | | | exists there [BUGID #533] Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
* bitbake.runqueue.py: Fix no exec task handling to correct counter housekeepingRichard Purdie2010-11-071-2/+4
| | | | Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
* bitbake: Add support for 'noexec' tasksRichard Purdie2010-11-062-0/+13
| | | | Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
* bitbake/siggen: Allow siggen code to control final stampfile formatRichard Purdie2010-11-062-3/+9
| | | | Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
* bitbake/siggen: Provide better warnings about empty tasksRichard Purdie2010-11-021-0/+2
| | | | Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
* bitbake/siggen: Fix finalise call argumentsRichard Purdie2010-11-011-1/+1
| | | | Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
* bitbake/fetch: When fetchers return errors, ensure any partial download is ↵Richard Purdie2010-10-231-0/+9
| | | | | | cleared Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
* bitbake/fetch: Make URL checking slightly less verbose (distracting with the ↵Richard Purdie2010-10-221-1/+1
| | | | | | sstate code) Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
* pseudo/fakeroot: Move the pseudo directory creation into bitbakeRichard Purdie2010-10-221-0/+4
| | | | | | | | | | | | | | If sstate was used to accelerate a build, the pseudo directory might not have been created leading to subsequent task failures. Also, sstate packages were not being installed under pseudo context meaning file permissions could have been lost. Fix these problems by creating a FAKEROOTDIRS variable which bitbake ensures exists before running tasks and running the appropriate setscene tasks under fakeroot context. Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
* bitbake/fetch/git: Ensure fullclone repositories are fully fetchedRichard Purdie2010-10-191-1/+4
| | | | | | | | | | | The git fetcher was failing to pull in new branches into a git repository mirror tarball as the git fetch command being used didn't add new remote branches. This patch uses "git fetch --all" for fullclones to ensure any new remote branches are cloned correctly. Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
* bitbake/fetcher: Deal with a ton of different bugsRichard Purdie2010-10-192-36/+38
| | | | | | | | | | | | | | | | | | | | | | The more we try and patch up the fetcher code, the more things break. The code blocks in question are practically unreadable and are full of corner cases where fetching could fail. In summary the issues noticed included: a) Always fetching strange broken urls from the premirror for "noclone" git repositories b) Not creating or rewriting .md5 stamp files inconsistently c) Always fetching git source mirror tarballs from the premirror even if they already exist but the checkout directory does now d) Passing "None" values to os.access() and os.path.extsts() checks under certain circumstances e) Not using fetched git mirror tarballs if the preexist and always try and fetch them. This patch rewrites the sections of code in question to be simpler and more readable, fixing the above problems and most likely other odd corner cases. Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
* bitbake/fetch/git.py: Fix git fetcher to correctly use mirror tarballsRichard Purdie2010-10-191-1/+5
| | | | Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
* bitbake-runtask: Ensure logging settings take effect in the worker process ↵Richard Purdie2010-10-141-0/+1
| | | | | | (and pass verbose setting) Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
* bitbake/runqueue: make the runtask program configurableJoshua Lock2010-10-121-1/+2
| | | | Signed-off-by: Joshua Lock <josh@linux.intel.com>
* bitbake/build.py: Write logfiles on a per task basis, not per functionRichard Purdie2010-10-111-71/+78
| | | | | | | | | Per function logging made it hard to track down what was happening so switch to logging on a per task basis. [BUGID #383] Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
* bitbake-runtask: Ensure logging options are inherited from the parentRichard Purdie2010-10-111-0/+3
| | | | | | [BUGID #291] Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
* bitbake/fetch: Ensure SRCREV is still set correctly if the pn-X override has ↵Richard Purdie2010-10-091-0/+2
| | | | | | been expanded Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
* bitbake/runqueue.py: Fix invalid variable reference fixing the -f option ↵Richard Purdie2010-10-071-1/+1
| | | | | | with setscene tasks Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
* bitbake/fetch/__init__.py: Abstract mirror variable handling and enhance to ↵Richard Purdie2010-10-071-5/+8
| | | | | | accept \n delimitation in variables Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
* Export ALL_PROXY for bitbake commandsDarren Hart2010-10-071-1/+4
| | | | | | | | We already export http,ftp,https proxy environment variables. Some environments, GNOME for instance, place the socks proxy in ALL_PROXY and all_proxy. Export it as well. Signed-off-by: Darren Hart <dvhart@linux.intel.com>
* bitbake/sstate: Implement a lookup function to speed up setscene processingRichard Purdie2010-10-052-1/+28
| | | | Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
* bitbake/fetch: if mirror fetching fails, ensure exception is raisedJoshua Lock2010-10-051-1/+3
| | | | | | | | | | | | | | We catch any exception raised by the fetchers go() method and attempt to work around it by trying any (post) mirrors which are configured. However, should the mirrors fail the exception is lost and the fetch is assumed to have completed successfully. Instead, save the exception and if the local file does not exist after trying the mirrors re-raise the exception. Fixes [BUGID #362] Signed-off-by: Joshua Lock <josh@linux.intel.com>
* build.py: Add a symlink for the loggingMark Hatle2010-10-011-0/+17
| | | | | | | | | | | [BUGID #375] When configuring for the log file output, we generate a symlink to the target filename. This link uses the same file naming, but without the active pid, making it easier to see which log file is the last one generated. Signed-off-by: Mark Hatle <mark.hatle@windriver.com>