forked from pool/rpmlint
Dirk Mueller
dcf1cd7108
OBS-URL: https://build.opensuse.org/package/show/devel:openSUSE:Factory:rpmlint/rpmlint?expand=0&rev=602
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:
|