summaryrefslogtreecommitdiffstats
path: root/bitbake/lib
Commit message (Collapse)AuthorAgeFilesLines
...
* bitbake: runqueue: set has 'add', not 'append' methodChris Laplante2023-10-231-1/+1
| | | | | | | | | | Discovered via pylint (Bitbake rev: 1a353cda696b7f59386ad2d78a57005b90a37da4) Signed-off-by: Chris Laplante <chris.laplante@agilent.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: Toaster: bug-fix on tests.views.test_views.pyAlassane Yattara2023-10-231-0/+12
| | | | | | | | | | | - Update toastergui/fixtures/toastergui-unittest-data.xml to added tow distro objects. Test fail because distro table was empty (Bitbake rev: 0487970d0e762fad021bdfb53ccbd4c75098c7dd) Signed-off-by: Alassane Yattara <alassane.yattara@savoirfairelinux.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: Toaster: bug-fix on tests/views/test_views.pyAlassane Yattara2023-10-231-0/+8
| | | | | | | | | | - Create a tmp file for base recipe, otherwise test fail it doesn't exist (Bitbake rev: e865f6dc7c7c4f0b447806d525cd69e72c290800) Signed-off-by: Alassane Yattara <alassane.yattara@savoirfairelinux.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: Toaster: bug-fix on custom image test casesAlassane Yattara2023-10-231-0/+4
| | | | | | | | | | | | | | To test custom image creation, a file for base_recipe should exists otherwise test fail, User we need to build a base image first, that will create a file for base_recipe, which take a while. To avoid test dependencies between test and run build, i create a tmp file for base recipe. Signed-off-by Alassane Yattara <alassane.yattara@savoirfairelinux.com> (Bitbake rev: 99c24df73831a72f311090b3aebcf3cc4e86851a) Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: Toaster: bug-fix on /toastermain/logs.pyAlassane Yattara2023-10-231-1/+6
| | | | | | | | | | | | - Update /toastermain/logs.py to fix: AttributeError: 'NoneType' object has no attribute 'view_name' Signed-off-by Alassane Yattara <alassane.yattara@savoirfairelinux.com> (Bitbake rev: 307f40fc83a0e3d530bf934ef4aefd8e15cf27de) Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: runqueue.py: clarify that 'closest' signature means 'most recent' ↵Alexander Kanavin2023-10-231-1/+1
| | | | | | | | | | | | | | | | | (and not closest in its content) This is printed by 'bitbake -S printdiff' and more accurately reflects what the code does. Most of the time the most recent item should be what the user wants to see when debugging sstate misses, but there could also be printdiff-all (print differences with all matching sstate objects), or printdiff-N (N most recent, and not just the latest). (Bitbake rev: 315f48f965a54da5cec92908d91aa61c2d450add) Signed-off-by: Alexander Kanavin <alex@linutronix.de> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: Fix find_bbfiles string endswith callBELHADJ SALEM Talel2023-10-231-1/+1
| | | | | | | | (Bitbake rev: 5f742591b251b6a5302ab07fe6b809c2863c3c70) Signed-off-by: Talel BELHAJSALEM <bhstalel@gmail.com> Signed-off-by: Luca Ceresoli <luca.ceresoli@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: tests/fetch.py: Add tests to cover multiple branch/name parametersPavel Zhukov2023-10-231-6/+69
| | | | | | | | | | | Create repository with few branches and test if fetcher can work with such repository as PREMIRROR (Bitbake rev: a1737610e5d5b61e126ec3632d7f27b337a87818) Signed-off-by: Pavel Zhukov <pavel@zhukoff.net> Signed-off-by: Luca Ceresoli <luca.ceresoli@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: codeparser: replace deprecated ast.Str and 's'Chris Laplante2023-10-171-2/+2
| | | | | | | | | These have been deprecated since 3.8 (Bitbake rev: 5419a8473d6d4cd1d01537de68ad8d72cf5be0b2) Signed-off-by: Chris Laplante <chris.laplante@agilent.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: Toaster: Fixed javascript issue on tests.browser.test_js_unit_testsAlassane Yattara2023-10-171-1/+1
| | | | | | | | | | | | - Update /toastergui/static/js/projectpage.js to fix following javascript issue that make fail test_js_unit_tests. Uncaught TypeError: Cannot read properties of null (reading 'name') Signed-off-by Alassane Yattara <alassane.yattara@savoirfairelinux.com> (Bitbake rev: 87f5987e22b3d1c05b29a25ef354ecd63ac9e1df) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: Toaster: Bug-fix failure on tests.browser.test_layerdetails_pageAlassane Yattara2023-10-171-0/+2
| | | | | | | | | | Call wait_until_visible before send_keys to be sure inputs is visible otherwise we get followings error: selenium.common.exceptions.WebDriverException -> Message: element not interactable Signed-off-by Alassane Yattara <alassane.yattara@savoirfairelinux.com> (Bitbake rev: 8d671e50036acb0e65c90a07f757e066c0463113) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toaster: bug-fix on tests.browser.test_most_recent_builds_statesAlassane Yattara2023-10-171-2/+3
| | | | | | | | | Fixed errors that make test_most_recent_builds_states failed. Signed-off-by Alassane Yattara <alassane.yattara@savoirfairelinux.com> (Bitbake rev: d34d1f58bd30b998ffaef2e91f02a26ca06c2745) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toaster: fixed functional testMarlon Rodriguez Garcia2023-10-171-10/+23
| | | | | | | | | | | Updated functional test file to fix url access and added waiting time after click operations to allow following elements to be available for tests, this will needed to be revisited when autobuilder is ready (Bitbake rev: fa30af75b3b7d37215f2615aa4b458525fce509e) Signed-off-by: Marlon Rodriguez Garcia <marlon.rodriguez-garcia@savoirfairelinux.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toaster: update jquery version 2.0.3 -> 3.7.1Marlon Rodriguez Garcia2023-10-174-2/+5
| | | | | | | | | | Updated jquery version from 2.0.3 to 3.7.1 https://blog.jquery.com/2023/08/28/jquery-3-7-1-released-reliable-table-row-dimensions/ (Bitbake rev: 8490844a0304ca2af2ee6c5700790121cccf0a13) Signed-off-by: Marlon Rodriguez Garcia <marlon.rodriguez-garcia@savoirfairelinux.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toaster: Update bootstrap version to 3.4.1Marlon Rodriguez Garcia2023-10-176-118/+334
| | | | | | | | | | Update bootstrap version to 3.4.1 to fix incompatibility issues and security vulnerabilities Files base, base_specific and js-unit-test were updated to match new versions of files (Bitbake rev: 046bbe22f7144efa02fc33fec9c933c2e97e0ba7) Signed-off-by: Marlon Rodriguez Garcia <marlon.rodriguez-garcia@savoirfairelinux.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toaster: updated bootstrap version 3.3.6 -> 3.3.7Marlon Rodriguez Garcia2023-10-171-3/+3
| | | | | | | | | | Updated bootstrap from version 3.3.6 to 3.3.7 to fix compatibility errors https://github.com/twbs/bootstrap/issues/16834 (Bitbake rev: 5254e826877e416364f498f8d320b99970ea162d) Signed-off-by: Marlon Rodriguez Garcia <marlon.rodriguez-garcia@savoirfairelinux.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: fetch2: Add API for upstream source tracingAlberto Pianon2023-10-157-0/+91
| | | | | | | | | | | | | | | | | This patch adds an API to bb.fetch2 to enable users to plug in an unpack tracer that can trace each source file back to its corresponding upstream source url, even when multiple upstream sources are combined together in the same unpack directory. This may be required for software composition analysis, license compliance, and detailed SBoM generation. This patch provides only the needed hooks in bb.fetch2 code and a dummy abstract class defining the API; users may load their own unpack tracer class by setting the BB_UNPACK_TRACER_CLASS config parameter. (Bitbake rev: 05051152cc42acc52bcf9af9a696f632fac4307f) Signed-off-by: Alberto Pianon <alberto@pianon.eu> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: hashserv: Add API to clean unused entriesJoshua Watt2023-10-093-1/+43
| | | | | | | | | | Adds an API to remove unused entries in the outhash database based on age and if they are referenced by any unihash (Bitbake rev: a169ac523d166c6cbba918b152a76782176c3e88) Signed-off-by: Joshua Watt <JPEWhacker@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: hashserv: Extend get_outhash API to optionally include unihashJoshua Watt2023-10-092-17/+32
| | | | | | | | | | | Extends the get_outhash API with a flag indicating whether to include the unihash in the output. This is means that the query doesn't require the unihash entry to be present to return a result (Bitbake rev: b8d6abfeb4a0765727a62b3d8d83276335c7c7d6) Signed-off-by: Joshua Watt <JPEWhacker@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: hashserv: Add remove APIJoshua Watt2023-10-093-0/+66
| | | | | | | | | | Adds a `remove` API to the client and server that can be used to remove hash equivalence entries that match a particular critera (Bitbake rev: 861d068b3a9fb5e91a01dbec54996a5a6f93ef29) Signed-off-by: Joshua Watt <JPEWhacker@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: selftest/fetch: Ensure top level directory timestamp doesn't break testRichard Purdie2023-10-061-5/+7
| | | | | | | | | | The infrastructure changes highlighed an issue where the top level directory mtime stamp isn't included in the tarballs. This isn't an issue the test is meant to check for so ignore it. (Bitbake rev: 5a1e5b8dc55d6bb4d93bac3492f8c43ff957e712) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toaster: Monitoring - implement Django logging systemAlassane Yattara2023-10-067-38/+198
| | | | | | (Bitbake rev: 2efb146480ee46c0463d9edb71bf1c03ce15bcf2) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toaster: update selenium version and code syntaxMarlon Rodriguez Garcia2023-10-0616-118/+156
| | | | | | | | | Updated selenium version to latest 4.13.0, changed selenum specific version syntax elements to accomplish test success (Bitbake rev: 868c88a249ef4b9fe5a891e76e25e054e4fcd994) Signed-off-by: Marlon Rodriguez Garcia <marlon.rodriguez-garcia@savoirfairelinux.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: bitbake: cooker: add a new function to retrieve task signaturesJulien Stephan2023-09-283-0/+45
| | | | | | | | | | | | adding a new command in cooker to compute and get task signatures this commit also add the associated command and event needed to get the signatures using tinfoil (Bitbake rev: 05c15162de90c41dad67e37a95ec9fdb440a7864) Signed-off-by: Julien Stephan <jstephan@baylibre.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: fetch2: Adds vscode devcontainer supportMatthias Schnelte2023-09-261-0/+1
| | | | | | | | | | | | | | | | Visual studio code is injecting a git credential helper into every dev container. This helper is forwarding the git credentials from the host into the container. In order for this helper to work the REMOTE_CONTAINERS_IPC needs to be available in the environment for all git operations that require authentication. (Bitbake rev: 612bdf09416ff96d08b22cf92b077516d23d0963) Signed-off-by: Matthias Schnelte <develop@schnelte.de> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: bitbake/lib: spawn server/worker using the current Python interpreterRoss Burton2023-09-262-3/+5
| | | | | | | | | | | | | | | | | The user may have invoked ./bin/bitbake using a different Python interpreter than whatever python3 is on $PATH (for example, explicitly using a different version). However, as the server and workers are spawned directly they'll use the hashbang and thus a different Python. We also ensure that argv[0] is set to sys.executable instead of 'bitbake-server' or 'bitbake-worker', so that sys.executable is set to the right value inside the child. Without this the server won't be able to start any workers. (Bitbake rev: b44d5d2a53d3082c8ce94e09c0cf833e33e25aec) Signed-off-by: Ross Burton <ross.burton@arm.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: tinfoil: Do not fail when logging is disabled and full config is usedPeter Kjellerstedt2023-09-261-1/+1
| | | | | | | | | | | | | | | | | | | | | | If Tinfoil is initialized with setup_logging = False and Tinfoil.prepare() is called with config_only = False, then it fails because self.localhandlers is only initialized when setup_logging = True. This is seen with, e.g., `bitbake-getvar -q -r busybox MACHINE`: Traceback (most recent call last): File ".../bitbake/bin/bitbake-getvar", line 41, in <module> tinfoil.prepare(quiet=2) File ".../bitbake/lib/bb/tinfoil.py", line 390, in prepare for handler in self.localhandlers: AttributeError: 'Tinfoil' object has no attribute 'localhandlers'. Did you mean: 'oldhandlers'? (Bitbake rev: 616101ddb630e2c9975022068b52a87c4cf647f6) Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: codeparser: Update debug variable referenceRichard Purdie2023-09-221-1/+1
| | | | | | | | | The code has changed and the debug message didn't work. Fix it. The output is still incredibly useful. (Bitbake rev: f1fa4bb3066e2bbaff0b69088ba5c6c6c597b93d) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: bitbake-worker/runqueue: Avoid unnecessary bytes object copiesEtienne Cordonnier2023-09-221-2/+2
| | | | | | | | | | | | | | | | | | declaring queue=b"" creates an object of types bytes(). bytes() is an immutable object, and therefore doing "self.queue = self.queue + r" creates a new object containing "self.queue" concatenated with "r". On my test setup, we are passing 180MB of data of "workerdata" to the bitbake-worker, so those copies significantly slow down the initialization of the bitbake-worker. Rather use bytearray() which a mutable type, and use extend() to avoid copies. In my test setup, byterray.extend() is 10.000 times faster than copying the queue, for a queue size of 180MB. (Bitbake rev: 2302b5316091dff189e6c3f546341b2274ed9d0a) Signed-off-by: Etienne Cordonnier <ecordonnier@snap.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: data: Add missing dependency handling of remove operatorInsu Park2023-09-202-0/+27
| | | | | | | | | | | | | | | | | A recipe variable handles its dependencies even on the "contains" variables within the "inline Python expressions" like bb.utils.filter(). And it also handles those in the append operator correctly, but the problem is that it does not so in the remove operator. Fix it by adding the missing dependencies every time the remove operator has been handled. Also add a test case to check if the override operators handle dependencies correctly. (Bitbake rev: b90520eedb1dbc7f6a3928d089fe74fafb864eb5) Signed-off-by: Insu Park <insu0.park@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: cooker: Drop unneeded flush callsRichard Purdie2023-09-201-3/+0
| | | | | | | | | | Since the flush calls have significant effects for bitbake timeout issues, drop the remaining ones from cooker. These aren't in as critical paths as the other issues but it makes sense to clean up. (Bitbake rev: dd682363341bae3b060e284d73f000813964dc05) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: server/process: Disable the flush() call in server loggingRichard Purdie2023-09-181-1/+2
| | | | | | | | | | | | | | | We've been chasing bitbake timeouts for a while and it was unclear where things were blocking on IO. It appears the flush() call in server logging can cause pauses up to minutes long on systems with slow (spinning) disks that are heavily loaded with IO. Since the flush() was added to aid debugging of other timing issues, we shouldn't need it now and it can be disabled. Leave a comment as a reminder of the pain this can cause. (Bitbake rev: afbc169e1490a86d6250969f780062c426eb4682) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: lib: Drop inotify support and replace with mtime checksRichard Purdie2023-09-186-148/+65
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | With the flush in serverlog() removed and a memory resident bitbake with a 60s timeout, the following could fail in strange ways: rm bitbake-cookerdaemon.log bitbake-layers add-layer ../meta-virtualization/ bitbake-layers add-layer ../meta-openembedded/meta-oe/ bitbake -m specifically that it might error adding meta-oe with an error related to meta-virt. This clearly shows that whilst bblayers.conf was modified, bitbake was not recognising that. This would fit with the random autobuilder issues seen when the serverlog flush() call was removed. The issue appears to be that you have no way to "sync()" the inotify events with the command stream coming over the socket. There is no way to know if there are changes in the IO queue which bitbake needs to wait for before proceeding with the next command. I did experiment with os.sync() and fsync on the inotify fd, however nothing addressed the issue. Since it is extremely important we have accurate cache data, the only realistic thing to do is to switch to stat() calls and check mtime. For bitbake commands, this is straightforward since we can revalidate the cache upon new connections/commands. For tinfoil this is problematic and we need to introduce and explict command "revalidateCaches" that the code can use to force bitbake to re-check it's cache validity. I've exposed this through tinfoil with a new "modified_files" function. So, this patch: a) drops inotify support within bitbake's cooker/server and switch to using mtime b) requires a new function call in tinfoil when metadata has been modified (Bitbake rev: da3ec3801bdb80180b3f1ac24edb27a698415ff7) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: fetch2: git: Use path_is_descendant() instead of path for repo checkJoshua Watt2023-09-141-9/+6
| | | | | | | | | | | | | | Using path prefixes to check if the git directory is a descendant of the clone directory can be easily confused with symlinkes and bind mounts, causing directories to be deleted unnecessarily. Instead, use bb.utils.path_is_descendant() which is immune to the these sorts of problems. (Bitbake rev: b4d7a0546630620480b7fee159b84c3506e941a2) Signed-off-by: Joshua Watt <JPEWhacker@gmail.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: utils: Add path_is_descendant()Joshua Watt2023-09-141-0/+23
| | | | | | | | | | | | Adds a utility that checks if one path is an descendant of another. This check uses os.path.samestat() to make it immune to symlinks and bind mounts. (Bitbake rev: c3ae45946886ee2049939dd5a205790657a7de32) Signed-off-by: Joshua Watt <JPEWhacker@gmail.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: bitbake: Update to 2.6.0 release series/versionRichard Purdie2023-09-101-1/+1
| | | | | | (Bitbake rev: 033896da8daaff69df3c2adb4ad5fee29121e831) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: server/process: Add more timing debugRichard Purdie2023-09-051-4/+9
| | | | | | | | | | It is helpful to have timestamps on the ping failures so that they can be matched against the bitbake logs. It is also useful to understand how long the server takes for form a reply verses when it is sent. (Bitbake rev: 65969a7a8f5ae22c230431d2db080eb187a27708) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: runqueue: show number of currently running bitbake threads when ↵Martin Jansa2023-09-051-1/+1
| | | | | | | | | | | | | | | | | | pressure changes * it might be a bit confusing as it shows number of threads before making the decision to start more tasks and also it can show only a few tasks running, but not because of pressure when there just aren't many tasks left or wait for their dependencies to be finished first * example output: NOTE: Pressure status changed to CPU: True, IO: None, Mem: None (CPU: 297589.5/200000.0, IO: 5522.2/None, Mem: 779.2/None) - using 7/8 bitbake threads NOTE: Pressure status changed to CPU: False, IO: None, Mem: None (CPU: 196381.2/200000.0, IO: 2667.9/None, Mem: 556.2/None) - using 2/8 bitbake threads (Bitbake rev: b0b114f31f20c5fcde31e6c308937ad4102dfe0a) Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: fetch2: git: Remove useless try..else clauseJoshua Watt2023-09-021-4/+4
| | | | | | | | | | There is no reason to have the else clause in this try block, as it can be moved into the try block, which is clearer. (Bitbake rev: 5625849e9327fc71a38eea00d4506f80abc11bc6) Signed-off-by: Joshua Watt <JPEWhacker@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: command: Avoid time intensive distractions for pingRichard Purdie2023-09-021-2/+5
| | | | | | | | | | | | | | | | We noticed some users were seeing very slow ping response times which caused 'server timeout' issues. There were some function calls in runCommand which could be slow such as the inotify callback processing. Mark up the ping command such that it doesn't need configuration information, it is allowed on a readonly server and specifically skip the inofity processing too since ping would never need that. This will hopefully resolve various ping timeout issues that were being reported. (Bitbake rev: 0fc821a22f2b49cbd336d9658d92942c0d733be1) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toaster: accommodate missing 'Image Name' value in buildinfohelperDavid Reyna2023-08-301-1/+12
| | | | | | | | | | | | | | The value "Image Name" in bitbake events was missing for certain builds. Update 'buildinfohelper' to extract the image name elsewhere in this circumstance and not crash. [YOCTO #13191] (Bitbake rev: 703792c48c818025163de9c2f35f6ac815500607) Signed-off-by: Kieran McNulty <Kieran.McNulty@windriver.com> Signed-off-by: David Reyna <David.Reyna@windriver.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toaster: import only used layersDavid Reyna2023-08-303-16/+16
| | | | | | | | | | | | | | | If you import a build directory, Toaster still adds openembedded-core, meta-poky and meta-yocto-bsp to the newly created project. Toaster should only be including in the project the layers that it imported. [YOCTO #13764] (Bitbake rev: e73c4d7685a3bd6b806a8f1a3600a3a86266f0b6) Signed-off-by: Kieran McNulty <Kieran.McNulty@windriver.com> Signed-off-by: David Reyna <David.Reyna@windriver.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toaster: Update to Django 4.2David Reyna2023-08-307-11/+12
| | | | | | | | | | | | | | Update Toaster to support Django 4.2, to match current hosts and to address CVEs. [YOCTO #15152] (Bitbake rev: 4f5b1f5bede402295bf4dfc8845fe2f38973e157) Signed-off-by: Kieran McNulty <Kieran.McNulty@windriver.com> Signed-off-by: David Reyna <David.Reyna@windriver.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: fetch2: git: Check if clone directory is a git repoJoshua Watt2023-08-301-1/+29
| | | | | | | | | | | | | | | | | If the clone target directory exists and is a valid git repo, but the git directory is not a child, it needs to be erased and re-cloned. One example of how this can happen is if a clone creates the directory, but then fails to actual clone and make it a git repository. This left-over directory can be particularly problematic if the download directory is a descent of some top layer git repo (e.g. the default with poky), as the commands that operate on the remote later will then mangle the layers git repository instead of the download git repo. (Bitbake rev: 2117db3146ce38bb4a6e2df40b6cd2ab11b514d5) Signed-off-by: Joshua Watt <JPEWhacker@gmail.com> Signed-off-by: Luca Ceresoli <luca.ceresoli@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: gitsm: tolerate git-lfs in submodulesRandolph Sapp2023-08-301-4/+7
| | | | | | | | | | | | | Explicitly pass down the lfs parameter from the source repo URI to submodules. Add smudge skip to final checkout phase to make sure we don't access the network here. Everything should have been fetched and setup from the lfs logic in the git fetcher at this point. (Bitbake rev: 1f8f21fe024b391d3a6670c64b839db0eee083c3) Signed-off-by: Randolph Sapp <rs@ti.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: Fix disk space monitoring on cephfsSamantha Jalabert2023-08-251-3/+4
| | | | | | | | | | | | Error occured while running bitbake on cephfs: WARNING: The free inode of path is running low (-0.001K left) ERROR: Immediately halt since the disk space monitor action is "HALT"! (Bitbake rev: 95088b447f563c5e1d9630e6acb32787b5ebed9c) Signed-off-by: Samantha Jalabert <samantha.jalabert@syslinbit.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: lib/bb: Add xattr and acl librariesJoshua Watt2023-08-242-0/+341
| | | | | | | | | | Adds Python wrappers around the xattr API from libc and the ACL API from libacl. (Bitbake rev: 538011256964d0253f8e3ab7ff1d6fd62c7c2f89) Signed-off-by: Joshua Watt <JPEWhacker@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: runqueue: show more pressure dataMartin Jansa2023-08-241-8/+10
| | | | | | | | | | | | | | * with latest bitbake I'm seeing very low number of bitbake tasks executed in parallel, probably due to pressure regulation show the values this is based on in the note * also simplify a bit by counting the pressure and exceeds signs only once (Bitbake rev: 21c17968f801e406ef7f328656587fadd9ef7f5d) Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: fetch2: Add new srcrev fetcher APIRichard Purdie2023-08-241-5/+24
| | | | | | | | | | | | | | Add new functions to return some of the get_srcrev data in new and different ways. We need two different forms of the data, one is a string to inject into PKGV, the other is the full revisions as a string to include in hash computations so that the hash changes when the input revisions change. This allows us to clean up and simplify the code in OE-Core and move the version information from PV to PKGV. (Bitbake rev: ae4dfa2a31c74c0c6c2b14cece822ed1f3d79723) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: siggen.py: Improve taskhash reproducibilityPaulo Neves2023-08-241-2/+8
| | | | | | | | | | | | | | | file checksums are part of the data checksummed to generate the task hash. The list of file checksums was not ordered. In this commit we make sure the task hash checksum takes a list of checksum data that is ordered by unique file name thus guaranteeing reproducibility. (Bitbake rev: 5293a1b36eeb89f57577cb709ec7f293909039a1) Signed-off-by: Paulo Neves <paulo@myneves.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>