SHA256
1
0
forked from pool/rpmlint
rpmlint/0001-Fix-compatibility-with-file-5.33.patch

43 lines
1.6 KiB
Diff

From 6497ac4806c2178a19d23203016cbdb6f7f45825 Mon Sep 17 00:00:00 2001
From: Dirk Mueller <dirk@dmllr.de>
Date: Tue, 3 Jul 2018 14:24:01 +0200
Subject: [PATCH] Fix compatibility with file 5.33+
In file 5.33 the pkgfile magic output for pie executables changed
from
ELF 64-bit LSB shared object
to
ELF 64-bit LSB pie executable x86-64
So we need to treat "pie executable" as an equivalent file magic
type for the purpose of PIE executable detection.
---
BinariesCheck.py | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
Index: rpmlint-rpmlint-1.10/BinariesCheck.py
===================================================================
--- rpmlint-rpmlint-1.10.orig/BinariesCheck.py
+++ rpmlint-rpmlint-1.10/BinariesCheck.py
@@ -525,6 +525,7 @@ class BinariesCheck(AbstractCheck.Abstra
is_exec = 'executable' in pkgfile.magic
is_shobj = 'shared object' in pkgfile.magic
+ is_pie_exec = 'pie executable' in pkgfile.magic
if not is_exec and not is_shobj:
continue
@@ -542,7 +543,8 @@ class BinariesCheck(AbstractCheck.Abstra
if ocaml_mixed_regex.search(bin_info.tail):
printWarning(pkg, 'ocaml-mixed-executable', fname)
- if not is_shobj and pie_exec_re and pie_exec_re.search(fname):
+ if ((not is_shobj and not is_pie_exec) and
+ pie_exec_re and pie_exec_re.search(fname)):
printError(pkg, 'non-position-independent-executable',
fname)
if not is_shobj: