diff options
| author | Simon Glass <sjg@chromium.org> | 2022-01-12 13:10:36 -0700 | 
|---|---|---|
| committer | Tom Rini <trini@konsulko.com> | 2022-01-12 21:26:59 -0500 | 
| commit | 790ba9fce82bff215cf05513278a7b52312b6b28 (patch) | |
| tree | 8587c8832b50a6cdba7118649fa2aa66e9b9e939 /tools/binman/entry.py | |
| parent | 32d4f106bd806428d756398a83d2b15563b58cf8 (diff) | |
binman: Write fake blobs to the output directory
At present binman writes fake blobs to the current directory. This is not
very helpful, since the files serve no useful purpose once binman has
finished. They clutter up the source directory and affect future runs,
since the files in the current directory are often used in preference to
those in the board directory.
To avoid these problems, write them to the output directory instead.
Move the file-creation code to the Entry base class, so it can be used by
any entry type that needs it. This is required since some entry types,
such as Entry_blob_ext_list, are not subclasses of Entry_blob.
Signed-off-by: Simon Glass <sjg@chromium.org>
Diffstat (limited to 'tools/binman/entry.py')
| -rw-r--r-- | tools/binman/entry.py | 20 | 
1 files changed, 20 insertions, 0 deletions
| diff --git a/tools/binman/entry.py b/tools/binman/entry.py index 54cc3726b9d..bac90bbbcde 100644 --- a/tools/binman/entry.py +++ b/tools/binman/entry.py @@ -7,6 +7,7 @@  from collections import namedtuple  import importlib  import os +import pathlib  import sys  from dtoc import fdt_util @@ -972,6 +973,25 @@ features to produce new behaviours.          if self.missing:              missing_list.append(self) +    def check_fake_fname(self, fname): +        """If the file is missing and the entry allows fake blobs, fake it + +        Sets self.faked to True if faked + +        Args: +            fname (str): Filename to check + +        Returns: +            fname (str): Filename of faked file +        """ +        if self.allow_fake and not pathlib.Path(fname).is_file(): +            outfname = tools.GetOutputFilename(os.path.basename(fname)) +            with open(outfname, "wb") as out: +                out.truncate(1024) +            self.faked = True +            return outfname +        return fname +      def CheckFakedBlobs(self, faked_blobs_list):          """Check if any entries in this section have faked external blobs | 
