On 2023-08-28 20:54 +03:00, Simon Glass wrote: > Hi Alper, > > On Sun, 27 Aug 2023 at 13:17, Alper Nebi Yasak <alpernebiya...@gmail.com> > wrote: >> >> On 2023-08-24 06:02 +03:00, Simon Glass wrote: >>> In this early stage of using binman to produce output files, we are mostly >>> seeing people using common extensions such as '.bin' and '.rom' >>> >>> But unusual extensions appear in some places. >>> >>> We would like 'buildman -k' to keep the build outputs, but this is hard if >>> there is no consistency as to the extension used. >>> >>> This series adjusts binman to enforce just 4 extensions for output images: >>> >>> .bin >>> .rom >>> .itb >>> .img >>> >>> Other extensions will produce an error. With this rule observed, buildman >>> can keep the required files. >> >> I dislike this limitation. We know what files we will generate, they are >> listed in binman dtb, so we can add something like `binman build --ls` >> to print their names/paths for buildman to preserve them. > > Yes, it would be good to have that... > > But why do you dislike the limitation? Do you think extensions provide > useful information? I suppose one problem is that *.bin might pick up > private blobs that happen to be in the source directory?
I guess my strongest argument is that people already/will have workflows that depend on certain filenames or extensions, and shouldn't have to modify binman code (consider that people may be using the PyPI wheels) to accommodate those when we are already putting the name in the dtb. I do want some standardization to the U-Boot build outputs though, but more like a global binman.dts with like u-boot.rom, u-boot-sdmmc.img images with well-defined TPL, SPL, U-Boot sections that arch-dtsi files can fill in. >> Regarding the output directory suggestion, I think the binman outputs >> (not temporary/intermediate files) should be in the same directory as >> make outputs > > Agreed > >> , and the Makefile should default to O=build to achieve the >> "output dir". I'm not sure if that's going to happen. > > I would quite like the 'non-output' file (i.e. things that are not a > binman image) to appear in a 'binman-work' subdir of the output dir. > What do you think? I'd prefer them to go in a tempfile.TemporaryDirectory() and discarded at the end of a binman run, and a "--tmpdir <path>" option to use a given directory instead and preserve things for debugging.