From d63a01674895979c035e2e16b79ff7ec22f2611a Mon Sep 17 00:00:00 2001 From: Richard Purdie Date: Tue, 20 Sep 2022 12:11:51 +0100 Subject: [PATCH] perf: Fix for recent kernel upgrades 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. (From OE-Core rev: 35dbd02b73a586db9e09c6a6d36252244ea5e91f) Signed-off-by: Richard Purdie (cherry picked from commit cf33e2ab2693eafaf0e5fc45666355d60e084281) Signed-off-by: Steve Sakoman Signed-off-by: Richard Purdie --- meta/recipes-kernel/perf/perf.bb | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/meta/recipes-kernel/perf/perf.bb b/meta/recipes-kernel/perf/perf.bb index 95b4362958..772bc2dea1 100644 --- a/meta/recipes-kernel/perf/perf.bb +++ b/meta/recipes-kernel/perf/perf.bb @@ -144,6 +144,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 } @@ -244,6 +247,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