2015-04-10 16:35:46 +02:00
|
|
|
From aa956808bc3b035e80a77904d8c8d125de311fb8 Mon Sep 17 00:00:00 2001
|
|
|
|
From: Some One <nobody@opensuse.org>
|
|
|
|
Date: Thu, 9 Apr 2015 14:55:39 +0200
|
|
|
|
Subject: [PATCH] libtool-wrapper-check.diff
|
|
|
|
|
2012-09-13 18:01:40 +02:00
|
|
|
===================================================================
|
2015-04-10 16:35:46 +02:00
|
|
|
---
|
|
|
|
BinariesCheck.py | 20 ++++++++++++++++++++
|
|
|
|
1 file changed, 20 insertions(+)
|
|
|
|
|
|
|
|
diff --git a/BinariesCheck.py b/BinariesCheck.py
|
|
|
|
index c1c566d..b92c01e 100644
|
|
|
|
--- a/BinariesCheck.py
|
|
|
|
+++ b/BinariesCheck.py
|
|
|
|
@@ -316,8 +316,19 @@ class BinariesCheck(AbstractCheck.AbstractCheck):
|
2012-01-04 16:56:54 +01:00
|
|
|
is_ar = 'current ar archive' in pkgfile.magic
|
|
|
|
is_ocaml_native = 'Objective caml native' in pkgfile.magic
|
2013-06-28 15:29:34 +02:00
|
|
|
is_lua_bytecode = 'Lua bytecode' in pkgfile.magic
|
2012-01-04 16:56:54 +01:00
|
|
|
+ is_shell = "shell script" in pkgfile.magic
|
2013-06-28 15:29:34 +02:00
|
|
|
is_binary = is_elf or is_ar or is_ocaml_native or is_lua_bytecode
|
2008-04-17 04:52:37 +02:00
|
|
|
|
|
|
|
+ if is_shell:
|
|
|
|
+ count= 0
|
2012-01-04 16:56:54 +01:00
|
|
|
+ for l in file(pkgfile.path, "r"):
|
2008-04-17 04:52:37 +02:00
|
|
|
+ count = count + 1
|
|
|
|
+ if (l.find("This wrapper script should never be moved out of the build directory") != -1):
|
2012-01-04 16:56:54 +01:00
|
|
|
+ printError(pkg, 'libtool-wrapper-in-package', fname)
|
2008-04-17 04:52:37 +02:00
|
|
|
+ break
|
|
|
|
+ if (count > 20):
|
|
|
|
+ break;
|
|
|
|
+
|
2012-01-04 16:56:54 +01:00
|
|
|
if not is_binary:
|
|
|
|
if reference_regex.search(fname):
|
|
|
|
lines = pkg.grep(invalid_dir_ref_regex, fname)
|
2015-04-10 16:35:46 +02:00
|
|
|
@@ -579,6 +590,15 @@ recompiled separately from the static libraries with the -fPIC option.
|
2008-04-17 04:52:37 +02:00
|
|
|
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,
|
2012-01-04 16:56:54 +01:00
|
|
|
+run·
|
2008-04-17 04:52:37 +02:00
|
|
|
+
|
|
|
|
+libtool --mode=install install -m perm <file> <dest>
|
|
|
|
+
|
|
|
|
+to install the relinked file.''',
|
2012-01-04 16:56:54 +01:00
|
|
|
+
|
2008-04-17 04:52:37 +02:00
|
|
|
'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
|