forked from pool/rpmlint
Dirk Mueller
e33e073565
OBS-URL: https://build.opensuse.org/package/show/devel:openSUSE:Factory:rpmlint/rpmlint?expand=0&rev=634
43 lines
1.8 KiB
Diff
43 lines
1.8 KiB
Diff
Index: rpmlint-rpmlint-1.10/BinariesCheck.py
|
|
===================================================================
|
|
--- rpmlint-rpmlint-1.10.orig/BinariesCheck.py
|
|
+++ rpmlint-rpmlint-1.10/BinariesCheck.py
|
|
@@ -367,8 +367,21 @@ class BinariesCheck(AbstractCheck.Abstra
|
|
is_ar = 'current ar archive' in pkgfile.magic
|
|
is_ocaml_native = 'Objective caml native' in pkgfile.magic
|
|
is_lua_bytecode = 'Lua bytecode' in pkgfile.magic
|
|
+ is_shell = "shell script" in pkgfile.magic
|
|
is_binary = is_elf or is_ar or is_ocaml_native or is_lua_bytecode
|
|
|
|
+ if is_shell:
|
|
+ file_start = None
|
|
+ try:
|
|
+ with open(pkgfile.path, 'rb') as inputf:
|
|
+ file_start = inputf.read(2048)
|
|
+ except IOError:
|
|
+ pass
|
|
+ if (file_start and
|
|
+ b'This wrapper script should never '
|
|
+ b'be moved out of the build directory' in file_start):
|
|
+ printError(pkg, 'libtool-wrapper-in-package', fname)
|
|
+
|
|
if not is_binary:
|
|
if reference_regex.search(fname):
|
|
lines = pkg.grep(invalid_dir_ref_regex, fname)
|
|
@@ -637,6 +650,15 @@ to list code compiled without -fPIC.
|
|
Another common mistake that causes this problem is linking with
|
|
``gcc -Wl,-shared'' instead of ``gcc -shared''.''',
|
|
|
|
+'libtool-wrapper-in-package',
|
|
+'''Your package contains a libtool wrapper shell script. This
|
|
+will not work. Instead of install'ing the libtool wrapper file,
|
|
+run
|
|
+
|
|
+libtool --mode=install install -m perm <file> <dest>
|
|
+
|
|
+to install the relinked file.''',
|
|
+
|
|
'binary-or-shlib-defines-rpath',
|
|
'''The binary or shared library defines `RPATH'. Usually this is a
|
|
bad thing because it hardcodes the path to search libraries and so
|