Skip to contentSkip to conversation

Addition to previous misc fixes

PATCH New Mark Hatle 1 participant 2 messages Jun 6, 2012

lore
Share & tools
lore

Mark Hatle

author
#0 lore raw

cover Addition to previous misc fixes

This finishes the work for patch 6/6 to cleanup the QA warning about binaries in the base_prefix requiring libraries in the exec_prefix.

The following changes since commit f8a054aca9962ebfd4c74fc1d34cd684de6b3568:

perl: Allow perl to cross build and native build in a directory named "t" (2012-06-05 23:02:20 +0100)

are available in the git repository at:
git://git.pokylinux.org/poky-contrib mhatle/misc
http://git.pokylinux.org/cgit.cgi/poky-contrib/log/?h=mhatle/misc

Jesse Zhang (1):
beecrypt: disable java

Joe Slater (2):
shared-mime-info: fix build race condition
gettext: install libgettextlib.a before removing it

Mark Hatle (2):
shadow-native: Disable nscd support
insane.bbclass: Make ldd exec_prefix error reporting easier to read

Song.Li (1):
groff: Fix build on Fedora 17

 meta/classes/insane.bbclass                        |   20 +++++++++--
 .../gettext/gettext-0.18.1.1/parallel.patch        |   34 ++++++++++++++++++++
 meta/recipes-core/gettext/gettext_0.18.1.1.bb      |    3 +-
 meta/recipes-extended/groff/groff_1.20.1.bb        |   24 +++++++++++++-
 .../shadow/shadow-native_4.1.4.3.bb                |    5 ++-
 meta/recipes-support/beecrypt/beecrypt_4.2.1.bb    |    4 +-
 .../shared-mime-info/install-data-hook.patch       |   21 ++++++++++++
 .../shared-mime-info/shared-mime-info_0.91.bb      |    5 ++-
 8 files changed, 104 insertions(+), 12 deletions(-)
 create mode 100644 meta/recipes-core/gettext/gettext-0.18.1.1/parallel.patch
 create mode 100644 meta/recipes-support/shared-mime-info/shared-mime-info/install-data-hook.patch
Signature · 1 line
1.7.3.4
author
#1 lore raw

PATCH v2 6/6 insane.bbclass: Make ldd exec_prefix error reporting easier to read

Remove the long obtuse sysroot path from the ldd output.

Make the error message significantly easier to read and understand.

Old Style:
WARNING: QA Issue: keyutils: /home/mhatle/git/oss/oe-core/build-i386/tmp-eglibc/work/i586-oe-linux/keyutils-1.5.5-r1/packages-split/keyutils/sbin/request-key links to something under exec_prefix
WARNING: QA Issue: ldd reports: libkeyutils.so.1 => /home/mhatle/git/oss/oe-core/build-i386/tmp-eglibc/sysroots/qemux86/usr/lib/libkeyutils.so.1 (0xdead1000)

        libc.so.6 => /home/mhatle/git/oss/oe-core/build-i386/tmp-eglibc/sysroots/qemux86/lib/libc.so.6 (0xdead2000)
        /lib/ld-linux.so.2 => /home/mhatle/git/oss/oe-core/build-i386/tmp-eglibc/sysroots/qemux86/lib/ld-linux.so.2 (0xdead3000)

New style:
WARNING: QA Issue: keyutils: /sbin/request-key, installed in the base_prefix, requires a shared library under exec_prefix (/usr): libkeyutils.so.1 => /usr/lib/libkeyutils.so.1 (0xdead1000)

---
 meta/classes/insane.bbclass |   20 ++++++++++++++++----
 1 files changed, 16 insertions(+), 4 deletions(-)
meta/classes/insane.bbclass +16 -4
index 4d139e8..556a176 100644
@@ -251,10 +251,22 @@ def package_qa_check_unsafe_references_in_binaries(path, name, d, elf, messages)
 			return False
 
 		if sysroot_path_usr in ldd_output:
-			error_msg = pn + ": %s links to something under exec_prefix" % path
-			package_qa_handle_error("unsafe-references-in-binaries", error_msg, d)
-			error_msg = "ldd reports: %s" % ldd_output
-			package_qa_handle_error("unsafe-references-in-binaries", error_msg, d)
+			ldd_output = ldd_output.replace(sysroot_path, "")
+
+			pkgdest = d.getVar('PKGDEST', True)
+			packages = d.getVar('PACKAGES', True)
+
+			for package in packages.split():
+				short_path = path.replace('%s/%s' % (pkgdest, package), "", 1)
+				if (short_path != path):
+					break
+
+			base_err = pn + ": %s, installed in the base_prefix, requires a shared library under exec_prefix (%s)" % (short_path, exec_prefix)
+			for line in ldd_output.split('\n'):
+				if exec_prefix in line:
+					error_msg = "%s: %s" % (base_err, line.strip())
+					package_qa_handle_error("unsafe-references-in-binaries", error_msg, d)
+
 			return False
 
 QAPATHTEST[unsafe-references-in-scripts] = "package_qa_check_unsafe_references_in_scripts"
Signature · 1 line
1.7.3.4