From 6497ac4806c2178a19d23203016cbdb6f7f45825 Mon Sep 17 00:00:00 2001 From: Dirk Mueller 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: