[PATCH 00/15] tools: Support uploading tools to PyPi for use with pip

Simon Glass sjg at chromium.org
Sun Feb 19 15:51:08 CET 2023


Some of the tools in U-Boot are useful beyond just U-Boot. For example,
patman can be used to work with Linux and other projects which use
mailing lists (and patchwork) for patch submissions. Binman can be used
to package firmware for any project, even though it is heavily slanted
towards U-Boot so far.

While patman has a setup script which is easy to use, binman is a little
more complicated, since it has dependencies, in particular pylibfdt

It would be better if we could put all the tools on PyPi.

This series adds a script for uploading tools. It makes it easier to
update PyPi from time to time, when new features appear.

U-Boot uses tools/patman as a common library of Python functions. For
this to work with PyPi it is easier to split these into a separate
library, used by patman as well. This series creates a new
'u_boot_pylib' package for this purpose.

Unfortunately, some compromises have been made:

- The U-Boot version of concurrencytest has some local patches. To avoid
  dependency issues it seems better to revert these and rely on the
  upstream package[1], although note that it is not actually installed.

- There is an existing 'patman' package, the same 'patmanu' has been
  chosen. This is fairly easy to say. In any case the command-line tool
  name remains as 'patman' and a symlink should ease things for existing
  U-Boot users

- Similarly with binman, the package name chosen is 'binmanu'.

[1] Which unfortunately may be dead but perhaps we could request a new
    maintainer?



Simon Glass (15):
  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: Rename directory to patmanu
  patman: Add support for building a patmanu PyPi package
  buildman: Add support for building a buildman PyPi package
  dtoc: Add support for building a dtoc PyPi package
  binman: Rename directory to binmanu
  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

 .azure-pipelines.yml                          |  10 +
 .gitlab-ci.yml                                |   6 +
 Makefile                                      |  22 +-
 scripts/event_dump.py                         |   4 +-
 scripts/make_pip.sh                           | 113 ++++++
 test/py/requirements.txt                      |   1 +
 test/run                                      |   1 +
 tools/binman                                  |   1 +
 tools/{binman => binmanu}/.gitignore          |   0
 tools/{binman => binmanu}/README.rst          |   0
 tools/{binman => binmanu}/__init__.py         |   0
 tools/{binman => binmanu}/binman              |   0
 tools/{binman => binmanu}/binman.rst          |  14 +
 tools/{binman => binmanu}/bintool.py          |  12 +-
 tools/{binman => binmanu}/bintool_test.py     |  14 +-
 tools/{binman => binmanu}/bintools.rst        |   0
 tools/{binman => binmanu}/btool/_testing.py   |   2 +-
 tools/{binman => binmanu}/btool/btool_gzip.py |   2 +-
 tools/{binman => binmanu}/btool/bzip2.py      |   2 +-
 tools/{binman => binmanu}/btool/cbfstool.py   |   2 +-
 tools/{binman => binmanu}/btool/fiptool.py    |   2 +-
 tools/{binman => binmanu}/btool/futility.py   |   2 +-
 tools/{binman => binmanu}/btool/ifwitool.py   |   2 +-
 tools/{binman => binmanu}/btool/lz4.py        |   4 +-
 tools/{binman => binmanu}/btool/lzma_alone.py |   4 +-
 tools/{binman => binmanu}/btool/lzop.py       |   2 +-
 tools/{binman => binmanu}/btool/mkimage.py    |   2 +-
 tools/{binman => binmanu}/btool/xz.py         |   2 +-
 tools/{binman => binmanu}/btool/zstd.py       |   2 +-
 tools/{binman => binmanu}/cbfs_util.py        |   8 +-
 tools/{binman => binmanu}/cbfs_util_test.py   |  12 +-
 tools/{binman => binmanu}/cmdline.py          |   2 +-
 tools/{binman => binmanu}/control.py          |  22 +-
 tools/{binman => binmanu}/elf.py              |   8 +-
 tools/{binman => binmanu}/elf_test.py         |  10 +-
 tools/{binman => binmanu}/entries.rst         |   0
 tools/{binman => binmanu}/entry.py            |  14 +-
 tools/{binman => binmanu}/entry_test.py       |  10 +-
 tools/{binman => binmanu}/etype/_testing.py   |   4 +-
 tools/{binman => binmanu}/etype/atf_bl31.py   |   2 +-
 tools/{binman => binmanu}/etype/atf_fip.py    |  10 +-
 tools/{binman => binmanu}/etype/blob.py       |   8 +-
 tools/{binman => binmanu}/etype/blob_dtb.py   |   6 +-
 tools/{binman => binmanu}/etype/blob_ext.py   |   6 +-
 .../etype/blob_ext_list.py                    |   6 +-
 .../etype/blob_named_by_arg.py                |   4 +-
 tools/{binman => binmanu}/etype/blob_phase.py |   4 +-
 tools/{binman => binmanu}/etype/cbfs.py       |   8 +-
 tools/{binman => binmanu}/etype/collection.py |   2 +-
 tools/{binman => binmanu}/etype/cros_ec_rw.py |   2 +-
 tools/{binman => binmanu}/etype/fdtmap.py     |   8 +-
 tools/{binman => binmanu}/etype/files.py      |   6 +-
 tools/{binman => binmanu}/etype/fill.py       |   4 +-
 tools/{binman => binmanu}/etype/fit.py        |   8 +-
 tools/{binman => binmanu}/etype/fmap.py       |  10 +-
 tools/{binman => binmanu}/etype/gbb.py        |   6 +-
 .../{binman => binmanu}/etype/image_header.py |   2 +-
 tools/{binman => binmanu}/etype/intel_cmc.py  |   2 +-
 .../etype/intel_descriptor.py                 |   4 +-
 tools/{binman => binmanu}/etype/intel_fit.py  |   2 +-
 .../etype/intel_fit_ptr.py                    |   2 +-
 tools/{binman => binmanu}/etype/intel_fsp.py  |   2 +-
 .../{binman => binmanu}/etype/intel_fsp_m.py  |   2 +-
 .../{binman => binmanu}/etype/intel_fsp_s.py  |   2 +-
 .../{binman => binmanu}/etype/intel_fsp_t.py  |   2 +-
 tools/{binman => binmanu}/etype/intel_ifwi.py |   6 +-
 tools/{binman => binmanu}/etype/intel_me.py   |   2 +-
 tools/{binman => binmanu}/etype/intel_mrc.py  |   2 +-
 .../etype/intel_refcode.py                    |   2 +-
 tools/{binman => binmanu}/etype/intel_vbt.py  |   2 +-
 tools/{binman => binmanu}/etype/intel_vga.py  |   2 +-
 tools/{binman => binmanu}/etype/mkimage.py    |   4 +-
 tools/{binman => binmanu}/etype/null.py       |   4 +-
 tools/{binman => binmanu}/etype/opensbi.py    |   2 +-
 .../etype/powerpc_mpc85xx_bootpg_resetvec.py  |   2 +-
 tools/{binman => binmanu}/etype/pre_load.py   |   8 +-
 tools/{binman => binmanu}/etype/scp.py        |   2 +-
 tools/{binman => binmanu}/etype/section.py    |  10 +-
 tools/{binman => binmanu}/etype/tee_os.py     |   4 +-
 tools/{binman => binmanu}/etype/text.py       |   4 +-
 tools/{binman => binmanu}/etype/u_boot.py     |   4 +-
 tools/{binman => binmanu}/etype/u_boot_dtb.py |   4 +-
 .../etype/u_boot_dtb_with_ucode.py            |   8 +-
 tools/{binman => binmanu}/etype/u_boot_elf.py |   6 +-
 tools/{binman => binmanu}/etype/u_boot_env.py |   4 +-
 .../etype/u_boot_expanded.py                  |   2 +-
 tools/{binman => binmanu}/etype/u_boot_img.py |   4 +-
 .../{binman => binmanu}/etype/u_boot_nodtb.py |   4 +-
 tools/{binman => binmanu}/etype/u_boot_spl.py |   4 +-
 .../etype/u_boot_spl_bss_pad.py               |   8 +-
 .../etype/u_boot_spl_dtb.py                   |   4 +-
 .../etype/u_boot_spl_elf.py                   |   4 +-
 .../etype/u_boot_spl_expanded.py              |   6 +-
 .../etype/u_boot_spl_nodtb.py                 |   4 +-
 .../etype/u_boot_spl_with_ucode_ptr.py        |   2 +-
 tools/{binman => binmanu}/etype/u_boot_tpl.py |   4 +-
 .../etype/u_boot_tpl_bss_pad.py               |   8 +-
 .../etype/u_boot_tpl_dtb.py                   |   4 +-
 .../etype/u_boot_tpl_dtb_with_ucode.py        |   2 +-
 .../etype/u_boot_tpl_elf.py                   |   4 +-
 .../etype/u_boot_tpl_expanded.py              |   6 +-
 .../etype/u_boot_tpl_nodtb.py                 |   4 +-
 .../etype/u_boot_tpl_with_ucode_ptr.py        |  10 +-
 .../{binman => binmanu}/etype/u_boot_ucode.py |   6 +-
 tools/{binman => binmanu}/etype/u_boot_vpl.py |   4 +-
 .../etype/u_boot_vpl_bss_pad.py               |   8 +-
 .../etype/u_boot_vpl_dtb.py                   |   4 +-
 .../etype/u_boot_vpl_elf.py                   |   4 +-
 .../etype/u_boot_vpl_expanded.py              |   6 +-
 .../etype/u_boot_vpl_nodtb.py                 |   4 +-
 .../etype/u_boot_with_ucode_ptr.py            |  10 +-
 tools/{binman => binmanu}/etype/vblock.py     |   6 +-
 .../{binman => binmanu}/etype/x86_reset16.py  |   4 +-
 .../etype/x86_reset16_spl.py                  |   4 +-
 .../etype/x86_reset16_tpl.py                  |   4 +-
 .../{binman => binmanu}/etype/x86_start16.py  |   4 +-
 .../etype/x86_start16_spl.py                  |   4 +-
 .../etype/x86_start16_tpl.py                  |   4 +-
 tools/{binman => binmanu}/fdt_test.py         |   2 +-
 tools/{binman => binmanu}/fip_util.py         |   4 +-
 tools/{binman => binmanu}/fip_util_test.py    |   8 +-
 tools/{binman => binmanu}/fmap_util.py        |   2 +-
 tools/{binman => binmanu}/ftest.py            |  49 +--
 tools/{binman => binmanu}/image.py            |  12 +-
 tools/{binman => binmanu}/image_test.py       |   4 +-
 tools/{binman => binmanu}/index.rst           |   0
 tools/{binman => binmanu}/main.py             |  43 ++-
 tools/{binman => binmanu}/missing-blob-help   |   0
 tools/binmanu/pyproject.toml                  |  31 ++
 tools/{binman => binmanu}/setup.py            |   0
 tools/{binman => binmanu}/state.py            |   4 +-
 .../{binman => binmanu}/test/001_invalid.dts  |   0
 .../test/002_missing_node.dts                 |   0
 tools/{binman => binmanu}/test/003_empty.dts  |   0
 .../test/004_invalid_entry.dts                |   0
 tools/{binman => binmanu}/test/005_simple.dts |   0
 .../test/006_dual_image.dts                   |   0
 .../test/007_bad_align.dts                    |   0
 tools/{binman => binmanu}/test/008_pack.dts   |   0
 .../test/009_pack_extra.dts                   |   0
 .../test/010_pack_align_power2.dts            |   0
 .../test/011_pack_align_size_power2.dts       |   0
 .../test/012_pack_inv_align.dts               |   0
 .../test/013_pack_inv_size_align.dts          |   0
 .../test/014_pack_overlap.dts                 |   0
 .../test/015_pack_overflow.dts                |   0
 .../test/016_pack_image_overflow.dts          |   0
 .../test/017_pack_image_size.dts              |   0
 .../test/018_pack_image_align.dts             |   0
 .../test/019_pack_inv_image_align.dts         |   0
 .../test/020_pack_inv_image_align_power2.dts  |   0
 .../test/021_image_pad.dts                    |   0
 .../test/022_image_name.dts                   |   0
 tools/{binman => binmanu}/test/023_blob.dts   |   0
 tools/{binman => binmanu}/test/024_sorted.dts |   0
 .../test/025_pack_zero_size.dts               |   0
 .../test/026_pack_u_boot_dtb.dts              |   0
 .../test/027_pack_4gb_no_size.dts             |   0
 .../test/028_pack_4gb_outside.dts             |   0
 .../{binman => binmanu}/test/029_x86_rom.dts  |   0
 .../test/030_x86_rom_me_no_desc.dts           |   0
 .../test/031_x86_rom_me.dts                   |   0
 .../test/032_intel_vga.dts                    |   0
 .../test/033_x86_start16.dts                  |   0
 .../test/034_x86_ucode.dts                    |   0
 .../test/035_x86_single_ucode.dts             |   0
 .../test/036_u_boot_img.dts                   |   0
 .../test/037_x86_no_ucode.dts                 |   0
 .../test/038_x86_ucode_missing_node.dts       |   0
 .../test/039_x86_ucode_missing_node2.dts      |   0
 .../test/040_x86_ucode_not_in_image.dts       |   0
 .../test/041_unknown_pos_size.dts             |   0
 .../test/042_intel_fsp.dts                    |   0
 .../test/043_intel_cmc.dts                    |   0
 .../test/044_x86_optional_ucode.dts           |   0
 .../test/045_prop_test.dts                    |   0
 .../test/046_intel_vbt.dts                    |   0
 .../test/047_spl_bss_pad.dts                  |   0
 .../test/048_x86_start16_spl.dts              |   0
 .../test/049_x86_ucode_spl.dts                |   0
 .../test/050_intel_mrc.dts                    |   0
 .../test/051_u_boot_spl_dtb.dts               |   0
 .../test/052_u_boot_spl_nodtb.dts             |   0
 .../{binman => binmanu}/test/053_symbols.dts  |   0
 .../test/054_unit_address.dts                 |   0
 .../{binman => binmanu}/test/055_sections.dts |   0
 .../test/056_name_prefix.dts                  |   0
 .../test/057_unknown_contents.dts             |   0
 .../test/058_x86_ucode_spl_needs_retry.dts    |   0
 .../test/059_change_size.dts                  |   0
 .../test/060_fdt_update.dts                   |   0
 .../test/061_fdt_update_bad.dts               |   0
 .../test/062_entry_args.dts                   |   0
 .../test/063_entry_args_missing.dts           |   0
 .../test/064_entry_args_required.dts          |   0
 .../test/065_entry_args_unknown_datatype.dts  |   0
 tools/{binman => binmanu}/test/066_text.dts   |   0
 tools/{binman => binmanu}/test/067_fmap.dts   |   0
 .../test/068_blob_named_by_arg.dts            |   0
 tools/{binman => binmanu}/test/069_fill.dts   |   0
 .../test/070_fill_no_size.dts                 |   0
 tools/{binman => binmanu}/test/071_gbb.dts    |   0
 .../test/072_gbb_too_small.dts                |   0
 .../test/073_gbb_no_size.dts                  |   0
 tools/{binman => binmanu}/test/074_vblock.dts |   0
 .../test/075_vblock_no_content.dts            |   0
 .../test/076_vblock_bad_phandle.dts           |   0
 .../test/077_vblock_bad_entry.dts             |   0
 .../test/078_u_boot_tpl.dts                   |   0
 .../{binman => binmanu}/test/079_uses_pos.dts |   0
 .../test/080_fill_empty.dts                   |   0
 .../test/081_x86_start16_tpl.dts              |   0
 .../test/082_fdt_update_all.dts               |   0
 .../{binman => binmanu}/test/083_compress.dts |   0
 tools/{binman => binmanu}/test/084_files.dts  |   0
 .../test/085_files_compress.dts               |   0
 .../test/086_files_none.dts                   |   0
 .../test/087_files_no_pattern.dts             |   0
 .../test/088_extend_size.dts                  |   0
 .../test/089_extend_size_bad.dts              |   0
 tools/{binman => binmanu}/test/090_hash.dts   |   0
 .../test/091_hash_no_algo.dts                 |   0
 .../test/092_hash_bad_algo.dts                |   0
 .../test/093_x86_tpl_ucode.dts                |   0
 .../{binman => binmanu}/test/094_fmap_x86.dts |   0
 .../test/095_fmap_x86_section.dts             |   0
 tools/{binman => binmanu}/test/096_elf.dts    |   0
 .../test/097_elf_strip.dts                    |   0
 .../098_4gb_and_skip_at_start_together.dts    |   0
 .../test/099_hash_section.dts                 |   0
 .../test/100_intel_refcode.dts                |   0
 .../test/101_sections_offset.dts              |   0
 .../{binman => binmanu}/test/102_cbfs_raw.dts |   0
 .../test/103_cbfs_raw_ppc.dts                 |   0
 .../test/104_cbfs_stage.dts                   |   0
 .../test/105_cbfs_raw_compress.dts            |   0
 .../test/106_cbfs_bad_arch.dts                |   0
 .../test/107_cbfs_no_size.dts                 |   0
 .../test/108_cbfs_no_contents.dts             |   0
 .../test/109_cbfs_bad_compress.dts            |   0
 .../test/110_cbfs_name.dts                    |   0
 .../test/111_x86_rom_ifwi.dts                 |   0
 .../test/112_x86_rom_ifwi_nodesc.dts          |   0
 .../test/113_x86_rom_ifwi_nodata.dts          |   0
 .../test/114_cbfs_offset.dts                  |   0
 tools/{binman => binmanu}/test/115_fdtmap.dts |   0
 .../test/116_fdtmap_hdr.dts                   |   0
 .../test/117_fdtmap_hdr_start.dts             |   0
 .../test/118_fdtmap_hdr_pos.dts               |   0
 .../test/119_fdtmap_hdr_missing.dts           |   0
 .../test/120_hdr_no_location.dts              |   0
 .../test/121_entry_extend.dts                 |   0
 .../test/122_entry_extend_twice.dts           |   0
 .../test/123_entry_extend_section.dts         |   0
 .../test/124_compress_dtb.dts                 |   0
 .../test/125_cbfs_update.dts                  |   0
 .../test/126_cbfs_bad_type.dts                |   0
 tools/{binman => binmanu}/test/127_list.dts   |   0
 .../test/128_decode_image.dts                 |   0
 .../test/129_decode_image_nohdr.dts           |   0
 .../test/130_list_fdtmap.dts                  |   0
 .../test/131_pack_align_section.dts           |   0
 .../{binman => binmanu}/test/132_replace.dts  |   0
 .../test/133_replace_multi.dts                |   0
 .../test/134_fdt_update_all_repack.dts        |   0
 .../test/135_fdtmap_hdr_middle.dts            |   0
 .../test/136_fdtmap_hdr_startbad.dts          |   0
 .../test/137_fdtmap_hdr_endbad.dts            |   0
 .../test/138_fdtmap_hdr_nosize.dts            |   0
 .../test/139_replace_repack.dts               |   0
 .../test/140_entry_shrink.dts                 |   0
 .../test/141_descriptor_offset.dts            |   0
 .../test/142_replace_cbfs.dts                 |   0
 .../test/143_replace_all.dts                  |   0
 .../test/144_x86_reset16.dts                  |   0
 .../test/145_x86_reset16_spl.dts              |   0
 .../test/146_x86_reset16_tpl.dts              |   0
 .../test/147_intel_fit.dts                    |   0
 .../test/148_intel_fit_missing.dts            |   0
 .../test/149_symbols_tpl.dts                  |   0
 .../150_powerpc_mpc85xx_bootpg_resetvec.dts   |   0
 .../test/151_x86_rom_ifwi_section.dts         |   0
 .../test/152_intel_fsp_m.dts                  |   0
 .../test/153_intel_fsp_s.dts                  |   0
 .../test/154_intel_fsp_t.dts                  |   0
 .../test/155_symbols_tpl_x86.dts              |   0
 .../{binman => binmanu}/test/156_mkimage.dts  |   0
 .../{binman => binmanu}/test/157_blob_ext.dts |   0
 .../test/158_blob_ext_missing.dts             |   0
 .../test/159_blob_ext_missing_sect.dts        |   0
 .../test/160_pack_overlap_zero.dts            |   0
 tools/{binman => binmanu}/test/161_fit.dts    |   0
 .../test/162_fit_external.dts                 |   0
 .../test/163_x86_rom_me_empty.dts             |   0
 .../test/164_x86_rom_me_missing.dts           |   0
 .../165_section_ignore_hash_signature.dts     |   0
 .../test/166_pad_in_sections.dts              |   0
 .../test/167_fit_image_subentry_alignment.dts |   0
 .../test/168_fit_missing_blob.dts             |   0
 .../{binman => binmanu}/test/169_atf_bl31.dts |   0
 .../{binman => binmanu}/test/170_fit_fdt.dts  |   0
 .../test/171_fit_fdt_missing_prop.dts         |   0
 tools/{binman => binmanu}/test/172_scp.dts    |   0
 .../test/173_missing_blob.dts                 |   0
 tools/{binman => binmanu}/test/174_env.dts    |   0
 .../test/175_env_no_size.dts                  |   0
 .../test/176_env_too_small.dts                |   0
 .../test/177_skip_at_start.dts                |   0
 .../test/178_skip_at_start_pad.dts            |   0
 .../test/179_skip_at_start_section_pad.dts    |   0
 .../test/180_section_pad.dts                  |   0
 .../test/181_section_align.dts                |   0
 .../test/182_compress_image.dts               |   0
 .../test/183_compress_image_less.dts          |   0
 .../test/184_compress_section_size.dts        |   0
 .../test/185_compress_section.dts             |   0
 .../test/186_compress_extra.dts               |   0
 .../test/187_symbols_sub.dts                  |   0
 .../test/188_image_entryarg.dts               |   0
 .../test/189_vblock_content.dts               |   0
 .../test/190_files_align.dts                  |   0
 .../test/191_read_image_skip.dts              |   0
 .../test/192_u_boot_tpl_nodtb.dts             |   0
 .../test/193_tpl_bss_pad.dts                  |   0
 .../{binman => binmanu}/test/194_fdt_incl.dts |   0
 .../test/195_fdt_incl_tpl.dts                 |   0
 .../test/196_symbols_nodtb.dts                |   0
 .../test/197_symbols_expand.dts               |   0
 .../test/198_collection.dts                   |   0
 .../test/199_collection_section.dts           |   0
 .../test/200_align_default.dts                |   0
 .../{binman => binmanu}/test/201_opensbi.dts  |   0
 .../test/202_section_timeout.dts              |   0
 tools/{binman => binmanu}/test/203_fip.dts    |   0
 .../test/204_fip_other.dts                    |   0
 .../test/205_fip_no_type.dts                  |   0
 .../{binman => binmanu}/test/206_fip_uuid.dts |   0
 tools/{binman => binmanu}/test/207_fip_ls.dts |   0
 .../test/208_fip_replace.dts                  |   0
 .../test/209_fip_missing.dts                  |   0
 .../{binman => binmanu}/test/210_fip_size.dts |   0
 .../test/211_fip_bad_align.dts                |   0
 .../test/212_fip_collection.dts               |   0
 .../test/213_fdtmap_alt_format.dts            |   0
 .../test/214_no_alt_format.dts                |   0
 .../test/215_blob_ext_list.dts                |   0
 .../test/216_blob_ext_list_missing.dts        |   0
 .../test/217_fake_blob.dts                    |   0
 .../test/218_blob_ext_list_fake.dts           |   0
 .../test/219_fit_gennode.dts                  |   0
 .../test/220_fit_subentry_bintool.dts         |   0
 .../test/221_fit_subentry_hash.dts            |   0
 tools/{binman => binmanu}/test/222_tee_os.dts |   0
 .../test/223_fit_fdt_oper.dts                 |   0
 .../test/224_fit_bad_oper.dts                 |   0
 .../test/225_expand_size_bad.dts              |   0
 .../test/226_fit_split_elf.dts                |   0
 .../test/227_fit_bad_dir.dts                  |   0
 .../test/228_fit_bad_dir_config.dts           |   0
 .../test/229_mkimage_missing.dts              |   0
 tools/{binman => binmanu}/test/230_dev.key    |   0
 .../{binman => binmanu}/test/230_pre_load.dts |   2 +-
 .../test/231_pre_load_pkcs.dts                |   2 +-
 .../test/232_pre_load_pss.dts                 |   2 +-
 .../test/233_pre_load_invalid_padding.dts     |   2 +-
 .../test/234_pre_load_invalid_sha.dts         |   2 +-
 .../test/235_pre_load_invalid_algo.dts        |   2 +-
 .../test/236_pre_load_invalid_key.dts         |   2 +-
 .../test/237_unique_names.dts                 |   0
 .../test/238_unique_names_multi.dts           |   0
 .../test/239_replace_with_bintool.dts         |   0
 .../test/240_fit_extract_replace.dts          |   0
 .../test/241_replace_section_simple.dts       |   0
 .../test/242_mkimage_name.dts                 |   0
 .../test/243_mkimage_image.dts                |   0
 .../test/244_mkimage_image_no_content.dts     |   0
 .../test/245_mkimage_image_bad.dts            |   0
 .../test/246_collection_other.dts             |   0
 .../test/247_mkimage_coll.dts                 |   0
 .../test/248_compress_dtb_prepend_invalid.dts |   0
 .../test/249_compress_dtb_prepend_length.dts  |   0
 .../test/250_compress_dtb_invalid.dts         |   0
 .../test/251_compress_dtb_zstd.dts            |   0
 .../test/252_mkimage_mult_data.dts            |   0
 .../test/253_mkimage_mult_no_content.dts      |   0
 .../test/254_mkimage_filename.dts             |   0
 .../test/255_u_boot_vpl.dts                   |   0
 .../test/256_u_boot_vpl_nodtb.dts             |   0
 .../test/257_fdt_incl_vpl.dts                 |   0
 .../test/258_vpl_bss_pad.dts                  |   0
 .../{binman => binmanu}/test/259_symlink.dts  |   0
 .../test/260_symbols_elf.dts                  |   0
 .../test/261_section_fname.dts                |   0
 tools/{binman => binmanu}/test/262_absent.dts |   0
 .../test/263_tee_os_opt.dts                   |   0
 .../test/264_tee_os_opt_fit.dts               |   0
 .../test/265_tee_os_opt_fit_bad.dts           |   0
 .../test/266_blob_ext_opt.dts                 |   0
 .../test/267_section_inner.dts                |   0
 tools/{binman => binmanu}/test/268_null.dts   |   0
 .../{binman => binmanu}/test/269_overlap.dts  |   0
 .../test/270_overlap_null.dts                 |   0
 .../test/271_overlap_bad.dts                  |   0
 .../test/272_overlap_no_size.dts              |   0
 .../test/273_blob_symbol.dts                  |   0
 .../test/274_offset_from_elf.dts              |   0
 .../test/275_fit_align.dts                    |   0
 .../test/276_fit_firmware_loadables.dts       |   0
 tools/{binman => binmanu}/test/Makefile       |   0
 tools/{binman => binmanu}/test/blob_syms.c    |   0
 tools/{binman => binmanu}/test/blob_syms.lds  |   0
 tools/{binman => binmanu}/test/bss_data.c     |   0
 tools/{binman => binmanu}/test/bss_data.lds   |   0
 tools/{binman => binmanu}/test/descriptor.bin | Bin
 tools/{binman => binmanu}/test/elf_sections.c |   0
 .../{binman => binmanu}/test/elf_sections.lds |   0
 tools/{binman => binmanu}/test/embed_data.c   |   0
 tools/{binman => binmanu}/test/embed_data.lds |   0
 tools/{binman => binmanu}/test/files/1.dat    |   0
 tools/{binman => binmanu}/test/files/2.dat    |   0
 .../test/files/ignored_dir.dat/ignore         |   0
 .../test/files/not-this-one                   |   0
 .../{binman => binmanu}/test/fitimage.bin.gz  | Bin
 .../test/generated/autoconf.h                 |   0
 tools/{binman => binmanu}/test/ifwi.bin.gz    | Bin
 .../test/u_boot_binman_embed.c                |   0
 .../test/u_boot_binman_embed.lds              |   0
 .../test/u_boot_binman_embed_sm.c             |   0
 .../test/u_boot_binman_syms.c                 |   0
 .../test/u_boot_binman_syms.lds               |   0
 .../test/u_boot_binman_syms_bad.c             |   0
 .../test/u_boot_binman_syms_bad.lds           |   0
 .../test/u_boot_binman_syms_size.c            |   0
 .../test/u_boot_binman_syms_x86.c             |   0
 .../test/u_boot_binman_syms_x86.lds           |   0
 .../test/u_boot_no_ucode_ptr.c                |   0
 .../test/u_boot_ucode_ptr.c                   |   0
 .../test/u_boot_ucode_ptr.lds                 |   0
 tools/buildman/builder.py                     |   8 +-
 tools/buildman/builderthread.py               |   4 +-
 tools/buildman/cfgutil.py                     |   2 +-
 tools/buildman/control.py                     |  12 +-
 tools/buildman/func_test.py                   |  10 +-
 tools/buildman/main.py                        |  35 +-
 tools/buildman/pyproject.toml                 |  29 ++
 tools/buildman/test.py                        |  10 +-
 tools/buildman/toolchain.py                   |   6 +-
 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                            | 104 +++---
 tools/dtoc/pyproject.toml                     |  26 ++
 tools/dtoc/test_dtoc.py                       |   4 +-
 tools/dtoc/test_fdt.py                        |   7 +-
 tools/dtoc/test_src_scan.py                   |   4 +-
 tools/patman                                  |   1 +
 tools/patman/.gitignore                       |   1 -
 tools/patman/__init__.py                      |   6 -
 tools/{patman => patmanu}/.checkpatch.conf    |   0
 tools/{concurrencytest => patmanu}/.gitignore |   0
 tools/{patman => patmanu}/README.rst          |   0
 tools/patmanu/__init__.py                     |   8 +
 tools/{patman => patmanu}/__main__.py         |  24 +-
 tools/{patman => patmanu}/checkpatch.py       |   6 +-
 tools/{patman => patmanu}/commit.py           |   0
 tools/{patman => patmanu}/control.py          |  10 +-
 tools/{patman => patmanu}/func_test.py        |  22 +-
 tools/{patman => patmanu}/get_maintainer.py   |   4 +-
 tools/{patman => patmanu}/gitutil.py          |   8 +-
 tools/{patman => patmanu}/patchstream.py      |   8 +-
 tools/{patman => patmanu}/patman              |   0
 tools/{patman => patmanu}/patman.rst          |  13 +
 tools/{patman => patmanu}/project.py          |   2 +-
 tools/patmanu/pyproject.toml                  |  29 ++
 tools/{patman => patmanu}/pytest.ini          |   0
 tools/{patman => patmanu}/series.py           |  10 +-
 tools/{patman => patmanu}/settings.py         |   4 +-
 tools/{patman => patmanu}/setup.py            |   0
 tools/{patman => patmanu}/status.py           |   8 +-
 .../test/0000-cover-letter.patch              |   0
 .../0001-pci-Correct-cast-for-sandbox.patch   |   0
 ...-for-sandbox-in-fdtdec_setup_mem_siz.patch |   0
 tools/{patman => patmanu}/test/test01.txt     |   0
 tools/{patman => patmanu}/test_checkpatch.py  |  10 +-
 tools/{patman => patmanu}/test_settings.py    |   4 +-
 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 +-
 .../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       |   6 +-
 tools/{patman => u_boot_pylib}/tout.py        |   2 +-
 tools/u_boot_pylib/u_boot_pylib               |   1 +
 501 files changed, 1235 insertions(+), 828 deletions(-)
 create mode 100755 scripts/make_pip.sh
 create mode 120000 tools/binman
 rename tools/{binman => binmanu}/.gitignore (100%)
 rename tools/{binman => binmanu}/README.rst (100%)
 rename tools/{binman => binmanu}/__init__.py (100%)
 rename tools/{binman => binmanu}/binman (100%)
 rename tools/{binman => binmanu}/binman.rst (99%)
 rename tools/{binman => binmanu}/bintool.py (98%)
 rename tools/{binman => binmanu}/bintool_test.py (98%)
 rename tools/{binman => binmanu}/bintools.rst (100%)
 rename tools/{binman => binmanu}/btool/_testing.py (97%)
 rename tools/{binman => binmanu}/btool/btool_gzip.py (96%)
 rename tools/{binman => binmanu}/btool/bzip2.py (96%)
 rename tools/{binman => binmanu}/btool/cbfstool.py (99%)
 rename tools/{binman => binmanu}/btool/fiptool.py (99%)
 rename tools/{binman => binmanu}/btool/futility.py (99%)
 rename tools/{binman => binmanu}/btool/ifwitool.py (99%)
 rename tools/{binman => binmanu}/btool/lz4.py (98%)
 rename tools/{binman => binmanu}/btool/lzma_alone.py (98%)
 rename tools/{binman => binmanu}/btool/lzop.py (96%)
 rename tools/{binman => binmanu}/btool/mkimage.py (98%)
 rename tools/{binman => binmanu}/btool/xz.py (96%)
 rename tools/{binman => binmanu}/btool/zstd.py (96%)
 rename tools/{binman => binmanu}/cbfs_util.py (99%)
 rename tools/{binman => binmanu}/cbfs_util_test.py (99%)
 rename tools/{binman => binmanu}/cmdline.py (99%)
 rename tools/{binman => binmanu}/control.py (98%)
 rename tools/{binman => binmanu}/elf.py (99%)
 rename tools/{binman => binmanu}/elf_test.py (98%)
 rename tools/{binman => binmanu}/entries.rst (100%)
 rename tools/{binman => binmanu}/entry.py (99%)
 rename tools/{binman => binmanu}/entry_test.py (96%)
 rename tools/{binman => binmanu}/etype/_testing.py (99%)
 rename tools/{binman => binmanu}/etype/atf_bl31.py (92%)
 rename tools/{binman => binmanu}/etype/atf_fip.py (98%)
 rename tools/{binman => binmanu}/etype/blob.py (97%)
 rename tools/{binman => binmanu}/etype/blob_dtb.py (96%)
 rename tools/{binman => binmanu}/etype/blob_ext.py (90%)
 rename tools/{binman => binmanu}/etype/blob_ext_list.py (94%)
 rename tools/{binman => binmanu}/etype/blob_named_by_arg.py (94%)
 rename tools/{binman => binmanu}/etype/blob_phase.py (95%)
 rename tools/{binman => binmanu}/etype/cbfs.py (98%)
 rename tools/{binman => binmanu}/etype/collection.py (98%)
 rename tools/{binman => binmanu}/etype/cros_ec_rw.py (91%)
 rename tools/{binman => binmanu}/etype/fdtmap.py (97%)
 rename tools/{binman => binmanu}/etype/files.py (95%)
 rename tools/{binman => binmanu}/etype/fill.py (94%)
 rename tools/{binman => binmanu}/etype/fit.py (99%)
 rename tools/{binman => binmanu}/etype/fmap.py (95%)
 rename tools/{binman => binmanu}/etype/gbb.py (97%)
 rename tools/{binman => binmanu}/etype/image_header.py (99%)
 rename tools/{binman => binmanu}/etype/intel_cmc.py (92%)
 rename tools/{binman => binmanu}/etype/intel_descriptor.py (97%)
 rename tools/{binman => binmanu}/etype/intel_fit.py (94%)
 rename tools/{binman => binmanu}/etype/intel_fit_ptr.py (96%)
 rename tools/{binman => binmanu}/etype/intel_fsp.py (94%)
 rename tools/{binman => binmanu}/etype/intel_fsp_m.py (94%)
 rename tools/{binman => binmanu}/etype/intel_fsp_s.py (94%)
 rename tools/{binman => binmanu}/etype/intel_fsp_t.py (94%)
 rename tools/{binman => binmanu}/etype/intel_ifwi.py (98%)
 rename tools/{binman => binmanu}/etype/intel_me.py (95%)
 rename tools/{binman => binmanu}/etype/intel_mrc.py (93%)
 rename tools/{binman => binmanu}/etype/intel_refcode.py (93%)
 rename tools/{binman => binmanu}/etype/intel_vbt.py (92%)
 rename tools/{binman => binmanu}/etype/intel_vga.py (93%)
 rename tools/{binman => binmanu}/etype/mkimage.py (99%)
 rename tools/{binman => binmanu}/etype/null.py (90%)
 rename tools/{binman => binmanu}/etype/opensbi.py (91%)
 rename tools/{binman => binmanu}/etype/powerpc_mpc85xx_bootpg_resetvec.py (94%)
 rename tools/{binman => binmanu}/etype/pre_load.py (97%)
 rename tools/{binman => binmanu}/etype/scp.py (89%)
 rename tools/{binman => binmanu}/etype/section.py (99%)
 rename tools/{binman => binmanu}/etype/tee_os.py (97%)
 rename tools/{binman => binmanu}/etype/text.py (97%)
 rename tools/{binman => binmanu}/etype/u_boot.py (92%)
 rename tools/{binman => binmanu}/etype/u_boot_dtb.py (91%)
 rename tools/{binman => binmanu}/etype/u_boot_dtb_with_ucode.py (95%)
 rename tools/{binman => binmanu}/etype/u_boot_elf.py (91%)
 rename tools/{binman => binmanu}/etype/u_boot_env.py (94%)
 rename tools/{binman => binmanu}/etype/u_boot_expanded.py (93%)
 rename tools/{binman => binmanu}/etype/u_boot_img.py (90%)
 rename tools/{binman => binmanu}/etype/u_boot_nodtb.py (92%)
 rename tools/{binman => binmanu}/etype/u_boot_spl.py (95%)
 rename tools/{binman => binmanu}/etype/u_boot_spl_bss_pad.py (92%)
 rename tools/{binman => binmanu}/etype/u_boot_spl_dtb.py (90%)
 rename tools/{binman => binmanu}/etype/u_boot_spl_elf.py (90%)
 rename tools/{binman => binmanu}/etype/u_boot_spl_expanded.py (93%)
 rename tools/{binman => binmanu}/etype/u_boot_spl_nodtb.py (94%)
 rename tools/{binman => binmanu}/etype/u_boot_spl_with_ucode_ptr.py (90%)
 rename tools/{binman => binmanu}/etype/u_boot_tpl.py (95%)
 rename tools/{binman => binmanu}/etype/u_boot_tpl_bss_pad.py (92%)
 rename tools/{binman => binmanu}/etype/u_boot_tpl_dtb.py (90%)
 rename tools/{binman => binmanu}/etype/u_boot_tpl_dtb_with_ucode.py (90%)
 rename tools/{binman => binmanu}/etype/u_boot_tpl_elf.py (90%)
 rename tools/{binman => binmanu}/etype/u_boot_tpl_expanded.py (93%)
 rename tools/{binman => binmanu}/etype/u_boot_tpl_nodtb.py (94%)
 rename tools/{binman => binmanu}/etype/u_boot_tpl_with_ucode_ptr.py (74%)
 rename tools/{binman => binmanu}/etype/u_boot_ucode.py (97%)
 rename tools/{binman => binmanu}/etype/u_boot_vpl.py (94%)
 rename tools/{binman => binmanu}/etype/u_boot_vpl_bss_pad.py (92%)
 rename tools/{binman => binmanu}/etype/u_boot_vpl_dtb.py (90%)
 rename tools/{binman => binmanu}/etype/u_boot_vpl_elf.py (90%)
 rename tools/{binman => binmanu}/etype/u_boot_vpl_expanded.py (93%)
 rename tools/{binman => binmanu}/etype/u_boot_vpl_nodtb.py (94%)
 rename tools/{binman => binmanu}/etype/u_boot_with_ucode_ptr.py (96%)
 rename tools/{binman => binmanu}/etype/vblock.py (96%)
 rename tools/{binman => binmanu}/etype/x86_reset16.py (92%)
 rename tools/{binman => binmanu}/etype/x86_reset16_spl.py (92%)
 rename tools/{binman => binmanu}/etype/x86_reset16_tpl.py (92%)
 rename tools/{binman => binmanu}/etype/x86_start16.py (93%)
 rename tools/{binman => binmanu}/etype/x86_start16_spl.py (93%)
 rename tools/{binman => binmanu}/etype/x86_start16_tpl.py (93%)
 rename tools/{binman => binmanu}/fdt_test.py (98%)
 rename tools/{binman => binmanu}/fip_util.py (99%)
 rename tools/{binman => binmanu}/fip_util_test.py (99%)
 rename tools/{binman => binmanu}/fmap_util.py (99%)
 rename tools/{binman => binmanu}/ftest.py (99%)
 rename tools/{binman => binmanu}/image.py (98%)
 rename tools/{binman => binmanu}/image_test.py (95%)
 rename tools/{binman => binmanu}/index.rst (100%)
 rename tools/{binman => binmanu}/main.py (85%)
 rename tools/{binman => binmanu}/missing-blob-help (100%)
 create mode 100644 tools/binmanu/pyproject.toml
 rename tools/{binman => binmanu}/setup.py (100%)
 rename tools/{binman => binmanu}/state.py (99%)
 rename tools/{binman => binmanu}/test/001_invalid.dts (100%)
 rename tools/{binman => binmanu}/test/002_missing_node.dts (100%)
 rename tools/{binman => binmanu}/test/003_empty.dts (100%)
 rename tools/{binman => binmanu}/test/004_invalid_entry.dts (100%)
 rename tools/{binman => binmanu}/test/005_simple.dts (100%)
 rename tools/{binman => binmanu}/test/006_dual_image.dts (100%)
 rename tools/{binman => binmanu}/test/007_bad_align.dts (100%)
 rename tools/{binman => binmanu}/test/008_pack.dts (100%)
 rename tools/{binman => binmanu}/test/009_pack_extra.dts (100%)
 rename tools/{binman => binmanu}/test/010_pack_align_power2.dts (100%)
 rename tools/{binman => binmanu}/test/011_pack_align_size_power2.dts (100%)
 rename tools/{binman => binmanu}/test/012_pack_inv_align.dts (100%)
 rename tools/{binman => binmanu}/test/013_pack_inv_size_align.dts (100%)
 rename tools/{binman => binmanu}/test/014_pack_overlap.dts (100%)
 rename tools/{binman => binmanu}/test/015_pack_overflow.dts (100%)
 rename tools/{binman => binmanu}/test/016_pack_image_overflow.dts (100%)
 rename tools/{binman => binmanu}/test/017_pack_image_size.dts (100%)
 rename tools/{binman => binmanu}/test/018_pack_image_align.dts (100%)
 rename tools/{binman => binmanu}/test/019_pack_inv_image_align.dts (100%)
 rename tools/{binman => binmanu}/test/020_pack_inv_image_align_power2.dts (100%)
 rename tools/{binman => binmanu}/test/021_image_pad.dts (100%)
 rename tools/{binman => binmanu}/test/022_image_name.dts (100%)
 rename tools/{binman => binmanu}/test/023_blob.dts (100%)
 rename tools/{binman => binmanu}/test/024_sorted.dts (100%)
 rename tools/{binman => binmanu}/test/025_pack_zero_size.dts (100%)
 rename tools/{binman => binmanu}/test/026_pack_u_boot_dtb.dts (100%)
 rename tools/{binman => binmanu}/test/027_pack_4gb_no_size.dts (100%)
 rename tools/{binman => binmanu}/test/028_pack_4gb_outside.dts (100%)
 rename tools/{binman => binmanu}/test/029_x86_rom.dts (100%)
 rename tools/{binman => binmanu}/test/030_x86_rom_me_no_desc.dts (100%)
 rename tools/{binman => binmanu}/test/031_x86_rom_me.dts (100%)
 rename tools/{binman => binmanu}/test/032_intel_vga.dts (100%)
 rename tools/{binman => binmanu}/test/033_x86_start16.dts (100%)
 rename tools/{binman => binmanu}/test/034_x86_ucode.dts (100%)
 rename tools/{binman => binmanu}/test/035_x86_single_ucode.dts (100%)
 rename tools/{binman => binmanu}/test/036_u_boot_img.dts (100%)
 rename tools/{binman => binmanu}/test/037_x86_no_ucode.dts (100%)
 rename tools/{binman => binmanu}/test/038_x86_ucode_missing_node.dts (100%)
 rename tools/{binman => binmanu}/test/039_x86_ucode_missing_node2.dts (100%)
 rename tools/{binman => binmanu}/test/040_x86_ucode_not_in_image.dts (100%)
 rename tools/{binman => binmanu}/test/041_unknown_pos_size.dts (100%)
 rename tools/{binman => binmanu}/test/042_intel_fsp.dts (100%)
 rename tools/{binman => binmanu}/test/043_intel_cmc.dts (100%)
 rename tools/{binman => binmanu}/test/044_x86_optional_ucode.dts (100%)
 rename tools/{binman => binmanu}/test/045_prop_test.dts (100%)
 rename tools/{binman => binmanu}/test/046_intel_vbt.dts (100%)
 rename tools/{binman => binmanu}/test/047_spl_bss_pad.dts (100%)
 rename tools/{binman => binmanu}/test/048_x86_start16_spl.dts (100%)
 rename tools/{binman => binmanu}/test/049_x86_ucode_spl.dts (100%)
 rename tools/{binman => binmanu}/test/050_intel_mrc.dts (100%)
 rename tools/{binman => binmanu}/test/051_u_boot_spl_dtb.dts (100%)
 rename tools/{binman => binmanu}/test/052_u_boot_spl_nodtb.dts (100%)
 rename tools/{binman => binmanu}/test/053_symbols.dts (100%)
 rename tools/{binman => binmanu}/test/054_unit_address.dts (100%)
 rename tools/{binman => binmanu}/test/055_sections.dts (100%)
 rename tools/{binman => binmanu}/test/056_name_prefix.dts (100%)
 rename tools/{binman => binmanu}/test/057_unknown_contents.dts (100%)
 rename tools/{binman => binmanu}/test/058_x86_ucode_spl_needs_retry.dts (100%)
 rename tools/{binman => binmanu}/test/059_change_size.dts (100%)
 rename tools/{binman => binmanu}/test/060_fdt_update.dts (100%)
 rename tools/{binman => binmanu}/test/061_fdt_update_bad.dts (100%)
 rename tools/{binman => binmanu}/test/062_entry_args.dts (100%)
 rename tools/{binman => binmanu}/test/063_entry_args_missing.dts (100%)
 rename tools/{binman => binmanu}/test/064_entry_args_required.dts (100%)
 rename tools/{binman => binmanu}/test/065_entry_args_unknown_datatype.dts (100%)
 rename tools/{binman => binmanu}/test/066_text.dts (100%)
 rename tools/{binman => binmanu}/test/067_fmap.dts (100%)
 rename tools/{binman => binmanu}/test/068_blob_named_by_arg.dts (100%)
 rename tools/{binman => binmanu}/test/069_fill.dts (100%)
 rename tools/{binman => binmanu}/test/070_fill_no_size.dts (100%)
 rename tools/{binman => binmanu}/test/071_gbb.dts (100%)
 rename tools/{binman => binmanu}/test/072_gbb_too_small.dts (100%)
 rename tools/{binman => binmanu}/test/073_gbb_no_size.dts (100%)
 rename tools/{binman => binmanu}/test/074_vblock.dts (100%)
 rename tools/{binman => binmanu}/test/075_vblock_no_content.dts (100%)
 rename tools/{binman => binmanu}/test/076_vblock_bad_phandle.dts (100%)
 rename tools/{binman => binmanu}/test/077_vblock_bad_entry.dts (100%)
 rename tools/{binman => binmanu}/test/078_u_boot_tpl.dts (100%)
 rename tools/{binman => binmanu}/test/079_uses_pos.dts (100%)
 rename tools/{binman => binmanu}/test/080_fill_empty.dts (100%)
 rename tools/{binman => binmanu}/test/081_x86_start16_tpl.dts (100%)
 rename tools/{binman => binmanu}/test/082_fdt_update_all.dts (100%)
 rename tools/{binman => binmanu}/test/083_compress.dts (100%)
 rename tools/{binman => binmanu}/test/084_files.dts (100%)
 rename tools/{binman => binmanu}/test/085_files_compress.dts (100%)
 rename tools/{binman => binmanu}/test/086_files_none.dts (100%)
 rename tools/{binman => binmanu}/test/087_files_no_pattern.dts (100%)
 rename tools/{binman => binmanu}/test/088_extend_size.dts (100%)
 rename tools/{binman => binmanu}/test/089_extend_size_bad.dts (100%)
 rename tools/{binman => binmanu}/test/090_hash.dts (100%)
 rename tools/{binman => binmanu}/test/091_hash_no_algo.dts (100%)
 rename tools/{binman => binmanu}/test/092_hash_bad_algo.dts (100%)
 rename tools/{binman => binmanu}/test/093_x86_tpl_ucode.dts (100%)
 rename tools/{binman => binmanu}/test/094_fmap_x86.dts (100%)
 rename tools/{binman => binmanu}/test/095_fmap_x86_section.dts (100%)
 rename tools/{binman => binmanu}/test/096_elf.dts (100%)
 rename tools/{binman => binmanu}/test/097_elf_strip.dts (100%)
 rename tools/{binman => binmanu}/test/098_4gb_and_skip_at_start_together.dts (100%)
 rename tools/{binman => binmanu}/test/099_hash_section.dts (100%)
 rename tools/{binman => binmanu}/test/100_intel_refcode.dts (100%)
 rename tools/{binman => binmanu}/test/101_sections_offset.dts (100%)
 rename tools/{binman => binmanu}/test/102_cbfs_raw.dts (100%)
 rename tools/{binman => binmanu}/test/103_cbfs_raw_ppc.dts (100%)
 rename tools/{binman => binmanu}/test/104_cbfs_stage.dts (100%)
 rename tools/{binman => binmanu}/test/105_cbfs_raw_compress.dts (100%)
 rename tools/{binman => binmanu}/test/106_cbfs_bad_arch.dts (100%)
 rename tools/{binman => binmanu}/test/107_cbfs_no_size.dts (100%)
 rename tools/{binman => binmanu}/test/108_cbfs_no_contents.dts (100%)
 rename tools/{binman => binmanu}/test/109_cbfs_bad_compress.dts (100%)
 rename tools/{binman => binmanu}/test/110_cbfs_name.dts (100%)
 rename tools/{binman => binmanu}/test/111_x86_rom_ifwi.dts (100%)
 rename tools/{binman => binmanu}/test/112_x86_rom_ifwi_nodesc.dts (100%)
 rename tools/{binman => binmanu}/test/113_x86_rom_ifwi_nodata.dts (100%)
 rename tools/{binman => binmanu}/test/114_cbfs_offset.dts (100%)
 rename tools/{binman => binmanu}/test/115_fdtmap.dts (100%)
 rename tools/{binman => binmanu}/test/116_fdtmap_hdr.dts (100%)
 rename tools/{binman => binmanu}/test/117_fdtmap_hdr_start.dts (100%)
 rename tools/{binman => binmanu}/test/118_fdtmap_hdr_pos.dts (100%)
 rename tools/{binman => binmanu}/test/119_fdtmap_hdr_missing.dts (100%)
 rename tools/{binman => binmanu}/test/120_hdr_no_location.dts (100%)
 rename tools/{binman => binmanu}/test/121_entry_extend.dts (100%)
 rename tools/{binman => binmanu}/test/122_entry_extend_twice.dts (100%)
 rename tools/{binman => binmanu}/test/123_entry_extend_section.dts (100%)
 rename tools/{binman => binmanu}/test/124_compress_dtb.dts (100%)
 rename tools/{binman => binmanu}/test/125_cbfs_update.dts (100%)
 rename tools/{binman => binmanu}/test/126_cbfs_bad_type.dts (100%)
 rename tools/{binman => binmanu}/test/127_list.dts (100%)
 rename tools/{binman => binmanu}/test/128_decode_image.dts (100%)
 rename tools/{binman => binmanu}/test/129_decode_image_nohdr.dts (100%)
 rename tools/{binman => binmanu}/test/130_list_fdtmap.dts (100%)
 rename tools/{binman => binmanu}/test/131_pack_align_section.dts (100%)
 rename tools/{binman => binmanu}/test/132_replace.dts (100%)
 rename tools/{binman => binmanu}/test/133_replace_multi.dts (100%)
 rename tools/{binman => binmanu}/test/134_fdt_update_all_repack.dts (100%)
 rename tools/{binman => binmanu}/test/135_fdtmap_hdr_middle.dts (100%)
 rename tools/{binman => binmanu}/test/136_fdtmap_hdr_startbad.dts (100%)
 rename tools/{binman => binmanu}/test/137_fdtmap_hdr_endbad.dts (100%)
 rename tools/{binman => binmanu}/test/138_fdtmap_hdr_nosize.dts (100%)
 rename tools/{binman => binmanu}/test/139_replace_repack.dts (100%)
 rename tools/{binman => binmanu}/test/140_entry_shrink.dts (100%)
 rename tools/{binman => binmanu}/test/141_descriptor_offset.dts (100%)
 rename tools/{binman => binmanu}/test/142_replace_cbfs.dts (100%)
 rename tools/{binman => binmanu}/test/143_replace_all.dts (100%)
 rename tools/{binman => binmanu}/test/144_x86_reset16.dts (100%)
 rename tools/{binman => binmanu}/test/145_x86_reset16_spl.dts (100%)
 rename tools/{binman => binmanu}/test/146_x86_reset16_tpl.dts (100%)
 rename tools/{binman => binmanu}/test/147_intel_fit.dts (100%)
 rename tools/{binman => binmanu}/test/148_intel_fit_missing.dts (100%)
 rename tools/{binman => binmanu}/test/149_symbols_tpl.dts (100%)
 rename tools/{binman => binmanu}/test/150_powerpc_mpc85xx_bootpg_resetvec.dts (100%)
 rename tools/{binman => binmanu}/test/151_x86_rom_ifwi_section.dts (100%)
 rename tools/{binman => binmanu}/test/152_intel_fsp_m.dts (100%)
 rename tools/{binman => binmanu}/test/153_intel_fsp_s.dts (100%)
 rename tools/{binman => binmanu}/test/154_intel_fsp_t.dts (100%)
 rename tools/{binman => binmanu}/test/155_symbols_tpl_x86.dts (100%)
 rename tools/{binman => binmanu}/test/156_mkimage.dts (100%)
 rename tools/{binman => binmanu}/test/157_blob_ext.dts (100%)
 rename tools/{binman => binmanu}/test/158_blob_ext_missing.dts (100%)
 rename tools/{binman => binmanu}/test/159_blob_ext_missing_sect.dts (100%)
 rename tools/{binman => binmanu}/test/160_pack_overlap_zero.dts (100%)
 rename tools/{binman => binmanu}/test/161_fit.dts (100%)
 rename tools/{binman => binmanu}/test/162_fit_external.dts (100%)
 rename tools/{binman => binmanu}/test/163_x86_rom_me_empty.dts (100%)
 rename tools/{binman => binmanu}/test/164_x86_rom_me_missing.dts (100%)
 rename tools/{binman => binmanu}/test/165_section_ignore_hash_signature.dts (100%)
 rename tools/{binman => binmanu}/test/166_pad_in_sections.dts (100%)
 rename tools/{binman => binmanu}/test/167_fit_image_subentry_alignment.dts (100%)
 rename tools/{binman => binmanu}/test/168_fit_missing_blob.dts (100%)
 rename tools/{binman => binmanu}/test/169_atf_bl31.dts (100%)
 rename tools/{binman => binmanu}/test/170_fit_fdt.dts (100%)
 rename tools/{binman => binmanu}/test/171_fit_fdt_missing_prop.dts (100%)
 rename tools/{binman => binmanu}/test/172_scp.dts (100%)
 rename tools/{binman => binmanu}/test/173_missing_blob.dts (100%)
 rename tools/{binman => binmanu}/test/174_env.dts (100%)
 rename tools/{binman => binmanu}/test/175_env_no_size.dts (100%)
 rename tools/{binman => binmanu}/test/176_env_too_small.dts (100%)
 rename tools/{binman => binmanu}/test/177_skip_at_start.dts (100%)
 rename tools/{binman => binmanu}/test/178_skip_at_start_pad.dts (100%)
 rename tools/{binman => binmanu}/test/179_skip_at_start_section_pad.dts (100%)
 rename tools/{binman => binmanu}/test/180_section_pad.dts (100%)
 rename tools/{binman => binmanu}/test/181_section_align.dts (100%)
 rename tools/{binman => binmanu}/test/182_compress_image.dts (100%)
 rename tools/{binman => binmanu}/test/183_compress_image_less.dts (100%)
 rename tools/{binman => binmanu}/test/184_compress_section_size.dts (100%)
 rename tools/{binman => binmanu}/test/185_compress_section.dts (100%)
 rename tools/{binman => binmanu}/test/186_compress_extra.dts (100%)
 rename tools/{binman => binmanu}/test/187_symbols_sub.dts (100%)
 rename tools/{binman => binmanu}/test/188_image_entryarg.dts (100%)
 rename tools/{binman => binmanu}/test/189_vblock_content.dts (100%)
 rename tools/{binman => binmanu}/test/190_files_align.dts (100%)
 rename tools/{binman => binmanu}/test/191_read_image_skip.dts (100%)
 rename tools/{binman => binmanu}/test/192_u_boot_tpl_nodtb.dts (100%)
 rename tools/{binman => binmanu}/test/193_tpl_bss_pad.dts (100%)
 rename tools/{binman => binmanu}/test/194_fdt_incl.dts (100%)
 rename tools/{binman => binmanu}/test/195_fdt_incl_tpl.dts (100%)
 rename tools/{binman => binmanu}/test/196_symbols_nodtb.dts (100%)
 rename tools/{binman => binmanu}/test/197_symbols_expand.dts (100%)
 rename tools/{binman => binmanu}/test/198_collection.dts (100%)
 rename tools/{binman => binmanu}/test/199_collection_section.dts (100%)
 rename tools/{binman => binmanu}/test/200_align_default.dts (100%)
 rename tools/{binman => binmanu}/test/201_opensbi.dts (100%)
 rename tools/{binman => binmanu}/test/202_section_timeout.dts (100%)
 rename tools/{binman => binmanu}/test/203_fip.dts (100%)
 rename tools/{binman => binmanu}/test/204_fip_other.dts (100%)
 rename tools/{binman => binmanu}/test/205_fip_no_type.dts (100%)
 rename tools/{binman => binmanu}/test/206_fip_uuid.dts (100%)
 rename tools/{binman => binmanu}/test/207_fip_ls.dts (100%)
 rename tools/{binman => binmanu}/test/208_fip_replace.dts (100%)
 rename tools/{binman => binmanu}/test/209_fip_missing.dts (100%)
 rename tools/{binman => binmanu}/test/210_fip_size.dts (100%)
 rename tools/{binman => binmanu}/test/211_fip_bad_align.dts (100%)
 rename tools/{binman => binmanu}/test/212_fip_collection.dts (100%)
 rename tools/{binman => binmanu}/test/213_fdtmap_alt_format.dts (100%)
 rename tools/{binman => binmanu}/test/214_no_alt_format.dts (100%)
 rename tools/{binman => binmanu}/test/215_blob_ext_list.dts (100%)
 rename tools/{binman => binmanu}/test/216_blob_ext_list_missing.dts (100%)
 rename tools/{binman => binmanu}/test/217_fake_blob.dts (100%)
 rename tools/{binman => binmanu}/test/218_blob_ext_list_fake.dts (100%)
 rename tools/{binman => binmanu}/test/219_fit_gennode.dts (100%)
 rename tools/{binman => binmanu}/test/220_fit_subentry_bintool.dts (100%)
 rename tools/{binman => binmanu}/test/221_fit_subentry_hash.dts (100%)
 rename tools/{binman => binmanu}/test/222_tee_os.dts (100%)
 rename tools/{binman => binmanu}/test/223_fit_fdt_oper.dts (100%)
 rename tools/{binman => binmanu}/test/224_fit_bad_oper.dts (100%)
 rename tools/{binman => binmanu}/test/225_expand_size_bad.dts (100%)
 rename tools/{binman => binmanu}/test/226_fit_split_elf.dts (100%)
 rename tools/{binman => binmanu}/test/227_fit_bad_dir.dts (100%)
 rename tools/{binman => binmanu}/test/228_fit_bad_dir_config.dts (100%)
 rename tools/{binman => binmanu}/test/229_mkimage_missing.dts (100%)
 rename tools/{binman => binmanu}/test/230_dev.key (100%)
 rename tools/{binman => binmanu}/test/230_pre_load.dts (85%)
 rename tools/{binman => binmanu}/test/231_pre_load_pkcs.dts (87%)
 rename tools/{binman => binmanu}/test/232_pre_load_pss.dts (86%)
 rename tools/{binman => binmanu}/test/233_pre_load_invalid_padding.dts (86%)
 rename tools/{binman => binmanu}/test/234_pre_load_invalid_sha.dts (86%)
 rename tools/{binman => binmanu}/test/235_pre_load_invalid_algo.dts (86%)
 rename tools/{binman => binmanu}/test/236_pre_load_invalid_key.dts (86%)
 rename tools/{binman => binmanu}/test/237_unique_names.dts (100%)
 rename tools/{binman => binmanu}/test/238_unique_names_multi.dts (100%)
 rename tools/{binman => binmanu}/test/239_replace_with_bintool.dts (100%)
 rename tools/{binman => binmanu}/test/240_fit_extract_replace.dts (100%)
 rename tools/{binman => binmanu}/test/241_replace_section_simple.dts (100%)
 rename tools/{binman => binmanu}/test/242_mkimage_name.dts (100%)
 rename tools/{binman => binmanu}/test/243_mkimage_image.dts (100%)
 rename tools/{binman => binmanu}/test/244_mkimage_image_no_content.dts (100%)
 rename tools/{binman => binmanu}/test/245_mkimage_image_bad.dts (100%)
 rename tools/{binman => binmanu}/test/246_collection_other.dts (100%)
 rename tools/{binman => binmanu}/test/247_mkimage_coll.dts (100%)
 rename tools/{binman => binmanu}/test/248_compress_dtb_prepend_invalid.dts (100%)
 rename tools/{binman => binmanu}/test/249_compress_dtb_prepend_length.dts (100%)
 rename tools/{binman => binmanu}/test/250_compress_dtb_invalid.dts (100%)
 rename tools/{binman => binmanu}/test/251_compress_dtb_zstd.dts (100%)
 rename tools/{binman => binmanu}/test/252_mkimage_mult_data.dts (100%)
 rename tools/{binman => binmanu}/test/253_mkimage_mult_no_content.dts (100%)
 rename tools/{binman => binmanu}/test/254_mkimage_filename.dts (100%)
 rename tools/{binman => binmanu}/test/255_u_boot_vpl.dts (100%)
 rename tools/{binman => binmanu}/test/256_u_boot_vpl_nodtb.dts (100%)
 rename tools/{binman => binmanu}/test/257_fdt_incl_vpl.dts (100%)
 rename tools/{binman => binmanu}/test/258_vpl_bss_pad.dts (100%)
 rename tools/{binman => binmanu}/test/259_symlink.dts (100%)
 rename tools/{binman => binmanu}/test/260_symbols_elf.dts (100%)
 rename tools/{binman => binmanu}/test/261_section_fname.dts (100%)
 rename tools/{binman => binmanu}/test/262_absent.dts (100%)
 rename tools/{binman => binmanu}/test/263_tee_os_opt.dts (100%)
 rename tools/{binman => binmanu}/test/264_tee_os_opt_fit.dts (100%)
 rename tools/{binman => binmanu}/test/265_tee_os_opt_fit_bad.dts (100%)
 rename tools/{binman => binmanu}/test/266_blob_ext_opt.dts (100%)
 rename tools/{binman => binmanu}/test/267_section_inner.dts (100%)
 rename tools/{binman => binmanu}/test/268_null.dts (100%)
 rename tools/{binman => binmanu}/test/269_overlap.dts (100%)
 rename tools/{binman => binmanu}/test/270_overlap_null.dts (100%)
 rename tools/{binman => binmanu}/test/271_overlap_bad.dts (100%)
 rename tools/{binman => binmanu}/test/272_overlap_no_size.dts (100%)
 rename tools/{binman => binmanu}/test/273_blob_symbol.dts (100%)
 rename tools/{binman => binmanu}/test/274_offset_from_elf.dts (100%)
 rename tools/{binman => binmanu}/test/275_fit_align.dts (100%)
 rename tools/{binman => binmanu}/test/276_fit_firmware_loadables.dts (100%)
 rename tools/{binman => binmanu}/test/Makefile (100%)
 rename tools/{binman => binmanu}/test/blob_syms.c (100%)
 rename tools/{binman => binmanu}/test/blob_syms.lds (100%)
 rename tools/{binman => binmanu}/test/bss_data.c (100%)
 rename tools/{binman => binmanu}/test/bss_data.lds (100%)
 rename tools/{binman => binmanu}/test/descriptor.bin (100%)
 rename tools/{binman => binmanu}/test/elf_sections.c (100%)
 rename tools/{binman => binmanu}/test/elf_sections.lds (100%)
 rename tools/{binman => binmanu}/test/embed_data.c (100%)
 rename tools/{binman => binmanu}/test/embed_data.lds (100%)
 rename tools/{binman => binmanu}/test/files/1.dat (100%)
 rename tools/{binman => binmanu}/test/files/2.dat (100%)
 rename tools/{binman => binmanu}/test/files/ignored_dir.dat/ignore (100%)
 rename tools/{binman => binmanu}/test/files/not-this-one (100%)
 rename tools/{binman => binmanu}/test/fitimage.bin.gz (100%)
 rename tools/{binman => binmanu}/test/generated/autoconf.h (100%)
 rename tools/{binman => binmanu}/test/ifwi.bin.gz (100%)
 rename tools/{binman => binmanu}/test/u_boot_binman_embed.c (100%)
 rename tools/{binman => binmanu}/test/u_boot_binman_embed.lds (100%)
 rename tools/{binman => binmanu}/test/u_boot_binman_embed_sm.c (100%)
 rename tools/{binman => binmanu}/test/u_boot_binman_syms.c (100%)
 rename tools/{binman => binmanu}/test/u_boot_binman_syms.lds (100%)
 rename tools/{binman => binmanu}/test/u_boot_binman_syms_bad.c (100%)
 rename tools/{binman => binmanu}/test/u_boot_binman_syms_bad.lds (100%)
 rename tools/{binman => binmanu}/test/u_boot_binman_syms_size.c (100%)
 rename tools/{binman => binmanu}/test/u_boot_binman_syms_x86.c (100%)
 rename tools/{binman => binmanu}/test/u_boot_binman_syms_x86.lds (100%)
 rename tools/{binman => binmanu}/test/u_boot_no_ucode_ptr.c (100%)
 rename tools/{binman => binmanu}/test/u_boot_ucode_ptr.c (100%)
 rename tools/{binman => binmanu}/test/u_boot_ucode_ptr.lds (100%)
 create mode 100644 tools/buildman/pyproject.toml
 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 120000 tools/patman
 delete mode 100644 tools/patman/.gitignore
 delete mode 100644 tools/patman/__init__.py
 rename tools/{patman => patmanu}/.checkpatch.conf (100%)
 rename tools/{concurrencytest => patmanu}/.gitignore (100%)
 rename tools/{patman => patmanu}/README.rst (100%)
 create mode 100644 tools/patmanu/__init__.py
 rename tools/{patman => patmanu}/__main__.py (94%)
 rename tools/{patman => patmanu}/checkpatch.py (98%)
 rename tools/{patman => patmanu}/commit.py (100%)
 rename tools/{patman => patmanu}/control.py (98%)
 rename tools/{patman => patmanu}/func_test.py (99%)
 rename tools/{patman => patmanu}/get_maintainer.py (96%)
 rename tools/{patman => patmanu}/gitutil.py (99%)
 rename tools/{patman => patmanu}/patchstream.py (99%)
 rename tools/{patman => patmanu}/patman (100%)
 rename tools/{patman => patmanu}/patman.rst (98%)
 rename tools/{patman => patmanu}/project.py (95%)
 create mode 100644 tools/patmanu/pyproject.toml
 rename tools/{patman => patmanu}/pytest.ini (100%)
 rename tools/{patman => patmanu}/series.py (98%)
 rename tools/{patman => patmanu}/settings.py (99%)
 rename tools/{patman => patmanu}/setup.py (100%)
 rename tools/{patman => patmanu}/status.py (99%)
 rename tools/{patman => patmanu}/test/0000-cover-letter.patch (100%)
 rename tools/{patman => patmanu}/test/0001-pci-Correct-cast-for-sandbox.patch (100%)
 rename tools/{patman => patmanu}/test/0002-fdt-Correct-cast-for-sandbox-in-fdtdec_setup_mem_siz.patch (100%)
 rename tools/{patman => patmanu}/test/test01.txt (100%)
 rename tools/{patman => patmanu}/test_checkpatch.py (99%)
 rename tools/{patman => patmanu}/test_settings.py (97%)
 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

-- 
2.39.2.637.g21b0678d19-goog



More information about the U-Boot mailing list