summaryrefslogtreecommitdiffstats
path: root/scripts
Commit message (Collapse)AuthorAgeFilesLines
* scripts/scriptutils: silence warning about S not existing in emptysrcRoss Burton8 days1-1/+4
| | | | | | | | | | | | | This function creates an emptysrc recipe, but S points to a directory that doesn't exist and bitbake warns about this. As it is under the temporary working directory which will be deleted later, create it to silence the warning. (From OE-Core rev: 103cc8fa8a09b8e1fadeb0c8dde5f99eb9c24243) Signed-off-by: Ross Burton <ross.burton@arm.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* recipetool/create: show more of the license path when it can't be identifiedRoss Burton8 days1-1/+1
| | | | | | | | | | | | | | If there are multiple source trees in a project (incredibly common with go-mod, for example) then the relative path of the LICENSE file from the source tree could just be "LICENSE", which is not useful when there are tens of files across the recipe with that name. Show the parent directory name too, to clarify which file is unknown. (From OE-Core rev: 9679f4055ad5a077c6b06aa6125cee4e8fa93471) Signed-off-by: Ross Burton <ross.burton@arm.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* wic bootimg-efi.py: fail build if no binaries installedMikko Rapeli10 days1-0/+7
| | | | | | | | | | | | | With systemd-boot, some builds included correct EFI bootloader binaries and some not. Thus some builds booted and some not. Check that some boot binary was installed so that build fails if none were installed. (From OE-Core rev: 93fad905b9d5f5cee89408901e4be1630955ab75) Signed-off-by: Mikko Rapeli <mikko.rapeli@linaro.org> Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* buildstats-diff: find last two buildstats files if none are specifiedRoss Burton2025-05-191-2/+24
| | | | | | | | | | | If no buildstats directories are specified, then find the last two runs under BUILDDIR. (From OE-Core rev: 6ed0a13ae68a5e41a43ebd97d9ed154080a7101b) 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.conf/pseudo: Switch from exclusion list to inclusion listRichard Purdie2025-05-121-4/+4
| | | | | | | | | | | | | | | | | Currently, pseudo tracks all files referenced within its presence unless they're listed in an exclusion list. The exclusion list has grown to be fairly unwieldy. This patch swaps PSEUDO_IGNORE_PATHS for PSEUDO_INCLUDE_PATHS which in theory should be easier and more explicit to maintain. This change does drop many directories from pseudo coverage including /home and /tmp. There may be adapatations needed for recipes/classes using pseudo in specific ways. (From OE-Core rev: 2502da81709f25de499277b28d33c915638c45f6) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* scripts/install-buildtools: Update to 5.2Aleksandar Nikolic2025-05-121-2/+2
| | | | | | | | | Update to the 5.2 release of the 5.2 series for buildtools (From OE-Core rev: 4b81795023dd7c9786ad30b484b48d21ad09f811) Signed-off-by: Aleksandar Nikolic <aleksandar.nikolic@zeiss.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* send-error-report: make output align with original design when debug disabledChangqing Li2025-05-081-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | First, it is better to output the error report web link by default when the report is uploaded successfully like before. This is useful, user can find the detail the log info from the return link. Yocto Autobuilder also benifit from this return link. Second, why don't set level to logging.INFO to make the error report web link outputed? Because "-j" option want to "Return the result in json format, silences all other output", So "INFO:" added by logging system is not wanted, so use print directly. Example output: Without "-j": Preparing to send errors to: http://x.x.x.x:8000 Your entry can be found here: http://x.x.x.x:8000/Errors/Build/25/ With "-j": {"build_id": 27, "build_url": "http://x.x.x.x:8000/Errors/Build/27/", "failures": [{"id": 26, "url": "http://x.x.x.x:8000/Errors/Details/26/"}], "num_similar_errors": 20, "similar_errors_url": "http://x.x.x.x:8000/Errors/SimilarTo/26/"} (From OE-Core rev: c45aca4592544d867f49055426e68dd338d4adcc) Signed-off-by: Changqing Li <changqing.li@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* scripts/cve-json-to-text.py: fix missing -o optionAntonin Godard2025-04-291-0/+2
| | | | | | | | | | | Add the missing condition on '-o', which allows changing the output path. (From OE-Core rev: f9a176a8a36524a68a3ff98f157357303093382f) 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>
* scripts/cve-json-to-text.py: remove unused optionsAntonin Godard2025-04-291-5/+2
| | | | | | | | | | | Remove --all and -a and they are unused in the file. Remove long options as they don't actually exist when using getopt. (From OE-Core rev: c2be1a9197b5e261051fe075edca000dc70ee2fe) 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>
* efi-uki-bootdisk.wks.in: reduce ESP boot partition sizeMikko Rapeli2025-04-291-1/+1
| | | | | | | | | | | | | | | This sample ESP partition is used mostly for testing purposes. It's not expected to host multiple UKI binaries for example. Thus reduce size from 500 Mb to size of needed boot binaries 72 Mb plus around 20% free space 88Mb. This is enough for all test cases and fits to RAM when using PMEM memory based block device on real target boards with just a few Gb of RAM. (From OE-Core rev: 7a4b90ef3815aa227236ec9b95540233db8ac3b3) Signed-off-by: Mikko Rapeli <mikko.rapeli@linaro.org> Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* send-error-report: Apply v2 of the patchRichard Purdie2025-04-251-11/+6
| | | | | | | | | The v1 of the patch was merged, update to v2. (From OE-Core rev: 54c84be6e4643396b47b7d8cca803f914455ade9) Signed-off-by: Thomas Perrot <thomas.perrot@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* pybootchartgui: visualize /proc/net/dev network stats in graphsOlga Denisova2025-04-243-0/+76
| | | | | | | | | | | | | This patch adds support for parsing and visualizing network interface statistics from /proc/net/dev in pybootchartgui. It introduces a new NetSample class to hold per-interface metrics, including received/transmitted bytes and their deltas over time. The data is drawn using line and box charts in draw.py and helps to monitor network usage during the boot process for each interface individually. (From OE-Core rev: 9e640022c83a627bd05c23b66b658bd644b2f0d7) Signed-off-by: denisova-ok <denisova.olga.k@yandex.ru> Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* send-error-report: improve debuggingThomas Perrot2025-04-201-3/+25
| | | | | | | | | | | - add a debug mode - print the request and the response when an error occurs. (From OE-Core rev: 71635a36c03ea5ac8dcc678d7991676f4b9d0ff5) Signed-off-by: Thomas Perrot <thomas.perrot@bootlin.com> Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* send-error-report: Drop --no-sslJaeyoon Jung2025-04-171-17/+7
| | | | | | | | | | | A server name from -s or --server flag needs to contain a leading string for URL scheme either http:// or https://. --no-ssl flag is dropped as it is no longer needed. (From OE-Core rev: fde39d4587d1a6f2390fa8f6f0e6771c5f145921) Signed-off-by: Jaeyoon Jung <jaeyoon.jung@lge.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* send-error-report: Respect URL scheme in server name if existsJaeyoon Jung2025-04-171-7/+23
| | | | | | | | | | | | If a server name with -s or --server flag contains the URL scheme such as http:// or https:// it takes precedence over --no-ssl flag. This will allow us to use the same command line option for different servers with http:// and https:// schemes mixed. (From OE-Core rev: e8ce179cf5d82b41bdf7f05013c1b6d58001c336) Signed-off-by: Jaeyoon Jung <jaeyoon.jung@lge.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* wic: do not ignore ROOTFS_SIZE if the rootfs is modifiedTrevor Woerner2025-04-171-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If the *.wks file contains a "--source rootfs" then lib/wic/plugins/source/rootfs.py will be invoked to generate (what is assumed to be) the rootfs partition. If the rootfs partition needs to be tweaked or modified, the "rootfs.py" plugin will make a copy of the filesystem and then perform the changes on that copy. In other words, if the "--source rootfs" line of the *.wks file also contains any of: --exclude-path --include-path --change-directory --use-label (i.e. modify etc/fstab) then the rootfs will be copied first, then the copy is modified. If, for example, the unmodified IMAGE_ROOTFS is: .../tmp/work/qemuarm64_secureboot-oe-linux/core-image-base/1.0/rootfs then the copy would be made at: .../tmp/work/qemuarm64_secureboot-oe-linux/core-image-base/1.0/tmp-wic/rootfs${LINENO} where ${LINENO} is the line number where this "--source rootfs" line appears in the *wks file. When it comes time to make an actual partition of a specific filesystem type, lib/wic/partition.py::prepare_rootfs() is called. It is in this function that wic figures out if any extra size needs to be added. The bitbake variable used to specify the ultimate rootfs size is ROOTFS_SIZE, and since this variable is only valid for the rootfs (and not any other partitions), the code also verifies that the partition being created is ${IMAGE_ROOTFS}: rsize_bb = get_bitbake_var('ROOTFS_SIZE') rdir = get_bitbake_var('IMAGE_ROOTFS') if rsize_bb and rdir == rootfs_dir: <use rsize_bb> else: <calculate the partition size using "du -ks $p"> As noted above, if lib/wic/plugins/source/rootfs.py has made a copy, then the "rdir == rootfs_dir" clause will fail and the code will assume this partition is not a rootfs since the strings do not compare equal. Therefore, in order to determine if this is a rootfs, retain the existing "rdir == rootfs_dir" comparison, but also add another one to check whether or not this is a wic-generated copy of the rootfs. STEPS TO REPRODUCE: - start with the following *wks file: bootloader --ptable gpt part /boot --size=100M --active --fstype=ext4 --label boot part / --source rootfs --fstype=ext4 --label root - and the following extra variable in conf/local.conf: IMAGE_ROOTFS_EXTRA_SPACE = "500000" - build an image - run it in qemu $ runqemu slirp nographic serial - verify the root partition has extra space: root@qemuarm64-secureboot:~# df -h Filesystem Size Used Available Use% Mounted on /dev/root 721.5M 67.4M 600.6M 10% / devtmpfs 477.7M 0 477.7M 0% /dev tmpfs 40.0K 0 40.0K 0% /mnt tmpfs 489.3M 92.0K 489.2M 0% /run tmpfs 489.3M 68.0K 489.2M 0% /var/volatile /dev/vda1 120.4M 19.9M 91.4M 18% /boot - modify the "/" line of the *wks file to be: part / --source rootfs --fstype=ext4 --label root --exclude-path boot/ - build image when it fails: root@qemuarm64-secureboot:~# df -h Filesystem Size Used Available Use% Mounted on /dev/root 73.4M 41.9M 25.8M 62% / devtmpfs 477.7M 0 477.7M 0% /dev tmpfs 40.0K 0 40.0K 0% /mnt tmpfs 489.3M 92.0K 489.2M 0% /run tmpfs 489.3M 68.0K 489.2M 0% /var/volatile /dev/vda1 120.4M 19.9M 91.4M 18% /boot after this fix: root@qemuarm64-secureboot:~# df -h Filesystem Size Used Available Use% Mounted on /dev/root 721.5M 47.4M 620.6M 7% / devtmpfs 477.7M 0 477.7M 0% /dev tmpfs 40.0K 0 40.0K 0% /mnt tmpfs 489.3M 92.0K 489.2M 0% /run tmpfs 489.3M 68.0K 489.2M 0% /var/volatile /dev/vda1 120.4M 19.9M 91.4M 18% /boot Doing the math we see that the /boot partition is ~20MB and in the first image the / partition contains this ~20MB in addition to the rest of the rootfs. This ~20MB is completely wasted since it is used in the / partition, but then the /boot partition is mounted on top of it, making the /boot directory of / inaccessible. After the fix the / partition has an additional ~20MB since the /boot portion is excluded. Fixes [YOCTO #15555] (From OE-Core rev: 1c690aa046ebca13d7b29de50d42b5d8a4a8486c) Signed-off-by: Trevor Woerner <twoerner@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* runqemu: also set GBM_BACKENDS_PATHDmitry Baryshkov2025-04-111-5/+8
| | | | | | | | | | | | | Newer Mesa dynamically loads GBM backends from the libdir. This is going to cause issues with running native QEMU as the libdir (mesa-native/recipes-sysroot-native) will not exist when it's executed. Follow the LIBGL_DRIVERS_PATH approach and specify a path to GBM backends via GBM_BACKENDS_PATH environment variable. (From OE-Core rev: 91797b077f5fe9f13319d1633f491bad2c6f7560) Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* yocto-check-layer: expect success for test_patches_upstream_statusGyorgy Sarvari2025-04-101-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | When the Upstream-Status tag for patches became mandatory, the test verifying the presence of this tag was made to not fail the layer compatibility tests, in order to allow time for the maintainers to adapt to this change. This was two years before this commit. Since then the layer compatibility script shows a cryptic "unexpected success" result for this test, which of course becomes clear once one checks the code and commit history, but it is a nuisance still, which shouldn't be needed to understand the result. This commit removes the the related annotation so the compatibility check will pass or fail with a clear message - in hope that 2 years was enough for active maintainers to adjust their patches. (From OE-Core rev: 64175a41f48fce69a5205000865cc3b8648476f7) Signed-off-by: Gyorgy Sarvari <skandigraun@gmail.com> Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* sstate-cache-management: add dry-run argumentJose Quaresma2025-04-031-0/+7
| | | | | | | (From OE-Core rev: 98be0514b9dcb77b7520f5b6a9edef7a7a7859ac) Signed-off-by: Jose Quaresma <jose.quaresma@foundries.io> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* buildperf: Tweak tooltip positioning for usabilityRichard Purdie2025-03-281-2/+2
| | | | | | | | | | The tooltop contains a key hyperlink to make the graphs usable. Make it easier to click on the link by removing the space between the data point and the tooltip. (From OE-Core rev: a090076e42eb9b41da55fc01ccbbb68f9b8a8cb8) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* buildperf: Avoid step usage in performance line graphsRichard Purdie2025-03-281-2/+0
| | | | | | | | | | | | | When using steps in the line chart, you have to look long and hard to understand if the data is the lower or upper point on the step. Whilst not as pretty, the sloped line charts are more accurate so switch to those as the transition points are important and the main reason for the charts. (From OE-Core rev: 60cc8cf421c0b04f774fd42a415f275ad457bcdf) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* scripts/devtool: sort the recipes that need to be upgraded togetherRoss Burton2025-03-281-1/+1
| | | | | | | | | | Sort the list of recipes for a more visually pleasing display, and to make it easier to compare output from multiple runs. (From OE-Core rev: 561e1996d655147199dc1601b5cba0512042de6b) Signed-off-by: Ross Burton <ross.burton@arm.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* b4-wrapper-poky.py: output errors to stderrQuentin Schulz2025-03-251-4/+6
| | | | | | | | | | | | | | | | | | Print error messages to stderr instead of stdout. The commands run as part of send-auto-cc-cmd and send-auto-to-cmd b4 commands will make b4 raise an Exception if they return a non-zero return code and it will only print the content of stderr before that. Because print defaults to stdout, b4 would raise the exception and not tell the user why. This commit should now provide a hint to the user about what went wrong. Reported-by: Khem Raj <raj.khem@gmail.com> (From OE-Core rev: 225990c55a5cbf8498e2aa775e6406c27a4c0ea7) Signed-off-by: Quentin Schulz <quentin.schulz@cherry.de> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* devtool: reset: Escape command line input used in regular expressionPeter Kjellerstedt2025-03-201-1/+1
| | | | | | | | | | | | | | | | | | | Running, e.g., `devtool reset sdbus-c++` would result in the following error: re.error: multiple repeat at position 35 This was due to the ++ in the recipe name, which would be treated as an incorrect regular expression in _reset(). Use re.escape() to make sure all characters in the recipe name are treated literally. (From OE-Core rev: 6e73bd9b3e6d529752db93879f2c0ed53873dd1a) 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>
* devtool: Do not create annotated tags if tag.gpgSign is setPeter Kjellerstedt2025-03-192-5/+5
| | | | | | | | | | | | | If tag.gpgSign is configured in Git's configuration, then creating the devtool-base tag will fail (if Git's core.editor is not configured) or it will hang (when trying to open the editor). This is beacause tag.gpgSign causes git tag to create annotated tags. To avoid this, specify --no-sign as argument to git tag. (From OE-Core rev: f96e955b29aad6a9e0b20f8e9a4987ace3808c91) Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* scripts: Add clean-hashserver-database scriptAlexandre Marques2025-03-181-0/+77
| | | | | | | | | | | | | | | | | | | | | | | | | Auxiliary script to clean the hashserver database based on the files available in the sstate directory. It makes used of the new "hashclient gc-mark-stream" command to mark all sstate relevant hashes as "alive" and removes everything else from the database. Usage example: ``` ./scripts/clean-hashserver-database \ --sstate-dir ~/build/sstate-cache \ --hashclient ./bitbake/bin/bitabke-hashclient \ --hashserver-address "ws://localhost:8688/ws" \ --mark "alive" \ --threshold-age 60 \ --clean-db ``` (From OE-Core rev: f6737c762ac11f7653a64fac58428428c4222d0f) Signed-off-by: Alexander Marques <c137.marques@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* scripts/install-buildtools: write download URLs to files for traceabilityAlexander Kanavin2025-03-171-3/+7
| | | | | | | | | | | | | | | | | | | | | | | | This extends the previous commit, so that download URLs are preserved in addition to actual artefacts. By default it's all written to a temporary directory and erased together with artefacts, but users can choose to preserve both: $ install-buildtools -D --downloads-directory=. ... $ ls -1 buildtools_url checksum_url x86_64-buildtools-extended-nativesdk-standalone-5.1.2.sh x86_64-buildtools-extended-nativesdk-standalone-5.1.2.sh.sha256sum Additionally, rename check_url variable into checksum_url as it's a better name. (From OE-Core rev: 76748d27fd5088971259d08fdeae5c86a054452b) Signed-off-by: Alexander Kanavin <alex@linutronix.de> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* scripts/install-buildtools: add an option to specify where downloads goAlexander Kanavin2025-03-171-4/+9
| | | | | | | | | | | | | | | | | | | | | By default the script puts everything it downloads into a temporary directory and erases it after unpacking and installing the buildtools. This isn't great for traceability and reproducibility of builds (being able to see what was downloaded exactly, and being able to reproduce setting up a build, especially if the buildtools download location isn't available for whatever reason). This commit adds an option to download items into a specified directory and keep them there. I would particularly like to use it with bitbake-setup, where an optional feature to install the buildtools (exact implementation details tbd) would ensure the tarball remains available on local disk. (From OE-Core rev: fc8cedd899f7e5d06215a71808dd0827ccdcf849) Signed-off-by: Alexander Kanavin <alex@linutronix.de> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* patchtest: Fix minor README typoSofiane HAMAM2025-03-131-1/+1
| | | | | | | | | | Fix minor typo in patchtest.README. (From OE-Core rev: a0531c99b9aa328f28904ffdad8883d5e739436a) Signed-off-by: Sofiane HAMAM <sofiane.hamam@smile.fr> Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oe-selftest: drop redundant importsAdrian Freihofer2025-03-111-2/+0
| | | | | | | (From OE-Core rev: 95e26e937b37c02646c2481915ddba616fe754ba) Signed-off-by: Adrian Freihofer <adrian.freihofer@siemens.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* runqemu: Set target to rootfs when target is emptyRobert Yang2025-02-251-0/+3
| | | | | | | | | | | | Fixed: $ runqemu qemux86-64 core-image-minimal runqemu - ERROR - IMAGE_LINK_NAME wasn't set to find corresponding .qemuboot.conf file (From OE-Core rev: 992d6075fbb4e8eb82920a477fcc38b3c0dc8cd5) Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* scripts/install-buildtools: Update to 5.1.2Aleksandar Nikolic2025-02-181-2/+2
| | | | | | | | | Update to the 5.1.2 release of the 5.1 series for buildtools. (From OE-Core rev: 6766bce806a7e4fd62f6666db731eefc1b98c5ff) Signed-off-by: Aleksandar Nikolic <aleksandar.nikolic@zeiss.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* scripts/contrib: Add oe-image-files-spdx scriptJoshua Watt2025-02-186-0/+143
| | | | | | | | | | | | | | | Adds a template for a python project that processes the SPDX 3.0.1 output from a build and lists all the files on the root file system with their checksums This is intended to be an example to show how to deal with the SPDX data to do common tasks. (From OE-Core rev: 3d9c5588ce6181b519810e3378b55826ffcaee49) 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>
* script/relocate_sdk.py: check dynamic loader arch before relocating interpreterHongxu Jia2025-02-111-1/+31
| | | | | | | | | | | | | | While multiple dynamic loader existed, in order to make executable file is interpreted by the expected dynamic loader, relocating interpreter only if the new dynamic loader and executable file have the same arch [ YOCTO #15722 ] (From OE-Core rev: 0c1f2bf3d8e31e66d28aaa81a7c1658f160bb79e) Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com> Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oe-build-perf-report: Use commit_time if availableRichard Purdie2025-02-111-1/+5
| | | | | | | | | | | Currently, the perf report charts use start_time which is when the build is run. If running builds for commits in the past, this is inaccurate so switch to using the recently added commit_time if the field is present. Over time, the reports will switch to using the more accurate values. (From OE-Core rev: 8c22efd444b0b1486c43f01b41cba891a47c7520) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* b4-wrapper-poky.py: send changes to .b4-config to the poky mailing listQuentin Schulz2025-02-101-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | Both OE-Core and poky git repos have a .b4-config, both at the same location and both different. Therefore, changes made to .b4-config for OE-Core need to be sent to the OE-Core mailing list and changes made to .b4-config for poky sent to the poky mailing list. Changes made to OE-Core's .b4-config can only be made from a vanilla OE-Core git repo, not from poky git repo. With the current content of OE-Core's .b4-config, b4-wrapper-poky.py script is NOT called to figure out where to send patches, b4 gets it from the hardcoded value in send-series-to. Thus, we can say that if b4-wrapper-poky.py detects changes for .b4-config, those changes are for poky since this script wouldn't be run by b4 outside of poky git repo. (From OE-Core rev: 1006712027812326fdeade2ab539b42bdf5b10e6) Signed-off-by: Quentin Schulz <quentin.schulz@cherry.de> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* wic: bootimg-efi: Support + symbol in filenamesIgor Opaniuk2025-02-101-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | Allow the '+' symbol as a valid character in filenames listed in the IMAGE_EFI_BOOT_FILES variable. The '+' symbol might be used to support boot counting for boot entries, as described in the UAPI Boot Loader Specification [1]: The boot counting data is stored in the name of the boot loader entry. A boot loader entry file name may contain a plus (+) followed by a number. This may optionally be followed by a minus (-) followed by a second number. The dot (.) and file name suffix (conf or efi) must immediately follow. Boot counting is enabled for entries which match this pattern. Example: IMAGE_EFI_BOOT_FILES:append = " entry.conf;loader/entries/entry+3.conf" [1] https://uapi-group.org/specifications/specs/boot_loader_specification/#boot-counting (From OE-Core rev: 3f25822281eb9423ff86105eaebb0bed48663648) Signed-off-by: Igor Opaniuk <igor.opaniuk@foundries.io> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* scripts/buildperf: Add chart tabs for commit count/timeNinette Adhikari2025-02-092-23/+156
| | | | | | | | | | | | | | | | | We triggered a test of an older revision to narrow down when performance changed. The issue is that git's timestamps are granular to 1s. We'll usually merge a set of commits at the same time so they will all have the same timestamp for a block of them. This means that even if we use the commit date, all the points can't be distinguished on the graph. The author date doesn't work either as the commits are not merged in author date order. To solve this this patch adds the commit_count chart as a separate tab next to the start_time chart (From OE-Core rev: b263edd33f6c895238d81ef148c0445fcd0aa268) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* scripts: add b4-wrapper for pokyQuentin Schulz2025-02-061-0/+178
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | poky is a combo-layer containing BitBake, OpenEmbedded-Core and Yocto Documentation source code into one big repo. It is not uncommon to have people develop patches for either of those projects from a poky git repo. However, it is unlikely those patches are to be sent to the poky mailing list as very few files contained in the poky git repo actually are poky-specific. So we need a way to identify to which mailing list a patch is destined to be sent. Additionally, because the source code in openembedded-core is merged/imported at the root of the git repo of poky, its .b4-config introduced in the previous commit will be used if not overridden (which will be done in a separate commit specific to the poky git repo). We need to provide a different .b4-config in poky. Therefore, this wrapper is used to identify automatically which mailing list a patch series needs to be sent to (via b4 prep --auto-to-cc) and does some additional checks (via b4 prep --check) such as making sure a patch doesn't modify two different projects at the same time or that multiple projects are modified by different patches in the same patch series. This wrapper script is meant to be used by poky's .b4-config. Ideally the b4 prep --check part could be offloaded to `patchtest` once it supports running on source different from OE-Core. Note that b4 makes sure that an address doesn't appear twice in the recipient list. There's also no priority in the type of recipient list, so if the address appears first in Cc and then in To, only the Cc will be added. The opposite is true as well. (From OE-Core rev: a1d629a0823cf724bda607ef8d88ee4f722c3a08) Signed-off-by: Quentin Schulz <quentin.schulz@cherry.de> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* licenses: Map SGIv1 to SGI-OpenGLBastian Germann2025-02-051-1/+1
| | | | | | | | | | SGI-1 is not a SPDX license identifier. However, the SGI-1 license has the same license text as SGI-OpenGL. Map the old SGIv1 name to SGI-OpenGL. (From OE-Core rev: e97a9c3c86a8fe27a26ad69174ba50e5228846e5) Signed-off-by: Bastian Germann <bage@debian.org> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* devtool: standard: simplify get_staging_kverChris Laplante2025-02-011-8/+6
| | | | | | | | | | | The goal is to make this more Pythonic, as it was a little cryptic the first time I looked at it. (From OE-Core rev: 80285b0f9b716ebad87a2feb08f12f87d70c27e3) 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>
* devtool: standard: fix unbound variable usageChris Laplante2025-02-011-2/+7
| | | | | | | | (From OE-Core rev: 90efa31f36eaea910b979c128da719e1ae61e00d) 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>
* devtool: standard: fix typo in variableChris Laplante2025-02-011-1/+1
| | | | | | | | (From OE-Core rev: 9b24dae60573c5e798f1a2f49338f3e4ecbe8859) 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>
* devtool: standard: cleanup imports; stop relying on transitive bb importsChris Laplante2025-02-012-18/+24
| | | | | | | | (From OE-Core rev: 8457e24f60a9a84e0f1cfc4a28a39989534fa7de) 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>
* devtool: ide-sdk remove the plugin from eSDK installerAdrian Freihofer2025-01-201-0/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The ide-sdk command bootstraps the SDK from the bitbake environment before the IDE configuration is generated. In the case of the eSDK installer, the bootstrapping is performed during the installation of the eSDK installer. Running the ide-sdk plugin from an eSDK installer based setup would require skipping the bootstrapping and probably taking some other differences into account when generating the IDE configurations. This would be possible. But it will probably never be implemented, as running devtool ide-sdk directly from the bitbake environment is much more flexible. Also, some of the recent improvements that have made it into the core have the potential to make the eSDK installer obsolete at some point in the future: - bitbake-layers create-layers-setup replicates the layers - bitbake-config-build replicates the build configuration - The new sstate mirror features replicate the sstate - bblock locks the sstate more flexible than the eSDK installer - devtool ide-sdk bootstraps the SDK directly from the bitbake environment. The same environment-setup... file is provided with --mode=shared. The devtool modify based workflow is supported since always by devtool and also the default --mode of devtool ide-sdk. These functions essentially cover what the eSDK installer does without a need for the current implementation of the eSDK installer and the populate_sdk_ext, which is hard to maintain and takes a lot of time to build. This means that instead of making the ide-sdk plugin compatible with the eSDK installer, we should rather replace the current implementation of the eSDK installer and populate_sdk_ext with an implementation that can replicate a normal bitbake environment in a convenient way where the ide-sdk plugin also just works without additional complexity. (From OE-Core rev: 177aa72b37f2061ff3311ec5dbb33aa56a5ba006) Signed-off-by: Adrian Freihofer <adrian.freihofer@siemens.com> Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* devtool: build-sdk remove unused importsAdrian Freihofer2025-01-201-7/+0
| | | | | | | | | | These imports are not needed. (From OE-Core rev: c0e9e35843004aaac5bdcc12fa1f6bf8d2da0abb) Signed-off-by: Adrian Freihofer <adrian.freihofer@siemens.com> Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* devtool: remove unused 'config' param from '_create_workspace' methodChris Laplante2025-01-201-4/+4
| | | | | | | | (From OE-Core rev: cc64a0c645338b5b2a5955951570e47c014f66ea) 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>
* devtool: misc cleanupsChris Laplante2025-01-201-3/+5
| | | | | | | | | | | | 1. Bad None comparison 2. Reliance on transitive includes in bb 3. Unbound 'ret' variable (From OE-Core rev: 0966d04c740f11da41c342a2a2d160d9ec5f5d70) 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>
* devtool: un-globalize 'plugins' variableChris Laplante2025-01-201-2/+1
| | | | | | | | | | It never had to be a global anyway (From OE-Core rev: 2d5557f4f5d228e94bc7a55ae5fd72b70b5c93e4) 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>
* devtool: un-globalize 'config' variableChris Laplante2025-01-201-12/+8
| | | | | | | | | | 'read_workspace' can now access it via the 'context' that's passed in (From OE-Core rev: bfc525f6fdc8990b312123ac22d93118322b4e34) 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>