summaryrefslogtreecommitdiffstats
path: root/bitbake
Commit message (Collapse)AuthorAgeFilesLines
* bitbake: lib/bb/data_smart: add removeFromVar methodTalel BELHAJ SALEM2025-11-071-0/+5
| | | | | | | | | | | | | | | | | | Tested with: MY_VARIABLE = "foo hello foo world" python () { d.removeFromVar('MY_VARIABLE', 'foo') } $ bitbake-getvar -r example --value MY_VARIABLE hello world (Bitbake rev: daf1ea2c066e05fa0a64e5af4a5f968efff4f976) Signed-off-by: Talel BELHAJ SALEM <bhstalel@gmail.com> Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: bitbake/bzr: Drop check for unset .revision after .setup_revisions()Uwe Kleine-König2025-11-071-3/+0
| | | | | | | | | | | | | FetchMethod.latest_revision() expects three parameters, so the call `self.latest_revision(ud, d)` triggers an exception. Drop that error path that obviously isn't used. (Bitbake rev: 205bf5501a51be256c203d9d6b41bae24a288b93) Signed-off-by: Uwe Kleine-König <u.kleine-koenig@baylibre.com> Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: fetch2: ensure lockfiles are unlocked on exceptionRoss Burton2025-11-071-28/+32
| | | | | | | | | | | | | | | Ensure that every time a lockfile is created, it is also unlocked in a finally: block. Otherwise, the lock file remains open and Python warns: ResourceWarning: unclosed file <_io.FileIO name='/tmp/bitbake-fetch-srfv29ek/download/git2/git.openembedded.org.bitbake.lock' mode='ab+' closefd=True> (Bitbake rev: 53faa18c1cff139ed46ca0b00a22c1f5ccd33a66) Signed-off-by: Ross Burton <ross.burton@arm.com> Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: parse: Make include_all raise a parse error for absolute pathsPeter Kjellerstedt2025-11-072-0/+4
| | | | | | | | | | It makes no sense to use an absolute path with include_all. (Bitbake rev: 2b19f7b1678974050192a1962244bba594c07bc1) Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com> Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: parse: Make include_all support empty variable expansionsPeter Kjellerstedt2025-11-073-5/+9
| | | | | | | | | | | | | | include and require support empty variable expansions, typically used with conditional expansions. However, include_all does not, and instead reports an error for the first path in BBPATH. Rewrite include_all so that its behavior matches include and require. (Bitbake rev: 7e3a64b853b5374205c05b0ab09122f09a1eedfb) Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com> Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: fetch2: gitsm: remove indirection and nestingStefan Herbrechtsmeier2025-11-071-66/+32
| | | | | | | | | | | Use a single fetch object to reuse the fetch functionality. Remove indirection, nesting and duplicate code. (Bitbake rev: ed48050668189af43041f89e101140f3fe935e94) Signed-off-by: Stefan Herbrechtsmeier <stefan.herbrechtsmeier@weidmueller.com> Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: fetch2: gitsm: use TemporaryDirectory instead of mkdtempStefan Herbrechtsmeier2025-11-071-5/+1
| | | | | | | | (Bitbake rev: dfcc0d8ed9f70ba363a7a16e8b9e727f08357d96) Signed-off-by: Stefan Herbrechtsmeier <stefan.herbrechtsmeier@weidmueller.com> Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: fetch2: gitsm: remove useless need_update checkStefan Herbrechtsmeier2025-11-071-8/+9
| | | | | | | | | | | | | | | The need_update check is useless to decide if the clone directory or temporary directory should be used to parse the submodules. If the git repository needs an update, it does not help to unpack the git archive and use it instead of the clone directory. Furthermore, it is useless to call the function of the class itself because it bypasses the check itself. (Bitbake rev: f9f3d3be82c3f5a2a1d5eaeaccb9a24ffbac7d56) Signed-off-by: Stefan Herbrechtsmeier <stefan.herbrechtsmeier@weidmueller.com> Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: fetch2: gitsm: remove redundant checkStefan Herbrechtsmeier2025-11-071-1/+1
| | | | | | | | (Bitbake rev: 7d329f8ec8b7044c2a243414c9996144e93523f7) Signed-off-by: Stefan Herbrechtsmeier <stefan.herbrechtsmeier@weidmueller.com> Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: fetch2: gitsm: handle submodules inside submodule unpackStefan Herbrechtsmeier2025-11-071-12/+13
| | | | | | | | | | | Handle the git submodule setup inside the unpack function of the submodule to simplify the loop. (Bitbake rev: 75f6d8e4d6c7245a0df33cc7a5b2e6ea291bd655) Signed-off-by: Stefan Herbrechtsmeier <stefan.herbrechtsmeier@weidmueller.com> Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: fetch2: gitsm: add parentdir parameterStefan Herbrechtsmeier2025-11-071-2/+6
| | | | | | | | | | | Add a parentdir parameter to pass the destination directory of the submodule parent to the submodule. (Bitbake rev: 707dc112797e598bd9eed13767e21a06d75f1450) Signed-off-by: Stefan Herbrechtsmeier <stefan.herbrechtsmeier@weidmueller.com> Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: fetch2: gitsm: use subdir parameter for submoduleStefan Herbrechtsmeier2025-11-071-9/+11
| | | | | | | | | | | Use the subdir parameter to pass the destination directory to the unpack function. (Bitbake rev: f2abfb6c6336ca06eb96e4c8adbf3787844a85e4) Signed-off-by: Stefan Herbrechtsmeier <stefan.herbrechtsmeier@weidmueller.com> Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: fetch2: gitsm: remove duplicate codeStefan Herbrechtsmeier2025-11-071-8/+1
| | | | | | | | | | | | Remove the duplicate append of the nobranch parameter from the loops and move duplicate append of the bareclone parameter from the loops to the URL creation. (Bitbake rev: 75b6d0e6c3352f25a0712e6c2559120b6c3bd3bd) Signed-off-by: Stefan Herbrechtsmeier <stefan.herbrechtsmeier@weidmueller.com> Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: fetch2: gitsm: use rev URL parameter instead of SRCREV variableStefan Herbrechtsmeier2025-11-071-7/+2
| | | | | | | | (Bitbake rev: 985e3637723eae030fc3442cd0be9b076087b0c9) Signed-off-by: Stefan Herbrechtsmeier <stefan.herbrechtsmeier@weidmueller.com> Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: fetch2: gitsm: remove needless SRCREV_FORMAT overrideStefan Herbrechtsmeier2025-11-071-5/+0
| | | | | | | | | | | Remove the SRCREV_FORMAT because it is only used together with the SRC_URI and not implicit URLs. (Bitbake rev: c5d2d452a28f1be4e591517dc4b1004947d4c1a4) Signed-off-by: Stefan Herbrechtsmeier <stefan.herbrechtsmeier@weidmueller.com> Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: fetch2: gitsm: remove redundant set valueStefan Herbrechtsmeier2025-11-071-1/+0
| | | | | | | | (Bitbake rev: 44ad212560abebe8ff6a120a80e4f1714b5e6ac0) Signed-off-by: Stefan Herbrechtsmeier <stefan.herbrechtsmeier@weidmueller.com> Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: fetch2: gitsm: remove dead codeStefan Herbrechtsmeier2025-11-071-4/+0
| | | | | | | | | | Remove code which isn’t used inside the project or the tests. (Bitbake rev: 7a681e0bdb770543dcf2a4cb72683cbceeefe59c) Signed-off-by: Stefan Herbrechtsmeier <stefan.herbrechtsmeier@weidmueller.com> Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: fetch2: git: replace destdir variable with functionStefan Herbrechtsmeier2025-11-073-22/+33
| | | | | | | | | | | | | The destdir variable of FetchData contains the volatile value of the destdir parameter of the unpack function and is only valid after the first call of unpack. Replace the variable with a function to make it independent of the unpack function. (Bitbake rev: 3d10ee897eb5851e901a3dde8d952e3b0e44de39) Signed-off-by: Stefan Herbrechtsmeier <stefan.herbrechtsmeier@weidmueller.com> Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: fetch2: support URL rev paramter for named URLs together with defaultStefan Herbrechtsmeier2025-11-071-3/+4
| | | | | | | | | | | | Support the rev parameter for named SRC_URIs together with SRCREV or SRCREV:pn-<PN>. Only raise conflicting revisions fetch error for rev parameter and SRCREV_<NAME> or SRCREV_<NAME>:pn-<PN> (Bitbake rev: b0776be3de56f6e78d0bb046d6238bdb8dcf8091) Signed-off-by: Stefan Herbrechtsmeier <stefan.herbrechtsmeier@weidmueller.com> Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: tests: fetch: add test case for local pathsStefan Herbrechtsmeier2025-11-071-0/+12
| | | | | | | | (Bitbake rev: 3938f8e1128b47e4c589f1492f43100e9f1661ee) Signed-off-by: Stefan Herbrechtsmeier <stefan.herbrechtsmeier@weidmueller.com> Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: fetch2: use localpath instead of localfileStefan Herbrechtsmeier2025-11-074-6/+4
| | | | | | | | | | Use localpath variable instead of localfile and DL_DIR variable. (Bitbake rev: 7e77317b7ee37d17d56aaf2b36afc53df5489331) Signed-off-by: Stefan Herbrechtsmeier <stefan.herbrechtsmeier@weidmueller.com> Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: fetch2: remove basepath from FetchDataStefan Herbrechtsmeier2025-11-071-3/+2
| | | | | | | | | | | | | Remove the basepath variable from the FetchData class. The variable is never used in the class because the only user of the variable also sets the needdonestamp variable to false. The basepath variable is useless because it contains the content of the path variable. (Bitbake rev: e5b5e9120a56fc91f467a293c5125aa3535a553d) Signed-off-by: Stefan Herbrechtsmeier <stefan.herbrechtsmeier@weidmueller.com> Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: bitbake: cooker: Fix performance issue in EventWriter() classBenjamin Szőke2025-11-071-12/+14
| | | | | | | | | | | | Reopen eventfile is a very time consuming call in every send() calling. It was fixed by -> open its file descriptor in __init__() and close it in __del__(). Remove unused self.event_queue = []. (Bitbake rev: 5d9c299bf448a090ad239da9c495491be5fd9a1c) Signed-off-by: Benjamin Szőke <egyszeregy@freemail.hu> Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: ast: Better variable history for builtin fragmentsYoann Congal2025-11-071-1/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | As of now, the variable history for builtin fragments looks like this (edited for clarity): $ bitbake-getvar MACHINE # # $MACHINE [2 operations] # set ast.py:368 [check_and_set_builtin_fragment] # "qemux86-64" # pre-expansion value: # "qemux86-64" MACHINE="qemux86-64" User can't know where MACHINE was set, this is bad. This patch tries to reconstruct a MACHINE history from OE_FRAGMENTS history. With this patch, history looks like this (for a simple case): $ bitbake-getvar MACHINE NOTE: Starting bitbake server... # # $MACHINE [2 operations] # set .../auto.conf:2 # "qemux86-64 (OE_FRAGMENTS contains "machine/qemux86-64")" # pre-expansion value: # "qemux86-64" MACHINE="qemux86-64" The path where the "machine/qemux86-64" fragment was added to OE_FRAGMENTS is displayed, this is definitely better. Fixes [YOCTO #15939] (Bitbake rev: 54053e0e402c1ed9ae5fe4ed04fc690ecd4b779f) Signed-off-by: Yoann Congal <yoann.congal@smile.fr> Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: progressbar: Make bars show correctly with maxval == 0Peter Kjellerstedt2025-11-071-1/+1
| | | | | | | | | | | | | While it can be argued how useful a progressbar created with 0 as maximum value is, it should still show two states, started (empty) and finished (full). Setting the maxval to _DEFAULT_MAXVAL instead will accomplish this. (Bitbake rev: 38c7847693cd0f62e99a6e8a1bb8e18ba0a1d743) Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com> Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: knotty, teamcity, tinfoil: Only allow one process progress bar at oncePeter Kjellerstedt2025-11-073-13/+23
| | | | | | | | | | | | | | | | | In case a process progress bar (e.g., "Initialising tasks") is active when a new one (e.g., "Checking sstate mirror object availability") is started, then finish the first one before starting the second. Also ignore ProcessProgress and ProcessFinished events that are not for the currently active progress bar. This also adds an id to BBProgress (initialized to the initial msg), which is not affected by calls to setmessage(). (Bitbake rev: aff617880ff2c48fd1d28586e2623963b87a3118) Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com> Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: knotty: Some improvements to TerminalFilter.updateFooter()Peter Kjellerstedt2025-11-071-14/+14
| | | | | | | | | | | | * Correct/improve a couple of comments. * Iterate over the values (tasks) of activetasks rather than the keys (TIDs) as the TIDs were only used to lookup the tasks. (Bitbake rev: ab1923a3ff8a9f439683d77ee53d03a8b039bdd1) Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com> Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: Add bitbake-setup documentationAntonin Godard2025-11-072-0/+823
| | | | | | | | | | Add documentation for bitbake-setup. This is split in 6 sections, including a quick start guide, terminology and reference. (Bitbake rev: 3089497efc7a1f3f143e151b9d5d024809269b9e) Signed-off-by: Antonin Godard <antonin.godard@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: doc/conf.py: add wikipedia extlinkAntonin Godard2025-11-071-0/+1
| | | | | | | | | For use in the documentation. (Bitbake rev: ed90b2ef95564b79d28a20e0e217e13be110499b) Signed-off-by: Antonin Godard <antonin.godard@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: bitbake-setup: Rename bb-layers-relative to bb-layers-file-relativeRichard Purdie2025-11-072-12/+12
| | | | | | | | | | | | | | | The difference between bb-layers and bb-layers-relative is unclear as both are relative paths. Rename one to "file-relative" which makes it clear it is relative to the current file, without becomming a long name. https://lists.openembedded.org/g/bitbake-devel/message/18296 Based on a patch from Alexander Kanavin <alex@linutronix.de> but with different naming. (Bitbake rev: dcb17758b99767ab6da4172cf60eabc9269082dd) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: bitbake-setup: replace {THISDIR} token with a keyword: ↵Alexander Kanavin2025-11-062-22/+26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | bb-layers-relative {THISDIR} is a special value token that can be used in the list of enabled layers to specify the layer location relative to the confguration file: https://git.openembedded.org/bitbake/commit/?id=b3153be29de8b8570b0c184369bd41f4c646cf92 This replaces the token with an explicit separate keyword for such layers: so that special processing to determine the final value can be avoided, and the feature can be formalized in the json schema: instead of "bb-layers": [ "{THISDIR}/meta-my-project" ] this allows "bb-layers-relative": [ "meta-my-project" Going forward I think we should strive to avoid any further special value tokens. (Bitbake rev: 90da82bd2bfcfd5590c9ae06015737b616074b56) Signed-off-by: Alexander Kanavin <alex@linutronix.de> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: bitbake-setup: capture revisions while checking out layersJohannes Schneider2025-11-062-3/+23
| | | | | | | | | | | | | | | | | | | | | | | | | When initializing a build setup from a conf.json that only sets 'rev' to a tag or branch, the actual revision would not be captured or logged. To capture the current layer state after an 'init' or 'update', the checkout_layers function is extended to store the revision the bb.fetch.Fetch pulled, and write that information into a sources-fixed-revisions.json file. This file can then be fed back into bitbake-setup init as: --sources-overrides This new 'sources-fixed-revisions.json' is written during 'update_build' and stored alongside the 'config-upstream.json' in the config dir. And put with the later under version control by calling 'commit_config" after 'update_build'. The use of 'deepcopy' is necessary to not modify the original input data - which python passes around as reference. (Bitbake rev: 95866ff03f78e987ae7e47daad053bc0f353eea4) Signed-off-by: Johannes Schneider <johannes.schneider@leica-geosystems.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: bitbake-setup: tests: move duplicate code into 'check_setupdir_files'Johannes Schneider2025-11-061-12/+8
| | | | | | | | | | | | | | | | | | All places that called into 'check_setupdir_files' did the same preparation step to load the upstream-config.json and then pass it into the function. Since the 'setuppath' is already passed into the function, and the name and relative location of the upstream-config.json is fixed, constructing the file path and loading the json could be done in the function. De-duplicate code by loading the json inside the function instead. (Bitbake rev: 16d77c83ae3ce92ddab84d714a93fd3bb7def5e2) Signed-off-by: Johannes Schneider <johannes.schneider@leica-geosystems.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: bitbake-setup: checkout_layers: construct 'src_uri' separatlyJohannes Schneider2025-11-061-3/+4
| | | | | | | | | | | | | | Construct the 'src_uri' separately, and then pass either variant into one call that creates the Fetch. Making use of format-strings to shorten/simplify the code. Also: using 'proto' instead of 'type' for a variable name, to avoid the protected keyword. (Bitbake rev: 4ad70e05ceca19c1e903dafc33386a82b1176bba) Signed-off-by: Johannes Schneider <johannes.schneider@leica-geosystems.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: bitbake-setup: rename 'write_config' into 'write_upstream_config'Johannes Schneider2025-11-061-4/+4
| | | | | | | | | | Rename the function to reflect which (of the possibly many) files in the build/config directory it writes to. (Bitbake rev: 7f9cd4c1e91d110085d74f9b9f12884f97f4e8dd) Signed-off-by: Johannes Schneider <johannes.schneider@leica-geosystems.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: bitbake-setup: fix key-error when changing a new 'section'Johannes Schneider2025-11-061-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | Setting a key=value in a new section would raise a key-error when using in-memory settings, e.g: ./bin/bitbake-setup --setting default top-dir-prefix /tmp/bitbake-setup --setting default top-dir-name gs settings foo bar baz Loading settings from /tmp/bitbake-setup/gs/settings.conf Traceback (most recent call last): File "/tmp/bitbake-setup/bitbake/./bin/bitbake-setup", line 853, in <module> main() File "/tmp/bitbake-setup/bitbake/./bin/bitbake-setup", line 838, in main all_settings = merge_settings(builtin_settings, global_settings, topdir_settings, args.setting) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/tmp/bitbake-setup/bitbake/./bin/bitbake-setup", line 733, in merge_settings all_settings[section][setting] = value ~~~~~~~~~~~~^^^^^^^^^ KeyError: 'foo' (Bitbake rev: 78ab0d15dff5ccf64b0bf681185370779e6cabaf) Signed-off-by: Johannes Schneider <johannes.schneider@leica-geosystems.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: bitbake-setup: rename function 'default_settings_path' to ↵Johannes Schneider2025-11-061-8/+8
| | | | | | | | | | | | | | | | | 'topdir_settings_path' Rename the function to align with the corresponding 'global_settings_path' function, and move it down just above the later. This is done to differentiate from the built-in default settings, and to align with the other places in the code that use 'topdir_settings' (or 'global_settings') (Bitbake rev: 3df994f773abbd1d0240e721f5fd29d4b021bfb5) Signed-off-by: Johannes Schneider <johannes.schneider@leica-geosystems.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toaster: support bitbake-setupDavid Reyna2025-11-042-31/+89
| | | | | | | | | | | | | | | | | | | | | | | | This adds support for the new bitbake-setup: * Maintain backwards compatibility for poky-classic releases * Assume bitbake-setup for all releases 'master' and forward * When no ".templateconf" assume Poky and not OE * Generate and use "init-build-env" script instead of 'oe-init-build-env' directly, but "cd" to the clone and not the local installation. * Include "bblayers.conf" because "cookerdata.py" now explicitly required it, and let it be over-ridden by the usual "toaster-bblayers.conf". * Force the value "TOPDIR" in "toaster.conf" to the local project's directory. Normally "cookerdata.py" sets TOPDIR from getcwd(), but somehow in bitbake-setup mode the CWD at this point has become ".../layers/openembedded-core", so "bitbake.conf and all other files cannot be found. This non-obvious problem was hard to discover. Until this is understood, the forced value will make things work. [YOCTO #16012] (Bitbake rev: 22b3fd418efc10da7e4a8c1725de285714d2396b) Signed-off-by: David Reyna <David.Reyna@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: bitbake-setup: rename 'build' -> 'setup'Alexander Kanavin2025-11-042-77/+77
| | | | | | | | | | | | | | | | | | | | | | | | | | | After a terminology review by Antonin we brainstormed something less confusing than 'build' and 'build directory' for the place where bitbake-setup clones layers and creates a *bitbake* build directory in. People are bound to get these two confused and mix them up, and 'setup' is much more distinct and aligns nicely with 'bitbake-setup'. It's also not claimed by anything else in OE/Yocto. So before: top-dir -> build-dir (can be several) -> bitbake build dir, layer dir, config dir Now: top-dir -> setup-dir (can be several) -> bitbake build dir, layer dir, config dir This also updates the respective command line options, I understand it's a breaking change, but as before the tweaks are simple and we need to get the terminology right for the users, and now is the time to do it. (Bitbake rev: eeb81a35bf0304451f7612950d5156ea7ff18bad) Signed-off-by: Alexander Kanavin <alex@linutronix.de> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: bitbake-user-manual/ref-variables: extend PERSISTENT_DIR docAntonin Godard2025-11-031-2/+7
| | | | | | | | | | | | | | | | Extend the current documentation of PERSISTENT_DIR: - Mention that it also contains the hash equivalence database when BB_HASHSERVE = auto. - Mention that it should not be shared between builds. [YOCTO #15727] (Bitbake rev: 682c2dccb67a57ecbf93aac8e9deea88bff10155) Signed-off-by: Antonin Godard <antonin.godard@bootlin.com> Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: doc: enhance SRCREV_FORMAT descriptionPatrick Vogelaar2025-11-031-0/+6
| | | | | | | | | | | Adding documentation for having an empty first component for the SRCREV_FORMAT. (Bitbake rev: 37ef26cfd5441ce97ff7ec0d5026c92091224c07) Signed-off-by: Patrick Vogelaar <patrick.vogelaar.dev@mailbox.org> Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: fetch2/git: when raising ParameterError for an invalid proto, ↵Chris Laplante2025-11-031-1/+1
| | | | | | | | | | include the proto in the message (Bitbake rev: 671314811ac1c023efacc6a2f148d8d84ba1adb2) Signed-off-by: Chris Laplante <chris.laplante@agilent.com> Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: doc/bitbake-user-manual-ref-variables: improve INHERITAdam Blank2025-11-031-3/+11
| | | | | | | | | | | | | Current wording makes it difficult to understand what exactly is done with INHERIT-ed anonymous functions and when. (Bitbake rev: f06af69458083735e69f115edf73f783f18bc08c) Signed-off-by: Adam Blank <adam.blank.g@gmail.com> Reviewed-by: Antonin Godard <antonin.godard@bootlin.com> Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: doc: bitbake-user-manual: style and completeness correctionsAdam Blank2025-11-032-35/+35
| | | | | | | | | | | | Fix encountered style issues in the fetching section. Mention that "subdir" and fetcher specific parameters can stack-up. (Bitbake rev: 5cb35734c7056aa183bc15d454e125b75267449b) Signed-off-by: Adam Blank <adam.blank.g@gmail.com> Reviewed-by: Antonin Godard <antonin.godard@bootlin.com> Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: doc: bitbake-user-manual: AUTOREV and SRCREV_FORMAT roles in fetchingAdam Blank2025-11-032-5/+57
| | | | | | | | | | | | | | Describe the roles of AUTOREV and SRCREV_FORMAT in the fetching step. Add their missing descriptions to the variable reference section. Fixes [YOCTO #14498] (Bitbake rev: fbf0a8c5711f56bd64ae4c9d2c1d5ba884508c9f) Signed-off-by: Adam Blank <adam.blank.g@gmail.com> Reviewed-by: Antonin Godard <antonin.godard@bootlin.com> Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: bitbake-setup: correctly define --global argument for settings ↵Alexander Kanavin2025-11-031-1/+1
| | | | | | | | | | | | | | | | management --global was defined twice (for settings command as a whole, and specifically for set/unset sub-commands), which caused 'settings --global set ...' to be allowed, and at the same time not have any effect. 'settings set --global' is the only valid form after this change. (Bitbake rev: 2f14cf68f6c653b6da90180a99a22c58855b0cef) Signed-off-by: Alexander Kanavin <alex@linutronix.de> Tested-by: Antonin Godard <antonin.godard@bootlin.com> Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: bitbake-user-manual-metadata.rst: OE_BUILTIN_FRAGMENTS -> ↵Chen Qi2025-11-031-2/+2
| | | | | | | | | | | | | OE_FRAGMENTS_BUILTIN The actual variable name used in oe-core is OE_FRAGMENTS_BUILTIN, which is in a consistent format with other OE_FRAGMENTS_XXX vars. (Bitbake rev: 86c5f6aa59980d04264bc526976a49fdf749d1af) Signed-off-by: Chen Qi <Qi.Chen@windriver.com> Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: contrib: vim: Update file detection regexJoshua Watt2025-11-031-4/+4
| | | | | | | | | | | | The regex used to detect bitbake files was improved in patch 9.1.1732. Update the plugin to match that logic and fix a bug where the wrong expression was used to set the file type (Bitbake rev: 7ce0c9b44968f80a6060f9f9ff2cc00823b772cc) Signed-off-by: Joshua Watt <JPEWhacker@gmail.com> Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: bitbake/doc: Correct name of bitbake-dumpsigJörg Sommer2025-10-171-2/+2
| | | | | | | (Bitbake rev: 35a421cdcafb3595b9de5489ffdc567825400d26) Signed-off-by: Jörg Sommer <joerg.sommer@navimatix.de> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: bitbake-setup: commandline: use subsubparser for settings ↵Johannes Schneider2025-10-142-29/+41
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | {list,set,unset} Previously the sub-command 'settings' would take any number of arguments and then silently do nothing if the number wasn't three. The help text was also not clear about this, marking the positionals separately as optional: usage: bitbake-setup settings [-h] [--global] [--unset UNSET UNSET] [-l] [section] [key] [value] The '--unset SECTION SETTING' also did not integrate too well, as it had its own positional arguments for section+setting. For a bit more consistency and a explorable help, a sub-subparser is added, that provides the commands: bitbake-setup settings list bitbake-setup settings set foo bar baz bitbake-setup settings unset foo bar with a '--global' that is added from a stand-alone parent parser, so that it shows up in all sub-command help texts. The new help text now reads: usage: bitbake-setup settings [-h] [--global] {list,set,unset} ... and the respective sub commands: usage: bitbake-setup settings list [-h] [--global] usage: bitbake-setup settings set [-h] [--global] <section> <setting> <value> usage: bitbake-setup settings unset [-h] [--global] <section> <setting> (Bitbake rev: 8b582ef8dd0cef0192d4c0104bcd9b5d642d132c) Signed-off-by: Johannes Schneider <johannes.schneider@leica-geosystems.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>