From: Daan De Meyer Date: Mon, 20 Feb 2023 13:45:19 +0000 (+0100) Subject: ukify: Set fast_load option when parsing PE files X-Git-Tag: v254-rc1~1227 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=c87ff622101b82bae7f4c96b59218c7380927375;p=thirdparty%2Fsystemd.git ukify: Set fast_load option when parsing PE files Let's skip parsing of some irrelevant information that we don't use to speed up building UKIs with large initrds from +-15s to less than 1s. --- diff --git a/src/ukify/ukify.py b/src/ukify/ukify.py index 335de994d88..fc84cd640b4 100755 --- a/src/ukify/ukify.py +++ b/src/ukify/ukify.py @@ -80,7 +80,7 @@ def path_is_readable(s: typing.Optional[str]) -> typing.Optional[pathlib.Path]: def pe_next_section_offset(filename): import pefile - pe = pefile.PE(filename) + pe = pefile.PE(filename, fast_load=True) section = pe.sections[-1] return pe.OPTIONAL_HEADER.ImageBase + section.VirtualAddress + section.Misc_VirtualSize @@ -457,7 +457,7 @@ def pairwise(iterable): def pe_validate(filename): import pefile - pe = pefile.PE(filename) + pe = pefile.PE(filename, fast_load=True) sections = sorted(pe.sections, key=lambda s: (s.VirtualAddress, s.Misc_VirtualSize))