]> git.ipfire.org Git - thirdparty/openembedded/openembedded-core-contrib.git/commitdiff
perf: Fix for recent kernel upgrades
authorRichard Purdie <richard.purdie@linuxfoundation.org>
Tue, 20 Sep 2022 11:11:51 +0000 (12:11 +0100)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Wed, 21 Sep 2022 08:18:58 +0000 (09:18 +0100)
With recent kernel changes in stable, the full path to python was being
encoded into binaries and python install files. Add some workarounds
for both issues to fix build reproducibility issues.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
meta/recipes-kernel/perf/perf.bb

index 9f7c300a40e8f01fc41928e692beb332ec29bc96..31bc04635d8afe9f6b33e8ead23a510614c9db48 100644 (file)
@@ -145,6 +145,9 @@ do_install() {
        # we are checking for this make target to be compatible with older perf versions
        if ${@bb.utils.contains('PACKAGECONFIG', 'scripting', 'true', 'false', d)} && grep -q install-python_ext ${S}/tools/perf/Makefile*; then
            oe_runmake DESTDIR=${D} install-python_ext
+           if [ -e ${D}${libdir}/python*/site-packages/perf-*/SOURCES.txt ]; then
+               sed -i -e 's#${WORKDIR}##g' ${D}${libdir}/python*/site-packages/perf-*/SOURCES.txt
+           fi
        fi
 }
 
@@ -245,6 +248,9 @@ do_configure:prepend () {
         # change the Makefile line to remove everything before 'tools/perf'
         sed -i -e "s%srcdir_SQ = \$(subst ','\\\'',\$(srcdir))%srcdir_SQ = \$(patsubst \%tools/perf,tools/perf,\$(subst ','\\\'',\$(srcdir)))%g" \
             ${S}/tools/perf/Makefile.config
+        # Avoid hardcoded path to python-native
+        sed -i -e 's#\(PYTHON_WORD := \)$(call shell-wordify,$(PYTHON))#\1 python3#g' \
+            ${S}/tools/perf/Makefile.config
     fi
     if [ -e "${S}/tools/perf/tests/Build" ]; then
         # OUTPUT is the full path, we have python on the path so we remove it from the