rpmlint/libtool-wrapper-check.diff
Dirk Mueller 3073721c60 - update to 1.4:
* rpmdiff: Teach rpmdiff about pretrans and posttrans
  * SpecCheck.py: merge patch from #97, using BuildArch with
  something else than Noarch is likely a error and causing issues.
  * FilesCheck.py: Add Python 3.3 magic number
  * FilesCheck.py, InitScriptCheck.py, MenuCheck.py, Pkg.py,
    PostCheck.py: Prepare for rpm-python possibly returning script
   progs as arrays.

OBS-URL: https://build.opensuse.org/package/show/devel:openSUSE:Factory:rpmlint/rpmlint?expand=0&rev=133
2012-09-13 16:01:40 +00:00

41 lines
1.7 KiB
Diff

Index: BinariesCheck.py
===================================================================
--- BinariesCheck.py.orig
+++ BinariesCheck.py
@@ -253,8 +253,19 @@ class BinariesCheck(AbstractCheck.Abstra
is_elf = 'ELF' in pkgfile.magic
is_ar = 'current ar archive' in pkgfile.magic
is_ocaml_native = 'Objective caml native' in pkgfile.magic
+ is_shell = "shell script" in pkgfile.magic
is_binary = is_elf or is_ar or is_ocaml_native
+ if is_shell:
+ count= 0
+ for l in file(pkgfile.path, "r"):
+ count = count + 1
+ if (l.find("This wrapper script should never be moved out of the build directory") != -1):
+ printError(pkg, 'libtool-wrapper-in-package', fname)
+ break
+ if (count > 20):
+ break;
+
if not is_binary:
if reference_regex.search(fname):
lines = pkg.grep(invalid_dir_ref_regex, fname)
@@ -502,6 +513,15 @@ recompiled separately from the static li
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