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 + +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