Skip to content

Commit 9b49cf2

Browse files
committed
extract_utils: support merging multiple blob fixups
Change-Id: I3a029cf3f8414271926a1ee8abec7d8048c51eb2
1 parent 734c620 commit 9b49cf2

2 files changed

Lines changed: 12 additions & 2 deletions

File tree

extract_utils/fixups.py

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,10 +29,16 @@ def flatten_fixups(
2929

3030
for entries, value in fixups.items():
3131
if isinstance(entries, str):
32-
fixups_final[entries] = value
32+
if entries in fixups_final:
33+
fixups_final[entries].merge(value)
34+
else:
35+
fixups_final[entries] = value
3336
else:
3437
assert isinstance(entries, tuple)
3538
for entry in entries:
36-
fixups_final[entry] = value
39+
if entry in fixups_final:
40+
fixups_final[entry].merge(value)
41+
else:
42+
fixups_final[entry] = value
3743

3844
return fixups_final

extract_utils/fixups_blob.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -83,6 +83,10 @@ def call(
8383
self.__create_tmp_dir = True
8484
return self
8585

86+
def merge(self, other: blob_fixup):
87+
self.__functions += other.__functions
88+
self.__create_tmp_dir = self.__create_tmp_dir or other.__create_tmp_dir
89+
8690
def patchelf_version(self, version: str) -> blob_fixup:
8791
self.__patchelf_path = patchelf_version_path_map[version]
8892
return self

0 commit comments

Comments
 (0)