]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
meson: improve precision of pefile checks 41959/head
authorAlyssa Ross <hi@alyssa.is>
Wed, 6 May 2026 13:31:59 +0000 (15:31 +0200)
committerAlyssa Ross <hi@alyssa.is>
Thu, 7 May 2026 07:43:56 +0000 (09:43 +0200)
Previously, if boot was enabled but ukify wasn't, the check for the pefile
Python module would be omitted.  The check in want_ukify was incorrect — with
Meson it's only possible to check for Python dependencies available for the
build Python.  When the build Python is not the same as the Python that will be
used to run the installed ukify, this would incorrectly require ukify to be
available to the build Python.  The most common, but not the only case where
this would happen would be when cross compiling.  If bootloader and tests are
disabled, there's no need for the build Python to have pefile even when
installing ukify.  Therefore, check in the more specific case of ukify's tests
being enabled, in which case pefile is required at build time.

meson.build

index d6fbd7c2b7ea68e23833811c4d2326f0ddbe7697..59bfde7f0cb469480a433418b8abe15d00ead82b 100644 (file)
@@ -1686,7 +1686,7 @@ if have and efi_arch == 'x64' and cc.links('''
         efi_cpu_family_alt = 'x86'
 endif
 
-want_ukify = pymod.find_installation('python3', required: get_option('ukify'), modules : ['pefile']).found()
+want_ukify = get_option('ukify').allowed()
 conf.set10('ENABLE_UKIFY', want_ukify)
 
 #####################################################################