summaryrefslogtreecommitdiffstats
path: root/bitbake/lib
Commit message (Collapse)AuthorAgeFilesLines
* bitbake: bin/bitbake: Update to next series release versionRichard Purdie2020-06-161-1/+1
| | | | | | (Bitbake rev: e6e5cdf306e62c201a8af0cbe2b498781a54c52b) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: lib/bb/utils.py: Do not preserve TERM in the environmentJacob Kroon2020-06-161-1/+0
| | | | | | | | | | | The value of TERM is leaking into OE-Core postinst-useradd-${PN} scripts, which in turn can optionally be monitored by buildhistory. Prune the value in order to make the OE-Core buildhistory output more deterministic. (Bitbake rev: 0d5cdd0c0d65f2f81c3af0f3767fee86c4142c3a) Signed-off-by: Jacob Kroon <jacob.kroon@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: fetch2/gitsm: Make need_update() process submodulesPaul Barker2020-06-151-4/+35
| | | | | | | | | | | | If the bitbake.srcrev nugget is not present for the commit we're interested in we should not just bail out and say that an update is needed. Instead we can recursively walk through the submodules and check for the presence of the required commits. (Bitbake rev: cfc78316309556bec487ef0a5a9205e41f1be86f) Signed-off-by: Paul Barker <pbarker@konsulko.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: fetch2/gitsm: Mark srcrev as fetched once all submodules are processedPaul Barker2020-06-151-3/+3
| | | | | | | | | | | | This prevents multiple bitbake.srcrev entries being created when a repository has more than one submodule. It also ensures that the bitbake.srcrev entry is not added unless all submodules are correctly fetched. (Bitbake rev: 860ff1193fe53f04696d41635a720c2d1f29fa7f) Signed-off-by: Paul Barker <pbarker@konsulko.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: bitbake: cache: Fix error message with bad multiconfigJoshua Watt2020-06-151-1/+1
| | | | | | | | | | The virtualfn variable is not defined, the filename is what should be shown instead. (Bitbake rev: 1f9d2c21db3a1ad2ab13dfebd2f8e9a7c3682ee2) Signed-off-by: Joshua Watt <JPEWhacker@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: bitbake: tests: Add mcdepends testJoshua Watt2020-06-122-0/+31
| | | | | | | | | | | Adds a test to validate that mcdepends causes the dependent tasks to build, and also that a change in the dependent task causes the dependee task to re-execute. (Bitbake rev: f2062c41693f9f684bdaf2df0a2a08b7f3871026) Signed-off-by: Joshua Watt <JPEWhacker@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: bitbake: siggen: Pass all data caches to hash functionsJoshua Watt2020-06-122-19/+67
| | | | | | | | | | | | | | | | | | | Passing all the data caches to the task hashing functions allows them to correctly account for mcdepends in task signatures. This allows tasks to be correctly re-run when a mcdepends changes. By default, the legacy behavior is maintained for derived signature generators by passing a special proxy object that can either be used to access all multiconfigs or the legacy behavior. If a derived signature generator is updated, it can set the supports_multiconfig_datacaces property to instruct bitbake it deals with multiconfigs properly. [YOCTO #13724] (Bitbake rev: 8ff9203de4fce9c104c2987d86980c9f34036b97) Signed-off-by: Joshua Watt <JPEWhacker@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: bitbake: cache: Fix error when cache is rebuiltJoshua Watt2020-06-101-3/+3
| | | | | | | | | | | | It is expected that load_cachfile() returns an integer indicating how many entries were loaded from the cache. In the event the cache needs to be rebuilt, 0 must be returned to prevent python from attempting to add an None and an integer together. (Bitbake rev: 3459d98fbc280637ecb36961bda8436818ee51e5) Signed-off-by: Joshua Watt <JPEWhacker@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: bitbake: command: Move split_mc_pn to runqueueJoshua Watt2020-06-102-7/+7
| | | | | | | | | | | | | All of the other multiconfig splitting functions are located in runqueue so move the function to split a pn/fn there also so that its easier to see them all together. Fixes a case where the findBestProvider() command wasn't working for multiconfig because it was looking for a prefix of "multiconfig:" instead of the newer "mc:" (Bitbake rev: 325827af66434affc2da460cc8b9a5c460e38056) Signed-off-by: Joshua Watt <JPEWhacker@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: bitbake: tests: Add tests for BBMASK in multiconfigJoshua Watt2020-06-106-1/+28
| | | | | | | | | | | Adds a test to validate that multiconfigs can independently mask off recipes by setting BBMASK. See the test description for further information about how the test works. (Bitbake rev: 513fc2dddf13d5e344162c26d89d2dde2fe85634) Signed-off-by: Joshua Watt <JPEWhacker@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: bitbake: cache: Cache size optimizationJoshua Watt2020-06-102-11/+19
| | | | | | | | | | | Now that there is a cache object per multiconfig, it is not necessary for each cache object to parse all other multiconfigs. Instead, each cache now only parses the files for it's multiconfig. (Bitbake rev: 3c5c7346adf4ca7ec761c08738f12401ba75b7c8) Signed-off-by: Joshua Watt <JPEWhacker@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: bitbake: cache: Improve loggingJoshua Watt2020-06-101-30/+35
| | | | | | | | | | | Improves the logging of Cache objects by prefixing the log messages with the multiconfig name of the cache, so as to distinguish between multiple instances of the class. Also adds a more log messages. (Bitbake rev: 74fd10b33c66f4142d6eff6531200f7620a06ae0) Signed-off-by: Joshua Watt <JPEWhacker@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: bitbake: lib: Add PrefixLoggerAdapter helperJoshua Watt2020-06-101-0/+8
| | | | | | | | | | | Adds a helper logger adapter to add a prefix to all log messages. This is useful to distinguish log messages between multiple instances of a object. (Bitbake rev: 5f363e4a9636b902229c257484ae0b479aedca65) Signed-off-by: Joshua Watt <JPEWhacker@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: bitbake: lib: Add support for Logging AdaptersJoshua Watt2020-06-101-4/+38
| | | | | | | | | | | | | Creates a BBLoggingAdapter class that is monkey patched in place of the logginer.LoggingAdapter. The new adapter is compatible with the BBLogger class API, allowing adapters to be created for bitbake loggers. A new BBLoggerMixin class is used to reduce code duplication between the BBLogger and BBLoggerAdapter classes. (Bitbake rev: 8f93d776fd6ce1a6d7094da9a9e00b5e9ee178f9) Signed-off-by: Joshua Watt <JPEWhacker@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: bitbake: cache: Use multiconfig aware cachesJoshua Watt2020-06-102-52/+133
| | | | | | | | | | | | | | | Splits the parsing cache to maintain one cache per multiconfig instead of one global cache. This is necessary now that the files and appends can vary for each multiconfig. A bb.cache.MulticonfigCache dictionary-like proxy object is created instead of a single bb.cache.Cache object. This object will create and properly initialize bb.cache.Cache object for each multiconfig, and each of these caches has a dedicated cache file with a name based on the multiconfig. (Bitbake rev: 5272f2489586479880ae8d046dfcdbe0963ee5bb) Signed-off-by: Joshua Watt <JPEWhacker@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: bitbake: cooker: Split file collections per multiconfigJoshua Watt2020-06-107-91/+148
| | | | | | | | | | | | Splits the cooker to track a collection per multiconfig instead of a single collection for all multiconfigs. Practically speaking, this allows each multiconfigs to each have different BBMASKs that apply to it instead of each one using the mask specified in the base configuration. (Bitbake rev: dd6d8eca2027f8d9be8a734a493227b440075e49) Signed-off-by: Joshua Watt <JPEWhacker@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: fetch2: Add the ability to list expanded URL dataPaul Barker2020-06-042-0/+46
| | | | | | | | | | | | | | | | | | Some fetchers may download additional sources along with those explicitly listed in SRC_URI. These "implicit URLs" will be needed by the archiver to ensure that all sources can be archived. We can't just return a list of URL strings since each URL may need its own SRCREV data so we return a list of FetchData objects. Each fetcher can override the implicit_urldata() function to provide the additional FetchData objects. For now this is just needed in the gitsm fetcher to walk git submodules recursively. (Bitbake rev: 1350f241b7d991bd191ce9e44f6662e4376c6e24) Signed-off-by: Paul Barker <pbarker@konsulko.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: git.py: Use the correct branch to check if the repository has LFS ↵Mauro Queirós2020-06-041-2/+9
| | | | | | | | | | | | | objects. Function "contains_lfs" was only looking at the master branch when searching for LFS content. LFS may be configured in specific branches only, so we need to use the correct branch. (Bitbake rev: 4fa67c2af830035a1ddedc14592ee25a15ebff22) Signed-off-by: Mauro Queiros <maurofrqueiros@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: git.py: LFS bitbake note should not be printed if need_lfs is not set.Mauro Queirós2020-06-041-1/+1
| | | | | | | | | | | The message "Repository %s has LFS content but it is not being fetched" was being printed, even when Git-LFS was available and "lfs=1" was set. In those situations, we want to fetch LFS content, so that message would not make sense. (Bitbake rev: 45028dfda5a29a34ab408cb3f11d72ae17963340) Signed-off-by: Mauro Queiros <maurofrqueiros@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: git.py: skip smudging if lfs=0 is setMauro Queirós2020-06-041-0/+3
| | | | | | | | | | | Git-LFS objects were being fetched even when lfs=0 was not set. This patch disables LFS smudging when lfs=0. That way, only the LFS pointers are downloaded during checkout. (Bitbake rev: 646d86df7de774255246a3d7051c308e43eb257d) Signed-off-by: Mauro Queiros <maurofrqueiros@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: fetch2/cvs: Fix CVS fetcher clean methodVyacheslav Yurkov2020-05-271-11/+9
| | | | | | | | | | | Clean method assumes that download directory should be determined from CVSDIR variable, but this is handled differently in download method. Now we set download directory for the whole class in urldata_init (Bitbake rev: 6d7ad9b06b82612f0dd17ffccea7ab98f9077198) Signed-off-by: Vyacheslav Yurkov <Vyacheslav.Yurkov@bruker.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: event/ast: Add RecipePostKeyExpansion eventRichard Purdie2020-05-272-0/+7
| | | | | | (Bitbake rev: 5c30cbe35e921f118e7da6b804af281627329d77) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: lib/bs4/testing.py: fix bs4 testingFrazer Clews2020-05-051-3/+3
| | | | | | | | | | | Have classes actually inherit SoupTest so it can use it's original methods, also correctly import HTMLParserTreeBuilder (Bitbake rev: 5dbee3628972d521d44bdfb282ecc44fc956bdb1) Signed-off-by: Frazer Clews <frazer.clews@codethink.co.uk> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: lib/toaster: fixup codebase so pydocstyle can parseFrazer Clews2020-05-052-35/+35
| | | | | | | | | | | fixed literal comparison in lsupdates so the integer isn't treated as a singleton, also fix indentation in perf (Bitbake rev: 58c8752cd430a7a89bbf1ed5f21b515b17b514b0) Signed-off-by: Frazer Clews <frazer.clews@codethink.co.uk> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: data_smart: Handle hashing of datastores within datastores correctlyRichard Purdie2020-04-241-1/+4
| | | | | | | | | | | | | | | | If there is a datastore within a datastore (e.g. BB_ORIGENV) then get-hash() doesn;t correclty handle the contents using the memory address instead of the contents. This is a patch from dominik.jaeger@nokia.com which addresses this problem. Its been low priority since we don't include BB_ORIGENV anywhere this would cause an issue as standard. [YOCTO #12473] (Bitbake rev: 1a8bcfc1eb89ccff834ba68fb514330b510976a2) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: cache: Fix performance problem with large numbers of source filesRichard Purdie2020-04-241-14/+8
| | | | | | | | | | | | | | | | | | Some companies are using large numbers of patch files in SRC_URI. Rightly or wrongly that exposes a performance problem where the code does not handle the large string manipulations in a way which works efficienty in python. This is a modified version of a patch from z00539568 <zhangyifan46@huawei.com153340508@qq.com which addresses the performance problem. I modified it to use a more advanced regex, retain the "*" check and cache the regex. [YOCTO #13824] (Bitbake rev: c07f374998903359ed55f263c86466d05aa39b68) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: fetch2/wget: Set User-Agent when checking status of a URLPaul Barker2020-04-241-0/+1
| | | | | | | | | | | | | | | | | | When a website is behind a CDN like Cloudflare there may be a "Browser Integrity Check" or other test applied to requests before they are allowed through to the server. Downloading via wget passes these tests as headers are set appropriately, however the Python urllib module may fail these tests unless additional headers are set. This causes Wget.checkstatus() to fail where Wget.download() would actually succeed. For Cloudflare in particular a valid User-Agent is needed, it's easy to add this to the headers in Wget.checkstatus(). The user agent string is copied from Wget._fetch_index(). (Bitbake rev: 4679d3cdb9cdf23f3962aa61c599ad7474591f9f) Signed-off-by: Paul Barker <pbarker@konsulko.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: tinfoil: fix config_data mess up insane check while parsing ↵Hongxu Jia2020-04-241-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | multiple recipes Since commit [tinfoil: Simplify remote datastore connections][1] and [tinfoil: Add back ability to parse on top of a datastore][2] applied, bitbake run command parseRecipeFile with param config_data.dsindex rather than config_data. While calling tinfoil.parse_recipe_file() with one config_data (with the same config_data.dsindex) to parse multiple recipes, it will mess up insane check. It broke update_layer.py on layerindex, here are the simplified steps: [snip] t= bb.tinfoil.Tinfoil() t.prepare() data = bb.data.createCopy(t.config_data) fn = "path_to/oe-core/meta/recipes-graphics/images/core-image-clutter.bb" t.parse_recipe_file(fn, appends=False, config_data=data) fn = "path_to/oe-core/meta/recipes-graphics/packagegroups/packagegroup-core-x11-base.bb" t.parse_recipe_file(fn, appends=False, config_data=data) | File "path_to/oe-core/meta/classes/insane.bbclass", line 1303, in __anon_1304__path_to_oe_core_meta_classes_insane_bbclass | bb.fatal("Fatal QA errors found, failing task.") [snip] In above failure, RDEPENDS is assigned `${PACKAGE_INSTALL} ${LINGUAS_INSTALL} ${IMAGE_INSTALL_DEBUGFS}' in core-image-clutter.bb, but it broke insane check on packagegroup-core-x11-base.bb >From commit [remotedata: enable transporting datastore from the client to the server][3], it create a new DataSmart to save receive_datastore's remote_data Similarly, make a copy of config_data(with different config_data.dsindex) could fix the issue. [1] http://git.openembedded.org/bitbake/commit/?id=85e03a64dd0a4ebe71009ec4bdf4192c04a9786e [2] http://git.openembedded.org/bitbake/commit/?id=4618da2094189e4d814b7d65672cb65c86c0626a [3] http://git.openembedded.org/bitbake/commit/?id=784d2f1a024efe632fc9049ce5b78692d419d938 (Bitbake rev: a3074807974536e370289c25fddcb9ad93cbc137) Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: tinfoil: Add back ability to parse on top of a datastoreRichard Purdie2020-04-062-4/+6
| | | | | | | | | | | This option was removed recently as we didn't realise the layerindex relies upon it. Add back the API which it turns out can be supported as long as we assume the datastore passed in is a remote datastore which it usually would be unless created locally. (Bitbake rev: 4618da2094189e4d814b7d65672cb65c86c0626a) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: data/siggen: Don't expand ignored variablesRichard Purdie2020-04-063-4/+4
| | | | | | | | | | | | | | | | | | If a variable is in the signature whitelist, we'd currently expand it, then later ignore the data. This is problemtic for code which has effects when expanded, recently source date epoch in OE-Core for example. We don't actually need to do this, if we pass the whitelist into the earlier function it can avoid the expansion. This also also give a small performance boost since we avoid running code in some cases. [YOCTO #13581] (Bitbake rev: f483ee4a869fb1dafbe4bdf2da228cdaa40b38bd) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: bitbake: Update to version 1.46Richard Purdie2020-04-061-1/+1
| | | | | | (Bitbake rev: 76396230731432b38fdcb25ad27bb84065bc89e5) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: fetch2: Fix urldata_cache key issuesRichard Purdie2020-03-301-4/+7
| | | | | | | | | Upon inspection its clear the way the keys for this cache were being handled would break it and cause the cache to never be used. Fix this. (Bitbake rev: 9a5dd1be63395c76d3fac2c3c7ba6557fe47b442) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toaster: fix for import build directory with var refs in BBLAYERSPaul Eggleton2020-03-291-1/+11
| | | | | | | | | | | | | | | Update importing a build directory to support where bblayers.conf sets BBLAYERS to a value that includes a variable reference e.g.: BBLAYERS = "${TOPDIR}/../meta \ ${TOPDIR}/../meta-selftest" [YOCTO #13707] (Bitbake rev: 5bd29d448a31c132afd6fc0127029e246759b87b) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: David Reyna <David.Reyna@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toaster: FieldError loading Reverse runtime dependenciesReyna, David2020-03-291-1/+1
| | | | | | | | | | | | | When selecting reverse runtime dependencies, filter on simply 'depends_on' instead of the obsolete 'depends_on__name' or 'depends_on__size'. [YOCTO #13717] (Bitbake rev: 085940c12619549be3fbd4ead9379ab0a97ac5bf) Signed-off-by: Ahmed.Hossam <Ahmed.Hossam@opensynergy.com> Signed-off-by: David Reyna <David.Reyna@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toaster: update to DunfellReyna, David2020-03-292-15/+15
| | | | | | | | | | | Toaster needs update to Dunfell [YOCTO #13847] (Bitbake rev: 387fcfb3ffe573715a1997d729237a49cc889e1b) Signed-off-by: David Reyna <David.Reyna@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toaster: migrate to Django-2.2David Reyna2020-03-2940-174/+197
| | | | | | | | | | | Toaster migration to Django-2.2. Django-1.x has been deprecated. [YOCTO #13207] (Bitbake rev: 9730f95686b2ac72cf1fa513c555f7c7787e2667) Signed-off-by: David Reyna <David.Reyna@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: Revert "fetch2: Allow ${AUTOREV} to be used when BB_SRCREV_POLICY ↵Khem Raj2020-03-241-14/+4
| | | | | | | | | | | | | | is "cache"" As per mailing list discussion, the cache policy was behaving correctly before and wouldn't expect to update after the initial fetch even for AUTOREV. This reverts commit ba093a38539960e645e994a66ed7872a604c00a9. (Bitbake rev: 51f827911b7202de3e855e683fdbd732d7a84e09) Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: tinfoil: Add iterator support for DataStoreConnectorRichard Purdie2020-03-241-0/+5
| | | | | | | | | Some usages need to iterate the datastore. This is slow and not recommended but support this. (Bitbake rev: 38b4e330c6c2007e8ead878e1d9e9580d3b19c7b) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: tinfoil: Simplify remote datastore connectionsRichard Purdie2020-03-245-360/+87
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The current approach to remote datastores used in tinfoil is breaking. For example, adding a devupstream extension to a recipe with a git upstream, making it the preferred version and then running "devtool modify" on it causes get_srcrev() circular dependency issues. The problem is the override handling in the datastore is broken. This gets broken since remotedata:recieve_datastore() sets d.dict but doesn't update d.overridedata (or d.inchistory or d.varhistory). We could play whack-a-mole but the current implementation seems to be flawed to me. It also doesn't cover, or only partially covers some datastore operations and each needs new dedicated command API. Instead, step back and reimplement the way the datastore connector works. With this change, the datastore is either remote or local but the data is not spread on two sides of the connection. All the API is proxied over the connection by a single function for the datastore (and two to support variable history and include history). This code does not support using the datastore as a parameter to any data store functions. We did have one case of that but its just bad code and can be replaced. The result is something which is much simpler and less invasive to the datastore code itself, meaning its behaviour should be much more consistent. The existing tests for the remote data no longer make any sense and are removed. The one bug this code would have is if key/value pairs are returned over the IPC and those values contained a DataSmart object since we don't recurse into return values to find such things. Nothing appears to do that currently so lets worry about it if its ever an issue. This change should simplfy a ton of other issues and avoid a ton of other bugs so is a huge net gain. Tested with bitbake's and OE's selftests. (Bitbake rev: 85e03a64dd0a4ebe71009ec4bdf4192c04a9786e) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: data_smart: Don't pass unneeded datastoreRichard Purdie2020-03-243-3/+4
| | | | | | | | | | | | The datastore is already available to this function internally so don't also try and pass the datastore as a parameter. This is clearly broken API when you look at the existing calls to it. This then doesn't break the planned tinfoil data connector changes. (Bitbake rev: af1654498ee5b47368a41dad2d2b7b6abc19ff15) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: tinfoil: Drop parse_recipe_file custom datastore supportRichard Purdie2020-03-241-9/+2
| | | | | | | | | | | | This parameter is unused except for a single selftest and is problematic with regard to fixing some other bugs. Remove it for now, if really needed we could re-implement it in some other way in the future. Experience tells us we likely don't want to support this kind of change to the metadata anyway as its not as useful as it first sounds/appears. (Bitbake rev: f2341dc46b6abfc08a4d01c7abdd3d4630577999) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: tinfoil: Update to match recent knotty console changesRichard Purdie2020-03-131-11/+1
| | | | | | | | | This updates tinfoil to match recent changes to the logging code in knotty. (Bitbake rev: e67dfa4a4d0d63e4752655f25367582e5a95f1da) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: knotty/msg: Use logging.shutdown() instead of bb.msg.cleanupLogging()Joshua Watt2020-03-132-12/+1
| | | | | | | | | | The logging module provides a shutdown() function that does the same thing in a much better way (Bitbake rev: 970cd2fc4f0bbc93069dee5a15a608dd76081c67) Signed-off-by: Joshua Watt <JPEWhacker@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: knotty: Treat verbconsole as a console outputJoshua Watt2020-03-131-22/+18
| | | | | | | | | | | | | | | | | | | | The BitBake.verbconsole needs to be treated like a console output logger (meaning that the TerminalFilter attaches an InteractConsoleLogFilter to it), even if it's not directly attached to the root 'BitBake' logger. First, assign a special "is_console" property to the relevant handlers, then look for the property in the handlers from the configuration object return by bb.msg.setLoggingConfig(). Finally, pass the list of all handlers to the TerminalFilter object; it doesn't care about the difference between console and errconsole, so pass all the relevant handlers as a list. This fixes cases where the console output was corrupted when messages were sent to the 'BitBake.verbconsole' handler. (Bitbake rev: 2010be588c74a99256df7b565a309c84c2973546) Signed-off-by: Joshua Watt <JPEWhacker@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: msg: Return config objectJoshua Watt2020-03-131-1/+4
| | | | | | | | | | | | Returns the configuration object from setLoggingConfig(). This object has a config dictionary that contains all of the created handlers, filters and loggers, which makes it much easier to pull out items with specific names. (Bitbake rev: 93c98a85cb10d3795b3cebc9cd97214d0f4748e5) Signed-off-by: Joshua Watt <JPEWhacker@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: knotty: Update hash equivalence loggingJoshua Watt2020-03-131-8/+60
| | | | | | | | | | | | | | | | | | | | | Updates hash equivalence logging so that the interesting VERBOSE messages are always logged to the consolelog file so that issues in individual user builds can be diagnosed. The autobuilder logging config then updates this so that they also are shown on stdout, since the consolelog file is not capture there. In order to facilitate this, 2 new logging handlers were added, "BitBake.verbconsole" and "BitBake.verbconsolelog". Neither of these handlers are attached to anything by default, but they will log any messages that wouldn't otherwise be logged by the normal console or consolelog handlers. Users can attach whatever loggers the desire to this handler to get them to appear on the console or in the consolelog, as demonstrated by the autobuilderlog.json file. (Bitbake rev: 766587c0baaaeb5cda3e9454395edbb70e33f756) Signed-off-by: Joshua Watt <JPEWhacker@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: runqueue: Lower setscene complete logging levelJoshua Watt2020-03-131-1/+1
| | | | | | | | | | | | | | | Lowers the level of the log message when setscene tasks have completed. This message can occur multiple times when hash equivalence is enabled, since the runqueue switches between executing setscene tasks and normal tasks. Since this is primarily of use when debugging hash equivalence, use the hash equivalence logger at VERBOSE level. [YOCTO #13813] (Bitbake rev: 7dd5b3900622008ff34ec70d71c6e994f460a46f) Signed-off-by: Joshua Watt <JPEWhacker@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: msg: Add helper to merge logging configsJoshua Watt2020-03-131-41/+48
| | | | | | | | | | Adds a function that can be used by UI front ends to merge logging configuration fragments. (Bitbake rev: e860d93b76c142fdae90226bc68e4fe6e7b6a9db) Signed-off-by: Joshua Watt <JPEWhacker@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: knotty: Add logging cleanupJoshua Watt2020-03-132-0/+13
| | | | | | | | | | | Adds code to close all loggers when bitbake exits. This prevents unclosed file ResourceWarnings. A form of this closing existed previously, but was removed in the new logging code. (Bitbake rev: b3f3779adf63c0d970462a558a6205da1d30c0ed) Signed-off-by: Joshua Watt <JPEWhacker@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: runqueue/siggen: Lower hash equivalence loggingJoshua Watt2020-03-132-7/+7
| | | | | | | | | | | | | | Lowers the level at which hash equivalence messages are logged so as to not annoy the majority of users. The autobuilder can use a custom logging configuration to log these to a file for debugging (see contrib/autobuilderlog.json) [YOCTO #13813] (Bitbake rev: 2ddb649ea31afe052f08e3969e36abf6fb515bc2) Signed-off-by: Joshua Watt <JPEWhacker@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>