]> code.ossystems Code Review - openembedded-core.git/commitdiff
python3: fix PGO for non-reproducible biniaries
authorRyan Rowe <rrowe@xevo.com>
Fri, 12 Jun 2020 19:48:24 +0000 (12:48 -0700)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Tue, 16 Jun 2020 14:20:01 +0000 (15:20 +0100)
When PGO was disabled by default by e53ebf29, a bug was introduced that
prevented PGO from ever being enabled. At the time at which extra config
is appended to PACKAGECONFIG_CONFARGS, PACKAGECONFIG_PGO remains
unevaluated in PACKAGECONFIG_class-target, due to setting its value in
an anonymous Python function. As a result, the PGO options options will
never be included.

Signed-off-by: Ryan Rowe <rrowe@xevo.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
meta/recipes-devtools/python/python3_3.8.3.bb

index 997308dc75024d071366241db5027f76ec5454f9..2eb2a422e615857dced37b9462a8192a84310b83 100644 (file)
@@ -82,16 +82,16 @@ CACHED_CONFIGUREVARS = " \
                 ac_cv_file__dev_ptc=no \
                 ac_cv_working_tzset=yes \
 "
-python() {
+
+def possibly_include_pgo(d):
     # PGO currently causes builds to not be reproducible, so disable it for
     # now. See YOCTO #13407
     if bb.utils.contains('MACHINE_FEATURES', 'qemu-usermode', True, False, d) and d.getVar('BUILD_REPRODUCIBLE_BINARIES') != '1':
-        d.setVar('PACKAGECONFIG_PGO', 'pgo')
-    else:
-        d.setVar('PACKAGECONFIG_PGO', '')
-}
+        return 'pgo'
+    
+    return ''
 
-PACKAGECONFIG_class-target ??= "readline ${PACKAGECONFIG_PGO} gdbm"
+PACKAGECONFIG_class-target ??= "readline ${@possibly_include_pgo(d)} gdbm"
 PACKAGECONFIG_class-native ??= "readline gdbm"
 PACKAGECONFIG_class-nativesdk ??= "readline gdbm"
 PACKAGECONFIG[readline] = ",,readline"