summaryrefslogtreecommitdiff
path: root/tools
AgeCommit message (Collapse)Author
2023-07-24bulidman: Move toolchain handling to a functionSimon Glass
Move the code for dealing with toolchains out into its own function, to reduce the size of the main function. Signed-off-by: Simon Glass <[email protected]>
2023-07-24buildman: Move Boards-object code into a functionSimon Glass
Move the code which obtains a Boards object into its own function, to reduce the size of the main function. Signed-off-by: Simon Glass <[email protected]>
2023-07-24bulidman: Move more code to determine_series()Simon Glass
Move some more series-related code here, to reduce the size of the main function. Signed-off-by: Simon Glass <[email protected]>
2023-07-24buildman: Move board-selection code into a functionSimon Glass
Create a new determine_boards() function to hold the code which selects which boards to build. Signed-off-by: Simon Glass <[email protected]>
2023-07-24buildman: Add tests for excluding thingsSimon Glass
Add some tests for the -x flag. Signed-off-by: Simon Glass <[email protected]>
2023-07-24buildman: Move dry-run handling higher in do_buildman()Simon Glass
Move this up above where the builder is created, since it no-longer makes use of the builder. Signed-off-by: Simon Glass <[email protected]>
2023-07-24buildman: Drop use of builder in show_actions()Simon Glass
This function only needs the output directory from the builder. This is passed into the builder, so just pass the same value to show_actions(). The avoids needing a builder to call show_actions(). Signed-off-by: Simon Glass <[email protected]>
2023-07-24buildman: Add a test for the -A optionSimon Glass
This lacks a test at present. Add one. Signed-off-by: Simon Glass <[email protected]>
2023-07-24buildman: Move fetch-arch code into a separate functionSimon Glass
Reduce the size of the do_buildman() function a little by moving the code that handles --fetch-arch into a separate function. Signed-off-by: Simon Glass <[email protected]>
2023-07-24buildman: Move series calculations into a separate functionSimon Glass
Reduce the size of the do_buildman() function a little by moving the code that figures out the series into a separate function. Signed-off-by: Simon Glass <[email protected]>
2023-07-24buildman: Move full-help processing to mainSimon Glass
This does not need any of the control features. Move it out of main to reduce the size of the do_buildman() function. For Python 3.6 the -H feature will not work, but this does not seem to be a huge problem, as it dates from 2016. Signed-off-by: Simon Glass <[email protected]>
2023-07-24buildman: Fix most pylint warnings in controlSimon Glass
Tidy up the easier-to-fix pylint warnings in module 'control'. Signed-off-by: Simon Glass <[email protected]>
2023-07-24buildman: Convert camel case in control.pySimon Glass
Convert this file to snake case and update all files which use it. Signed-off-by: Simon Glass <[email protected]>
2023-07-24buildman: Tidy up pylint warnings in mainSimon Glass
Tidy up the various pylint warnings in module 'main'. Signed-off-by: Simon Glass <[email protected]>
2023-07-24buildman: Provide an argument to the -R optionSimon Glass
Allow writing the file to a selected location, since otherwise this is controlled by the buildman configuration, so cannot be determined by the caller. Signed-off-by: Simon Glass <[email protected]> Fixes: https://source.denx.de/u-boot/u-boot/-/issues/17
2023-07-24buildman: Add an option to check maintainersSimon Glass
Rather than using the -R option to get this report as a side effect, add a dedicated option for it. Disable CI for now as there are some missing maintainers, unfortunately. Signed-off-by: Simon Glass <[email protected]>
2023-07-24buildman: Correct logic for missing maintainersSimon Glass
An orphaned board should produce a warning, as should a missing name for the maintainer (when '-' is provided). Add these cases. Signed-off-by: Simon Glass <[email protected]>
2023-07-24buildman: Sort the maintainer warningsSimon Glass
Sort the warnings into alphabetical order, for easier reading. Also make sure that the buildman test files are ignored. Signed-off-by: Simon Glass <[email protected]>
2023-07-24buildman: Just display a single line for missing maintainersSimon Glass
At present we get multiple lines of output when a board has no MAINTAINERS entry: WARNING: no status info for 'bananapi-m2-pro' WARNING: no maintainers for 'bananapi-m2-pro' Suppress the 'status' one since it is implied by the other. Signed-off-by: Simon Glass <[email protected]>
2023-07-24buildman: Correct operation of MAINTAINERS N:Simon Glass
This doesn't work as intended. Instead it scans every defconfig file in the source tree. Fix it and add a test. Signed-off-by: Simon Glass <[email protected]>
2023-07-24buildman: Detect boards with no CONFIG_TARGET definedSimon Glass
We generally expected exactly one of these. Add a check for it. Note: This warning is not displayed by default. An option will be added to enable it. Signed-off-by: Simon Glass <[email protected]>
2023-07-24buildman: Detect boards with multiple CONFIG_TARGETs definedSimon Glass
The TARGET_xxx options are special in that they refer to a single target. Exactly one should be enabled for each target, corresponding to a defconfig file. Detect configs which result in two TARGET_xxx options being set. For example, at present, TARGET_POLEG and TARET_POLEG_EVB are enabled for the same board. Note: This warning is not displayed by default. An option will be added to enable it. Signed-off-by: Simon Glass <[email protected]>
2023-07-24buildman: Refactor target handling in Boards.scan()Simon Glass
Move the assert to the top of the function and provide an explicit variables for the target name and base name. Signed-off-by: Simon Glass <[email protected]>
2023-07-24buildman: Warn about dangling maintainer entriesSimon Glass
Other than the top-level MAINTAINERS file, all maintainer entries should actually reference a target. Add a warning to detect those that do not. Signed-off-by: Simon Glass <[email protected]>
2023-07-24buildman: Tidy up common code in parse_file()Simon Glass
Use a function to add to the maintainers database, to avoid duplicating the same code twice. Signed-off-by: Simon Glass <[email protected]>
2023-07-24buildman: Add a partial test for ensure_board_list()Simon Glass
Create a new function which has the non-UI parts of ensure_board_list(). Add some tests for everything except the N: tag. While we are here, fix the confusing usage of fname inside a loops that also uses fname. Signed-off-by: Simon Glass <[email protected]>
2023-07-24buildman: Add a test for Boards.output_is_new()Simon Glass
Add a test for this code, adjusting the timestamp on various files to check each use case. Signed-off-by: Simon Glass <[email protected]>
2023-07-24buildman: Add a test for Boards.scan_defconfigs()Simon Glass
Add a test for this code. It requires some defconfig files and a test Kconfig to work with, so copy these into the temporary directory at the start. Signed-off-by: Simon Glass <[email protected]>
2023-07-24buildman: Avoid globals in leaf functionsSimon Glass
Rather than using the global thoughout each function, pass in these values. This allows tests to use different values when testing the same functions. Improve a few comments while we are here. No functional change is intended. Signed-off-by: Simon Glass <[email protected]>
2023-07-24buildman: Drop dead code to handle :CONFIG_ constructSimon Glass
This is not needed anymore, so drop it. Signed-off-by: Simon Glass <[email protected]> Fixes: 252ed872 ("kconfig: remove meaningless prefixes in defconfig files")
2023-07-24buildman: Rename the ARM boardsSimon Glass
Use names consistent with their target names. Signed-off-by: Simon Glass <[email protected]>
2023-07-24buildman: Exit with the return code consistentlySimon Glass
Test should return a suitable exit code when they fail. Fix this and tidy up the code a little. Signed-off-by: Simon Glass <[email protected]>
2023-07-24buildman: Allow --debug to enable debuggingSimon Glass
The -D option is used, but plumb it through --debug to enable a full traceback when something goes wrong. Signed-off-by: Simon Glass <[email protected]>
2023-07-24buildman: Fix verboose typo and add commentSimon Glass
Fix the typo in the RunTests() function, adding comments while we are here. Signed-off-by: Simon Glass <[email protected]>
2023-07-24binman: ftest: Add test for u_boot_spl_pubkey_dtbLukas Funke
Add test for u_boot_spl_pubkey_dtb. The test adds a public key to the dtb and checks if the required nodes will be added to the images dtb. Signed-off-by: Lukas Funke <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2023-07-24binman: doc: Add documentation for Xilinx Bootgen bintoolLukas Funke
Add documentation for the 'bootgen' bintool Signed-off-by: Lukas Funke <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2023-07-24binman: etype: Add u-boot-spl-pubkey-dtb etypeLukas Funke
This adds a new etype 'u-boot-spl-pubkey-dtb'. The etype adds the public key from a certificate to the dtb. This creates a '/signature' node which is turn contains the fields which make up the public key. Usually this is done by 'mkimage -K'. However, 'binman sign' does not add the public key to the SPL. This is why the pubkey is added using this etype. The etype calls the underlying 'fdt_add_pubkey' tool. Signed-off-by: Lukas Funke <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2023-07-24binman: btool: Add fdt_add_pubkey as btoolLukas Funke
Add btool which calls 'fdt_add_pubkey' Signed-off-by: Lukas Funke <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2023-07-24binman: doc: Add documentation for fdt_add_pubkey bintoolLukas Funke
Add documentation for btool which calls 'fdt_add_pubkey' Signed-off-by: Lukas Funke <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2023-07-24binman: blob_dtb: Add fake_size argument to ObtainContents()Lukas Funke
The method 'connect_contents_to_file()' calls ObtainsContents() with 'fake_size' argument. Without providing the argument in the blob_dtb we are not able to call this method without error. Signed-off-by: Lukas Funke <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2023-07-24binman: Don't decompress data while signingLukas Funke
While signing a fit compressed data (i.e. 'blob-ext') is decompressed, but never compressed again. When compressed data was wrapped in a section, decompression leads to an error because the outer section had the original compressed size but the inner entry has the uncompressed size now. While singing there is no reason to decompress data. Thus, decompression should be disabled. Furthermore, bintools should be collected before loading the data. This way bintools are available if processing is required on a node. Signed-off-by: Lukas Funke <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2023-07-24binman: Add tests for etype encryptedChristian Taedcke
Add tests to reach 100% code coverage for the added etype encrypted. Signed-off-by: Christian Taedcke <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2023-07-24binman: Allow cipher node as special sectionChristian Taedcke
The new encrypted etype generates a cipher node in the device tree that should not be evaluated by binman, but still be kept in the output device tree. Signed-off-by: Christian Taedcke <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2023-07-24binman: Add support for externally encrypted blobsChristian Taedcke
This adds a new etype encrypted. It creates a new cipher node in the related image similar to the cipher node used by u-boot, see boot/image-cipher.c. Signed-off-by: Christian Taedcke <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2023-07-24binman: Add missing ssl documentationSimon Glass
Rerun 'binman bintool-docs' to regenerate bintools.rst Signed-off-by: Simon Glass <[email protected]>
2023-07-24binman: Renumber 277...289 TI test filesSimon Glass
These have ended up with the same numbers as earlier files. Fix them. Signed-off-by: Simon Glass <[email protected]>
2023-07-24binman: Renumber 277_rockchip and 278_mkimage test filesSimon Glass
These have ended up with the same numbers as earlier files. Fix them. Signed-off-by: Simon Glass <[email protected]>
2023-07-24binman: Tidy up tests for pre-load entry typeSimon Glass
Drop the use of a numbered key file since numbering is just for the test devicetree files. Also adjust the tests to avoid putting a hard-coded path to binman in the file, using the entry arg instead. Signed-off-by: Simon Glass <[email protected]>
2023-07-21buildman: Create a requirements.txt fileTom Rini
At this point, buildman requires a few different modules and so we need a requirements.txt to track what modules are needed. Cc: Simon Glass <[email protected]> Cc: Neha Malcom Francis <[email protected]> Reviewed-by: Simon Glass <[email protected]> Signed-off-by: Neha Malcom Francis <[email protected]> Signed-off-by: Tom Rini <[email protected]>
2023-07-21binman: Overwrite symlink if it already existsAndrew Davis
Without this re-building will fail with an error when trying to create the symlink for the second time with an already exists error. Signed-off-by: Andrew Davis <[email protected]> [[email protected]: Added support for test output dir and testcase] Signed-off-by: Neha Malcom Francis <[email protected]>