File noarch-lib64.diff of Package rpmlint.14711

From: Some One <nobody@opensuse.org>
Date: Thu, 9 Apr 2015 14:55:39 +0200
Subject: [PATCH] noarch-lib64.diff

===================================================================
---
 BinariesCheck.py | 15 ++++++++++++++-
 1 file changed, 14 insertions(+), 1 deletion(-)

Index: rpmlint-rpmlint-1.10/BinariesCheck.py
===================================================================
--- rpmlint-rpmlint-1.10.orig/BinariesCheck.py
+++ rpmlint-rpmlint-1.10/BinariesCheck.py
@@ -345,6 +345,7 @@ class BinariesCheck(AbstractCheck.Abstra
         binary = False
         binary_in_usr_lib = False
         has_usr_lib_file = False
+        file_in_lib64 = False
 
         multi_pkg = False
         srpm = pkg[rpm.RPMTAG_SOURCERPM]
@@ -363,6 +364,10 @@ class BinariesCheck(AbstractCheck.Abstra
                     # only-non-binary-in-usr-lib false positives
                     binary_in_usr_lib = True
 
+            if stat.S_ISREG(pkgfile.mode) and \
+                    (fname.startswith("/usr/lib64") or fname.startswith("/lib64")):
+                file_in_lib64 = True
+
             is_elf = 'ELF' in pkgfile.magic
             is_ar = 'current ar archive' in pkgfile.magic
             is_ocaml_native = 'Objective caml native' in pkgfile.magic
@@ -592,9 +597,12 @@ class BinariesCheck(AbstractCheck.Abstra
             if version and version != -1 and version not in pkg.name:
                 printError(pkg, 'incoherent-version-in-name', version)
 
-        if not binary and not multi_pkg and pkg.arch != 'noarch':
+        if not binary and not multi_pkg and not file_in_lib64 and pkg.arch != 'noarch':
             printError(pkg, 'no-binary')
 
+        if pkg.arch == 'noarch' and file_in_lib64:
+            printError(pkg, 'noarch-with-lib64')
+
         if has_usr_lib_file and not binary_in_usr_lib:
             printWarning(pkg, 'only-non-binary-in-usr-lib')
 
@@ -619,6 +627,11 @@ FHS and the FSSTND forbid this.''',
 # 'non-sparc32-binary',
 # '',
 
+'noarch-with-lib64',
+'''This package is marked as noarch but installs files into lib64.
+Not all architectures have this in path, so the package can't be
+noarch.''',
+
 'invalid-soname',
 '''The soname of the library is neither of the form lib<libname>.so.<major> or
 lib<libname>-<major>.so.''',
openSUSE Build Service is sponsored by