[pacman-dev] [PATCH] libmakepkg: Support file 5.33's application/x-pie-executable

Jan Alexander Steffens (heftig) jan.steffens at gmail.com
Fri Apr 20 17:46:16 UTC 2018


file 5.33 introduces a new MIME type "application/x-pie-executable",
which is used for relocatable binaries. makepkg ignored these binaries
and did not attempt to strip them.

Handle the new MIME type like the old "application/x-sharedlib".
Stripping the binaries with --strip-unneeded to keep relocation
information should be the correct thing to do.

file 5.33 also misidentifies actual libraries as PIE executables, so we
didn't strip any shared libraries, either. We now work around this bug.

Signed-off-by: Jan Alexander Steffens (heftig) <jan.steffens at gmail.com>
---
 scripts/libmakepkg/tidy/strip.sh.in | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/scripts/libmakepkg/tidy/strip.sh.in b/scripts/libmakepkg/tidy/strip.sh.in
index e20114c0..36d1b89e 100644
--- a/scripts/libmakepkg/tidy/strip.sh.in
+++ b/scripts/libmakepkg/tidy/strip.sh.in
@@ -125,6 +125,8 @@ tidy_strip() {
 					esac;;
 				*application/x-executable*) # Binaries
 					strip_flags="$STRIP_BINARIES";;
+				*application/x-pie-executable*)  # Relocatable binaries
+					strip_flags="$STRIP_SHARED";;
 				*)
 					continue ;;
 			esac
-- 
2.17.0


More information about the pacman-dev mailing list