summaryrefslogtreecommitdiffstats
path: root/bitbake
Commit message (Collapse)AuthorAgeFilesLines
* bitbake: siggen: Print warning about tainted tasksRichard Purdie2014-06-011-0/+1
| | | | | | | | | | The big warning printed when people use -f is easily ignored/forgotten. To raise user awareness, print a warning any time we include a tainted stamp file into a build instead. (Bitbake rev: 18f9bcbad059608e22fca20309314e1c399acec7) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: build/utils: Fix broken exception handlingRichard Purdie2014-06-012-10/+4
| | | | | | | | | | Checking for explicit exception names is bad, we also want to be able top rely on inheritance. Fix these checks to be part of the real except clauses so SkipPackage is recognised as being inherited from SkipRecipe. (Bitbake rev: b131229145e1f2c372d6230a7b554e436c13c3f9) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: bb.fatal: Raise a BBHandledException instead of exitingRichard Purdie2014-06-011-2/+1
| | | | | | | | | | With new bitbake UIs having the cooker exit at 'random' points in the codebase is problematic. This patch raises an exception which matches the situation instead. (Bitbake rev: 181a9735d02ebd517378558e909efc8b1b118973) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: event: Add SkipRecipe event to replace SkipPackageRichard Purdie2014-06-018-11/+14
| | | | | | | | | | | | In the depths of time we were rather confused about naming. bb files are recipes, the event to skip parsing them should be SkipRecipe, not SkipPackage. This changes bitbake to use the better name but leaves the other around for now. We can therefore start removing references to it from the metadata. (Bitbake rev: 98d9e6e0f514a7cb7da1d99bf4bd5602b89426d6) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: event.py: Allow passthrough of BBHandledException eventsRichard Purdie2014-06-011-1/+1
| | | | | | | | | | We need BBHandledException events to be passed through to the higher layers, they don't need addition of any traceback since they've already been reported to the user. (Bitbake rev: f63b61f8997862439519f474cc09f3e05e95288c) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: cookerdata: Improve error handlingRichard Purdie2014-06-011-2/+5
| | | | | | | | | | | | | If we see errors during parsing, firstly its bad to show a traceback for an expansion error so lets suppress this. Secondly, raise a BBHandledException instead of a SystemExit to show we've informed the user about the condition (printing a traceback in the default unknown case). (Bitbake rev: e01988d9a1b7c40e31161c6ce7b85c4405671068) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: event: Fix event handlers to raise SkipPackageRichard Purdie2014-06-011-4/+1
| | | | | | | | | | | | | | | | | | If an event handler triggers a SkipPackage event, we really want that event to be received and processed by the higher code levels. Currently it was getting caught and ignored which was leading to recipes being present when they clearly shouldn't have been. In general this exception catching looks to be doing the wrong thing. It was introduced in http://git.yoctoproject.org/cgit/cgit.cgi/poky/commit/bitbake/lib/bb/event.py?id=37cb4cc02b2e2b6c338c5943747e0a1ef15176b3 but we likely want exceptions to pass through to the higher layers. This patch therefore removes that code. (Bitbake rev: 79211b3434855942f9fad4a1db69ce7be911327c) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: utils: avoid printing traceback on ExpansionError during parsingPaul Eggleton2014-05-301-0/+2
| | | | | | | | | | | If an ExpansionError occurs during better_exec() we should just raise it instead of printing the traceback, so that recipe errors (such as broken URLs in SRC_URI) are more easily comprehensible. (Bitbake rev: 5b0da8932c318813138c113d2bb20498145dbd42) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: fetch2: improve handling of two classes of URL parameter mistakesPaul Eggleton2014-05-301-4/+10
| | | | | | | | | | | | | | Handle the following situations in a URL (e.g. in SRC_URI): * Trailing semicolon in a URL - this is now ignored. * Parameter specified with no value (no equals sign). This still produces an error, but at least it is MalformedUrl with a proper message rather than "ValueError: need more than 1 value to unpack". (Bitbake rev: bfd13dfbc4c9f1dd8315002271791b1d9e274989) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: Revert "toaster: toaster oe-selftest support"Richard Purdie2014-05-301-411/+0
| | | | | | | | This reverts commit bb5b1d6b139b886e54bfdc0c17f2b556db6a7fde. Applied to incorrect repo. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: fetch2/hg: Fix missing proto param for hg checkout with user and pwVolker Vogelhuber2014-05-281-1/+1
| | | | | | | | | | A fix for the former patch when checking out a repository with username and password using HG (Bitbake rev: 0e7b594ccbceb3149f38776cea204807031ef69f) Signed-off-by: Volker Vogelhuber <v.vogelhuber@digitalendoscopy.de> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: bitbake-layers: show-cross-depends: add support for RRECOMMENDSPaul Eggleton2014-05-281-0/+20
| | | | | | | | | | RRECOMMENDS must be satisfied at build time, and these could cross layer boundaries, so report these if they exist. (Bitbake rev: 5569b3dca61e6d962494ca65c7aad09b2eb2ae63) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: bitbake-layers: show-cross-depends: ignore self-satisfied RDEPENDSPaul Eggleton2014-05-281-0/+3
| | | | | | | | | | | Overlayed recipes caused this to show false positives because the overlaying version appeared to be satisfying the overlayed version's RDEPENDS; but you'd never be building both at the same time. (Bitbake rev: b94318174fe7f92b9a20eabb0bc4055066cb3d51) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: bitbake-layers: show-cross-depends: ignore global inheritsPaul Eggleton2014-05-281-0/+5
| | | | | | | | | | It's not particularly useful to show globally inherited classes here since they do not normally represent a dependency. (Bitbake rev: d16948bb88fcf44d861985838030be7c08697963) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: bitbake-layers: show-cross-depends: add option to ignore a layerPaul Eggleton2014-05-281-20/+24
| | | | | | | | | | | | | | | | By default, show-cross-depends shows dependencies on OE-Core (i.e. "meta") which is not particularly useful. Add an option to allow you to hide those. For example, to hide all dependencies on OE-Core: bitbake-layers show-cross-depends -i meta Multiple layers can be specified by using commas as separators (no spaces). (Bitbake rev: 0e9062e65acbb05c1d9b3a9145eb866c3d562309) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: data_smart: Fix an unusual variable reference bugRichard Purdie2014-05-212-1/+6
| | | | | | | | | | | | | | | | | | | | If you try: Y = "" Y_remove = "X" in OE-Core, bitbake will crash with a KeyError during expansion. The reason is that no expansion of the empty value is attempted but removal from is it and hence no varparse data is present for it in the expand_cache. If the value is empty, there is nothing to remove so the best fix is simply not to check for None but check it has any value. Also add a test for this error so it doesn't get reintroduced. (Bitbake rev: af3ce0fc0280e6642fa35de400f75fdbabf329b1) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toaster: reduce redundant foreign key lookupsDavid Reyna2014-05-212-6/+29
| | | | | | | | | | | | | | | | | | Replace redundant foreign key lookups with "with" to improve all recipes page load time. Do depends pre-lookup in the view class, and use python itertation instead of filter() all to achieve x16 processing speedup. [YOCTO #6137] (Bitbake rev: a68a6dc50c11cc59e7c873414e3e22ac2644dea7) Signed-off-by: David Reyna <David.Reyna@windriver.com> Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com> Conflicts: bitbake/lib/toaster/toastergui/views.py Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toaster: sort columns properly after edit columnsFarrell Wymore2014-05-212-14/+204
| | | | | | | | | | | | If a sorted column is made invisible through the edit columns function, resort the table the its default order. [YOCTO 5919] (Bitbake rev: 64618f7489eb9eb13a97d03cd2d353384f5faa70) Signed-off-by: Farrell Wymore <farrell.wymore@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toaster: toaster oe-selftest supportIonut Chisanovici2014-05-211-0/+411
| | | | | | | | | | | | | | | | | | | | | | | | | | | This patch adds toaster tests using the oe-selftest infrastructure. You need to have builds done - the tests will verify data integrity after the toaster collection phase. Once you have your toaster builds done, to run the automated backend tests via oe-selftest do the followings: 1. Update builddir/conf/bblayers.conf to contain the meta-selftest layer 2. From the builddir run: 'oe-selftest toaster' or if you just want to run a single test: 'oe-selftest toaster.Toaster_DB_Tests.testname' This first part adds the meta/lib/oeqa toaster file. (Bitbake rev: bb5b1d6b139b886e54bfdc0c17f2b556db6a7fde) Signed-off-by: Ionut Chisanovici <ionutx.chisanovici@intel.com> Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: fetch2/gitsm: Documentation improvements for gitsm:// fetcherChris Morgan2014-05-192-3/+23
| | | | | | (Bitbake rev: ef2bf63e56b87e19d1a9059dd2d81a9a1a537254) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: fetch2/perforce: Ensure command has a defaultRichard Purdie2014-05-111-4/+4
| | | | | | | | | | Ensure there is default command available if FETCHCMD_p4 isn't set. Also clean up the getVar references whilst here. (Bitbake rev: d150226d11d5f041f78c8c3ce4abc5465dbc81d8) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: parse: Improve file inheritance loggingRichard Purdie2014-05-112-8/+1
| | | | | | | | | | | | | | | The file inheritance logging has been here since the dawn of time. It duplicates output many times over and logs to debug level 2. When running with the debug option, its understandable the user may want to see the paths of files included in the build. These changes remove pointless/duplicate output and print the include paths clearly at debug level one in a form which users should be able to more easily parse. (Bitbake rev: 633a56987df639295fe9128418da5634050063e5) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: knotty: Fix output printed to the user at debug log levelsRichard Purdie2014-05-111-1/+1
| | | | | | | | | | | | | | | | | | If a user runs with the -v or -D options, its understandable they'd expect to see log output from the workers yet right now a bug in the log handling does not show this. Fix the conditional to ensure such log output is shown on the terminal when it has been requested. Ideally this data should always flow to the logfiles but that is for another patch. This also fixes the code to do what was always intended in the comments, i.e. if the user specifies -D or -v, output is shown from the tasks, otherwise notes are suppressed. (Bitbake rev: 20a3c93d8572969e76563f29bff89400b93ffae7) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: parse/ast: Show append logging at lower log levelRichard Purdie2014-05-111-1/+1
| | | | | | | | | | | | It was reported that bitbake -D made no mention of which append files it was using. bitbake -DD does but it makes sense to increase the log level of this piece of debug information. [YOCTO #6262] (Bitbake rev: 5824bf9c6feea05567d155911f4ab2e371911d34) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: fix cloning of mercurial repository with username and password ↵Volker Vogelhuber2014-05-111-1/+4
| | | | | | | | | specified in url (Bitbake rev: 9a328262e047562a6edf7b2ec7b8a1949e287cbe) Signed-off-by: Volker Vogelhuber <v.vogelhuber@digitalendoscopy.de> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toaster: modify SQL data type constraintsAlexandru DAMIAN2014-05-082-4/+229
| | | | | | | | | | | | | | | | | | | This patch modifies the data type constraints for the SQL fields. The original constraints have been based on guess worked, and they weren't strictly enforced for sqlite. On MySQL, the constraints are strictly enforced, and need to match the real data that we have. After measuring data on sample builds, the new constraints have been validated to work with MySQL, and this patch updates the database schema with the new field types / constraints. (Bitbake rev: aaefbc0b4e7484d6f4854ce49602821a6e4adc4b) Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toaster: fix migration code for MySQLAlexandru DAMIAN2014-05-082-38/+19
| | | | | | | | | | | | | | | | | | | | This is a patch that fixes the 0004, 0005 migrations of the toaster model to get them to properly work with MySQL. These migrations had a conflict around Build.timespent field. The sqlite3 constraits were not enough to detect the conflict, and the migrations worked as expected. MySQL objected to adding the field twice, so I did regenerate the migrations with the correct model listing. The net effect is the same, so the migrations work the same, but now we can use these two migration on the MySQL and other more advanced SQL engines. (Bitbake rev: 29afc29154b948d270ce52978a1eed4cd8887f92) Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toaster: fix span2 headings for packagesDave Lerner2014-05-082-4/+7
| | | | | | | | | | | | | | | | [YOCTO 6147] Fix bug in views.py that put 'span2' class id in a 'clclass' key instead of the 'dclass' key. This fix exposed another problem in target.html and the target view function that used 'package_size' instead of 'size' as the 'clclass' which is inconsistent with the model field name, causing table data columns to be shown when the header is hidden. (Bitbake rev: 436865ac8520c1d75401dde7df373dba9a386c9d) Signed-off-by: Dave Lerner <dave.lerner@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toaster: Make sure layer branch only shows when not emptyBelen Barros Pena2014-05-089-32/+35
| | | | | | | | | | | | | | | | | In the recipe details and package details pages, the layer branch definition list elements should only show when the branch field in the database is populated. If the branch field is empty, we don't show them. The patch also removes all unnecessary data-toggle and data-original-title attributes. [YP #6152] (Bitbake rev: 72adcadb931519f803dad7488544767241561fb7) Signed-off-by: Belen Barros Pena <belen.barros.pena@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toaster: sort outcome and sstate columns by string valueDavid Reyna2014-05-082-1/+20
| | | | | | | | | | | | Sort the 'outcome' and 'sstate_result' columns by their description string values and not their numerical values. [YOCTO #5921] (Bitbake rev: eee0abe70e4d85a0753f0b122518d7a9f06181bc) Signed-off-by: David Reyna <David.Reyna@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: Fix refetch of local files when they are read onlyNick Lewis2014-05-081-2/+2
| | | | | | | (Bitbake rev: 42b7be1a6c5ff559f4a213eed04b370ca955460d) Signed-off-by: Nick Lewis <nick.lewis@usa.g4s.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: data_smart: Ensure all possible overrides are cached including ↵Richard Purdie2014-05-071-1/+6
| | | | | | | | | | | | | | | | | | those with '_' in the name Unfortunately we've been neglecting to pay the correct tributes to the cookie monster and hence the datastore is malfunctioning. Currently tributes are only paid on the last part of a variable after the last "_" character. We need to split by *all* "_" characters since an override may contain the character. This fixes the code so the correct number of tributes are made. Paradoxically parsing appears to be faster after this change. (Bitbake rev: d1c712fd3a59fa804e6fd451612c30487671f3a2) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: prserv/db: Avoid fsync() callsRichard Purdie2014-05-031-0/+1
| | | | | | | | | | If the power were to fail, it doesn't matter to us much if the data makes it to disk or not, we'd have other problems. However an fsync() call on a multi build autobuilder is painful so lets avoid them. (Bitbake rev: 4eb2dc8048e2722d64d589f453df1ce6262c71b8) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: persist_data: Avoid fsync() callsRichard Purdie2014-05-031-1/+3
| | | | | | | | | | | | | If the power were to fail, it doesn't matter to us much if the data makes it to disk or not, we'd have other problems. However an fsync() call on a multi build autobuilder is painful so lets avoid them. This is particularly true in this case if a timeout causes a reconnect during a build. (Bitbake rev: ec28256ac2a30f047585e8f61200d764bc295ded) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: codeparser: Fix to better catch all getVar referencesRichard Purdie2014-05-031-3/+3
| | | | | | | | | | | | Currently if you do localdata.getVar, the code parser simply ignores the references. Change the code to use endswith() to catch more of the references. These names are probably unique enough to get away with this. Bump the cache version to ensure things get updated. (Bitbake rev: cf763cddc3faa2361b4c4dbd08419e4ebabf208f) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: bitbake: Bump version to 1.23.1Richard Purdie2014-05-012-2/+2
| | | | | | (Bitbake rev: c40a4100ddb841d231360344616e59ab98e61fb5) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: bb.utils, bb.codeparser: Add bb.utils.contains_anyOtavio Salvador2014-04-292-1/+14
| | | | | | | | | | | | | | | | | This includes contains_any in the special handling code for sstate. It does not take into account the equivalence of the values. In current code, considering 'bb.utils.contains_any("A", "foo bar", ...)': A = "foo" A = "bar" A = "foo bar" All those will get different signatures. (Bitbake rev: d1e3345d715e488ec3f5515fb0e1fb39366346bc) Signed-off-by: Otavio Salvador <otavio@ossystems.com.br> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: codeparser: don't interact with the cache for subshellsChristopher Larson2014-04-291-9/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Doing so was causing leakage between the execs of the main value and that of the subshell value, and was causing the cached subshell value to be used for the overall variable. At the least this could cause execs contamination between two variables that while differing, run the same subshell. Beyond that, it's possible we could have been using an incomplete cached value of a subshell for that of the main value. Before this, bb_codeparser.dat would change between parses with differing bbfile parse order. After, it does not change. The codeparser cache version is bumped, to ensure we don't use potentially incorrect cached values from previous runs. This should hopefully resolve the difficult-to-reproduce issues we've seen at Mentor Graphics where bitbake emits a script to run a task and misses dependent functions, resulting in 'command not found' failures. This issue has also been mentioned on the oe devel list, where someone hit a case where oe_runmake was missing from a do_install task (IIRC). Adding debug information showed that bitbake's information about the variable dependencies for this task is inaccurate in the failure cases. (Bitbake rev: 97537e4786a1e3a329249497498b59b8f5174fc3) Signed-off-by: Christopher Larson <kergoth@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: fetch2: Cleanup file checksum generation, v2Jacob Kroon2014-04-291-6/+2
| | | | | | | | | | | | | | | | | The initial version of this patch was reverted in 0a94e568152de550dedc8135a766beb18bf064ab However, it was later agreed upon that it was reverted due to a misunderstanding during code review; the patch is ok. This version of the patch also removes an unneeded initialization of the 'checksum' variable outside the scopes it is being used in. (Bitbake rev: 9ee19a3ca2f8e11a91f0289ea3486310c61d40f2) Signed-off-by: Jacob Kroon <jacob.kroon@mikrodidakt.se> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: HG Fetch with username and password in urlVolker Vogelhuber2014-04-291-1/+1
| | | | | | | | | | | | | | | | | | Following up a previous patch for mercurial fetcher, I just fixed a problem when calling update on a repository with subrepositories enabled. Attached a patch that fixes this problem >From caae519a2bd64bf7c729bb26aff344827def47fb Mon Sep 17 00:00:00 2001 From: Volker Vogelhuber <v.vogelhuber@digitalendoscopy.de> Date: Tue, 29 Apr 2014 15:29:47 +0200 Subject: [PATCH] bitbake: - fixed authentication issues in case of using sub repositories (Bitbake rev: dfa041c940caad12da50126a559afc8de089eeda) Signed-off-by: Volker Vogelhuber <v.vogelhuber@digitalendoscopy.de> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: Revert "fetch2: Cleanup file checksum generation"Richard Purdie2014-04-281-2/+5
| | | | | | | | This reverts commit 6dfb33fd7204e09815bde7ba5bf21941a73fe965. It causes an unindeded change in behaviour. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: bitbake-diffsigs: Fix runtime error when no arguments are givenJacob Kroon2014-04-271-2/+2
| | | | | | | | | | | | | | | | If bitbake-diffsigs is run without arguments it will error: Traceback (most recent call last): File "./bin/bitbake-diffsigs", line 121, in <module> if output: NameError: name 'output' is not defined Fix this by moving the check for output into the inner else-clause. (Bitbake rev: 7d3545a66863ad7183a7650b2af57eee091c45ae) Signed-off-by: Jacob Kroon <jacob.kroon@mikrodidakt.se> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: fetch2: Cleanup file checksum generationJacob Kroon2014-04-271-5/+2
| | | | | | | | | | | | Cleanup the fix done in f9416e76e272ba3249abff099f6f3a47fe82e03e. Instead of adding continue statements we can just move the last statements into the final else-clause. (Bitbake rev: 6dfb33fd7204e09815bde7ba5bf21941a73fe965) Signed-off-by: Jacob Kroon <jacob.kroon@mikrodidakt.se> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: fetch2/git: Stop git from triggering fsync() callsRichard Purdie2014-04-271-2/+2
| | | | | | | | | | | | | | | We only ever clone other repositories, if there were a problem such as power failure, we'd blow away data and rebuild. As such we don't need fsync(). With filesystems like ext*, the fsync pushes nearly all the data out to disk which impacts all running processes. We therefore set a configuration parameter to disable the fsync() calls. Also fixup a case where basecmd wasn't being used for no good reason. (Bitbake rev: 0a26abaf3a1e34d556c9375068dd17c879568d0f) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: bitbake-worker: Drop BBHASH variablesRichard Purdie2014-04-231-4/+0
| | | | | | | | | | | | | Iterating through and calling setVar on this number of variables has significant overhead in the profiling data. By not setting this, we save 3,000 calls to setVar which gives a noticeable improvement to the speed of task execution. The BBHASH variables have since been replaced by accessing that data through the siggen code and going forward, that is the preferred way work with it. (Bitbake rev: 92526eadd09d19938762290e0492076174367583) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: parse/ast: Optimise data finalisationRichard Purdie2014-04-231-3/+5
| | | | | | | | | | | | | | The optimisation where only the data we're interested in was finalised was good but it turns out we can do better. In the case where a class-extension is to be targeted, we can skip the other targets. This change does that and speeds up parsing at the bitbake-worker execution time. Specifically, you can see an improvement in the speed of bitbake X -n. (Bitbake rev: b56918c7ef7913e84356c69ee9b269844a446728) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: runqueue: Do not write out stamp files in dry_run modeRichard Purdie2014-04-231-1/+2
| | | | | | | | | In dry run mode, stamps for noexec tasks are being written out which is incorrect. Avoid this. (Bitbake rev: aa6448a0552ba2947ac262b8b5314a593d1058d3) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: runqueue: Fix task weighting algorithmRichard Purdie2014-04-231-2/+2
| | | | | | | | | | | | | | | When looking at a list of tasks, do_patch and do_unpack were being given equal priority when one clearly depends on another. The reason for this was the default task weights of 0 being to tasks. This is therefore changed to 1 to allow correct weighting of dependencies which means the scheduler has better information available to it about tasks. Weight endpoints differently (10) for clearer debugging of priorities. (Bitbake rev: 12dc1d17fac3e8ec420fcafb06186d32fd847d89) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: runqueue: Fix handling of zero priority taskRichard Purdie2014-04-231-1/+1
| | | | | | | | | | | | | The zero priority task should be run first but was being confused with the None value the priority field defaulted to. Check for None explicitly to avoid this error. In the real world this doesn't change much but it confused the debug output from the schedulers. (Bitbake rev: 49c9d8c9400f74c804c2f36462639236e0841ff0) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: bitbake: toaster: Fix Empty tasks filterBelen Barros Pena2014-04-231-1/+1
| | | | | | | | | | | | | Somehow the counter was set to count tasks with outcome 'not available', instead of outcome 'empty'. This patch fixes the problem. [YOCTO #6146] (Bitbake rev: 1cc2a299c842185ba14074817d5cd2925275610b) Signed-off-by: Belen Barros Pena <belen.barros.pena@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>