summaryrefslogtreecommitdiffstats
path: root/bitbake
Commit message (Collapse)AuthorAgeFilesLines
* bitbake: runqueue: Tweak comments and debug codeRichard Purdie2019-07-151-1/+4
| | | | | | | | | Add some extra comments to build_scenequeue_data() and fix the debug code so it actually works. (Bitbake rev: 8ea6d8193fc89b4596da69e400fbc50e5a443f9f) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: runqueue: Simplify scenequeue unskippable calculationRichard Purdie2019-07-151-32/+13
| | | | | | | | | | | | | The existing code to compute the 'unskippable' setscene task list is overcomlicated, so replace it with something functionally equivalent but simpler and more efficient. We don't need to process all chains, just the 'top' ones to the first setscene tasks. This also makes the code more readable. (Bitbake rev: 06982c82f10cbdbea0b601e5cf0450a2a99c14c2) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: runqueue: Add covered_tasks (or 'collated_deps') to scenequeue dataRichard Purdie2019-07-151-0/+6
| | | | | | | | | | | | Its useful to have a list of all the tasks a given setscene task covers and we can easily generate this data whilst doing other data processing. This is used in later changes to runqueue rather than trying to compute it on the fly which is difficult. (Bitbake rev: 63ddc2fec40bd1b456702b97091f9dc5ef70a941) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: event/runqueue: Drop StampUpdate event, its pointless/unusedRichard Purdie2019-07-154-35/+0
| | | | | | | | | | Whilst this class has existed for years, it doesn't have any users and has a questionable interface. Drop it to allow for further simplification and changes. (Bitbake rev: 3ab51764f7965d696bb2c5a872bf161473df4289) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: runqueue: Fold remains of the scenequeue setup into RunQueueExecuteRichard Purdie2019-07-151-47/+42
| | | | | | | | | Also move the scheduler init over, apart for the builtable tasks part which need to remain called later. (Bitbake rev: ad30a16cd30f9eab0224eb271f98f9a24516b621) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: runqueue: Simplify _execute_runqueue logicRichard Purdie2019-07-151-22/+24
| | | | | | | | | Cleanup to the _execute_runqueue logic to reduce indentation, drop the dummy executor class concept and prepare for further changes. (Bitbake rev: 726e3c61a69fef16e605ba9b911a17cd99f1a2c3) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: runqueue: Remove RunQueueExecuteScenequeue and RunQueueExecuteTasksRichard Purdie2019-07-151-56/+43
| | | | | | | | | | Replace the remains of the Tasks and Scenequeue Tasks classes with simple function calls. Also drop the dummy version of the execution class to simplify further changes as its not needed. (Bitbake rev: 33805394310046cd58c2194f6d063b3946811014) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: runqueue: Fix counter/task updating glitchRichard Purdie2019-07-151-1/+1
| | | | | | | | | | | Some tasks were not being marked as covered/notcovered since internal calls were being made without using the external call points. Fix the accounting issues by using the correct external call points. (Bitbake rev: fe0a7be03e8baed22f6b0915cd5f7956ba3fbf83) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: runqueue: Merge scenequeue and real task queue code togetherRichard Purdie2019-07-151-258/+258
| | | | | | | | | Merge the unique functions from the Tasks and Scenequeue Tasks classes into the common base class. (Bitbake rev: 7539fe22bc831bb835901e3aca77985ab4ebc4c7) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: runqueue: Merge stats handling together for setscene/real tasksRichard Purdie2019-07-151-19/+20
| | | | | | | | | Use a seperate stats class for scenequeue tasks and move the setup into the base class. Update references accordingly. (Bitbake rev: 32f39bbd5d3b7394689da9ba05be2c15b4523b27) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: runqueue: Uniquely namespace the scenequeue functionsRichard Purdie2019-07-151-39/+47
| | | | | | | | | | | | In preparation for merging the setscene and normal task execution, uniquely namespace the scenequeue specific functions. For the one shared function, add the "sq_live" variable so we know which functions to send the results to. (Bitbake rev: 2cbe9399902ba67dca566c7344b2247412cf4d5c) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: runqueue: Factor out the process_setscene_whitelist checksRichard Purdie2019-07-151-40/+45
| | | | | | | | | For ease of refactoring, move this code to its own separate function until it becomes clear what we should do with it. (Bitbake rev: 4b96b204f986dd62fba485876b7208665c14268d) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: runqueue: Remove unused function parameterRichard Purdie2019-07-151-2/+3
| | | | | | | | | The function is only used by setscene code so the parameter is pointless, remove it. (Bitbake rev: b52dbf5e9cb327f8434213d286ad333f5dbad1d3) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: runqueue: Move scenequeue data generation to a separate functionRichard Purdie2019-07-151-224/+244
| | | | | | | | | | | Move the bulk of the scenequeue data generation to its own function allowing for refactoring of the code. Create the start of an object to represent this data. (Bitbake rev: 68326e0426f25a1bbfd5ae3aa278656a3744053e) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: runqueue: Remove now uneeded codeRichard Purdie2019-07-151-25/+1
| | | | | | | | | | With the removal of the setcene verify code, this additional code block is also now unneeded since tasks can't be forced at this point in the code any move. This effectively reverts f21910157d873c030b149c4cdc5b57c5062ab5a6. (Bitbake rev: 4514fe4f045d595cc9b938f9326f66f2b3e99f71) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: runqueue: Drop unused BB_SETSCENE_VERIFY_FUNCTION2Richard Purdie2019-07-151-30/+3
| | | | | | | | | | | | Nothing in OE-Core uses this and hasn't since 2017. It wasn't needed by core metadata since the switch to recipe specific sysroots. Since this function would be hard to implement with the planned changes to runqueue, drop it which allows simplification and further code cleanup. (Bitbake rev: 5deaa5df730a8a846f3192b4a639b7a2a72c1b71) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: runqueue: Tweak buildable variable handling in schedulerRichard Purdie2019-07-151-4/+5
| | | | | | | | | Work off a copy of the 'buildable' class variable, allowing easier future code changes. (Bitbake rev: e851169acfebba404514135bf512e6f045739a13) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: siggen: Use unique hashes for tasksRichard Purdie2019-07-151-2/+3
| | | | | | | | | | | | Now that runqueue optimises based on task hash, we need to ensure tasks have unique hashes even in the simplest siggen mode. Use the task name to calculate a unique hash. This fixes runqueue tests when hash optimisations are added. (Bitbake rev: 8ede873ef4ef492fbaf01474685c1ca8b34d80d5) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: siggen: Fix default handlerRichard Purdie2019-07-151-1/+2
| | | | | | | | | After the unihash changes the default signature handler didn't work. Tweak it to adapt to those changes (allowing the runqueue tests to work). (Bitbake rev: 7d486d3fb7176a3486f3f2484457724d7185df58) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: cache: Set packages for skipped recipesRobert Yang2019-07-151-7/+6
| | | | | | | | | | | | | | | | | | | | | | | | The provides and rprovides had been set for skipped recipes, packages are similar to them (all of them provide something), so also set it. This makes it easier to figure out the RDEPENDS issues, for example, lmsensors (lmsensors_3.5.0.bb) RRECOMMENDS lmsensors-config-fancontrol (lmsensors-config_1.0.bb), but lmsensors-config is skipped for some reasons, then if we run: $ bitbake lmsensors ERROR: Nothing RPROVIDES 'lmsensors-config-fancontrol' (but /path/to/lmsensors_3.5.0.bb RDEPENDS on or otherwise requires it) NOTE: Runtime target 'lmsensors-config-fancontrol' is unbuildable, removing... Missing or unbuildable dependency chain was: ['lmsensors-config-fancontrol'] ERROR: Required build target 'lmsensors' has no buildable providers. Missing or unbuildable dependency chain was: ['lmsensors', 'lmsensors-config-fancontrol'] We had no way to know who rprovides lmsensors-config-fancontrol, we can figure it out by bitbake/contrib/dump_cache.py after this patch. (Bitbake rev: 9cf7a5e5a28e676427970a821893e9d930973969) Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: cache: Remove duplicated lines for provides and rprovidesRobert Yang2019-07-151-4/+2
| | | | | | | | | | Whether skip or not, they are always set, so move the lines ahead to avoid duplicated lines. (Bitbake rev: c1a8ebb8f83e5108b667f291c924fc2fbd2ac769) Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: bitbake: Add --skip-setscene optionJoshua Watt2019-07-033-0/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Adds an option to skip _setscene only if they would normally be executed, without ignoring sstate completely. Previously, '--no-setscene' would allow a build that completely ignored sstate and _setscene tasks, and '--setscene-only' would allow a build that only ran _setscene tasks, but there was no option do a build that would respect tasks previously restored from sstate and build everything else. Now one can run: bitbake --setscene-only IMAGE; bitbake --skip-setscene IMAGE which is functionally equivalent to: bitbake IMAGE The indented use is to allow a build to complete successfully in the presence of _setscene task failures by splitting apart the two phases e.g.: (bitbake -k --setscene-only IMAGE || true) && bitbake --skip-setscene IMAGE (Bitbake rev: 813ba5b7c13b573a0b813b628a819bdbf0627540) Signed-off-by: Joshua Watt <JPEWhacker@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: main: Alter EOFError handlingRichard Purdie2019-07-031-7/+2
| | | | | | | | | | | | | | | | If the server shuts down 'cleanly' due to some issue, the socket will close. A recently reported example was an invalid PRSERV being set. Doing this silently and without changing the retries count will case the server startup to loop infinitely. Change the code so it triggers the usual retries note messages and times out eventually pointing the user at the cooker log file. [YOCTO #12984] (Bitbake rev: bb696636ef0c59f9e9640bb9460e7cce323cc785) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: main: Ensure log messages are printed when no UI startsRichard Purdie2019-07-031-1/+2
| | | | | | | | | | | | | If the UI hasn't started, no messages are printed to the console until the server starts. This is confusing, particularly if the server never starts. Flush the UI queue through the simply handler upon connection retry so the user sees the messages they're supposed to be seeing. Also point the user at the logfile for hints about why this may be. (Bitbake rev: 4b9ab675cebb427ab8ad0c56c7b37eed50a2a39e) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: event: Clear ui_queue after handling itRichard Purdie2019-07-031-0/+2
| | | | | | (Bitbake rev: 55631da1336589e583e8341a655179f7714ab3fe) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: bitbake: toaster:tests: python -> python3Robert Yang2019-06-2830-30/+30
| | | | | | (Bitbake rev: 683c24788d96176699a585055eb62d8a71830a12) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: bitbake: lib: Cleanup /usr/bin/env pythonRobert Yang2019-06-2811-12/+1
| | | | | | | (Bitbake rev: cc712f3257904960247a7532cfc4611f3dccd36c) Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: tests/fetch.py: add missing skipIfNoNetwork tags to tests that try ↵Luca Boccassi2019-06-281-0/+5
| | | | | | | | | | | | | to git clone test_git_submodule_dbus_broker, test_git_submodule_CLI11, test_git_submodule_update_CLI11, test_git_submodule_aktualizr and test_git_submodule_iotedge try to access the network via git clone, which fails when there is no network available. Add the relevant skip tag. (Bitbake rev: 9b0538753da0514e6518723dac537007abf7a649) Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: tests/utils.py: add one more test cases for bb.utils.vercmp_stringMartin Jansa2019-06-211-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * this is just another test case for issue already fixed in: commit fef56d28c3efec4876c379898cbc4d4c65303aee Author: Alexander Kanavin <alex.kanavin@gmail.com> Date: Sun Feb 24 21:07:28 2019 +0100 Subject: bitbake: fix version comparison when one of the versions ends in . * The TypeError is triggered not by '.' at the end, but from the extra numberic component in one of the versions. * When one version has fewer elements, it's extended by another (0, None) element where 0 means numeric component. Then the result cannot be decided by comparing the types (oa < ob, ob > oa) and it continues to compare values (ca < cb) which fails when one of them is the None from (0, None) appended before. ====================================================================== ERROR: test_vercmpstring (bb.tests.utils.VerCmpString) ---------------------------------------------------------------------- Traceback (most recent call last): File "lib/bb/tests/utils.py", line 32, in test_vercmpstring result = bb.utils.vercmp_string('1a', '1a1') File "lib/bb/utils.py", line 131, in vercmp_string return vercmp(ta, tb) File "lib/bb/utils.py", line 123, in vercmp r = vercmp_part(va, vb) File "lib/bb/utils.py", line 112, in vercmp_part elif ca < cb: TypeError: '<' not supported between instances of 'NoneType' and 'int' ---------------------------------------------------------------------- Ran 3 tests in 0.002s (Bitbake rev: 9767fffe3115a1f1afa3c6a2b39720fefb8dc4d5) Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: cooker: list all nonexistent bblayer directoriesOleksandr Kravchuk2019-06-181-3/+13
| | | | | | | | | | | | | Check existence of all the bblayer direcotories at once and print them all, so if there are multiple nonexistent directories, user does not have to correct bblayers.conf and restart bitbake multiple times. [YOCTO #11647] (Bitbake rev: 19291f7c4d17086ebb6a7b80c3cb06333d7fd55b) Signed-off-by: Oleksandr Kravchuk <open.source@oleksandr-kravchuk.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: cooker: Ensure mcdeps are processed even if only one multiconfigRichard Purdie2019-06-111-1/+5
| | | | | | | | | If you have no BBMULTICONFIG set but set mcdepends, they're currently ignored. We can handle them correctly with this small tweak. (Bitbake rev: 578f0c02f6a13f4315e7c2ce8b5e876dd2025055) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: build: implement custom progress handlers injected via OE_EXTRA_IMPORTSChris Laplante2019-06-111-0/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | | A separate patch to base.bbclass (in poky) will add the OE_EXTRA_IMPORTS variable. The contents are appended into OE_IMPORTS. This provides a mechanism by which layers (in their layer.conf) can make custom progress handlers available. As a backup, individual recipes can inject progress handlers into __builtins__. Custom handlers are expected to have this __init__ signature: def __init__(self, d, outfile=None, otherargs=None): Recipes can then use the handlers like this: do_task[progress] = "custom:mylayer.util.ProgressHandler[:args]" The last part (everything after and including the second colon) is optional. If provided, it is passed to HandlerClass's __init__ as otherargs="args". Otherwise, otherargs=None. (Bitbake rev: 20289d62c84c393990dd3deb0cca1b17c09092e6) Signed-off-by: Chris Laplante <chris.laplante@agilent.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: build/progress: use context managers for progress handlersChris Laplante2019-06-112-5/+42
| | | | | | | | | | | It seems context management support was half-implemented, but never finished. For example, LogTee has __enter__ and __exit__ but they haven't been exercised until now. (Bitbake rev: bf522ad3e0c52cdb69b406226840d870ff4f2766) Signed-off-by: Chris Laplante <chris.laplante@agilent.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: build: extract progress handler creation logic into its own methodChris Laplante2019-06-111-11/+16
| | | | | | | (Bitbake rev: a841efa50d3aaf7c57446806327b2b687371cb29) Signed-off-by: Chris Laplante <chris.laplante@agilent.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: knotty: allow progress rate for indeterminate barsChris Laplante2019-06-111-1/+1
| | | | | | | (Bitbake rev: 85f0b443b7ab1848abc6eb658be489fc1718004c) Signed-off-by: Chris Laplante <chris.laplante@agilent.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: cooker: Add compability handling for multiconfig: prefix migrationRichard Purdie2019-06-101-0/+3
| | | | | | | | | | This allows "multiconfig:" targets to continue to work by internally mapping them to the new "mc:" naming, allowing older builds to work as before. (Bitbake rev: c4d90890547af642e99cc541af3415df3559563e) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: multiconfig: Switch from 'multiconfig' -> 'mc'Richard Purdie2019-06-105-24/+24
| | | | | | | | | | | | | | After real world use its clear the "multiconfig:" prefix to multiconfig tasks, whilst clear, is also clumbersome. Switch to use the short version instead. mcdepends will continue to work with "multiconfig:" for now as well. The commandline will only accept mc: going forward. [YOCTO #11168] (Bitbake rev: 821daf093b76504067a8b77dfa4b181af6ec92b4) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toaster: Fix Thud Bitbake release metadataDavid Reyna2019-06-102-2/+2
| | | | | | | | | | | Fix the Bitbake version ID for Thud (1.40). [YOCTO #13356] (Bitbake rev: 7d0ab11a0d1a2510515d7ebab66b922fbfc411c3) Signed-off-by: David Reyna <David.Reyna@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: fetch2: runfetchcmd(): unset _PYTHON_SYSCONFIGDATA_NAMEMatthias Schiffer2019-05-301-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since warrior, python3native.bbclass sets _PYTHON_SYSCONFIGDATA_NAME; unfortunately, this also affects Python scripts run as fetch commands like git-make-shallow, breaking it with a message like Failed to import the site module Traceback (most recent call last): File "/usr/lib/python3.6/site.py", line 570, in <module> main() File "/usr/lib/python3.6/site.py", line 556, in main known_paths = addusersitepackages(known_paths) File "/usr/lib/python3.6/site.py", line 288, in addusersitepackages user_site = getusersitepackages() File "/usr/lib/python3.6/site.py", line 264, in getusersitepackages user_base = getuserbase() # this will also set USER_BASE File "/usr/lib/python3.6/site.py", line 254, in getuserbase USER_BASE = get_config_var('userbase') File "/usr/lib/python3.6/sysconfig.py", line 607, in get_config_var return get_config_vars().get(name) File "/usr/lib/python3.6/sysconfig.py", line 550, in get_config_vars _init_posix(_CONFIG_VARS) File "/usr/lib/python3.6/sysconfig.py", line 421, in _init_posix _temp = __import__(name, globals(), locals(), ['build_time_vars'], 0) ModuleNotFoundError: No module named '_sysconfigdata' on an Ubuntu 18.04 system (and likely others) when building with BB_GIT_SHALLOW and BB_GENERATE_SHALLOW_TARBALLS. Unset _PYTHON_SYSCONFIGDATA_NAME in runfetchcmd() to work around this. (Bitbake rev: d94ccd506d04aff182ab48f501f6f366d5dd14f5) Signed-off-by: Matthias Schiffer <matthias.schiffer@ew.tq-group.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: main: Fix error message typoRichard Purdie2019-05-301-1/+1
| | | | | | (Bitbake rev: a1330b8a15a3f12516e3e293ffb5d840f362375d) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: bitbake: Show base multiconfig environmentJoshua Watt2019-05-301-10/+21
| | | | | | | | | | | | | | | | Adds support to the 'bitbake -e' command so that it can display the base environment for a multiconfig. It was previously possible to get the base environment for the main environment by running "bitbake -e", but there was no support for getting the base environment for a multiconfig without specifying a recipe. A user can now print the base environment for the multiconfig "foo" by running: $ bitbake -e multiconfig:foo (Bitbake rev: 3d657af8a6120193d45d01968605b30075a56198) Signed-off-by: Joshua Watt <JPEWhacker@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: bitbake: cooker: Rename __depends in all multiconfigsJoshua Watt2019-05-301-2/+3
| | | | | | | | | | | | | | | | | | | The renaming of the __depends variable to __base_depends and file watches needs to occurs for all multiconfigs, not just the base config. Failing to do this for all multiconfigs will result in a huge increase in the size of the parsing cache (about 5x for a single mulitconfig) because all multiconfig caches will still depend on the base config files. This will also seen a similar jump in the amount of time required to load the parsing cache from memory, both because the cache is larger and because of explosion of additional existence checks that must be done for the base files. [YOCTO #13359] (Bitbake rev: 34137a00f60280e9e806070c6507a0fc6284b834) Signed-off-by: Joshua Watt <JPEWhacker@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: bitbake: fetch2/npm: fix npw view parsingJean-Marie LEMETAYER2019-05-211-14/+5
| | | | | | | | | | | | | | | | | Fixes [YOCTO #13344] When parsing manually the 'npm view --json' ouput, an extra closing brackets in a JSON string can leads the fetcher to fail with a JSONDecodeError exception. This commit use the JSON parser to extract: - The last object in the returned array if there are multiple results. - The returned object if there is only one result. (Bitbake rev: 3d319c79981811d3cfd4732885057db4fd5afcc2) Signed-off-by: Jean-Marie LEMETAYER <jean-marie.lemetayer@savoirfairelinux.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: svn.py: Stop SVN from directly pulling from an external layer w/o ↵Mark Hatle2019-05-212-0/+99
| | | | | | | | | | | | | | | | | | | | | | | | | | | fetcher Add a new option to the svn fetcher url "externals=allowed". This will allow a user to enable svn co w/ externals. However, this does avoid the fetcher, network access and mirror systems. By default we no longer allow externals in the checkout. This ensures a deterministic download. The system does attempt to identify SVN repos that have externals enabled, and will warn the user. It is up to the user to determine if these are necessary for the recipe. They may disable the warning by adding "externals=nowarn" to the url. In the future we would like to parse this list and see if the items are already in the SRC_URI for that recipe, but with SVN being in limited use these days that extra work is likely not worth the trouble. Add test cases that generated a local SVN tree, with an external source set to github bitbake in svn format. One test case checks that externals are ignored, and one checks that they in downloaded. (Bitbake rev: bf53f07c3647e57d8452a7743a2b04bcb72c80d6) Signed-off-by: Mark Hatle <mark.hatle@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: gitsm: Fix a bug where the wrong path was used for the submodule initMark Hatle2019-05-162-5/+34
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Because we are trying to avoid network activity and use our own fetcher, the system emulates the behavior of 'git submodule init'. git submodule init uses the .gitmodules file, where typically the module name and path are the same. However, in this case the module name and path (in the tree) were different. i.e.: [submodule "edgelet/hsm-sys/azure-iot-hsm-c/deps/azure-c-shared-utility"] path = edgelet/hsm-sys/azure-iot-hsm-c/deps/c-shared url = https://github.com/Azure/azure-c-shared-utility.git Previously the code assumed the 'path' was both the checkout location under .git/modules, as well as the path to extract the components. This proved to be incorrect as the .git/modules path needs to match the submodule 'name'. This causes the components that were fetched to be initialized in the wrong location, which later caused the 'git submodule update' process to skip not properly initialized modules. A test case was added for this specific case to ensure a regression does not appear in the future. (Bitbake rev: fd27ab60d33553dba13de39394edaaac04e446b3) Signed-off-by: Mark Hatle <mark.hatle@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: bitbake-user-manual: Added npm to other fetcher list.Scott Rifenbark2019-05-151-5/+8
| | | | | | | | | Fixes [YOCTO #10098] (Bitbake rev: 5fb0fb71ae5bda647c45f07aac63084575ed6b39) Signed-off-by: Scott Rifenbark <srifenbark@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: HEADER: Drop itRichard Purdie2019-05-041-5/+0
| | | | | | | | We don't really need a header boilerplate now the header is simplified, drop it. (Bitbake rev: 9b4a9e5459db5f443fcffbdc499e12f09970e709) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: bitbake: Strip old editor directives from file headersRichard Purdie2019-05-04101-220/+0
| | | | | | | | | | There are much better ways to handle this and most editors shouldn't need this in modern times, drop the noise from the files. Its not consitently applied anyway. (Bitbake rev: 5e43070e3087d09aea2f459b033d035c5ef747d0) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: bitbake: Drop duplicate license boilerplace textRichard Purdie2019-05-04136-1679/+7
| | | | | | | | | | With the introduction of SPDX-License-Identifier headers, we don't need a ton of header boilerplate in every file. Simplify the files and rely on the top level for the full licence text. (Bitbake rev: 695d84397b68cc003186e22f395caa378b06bc75) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: bitbake: Add initial pass of SPDX license headers to source codeRichard Purdie2019-05-04177-60/+454
| | | | | | | | | | | | | | | | | This adds the SPDX-License-Identifier license headers to the majority of our source files to make it clearer exactly which license files are under. The bulk of the files are under GPL v2.0 with one found to be under V2.0 or later, some under MIT and some have dual license. There are some files which are potentially harder to classify where we've imported upstream code and those can be handled specifically in later commits. The COPYING file is replaced with LICENSE.X files which contain the full license texts. (Bitbake rev: ff237c33337f4da2ca06c3a2c49699bc26608a6b) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>