forked from pool/rpmlint
43 lines
1.6 KiB
Diff
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:
|