summaryrefslogtreecommitdiffstats
path: root/scripts
AgeCommit message (Collapse)Author
5 daysdefault-distrovars: Have KERNEL_CONSOLE reference SERIAL_CONSOLESabelloni/master-next-successabelloni/master-nextJon Mason
Currently, KERNEL_CONSOLE has a default value of "ttyS0". However, Arm machines and those using virtio serial prefer to use "ttyAMA0" or "hvc0" (or something else). These are usually defined by the machine config file as SERIAL_CONSOLES, which has one or more entries. Take the first one of those instead of ttyS0, but default back to ttyS0 if nothing is set. Also, use this variable in the efi wic file instead of "ttyS0". This includes revisions suggested by Quentin Schulz. Signed-off-by: Jon Mason <jdmason@kudzu.us> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
8 daysscripts/install-buildtools: Update to 5.0.3Richard Purdie
Update to the 5.0.3 release of the 5.0 series for buildtools. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
13 daysoe-setup-build: Change how we get the SHELL valueRyan Eatmon
There are times that a user might not have SHELL set for some reason. We should default back to a known shell in the event that SHELL is not set. Signed-off-by: Ryan Eatmon <reatmon@ti.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-09-10runqemu: remove unused uid variableKonrad Weihmann
Signed-off-by: Konrad Weihmann <kweihmann@outlook.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-09-10runqemu: keep generating tap devicesKonrad Weihmann
in case there is no tap device the script tries to generate a new one. The new device is then unguarded for a moment, so the newly generated device could be acquired by a different instance or user, before it is locked to the instance with acquire_taplock. To fix that keep generating new tap devices in case the lock can't be acquired up to 5 times. If no tap device can be locked it fails in the existing error handling Signed-off-by: Konrad Weihmann <kweihmann@outlook.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-09-05oe-setup-build: Fix typoRyan Eatmon
A variable was mistyped in an error message resulting in this error: NameError: name 'tempalte_name' is not defined. Did you mean: 'template_name'? Signed-off-by: Ryan Eatmon <reatmon@ti.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-09-04devtool: remove obsolete SRCTREECOVEREDTASKS handlingAdrian Freihofer
devtool modify generates a bbappend for kernel recipes which contains: SRCTREECOVEREDTASKS="\ do_fetch \ do_kernel_checkout \ do_kernel_configcheck \ do_unpack \ do_validate_branches \ " do_patch[noexec] = "1" If the linux-yocto kernel is used, this is redundant. The linux-yocto.bbclass already does the same: linux-yocto sets SRCTREECOVEREDTASKS to SRCTREECOVEREDTASKS="\ do_fetch \ do_kernel_checkout \ do_kernel_configcheck \ do_patch \ do_unpack \ do_validate_branches \ " Also the do_patch[noexec] is redundant because the purpose of SRCTREECOVEREDTASKS is to delete these tasks if the externalsrc.bbclass is used. The default value of SRCTREECOVEREDTASKS initialized in externalsrc.bbclass is: SRCTREECOVEREDTASKS ?= "do_patch do_unpack do_fetch" This is fine for kernels which do not inherit the linux-yocto.bbclass. The code in devtool modify is redundant and therefore removed. Signed-off-by: Adrian Freihofer <adrian.freihofer@siemens.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-09-04devtool: modify kernel adds append twiceAdrian Freihofer
Drop the redundant generation of the do_configure:append section for the kernel. The same append is generated twice: if bb.data.inherits_class('kernel', rd): f.write('\ndo_configure:append() {\n' ' cp ${B}/.config ${S}/.config.baseline\n' ' ln -sfT ${B}/.config ${S}/.config.new\n' '}\n') KCONFIG_CONFIG_ENABLE_MENUCONFIG ??= "true" KCONFIG_CONFIG_ROOTDIR ??= "${B}" if rd.getVarFlag('do_menuconfig', 'task'): f.write('\ndo_configure:append() {\n' ' if [ ${@oe.types.boolean(d.getVar("KCONFIG_CONFIG_ENABLE_MENUCONFIG"))} = True ]; then\n' ' cp ${KCONFIG_CONFIG_ROOTDIR}/.config ${S}/.config.baseline\n' ' ln -sfT ${KCONFIG_CONFIG_ROOTDIR}/.config ${S}/.config.new\n' ' fi\n' '}\n') In contradiction to the first code block the second code block considers the variables which is correct. Signed-off-by: Adrian Freihofer <adrian.freihofer@siemens.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-08-30runqemu: add sd card deviceAlessandro Pecugi
runqemu currently only supports scsi, ide and virtio drive types. Implement QB_DRIVE_TYPE=/dev/mmcblk which adds an sdhci-pci device and mounts the rootfs file as an sd card. Signed-off-by: Alessandro Pecugi <alessandro.pecugi@seco.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-08-30runqemu: Fix detection of -serial parameterJörg Sommer
The pattern `-serial` matches also `-device usb-serial` and `virtio-serial` which are not the desired parameter. This causes the serial console ttyS1 is missing and Systemd's getty@ttyS1 fails constantly. Signed-off-by: Jörg Sommer <joerg.sommer@navimatix.de> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-08-29resulttool: Add support to create test report in JUnit XML formatClara Kowalsky
This adds the functionality to convert the results of the testresults.json file to a unit test report in JUnit XML format. The unit test report can be used in the CI/CD pipeline to display the test results. To use the resulttool scripts, first source oe environment, then run the entry point script to look for help. $ resulttool To generate the unit test report, execute the below $ resulttool junit <json_file> By default the unit test report is stored as <build_dir>/tmp/log/oeqa/junit.xml. Signed-off-by: Clara Kowalsky <clara.kowalsky@siemens.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-08-25cve-json-to-text: add scriptMarta Rybczynska
Add a script that converts the cve-check result from the JSON format to the TEXT format. Signed-off-by: Marta Rybczynska <marta.rybczynska@ygreky.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-08-23recipetool: create_npm: reuse license utilsEnguerrand de Ribaucourt
create_npm.py duplicated the logic for matching licenses from files and also finding them. This patch refactors the code to reuse the license utils. This will make the code more maintainable and also align both behaviors. For instance, some licenses weren't matched properly because the duplicate logic did not support the difference in format in the md5 tables for COMMON_LICENSE_DIR and licenses.csv. This is also faster since the license files were being read twice. The result is slightly more accurate since the utils have better implementations, and I was able to reuse the logic for the root PN package, as well as the base LICENSE variable. I chose to extract generate_common_licenses_chksums into create.py since it can be considered a general utility function to allow other recipetool creators to refer to COMMON_LICENSE_DIR files. I updated the wording in the code when appropriate. v3: - added commit - this replaces the commit that added all the COMMON_LICENSE_DIR md5 to licenses.csv Signed-off-by: Enguerrand de Ribaucourt <enguerrand.de-ribaucourt@savoirfairelinux.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-08-23recipetool: create: split guess_license functionEnguerrand de Ribaucourt
The npm recipetool handler redefines the license code the could be unified. In order to do this refactoring, extract the bits we'll need into separate functions. guess_license() is renamed to find_licenses() and is split into find_license_files() and match_licenses(). Signed-off-by: Enguerrand de Ribaucourt <enguerrand.de-ribaucourt@savoirfairelinux.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-08-23recipetool: create_npm: resolve licenses defined in package.jsonEnguerrand de Ribaucourt
Some npm packages do not copy the LICENSE or COPY file into their git repository. They'll instead simply use SPDX identifiers in their package.json. A fallback for those repositories attempted to match the README file to a license file instead, which had a very low probability of success. This commit replaces this fallback with parsing the package.json and looking for the license in COMMON_LICENSE_DIR. If the license is not found, "Unknown" will still be produced. This also generates "Unknown" for packages which had no README file, which could silently not appear in the generated recipe. The user was more likely to miss them. Co-authored-by: Tanguy Raufflet <tanguy.raufflet@savoirfairelinux.com> Signed-off-by: Tanguy Raufflet <tanguy.raufflet@savoirfairelinux.com> Signed-off-by: Enguerrand de Ribaucourt <enguerrand.de-ribaucourt@savoirfairelinux.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-08-05scripts/patchtest.README: cleanup, add selftest notesTrevor Gamblin
Make some minor fixes to grammar and layout, and add a short new section describing how to setup and use the patchtest selftests properly. Signed-off-by: Trevor Gamblin <tgamblin@baylibre.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-08-03devtool/upgrade: rename RECIPE_UPDATE_EXTRA_TASKS -> RECIPE_UPGRADE_EXTRA_TASKSAlexander Kanavin
'UPDATE' as a name is somewhat unfortunate as the variable is intended only for the 'devtool upgrade' operation and devtool also has an 'update-recipe' operation. Signed-off-by: Alexander Kanavin <alex@linutronix.de> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-07-23bootimg-partition: break out code to a common library.Marcus Folkesson
Break out the code that parse IMAGE_BOOT_FILES to a common library. Signed-off-by: Marcus Folkesson <marcus.folkesson@gmail.com> Reviewed-by: Quentin Schulz <quentin.schulz@cherry.de> Reviewed-by: Konrad Weihmann <kweihmann@outlook.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-07-22pybootchartgui.py: python 3.12+ regexesAdrian Freihofer
$ ./scripts/pybootchartgui/pybootchartgui.py ./scripts/pybootchartgui/pybootchartgui/parsing.py:460: SyntaxWarning: invalid escape sequence '\d' disk_regex_re = re.compile ('^([hsv]d.|mtdblock\d|mmcblk\d|cciss/c\d+d\d+.*)$') ./scripts/pybootchartgui/pybootchartgui/parsing.py:597: SyntaxWarning: invalid escape sequence '\[' timestamp_re = re.compile ("^\[\s*(\d+\.\d+)\s*]\s+(.*)$") ./scripts/pybootchartgui/pybootchartgui/parsing.py:598: SyntaxWarning: invalid escape sequence '\S' split_re = re.compile ("^(\S+)\s+([\S\+_-]+) (.*)$") ./scripts/pybootchartgui/pybootchartgui/parsing.py:643: SyntaxWarning: invalid escape sequence '\@' p = re.match ("\@ (\d+)", rest) ./scripts/pybootchartgui/pybootchartgui/draw.py:799: SyntaxWarning: invalid escape sequence '\s' ('system.cpu', 'CPU', lambda s: re.sub('model name\s*:\s*', '', s, 1)), Signed-off-by: Adrian Freihofer <adrian.freihofer@siemens.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-07-22devtool/upgrade: use PN instead of BPN for naming newly created upgraded recipesAlexander Kanavin
BPN isn't correct, as it is set to 'cmake' when 'cmake-native' is being upgraded (or libva for libva-initial etc.) Signed-off-by: Alexander Kanavin <alex@linutronix.de> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-07-22recipeutils/get_recipe_upgrade_status: group recipes when they need to be ↵Alexander Kanavin
upgraded together This will allow 'lockstep upgrades' of such recipes, improving success rates in automated version updating process. devtool check-upgrade-status now prints: These recipes need to be upgraded together { glib-2.0 2.80.2 2.80.4 Anuj Mittal <anuj.mittal@intel.com> glib-2.0-initial 2.80.2 2.80.4 Anuj Mittal <anuj.mittal@intel.com> } These recipes need to be upgraded together { util-linux 2.39.3 2.40.2 Chen Qi <Qi.Chen@windriver.com> util-linux-libuuid 2.39.3 2.40.2 Chen Qi <Qi.Chen@windriver.com> } These recipes need to be upgraded together { cmake 3.29.3 3.30.0 Unassigned <unassigned@yoctoproject.org> cmake-native 3.29.3 3.30.0 Unassigned <unassigned@yoctoproject.org> } etc. Signed-off-by: Alexander Kanavin <alex@linutronix.de> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-07-22lib/oe/recipeutils: return a dict in get_recipe_upgrade_status() instead of ↵Alexander Kanavin
a tuple Putting various things in a tuple is an anti-pattern of sorts, as the consumers have to unpack it into local variables for readability, or access items directly with indexes, which makes code pretty much unreadable. Signed-off-by: Alexander Kanavin <alex@linutronix.de> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-07-02scripts/pull-spdx-licenses.py: Add scriptJoshua Watt
Adds a script to pull the SPDX license data and update the license list JSON data, as well as update the license directory. Signed-off-by: Joshua Watt <JPEWhacker@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-06-18wic/partition.py: Set hash_seed for empty ext partitionAdithya Balakumar
Although setting hash_seed is handled for the rootfs plugin case, but this is missed when deploying an empty ext partition. Signed-off-by: Adithya Balakumar <adithya.balakumar@toshiba-tsip.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-06-13scripts/makefile-getvar: add script to get values from MakefilesRoss Burton
There is often a need to extract a value from a Makefile, and standard GNU Make doesn't provide a way to do this. This script lets you access values from Makefiles directly: $ makefile-getvar curl/tests/server/Makefile noinst_PROGRAMS getpart resolve rtspd sockfilt sws tftpd fake_ntlm socksd disabled mqttd Signed-off-by: Ross Burton <ross.burton@arm.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-06-13devtool upgrade: enable RECIPE_UPDATE_EXTRA_TASKSTim Orling
For some recipes, such as those that inherit cargo-update-recipe-crates, we need to run additional tasks once the new sources have been unpacked. Introduce a new variable RECIPE_UPDATE_EXTRA_TASKS which is a space- delimited list of tasks to run after the new sources have been unpacked in scripts/lib/devtool/upgrade.py ugrade() method. Signed-off-by: Tim Orling <tim.orling@konsulko.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-06-12install-buildtools: update base-url, release and installer versionAleksandar Nikolic
Update the following default values: - DEFAULT_BASE_URL (https instead of http) - DEFAULT_RELEASE (5.0.1) - DEFAULT_INSTALLER_VERSION (5.0.1) Signed-off-by: Aleksandar Nikolic <aleksandar.nikolic@zeiss.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-06-12install-buildtools: fix "test installation" stepAleksandar Nikolic
The "Test installation" step fails with some harmless error messages (see [1]). This can however make a user think that the buildtools have not been installed correctly. Two reasons for the error messages: - some envvars in the environment-setup-<arch>-pokysdk-linux file start and end with double quotes (e.g., PATH) and are as such written into python os.environ. This leads that their usage is not valid later when testing the installation. This patch removes the double quotes before writing, if they are present. - if installation directory (install_dir), given through the option --directory, is given as a relative path, checking if the path to a tool (e.g., gcc) in buildtools starts it will always fail. This patch converts the install_dir variable to an absolute path. [1] ERROR: Something went wrong: tar not found in ./build-tools ERROR: Something went wrong: installation failed Signed-off-by: Aleksandar Nikolic <aleksandar.nikolic@zeiss.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-06-12install-buildtools: remove md5 checksum validationAleksandar Nikolic
No need to validate with the md5 checksum, as the file is not even uploaded to the Yocto release webpage (the download never failed due to a wrong indentation of an else statement). For validation purposes, use the sha256 checksum only. Signed-off-by: Aleksandar Nikolic <aleksandar.nikolic@zeiss.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-06-06wic: bootimg-efi: fix error handlingEnrico Jörns
If we check for empty variables, it does not make sense to print their content in case they are empty. Additionally, the error message in the 'kernel' check attempted to print the wrong variable ('target') which was not even defined, yet. Also, raising WicError doesn't require an extra newline. Signed-off-by: Enrico Jörns <ejo@pengutronix.de> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-06-06wic: engine.py: use raw string for escape sequenceEnrico Jörns
Fixes: | poky/scripts/lib/wic/engine.py:362: SyntaxWarning: invalid escape sequence '\/' Signed-off-by: Enrico Jörns <ejo@pengutronix.de> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-05-31siteconfig: Drop siteconfig class/code/supportRichard Purdie
The siteconfig code was only used for 5 cache values. The complexity added to sstate to support this code was considerable and the runtime much more significant than any benefit the cache files would have added. Drop the support for this which was only used minimally for ncurses and zlib. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-05-24oe-build-perf-report: Add commit hash link to chart tooltipNinette Adhikari
Update tooltip to include the commit hash link to the poky repository Signed-off-by: Ninette Adhikari <ninette@thehoodiefirm.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-05-22recipetool/devtool: Update to work correctly with UNPACKDIRRichard Purdie
Tweak recipetool and devtool to correctly use UNPACKDIR. This allows some simplification of the code. This patch makes things basically work but there are likely deeper improvements that can be made now that WORKDIR != UNPACKDIR. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-05-21devtool: Drop oe-local-files and simplifyRichard Purdie
The only real reason for oe-local-files was to support S = WORKDIR. With changes to drop support for that, it makes sense to simplify devtool and to try and make both the code and the processes/workflows simpler. This patch drops support for S = WORKDIR, removes oe-local-files and then updates the test cases to match this new situation. At the code level, we assume we can always now track code changes using git and that things committed into git are handled as patches (as before) but delta against HEAD is saved as specific file level changes to the recipe. One test is disabled as it is no longer approproate. It is being keped until we can make WORKDIR != UNPACKDIR at which point it should be revisited. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-05-15devtool: modify: Catch git submodule error for go codeAnton Almqvist
One of the git submodule commands failed for source extracted for recipes using go.bbclass. The root cause is probably the path set up by go_do_unpack which makes S and gitroot not match. This patch does not fix the root problem, but at least it is no worse than before the git submodule support. The extracted source will still have two .git folders, one in S created by devtool and one in the go path which will contain the tru git history. [ YOCTO #15483 ] Signed-off-by: Anton Almqvist <antonal@axis.com> Signed-off-by: Ola x Nilsson <olani@axis.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-05-14oe-build-perf-report: Add dark modeNinette Adhikari
Update css to add dark mode when window prefers-color-scheme is dark. Signed-off-by: Ninette Adhikari <ninette@thehoodiefirm.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
2024-05-14oe-build-perf-report: Update chart tooltip and chart typeNinette Adhikari
- Update chart tooltip format to show value as size in MB for 'rootfs size' and timestamp for 'tmpdir size' - Add commit number to tooltip - Update chart type to 'step chart' instead of 'line chart' Signed-off-by: Ninette Adhikari <ninette@thehoodiefirm.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
2024-05-14oe-build-perf-report: Improve report styling and add descriptionsNinette Adhikari
Styling updates are added including page margin, labels for x and y axis, tooltip, and section descriptions. Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
2024-05-14oe-build-perf-report: Display more than 300 commits and date instead of ↵Ninette Adhikari
commit number - This commit updates measurement statistics data to include start_time so that time can be displayed instead of commit numbers on the chart. - It also updates default commit history length to 300. Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
2024-05-14oe-build-perf-report: Add apache echarts to make report interactiveNinette Adhikari
- Add Apache echarts (https://echarts.apache.org/en/index.html) library to create build performance charts. - Restructure data to time and value array format so that it can be used by echarts. - This commit also converts test duration to minutes to map against the values axis. - Zoom is added to the line charts. Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
2024-05-09devtool: ide-sdk: correct help typoAntonin Godard
Signed-off-by: Antonin Godard <antoningodard@pm.me> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-05-02classes/lib/scripts: Initial WORKDIR -> UNPACKDIR updatesRichard Purdie
Work through the initial issues I found where we need to change WORKDIR to UNPACKDIR. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-05-02scripts/oe-setup-build: write a build environment initialization one-liner ↵Alexander Kanavin
into the build directory With this, users no longer have to know where oe-init-build-env is relative to the build directory; that information is contained in the one liner and then it's possible to simply use that: . /path/to/build/init-build-env This will particularly help with initializing builds in unpacked build bundles, as users won't have to know where oe-init-build-env is in the bundle directory tree - similar to esdk initialization. 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>
2024-04-30oe-debuginfod: add option for data storageJoe Slater
Storing the data files under $HOME can be unreliable if debuginfod is used for several projects, especially if $HOME is shared between machines. We provide an option to save files under the project directory. The default behavior is unchanged. Signed-off-by: Joe Slater <joe.slater@windriver.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-04-25rootfs.py: Fix logger error message formatJohn Ripple
--_000_PH7PR17MB61307CB6690EC00DEB4ED9B39C0F2PH7PR17MB6130namp_ Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable This patch adds a missing "%s" format in a logger.error call. Without this addition the logger itself would error out and not print a useful message. Signed-off-by: John Ripple <john.ripple@keysight.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-04-25devtool: standard: update-recipe/finish: fix update localfile in another layerJulien Stephan
When trying to use devtool update-recipe/finish on another layer, with modified local file we have the following error: Traceback (most recent call last): File "<..>/poky/scripts/devtool", line 350, in <module> ret = main() ^^^^^^ File "<..>/poky/scripts/devtool", line 337, in main ret = args.func(args, config, basepath, workspace) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "<..>/poky/scripts/lib/devtool/standard.py", line 1968, in update_recipe updated, _, _ = _update_recipe(args.recipename, workspace, rd, args.mode, args.append, args.wildcard_version, args.no_remove, args.initial_rev, dry_run_outdir=dry_run_outdir, no_overrides=args.no_overrides, force_patch_refresh=args.force_patch_refresh) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "<..>/poky/scripts/lib/devtool/standard.py", line 1930, in _update_recipe updated, appendf, removed = _update_recipe_patch(recipename, workspace, srctree, crd, appendlayerdir, wildcard_version, no_remove, no_report_remove, initial_rev, dry_run_outdir, force_patch_refresh) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "<..>/poky/scripts/lib/devtool/standard.py", line 1747, in _update_recipe_patch patchdir = param.get('patchdir', ".") ^^^^^^^^^ AttributeError: 'str' object has no attribute 'get' This was introduced when adding support for git submodules. No selftest case exists to catch this, so a selftest will be added in another commit. Signed-off-by: Julien Stephan <jstephan@baylibre.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
2024-04-25devtool: sync: Fix Execution errorVincent Kriek
When executing devtool sync on a recipe that was extract with devtool extract earlier the following error occured: Traceback (most recent call last): [...] bb.process.ExecutionError: Execution of 'git fetch file:///home/vin/projects/poky/build/tmp/work/all-poky-linux/netbase/6.4/devtooltmp-figt1jmr/workdir/netbase devtool:devtool' failed with exit code 128: fatal: refusing to fetch into branch 'refs/heads/devtool' checked out at '/home/vin/projects/poky/build/netbase-src' Fix this by adding --update-head-ok and --force to git fetch so it will override the current head even if it is checked out and has changes. Possible existing changes in the devtool branch can be retrieved by checking out the devtool.bak branch Signed-off-by: Vincent Kriek <vincent@coelebs.dev> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
2024-04-23recipetool: Handle several go-import tags in go resolverSven Schwermer
When dynamically resolving go modules, the HTML page may contain several go-import meta tags. We must handle all and pick the correct one based on the module name. An example for such a behaviour is gonum.org/v1/gonum: <meta name="go-import" content="gonum.org/v1/exp git https://github.com/gonum/exp"> <meta name="go-import" content="gonum.org/v1/gonum git https://github.com/gonum/gonum"> <meta name="go-import" content="gonum.org/v1/hdf5 git https://github.com/gonum/hdf5"> <meta name="go-import" content="gonum.org/v1/netlib git https://github.com/gonum/netlib"> <meta name="go-import" content="gonum.org/v1/plot git https://github.com/gonum/plot"> <meta name="go-import" content="gonum.org/v1/tools git https://github.com/gonum/tools"> Signed-off-by: Sven Schwermer <sven.schwermer@disruptive-technologies.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
2024-04-23recipetool: Handle unclean response in go resolverSven Schwermer
It appears that some go modules repond with a 404 error when trying to resolve them dynamically. The response body may still contain the go-import meta tag. An example for such behaviour is gonum.org/v1/gonum. Signed-off-by: Sven Schwermer <sven.schwermer@disruptive-technologies.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>