File perl-versioned-rpath-deps.diff of Package rpmlint.4962

--- BinariesCheck.py
+++ BinariesCheck.py
@@ -119,6 +119,8 @@
 sparc_regex=re.compile('SPARC32PLUS|SPARC V9|UltraSPARC')
 system_lib_paths=Config.getOption('SystemLibPaths', DEFAULT_SYSTEM_LIB_PATHS)
 usr_lib_regex=re.compile('^/usr/lib(64)?/')
+lib_perl_regex=re.compile('^/usr/lib/perl5/(?:vendor_perl/)?([0-9]+\.[0-9]+)\.([0-9]+)/')
+perl_version_trick=Config.getOption('PerlVersionTrick', 1)
 bin_regex=re.compile('^(/usr(/X11R6)?)?/s?bin/')
 soversion_regex=re.compile('.*?([0-9][.0-9]*)\\.so|.*\\.so\\.([0-9][.0-9]*).*')
 reference_regex=re.compile('\.la$|^/usr/lib(64)?/pkgconfig/')
@@ -234,7 +236,14 @@
                                 if p in system_lib_paths or \
                                    not usr_lib_regex.search(p):
                                     printError(pkg, 'binary-or-shlib-defines-rpath', i[0], bin_info.rpath)
-                                    break
+                                res=lib_perl_regex.search(p)
+                                if res:
+                                    if perl_version_trick:
+                                        vers = res.group(1) + '.' + res.group(2)
+                                    else:
+                                        vers = res.group(1) + res.group(2)
+                                    if not (pkg.check_versioned_dep('perl', vers)):
+                                        printError(pkg, "no-dependency-on", "perl", vers)
 
                         # statically linked ?
                         is_exec=executable_regex.search(i[1])
openSUSE Build Service is sponsored by