From 7f0b7217fb1c20ec6ce0c0e0bfee0349f27a2511 Mon Sep 17 00:00:00 2001 From: Panu Matilainen Date: Fri, 8 Jan 2021 13:59:59 +0200 Subject: [PATCH] Ensure ELF files get stripped when debuginfo is disabled Depending on libmagic version, PIE executables can be reported as "shared object" avoiding the strip. And so will any libraries because we're explicitly skipping them for whatever historical reason - perhaps because there's a separate script for stripping the libraries, but that has been never enabled in rpm, and relying on "file" strings to do this is hopelessly unreliable. Also drop file permissions checks: making shared libraries executable just to have them stripped is not sensical, especially in the light of commit 80818e4f902ba3cf85e4cfcd8a7a4c71c601f3cf Reported once upon time as RhBug:988812 and later RhBug:1634084 --- scripts/brp-strip | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/scripts/brp-strip b/scripts/brp-strip index c3484fe3c..35fbb593a 100755 --- a/scripts/brp-strip +++ b/scripts/brp-strip @@ -13,5 +13,5 @@ Darwin*) exit 0 ;; esac # Strip ELF binaries -find "$RPM_BUILD_ROOT" -type f \( -perm -0100 -or -perm -0010 -or -perm -0001 \) \! -regex "${RPM_BUILD_ROOT}/*usr/lib/debug.*" -print0 | \ - xargs -0 -r -P$NCPUS -n32 sh -c "file \"\$@\" | grep -v ' shared object,' | sed -n -e 's/^\(.*\):[ ]*ELF.*, not stripped.*/\1/p' | xargs -I\{\} $STRIP -g \{\}" ARG0 +find "$RPM_BUILD_ROOT" -type f \! -regex "${RPM_BUILD_ROOT}/*usr/lib/debug.*" -print0 | \ + xargs -0 -r -P$NCPUS -n32 sh -c "file \"\$@\" | sed -n -e 's/^\(.*\):[ ]*ELF.*, not stripped.*/\1/p' | xargs -I\{\} $STRIP -g \{\}" ARG0 -- 2.33.1