Hi Tom, This is for the -next branch
https://source.denx.de/u-boot/custodians/u-boot-dm/-/pipelines/15499 The following changes since commit 70ed05ce6c051e55e126e67e72ab20409134c953: Merge tag 'next-20230307' of https://source.denx.de/u-boot/custodians/u-boot-video into next (2023-03-07 12:54:01 -0500) are available in the Git repository at: git://git.denx.de/u-boot-dm.git tags/dm-next-9mar23 for you to fetch changes up to 953d4177afa0bee0ba0db4b81036d3197595b997: binman: Support generation of x509 certificates (2023-03-08 13:15:15 -0800) ---------------------------------------------------------------- binman x509, separate tools dir and other improvements patman parallel patch generation fdt fixes and tests PyPi support for U-Boot tools buildman reproducible builds ---------------------------------------------------------------- Jonas Karlman (3): binman: Remove redundant SetAllowFakeBlob from blob-ext entry binman: Fix spelling of nodes in code comments binman: Use correct argument name in docstrings Marek Vasut (26): cmd: fdt: Import is_printable_string() from DTC to fix u32 misprint cmd: fdt: Fix handling of empty properties for fdt get addr and fdt get size cmd: fdt: Fix fdt rm behavior on non-existent property and error message space cmd: fdt: Fix fdt rsvmem behavior on non-existent index and error message space cmd: fdt: Check argc before accessing argv in fdt bootcpu cmd: fdt: Check argc before accessing argv in fdt memory cmd: fdt: Align checksign parameter names in help text cmd: fdt: Handle 64bit pointers in fdt get addr cmd: fdt: Map address returned from fdt get addr to sysmem cmd: fdt: Add support for integer arrays in fdt get value with index test: Add ut_assert_nextline_empty() empty line helper test: cmd: fdt: Rename fdt_test_resize() to fdt_test_addr_resize() test: cmd: fdt: Rename fdt_test_get() to fdt_test_get_value() test: cmd: fdt: Generate fuller DT internally and switch fdt get value to it test: cmd: fdt: Test alias resolution in 'fdt get value' test: cmd: fdt: Test both string and integer arrays in 'fdt get value' test: cmd: fdt: Test fdt move test: cmd: fdt: Test fdt resize test: cmd: fdt: Test fdt get name test: cmd: fdt: Test fdt get addr test: cmd: fdt: Test fdt get size test: cmd: fdt: Test fdt set test: cmd: fdt: Test fdt mknode test: cmd: fdt: Test fdt rm test: cmd: fdt: Test fdt bootcpu test: cmd: fdt: Add list of remaining missing tests Simon Glass (46): binman: Avoid requiring a home directory on startup binman: Support marking FMAP areas as preserved buildman: Add a note about the out-env file buildman: Write out the build command used buildman: Support disabling LTO buildman: Add a flag for reproducible builds binman: Correct an 'aot' typo binman: Update bintools documentation binman: Move the tools directory into the Bintool class binman: Use a private directory for bintools binman: Make the tooldir configurable bootflow: Rename bootflow_flags_t bootstd: Replicate the dtb-filename quirks of distroboot binman: Avoid unwanted output in testFitFirmwareLoadables() Revert "patman: test_util: Print test stdout/stderr within test summaries" Remove concurrencytest patman: Move library functions into a library directory script: Add a script to build a PyPi package patman: Add support for building a u_boot_tools PyPi package patman: Avoid importing test_checkpatch before it is needed patman: Add support for building a patman PyPi package buildman: Move the main code into a function buildman: Hide the test options unless test code is available buildman: Fix use of a type as a variable buildman: Use importlib to find the help buildman: Add support for building a buildman PyPi package dtoc: Hide the test options unless test code is available dtoc: Move the main code into a function dtoc: Use pathlib to find the test directory dtoc: Add support for building a dtoc PyPi package binman: Move the main code into a function binman: Hide the 'test' command unless test code is available binman: Use importlib to find the help binman: Add support for building a binmanu PyPi package test: Add concurrencytest to the requirements doc: Add notes on how to install patman and binman CI: Add a check for building tools for PyPi patman: Drop an incorrect comment about git am patman: Refactor MakeCcFile() into two functions patman: Run get_maintainer.pl in parallel patman: Check patches in parallel buildman: Correct CROSS_COMPILE output for sandbox binman: Allow preserving the output dir when replacing binman: Handle missing bintools correctly in fit binman: Support updating section contents binman: Support generation of x509 certificates .azure-pipelines.yml | 10 + .gitlab-ci.yml | 6 + Makefile | 22 +- boot/bootdev-uclass.c | 16 +- boot/bootflow.c | 23 +- boot/bootmeth_efi.c | 70 ++++- cmd/bootflow.c | 8 +- cmd/fdt.c | 98 ++++--- doc/build/reproducible.rst | 2 + doc/develop/bootstd.rst | 12 +- include/bootflow.h | 65 +++-- include/test/ut.h | 4 + scripts/event_dump.py | 2 +- scripts/make_pip.sh | 117 ++++++++ test/boot/bootdev.c | 10 +- test/boot/bootflow.c | 2 +- test/cmd/fdt.c | 822 +++++++++++++++++++++++++++++++++++++++++++++++++++-- test/py/requirements.txt | 1 + test/run | 1 + tools/binman/binman.rst | 62 +++- tools/binman/bintool.py | 24 +- tools/binman/bintool_test.py | 23 +- tools/binman/bintools.rst | 70 +++++ tools/binman/btool/lz4.py | 2 +- tools/binman/btool/lzma_alone.py | 2 +- tools/binman/btool/openssl.py | 94 ++++++ tools/binman/cbfs_util.py | 4 +- tools/binman/cbfs_util_test.py | 4 +- tools/binman/cmdline.py | 56 ++-- tools/binman/control.py | 29 +- tools/binman/elf.py | 6 +- tools/binman/elf_test.py | 8 +- tools/binman/entries.rst | 23 ++ tools/binman/entry.py | 37 ++- tools/binman/entry_test.py | 2 +- tools/binman/etype/_testing.py | 2 +- tools/binman/etype/atf_fip.py | 4 +- tools/binman/etype/blob.py | 6 +- tools/binman/etype/blob_ext.py | 12 +- tools/binman/etype/blob_ext_list.py | 4 +- tools/binman/etype/cbfs.py | 2 +- tools/binman/etype/fdtmap.py | 4 +- tools/binman/etype/files.py | 2 +- tools/binman/etype/fill.py | 2 +- tools/binman/etype/fit.py | 11 +- tools/binman/etype/fmap.py | 21 +- tools/binman/etype/gbb.py | 4 +- tools/binman/etype/intel_ifwi.py | 2 +- tools/binman/etype/mkimage.py | 2 +- tools/binman/etype/null.py | 2 +- tools/binman/etype/pre_load.py | 2 +- tools/binman/etype/section.py | 42 ++- tools/binman/etype/text.py | 2 +- tools/binman/etype/u_boot_dtb_with_ucode.py | 2 +- tools/binman/etype/u_boot_elf.py | 2 +- tools/binman/etype/u_boot_env.py | 2 +- tools/binman/etype/u_boot_spl_bss_pad.py | 2 +- tools/binman/etype/u_boot_spl_expanded.py | 2 +- tools/binman/etype/u_boot_tpl_bss_pad.py | 2 +- tools/binman/etype/u_boot_tpl_expanded.py | 2 +- tools/binman/etype/u_boot_tpl_with_ucode_ptr.py | 4 +- tools/binman/etype/u_boot_ucode.py | 2 +- tools/binman/etype/u_boot_vpl_bss_pad.py | 2 +- tools/binman/etype/u_boot_vpl_expanded.py | 2 +- tools/binman/etype/u_boot_with_ucode_ptr.py | 4 +- tools/binman/etype/vblock.py | 2 +- tools/binman/etype/x509_cert.py | 92 ++++++ tools/binman/fdt_test.py | 2 +- tools/binman/fip_util.py | 4 +- tools/binman/fip_util_test.py | 4 +- tools/binman/fmap_util.py | 5 +- tools/binman/ftest.py | 213 ++++++++++++-- tools/binman/image.py | 4 +- tools/binman/image_test.py | 2 +- tools/binman/main.py | 19 +- tools/binman/pyproject.toml | 29 ++ tools/binman/state.py | 6 +- tools/binman/test/067_fmap.dts | 1 + tools/binman/test/277_replace_fit_sibling.dts | 61 ++++ tools/binman/test/278_replace_section_deep.dts | 25 ++ tools/binman/test/279_x509_cert.dts | 19 ++ tools/binman/test/key.key | 52 ++++ tools/binman/test/key.pem | 32 +++ tools/buildman/builder.py | 13 +- tools/buildman/builderthread.py | 19 +- tools/buildman/buildman.rst | 31 +- tools/buildman/cfgutil.py | 2 +- tools/buildman/cmdline.py | 18 +- tools/buildman/control.py | 29 +- tools/buildman/func_test.py | 72 ++++- tools/buildman/main.py | 31 +- tools/buildman/pyproject.toml | 29 ++ tools/buildman/test.py | 8 +- tools/buildman/toolchain.py | 9 +- tools/concurrencytest/.gitignore | 1 - tools/concurrencytest/README.md | 74 ----- tools/concurrencytest/__init__.py | 0 tools/concurrencytest/concurrencytest.py | 221 -------------- tools/dtoc/README.rst | 15 + tools/dtoc/fdt.py | 2 +- tools/dtoc/fdt_util.py | 4 +- tools/dtoc/main.py | 110 +++---- tools/dtoc/pyproject.toml | 26 ++ tools/dtoc/test_dtoc.py | 10 +- tools/dtoc/test_fdt.py | 7 +- tools/dtoc/test_src_scan.py | 4 +- tools/patman/__init__.py | 7 +- tools/patman/__main__.py | 10 +- tools/patman/checkpatch.py | 50 ++-- tools/patman/control.py | 4 +- tools/patman/func_test.py | 8 +- tools/patman/get_maintainer.py | 2 +- tools/patman/gitutil.py | 4 +- tools/patman/patchstream.py | 2 +- tools/patman/patman.rst | 12 + tools/patman/pyproject.toml | 29 ++ tools/patman/series.py | 112 ++++++-- tools/patman/status.py | 4 +- tools/patman/test_settings.py | 2 +- tools/rmboard.py | 2 +- tools/u_boot_pylib/LICENSE | 339 ++++++++++++++++++++++ tools/u_boot_pylib/README.rst | 15 + tools/u_boot_pylib/__init__.py | 4 + tools/u_boot_pylib/__main__.py | 23 ++ tools/{patman => u_boot_pylib}/command.py | 2 +- tools/{patman => u_boot_pylib}/cros_subprocess.py | 0 tools/u_boot_pylib/pyproject.toml | 22 ++ tools/{patman => u_boot_pylib}/terminal.py | 0 tools/{patman => u_boot_pylib}/test_util.py | 39 +-- tools/{patman => u_boot_pylib}/tools.py | 4 +- tools/{patman => u_boot_pylib}/tout.py | 2 +- tools/u_boot_pylib/u_boot_pylib | 1 + 132 files changed, 3074 insertions(+), 823 deletions(-) create mode 100755 scripts/make_pip.sh create mode 100644 tools/binman/btool/openssl.py create mode 100644 tools/binman/etype/x509_cert.py create mode 100644 tools/binman/pyproject.toml create mode 100644 tools/binman/test/277_replace_fit_sibling.dts create mode 100644 tools/binman/test/278_replace_section_deep.dts create mode 100644 tools/binman/test/279_x509_cert.dts create mode 100644 tools/binman/test/key.key create mode 100644 tools/binman/test/key.pem create mode 100644 tools/buildman/pyproject.toml delete mode 100644 tools/concurrencytest/.gitignore delete mode 100644 tools/concurrencytest/README.md delete mode 100644 tools/concurrencytest/__init__.py delete mode 100644 tools/concurrencytest/concurrencytest.py create mode 100644 tools/dtoc/README.rst create mode 100644 tools/dtoc/pyproject.toml create mode 100644 tools/patman/pyproject.toml create mode 100644 tools/u_boot_pylib/LICENSE create mode 100644 tools/u_boot_pylib/README.rst create mode 100644 tools/u_boot_pylib/__init__.py create mode 100755 tools/u_boot_pylib/__main__.py rename tools/{patman => u_boot_pylib}/command.py (99%) rename tools/{patman => u_boot_pylib}/cros_subprocess.py (100%) create mode 100644 tools/u_boot_pylib/pyproject.toml rename tools/{patman => u_boot_pylib}/terminal.py (100%) rename tools/{patman => u_boot_pylib}/test_util.py (85%) rename tools/{patman => u_boot_pylib}/tools.py (99%) rename tools/{patman => u_boot_pylib}/tout.py (99%) create mode 120000 tools/u_boot_pylib/u_boot_pylib Regards, Simon