aboutsummaryrefslogtreecommitdiff
path: root/tools
diff options
context:
space:
mode:
authorSimon Glass <sjg@chromium.org>2020-10-26 17:40:07 -0600
committerSimon Glass <sjg@chromium.org>2020-10-29 14:42:59 -0600
commit9248c8d9c9674d705216e51161c1f0f473fc7fa3 (patch)
treeca3eb2b7b303a8449e63911b9711c6c5a8ed2e76 /tools
parent87c962943aec7aef8849c60f018a5e7756e5b7ba (diff)
downloadu-boot-9248c8d9c9674d705216e51161c1f0f473fc7fa3.zip
u-boot-9248c8d9c9674d705216e51161c1f0f473fc7fa3.tar.gz
u-boot-9248c8d9c9674d705216e51161c1f0f473fc7fa3.tar.bz2
binman: Use 'files-compress' to set compression for files
At present we use 'compress' as the property to set the compression of a 'files' entry. But this conflicts with the same property for entries, of which Entry_section is a subclass. Strictly speaking, since Entry_files is in fact a subclass of Entry_section, the files can be compressed individually but also the section (that contains all the files) can itself be compressed. With this change, it is possible to express that. Signed-off-by: Simon Glass <sjg@chromium.org>
Diffstat (limited to 'tools')
-rw-r--r--tools/binman/README.entries2
-rw-r--r--tools/binman/etype/files.py7
-rw-r--r--tools/binman/etype/section.py4
-rw-r--r--tools/binman/test/085_files_compress.dts2
4 files changed, 8 insertions, 7 deletions
diff --git a/tools/binman/README.entries b/tools/binman/README.entries
index 13b930d..999b776 100644
--- a/tools/binman/README.entries
+++ b/tools/binman/README.entries
@@ -299,7 +299,7 @@ Entry: files: Entry containing a set of files
Properties / Entry arguments:
- pattern: Filename pattern to match the files to include
- - compress: Compression algorithm to use:
+ - files-compress: Compression algorithm to use:
none: No compression
lz4: Use lz4 compression (via 'lz4' command-line utility)
diff --git a/tools/binman/etype/files.py b/tools/binman/etype/files.py
index 9adb3af..ce3832e 100644
--- a/tools/binman/etype/files.py
+++ b/tools/binman/etype/files.py
@@ -19,7 +19,7 @@ class Entry_files(Entry_section):
Properties / Entry arguments:
- pattern: Filename pattern to match the files to include
- - compress: Compression algorithm to use:
+ - files-compress: Compression algorithm to use:
none: No compression
lz4: Use lz4 compression (via 'lz4' command-line utility)
@@ -36,7 +36,8 @@ class Entry_files(Entry_section):
self._pattern = fdt_util.GetString(self._node, 'pattern')
if not self._pattern:
self.Raise("Missing 'pattern' property")
- self._compress = fdt_util.GetString(self._node, 'compress', 'none')
+ self._files_compress = fdt_util.GetString(self._node, 'files-compress',
+ 'none')
self._require_matches = fdt_util.GetBool(self._node,
'require-matches')
@@ -53,7 +54,7 @@ class Entry_files(Entry_section):
subnode = state.AddSubnode(self._node, name)
state.AddString(subnode, 'type', 'blob')
state.AddString(subnode, 'filename', fname)
- state.AddString(subnode, 'compress', self._compress)
+ state.AddString(subnode, 'compress', self._files_compress)
# Read entries again, now that we have some
self._ReadEntries()
diff --git a/tools/binman/etype/section.py b/tools/binman/etype/section.py
index a3e37c3..9222042 100644
--- a/tools/binman/etype/section.py
+++ b/tools/binman/etype/section.py
@@ -160,7 +160,7 @@ class Entry_section(Entry):
section_data += tools.GetBytes(self._pad_byte, pad)
self.Detail('GetData: %d entries, total size %#x' %
(len(self._entries), len(section_data)))
- return section_data
+ return self.CompressData(section_data)
def GetOffsets(self):
"""Handle entries that want to set the offset/size of other entries
@@ -414,7 +414,7 @@ class Entry_section(Entry):
return None
def GetEntryContents(self):
- """Call ObtainContents() for the section
+ """Call ObtainContents() for each entry in the section
"""
todo = self._entries.values()
for passnum in range(3):
diff --git a/tools/binman/test/085_files_compress.dts b/tools/binman/test/085_files_compress.dts
index 847b398..5aeead2 100644
--- a/tools/binman/test/085_files_compress.dts
+++ b/tools/binman/test/085_files_compress.dts
@@ -5,7 +5,7 @@
binman {
files {
pattern = "files/*.dat";
- compress = "lz4";
+ files-compress = "lz4";
};
};
};