summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMark Hatle <mhatle@windriver.com>2010-08-21 12:21:02 -0700
committerRichard Purdie <rpurdie@linux.intel.com>2010-08-23 15:27:36 +0100
commitb9f4ff1386bef3f8e3d4e7a5b0367a0d8731a7cd (patch)
tree7f52add33970b70b5e297e47f744ef2108f08380
parent5977534d5fbdc3e32200266c4ca978464413b3b8 (diff)
downloadast2050-yocto-poky-b9f4ff1386bef3f8e3d4e7a5b0367a0d8731a7cd.zip
ast2050-yocto-poky-b9f4ff1386bef3f8e3d4e7a5b0367a0d8731a7cd.tar.gz
package.bbclass: Fix do_shlibs
The current packages shlibs processing is written to a local temporary file. This file is not consulted when evaluting the provider of the dependency, instead we need to cache the local values into the dictionary while we write the temp file. Signed-off-by: Mark Hatle <mhatle@windriver.com>
-rw-r--r--meta/classes/package.bbclass9
1 files changed, 5 insertions, 4 deletions
diff --git a/meta/classes/package.bbclass b/meta/classes/package.bbclass
index 9210717..04ea9e3 100644
--- a/meta/classes/package.bbclass
+++ b/meta/classes/package.bbclass
@@ -557,9 +557,6 @@ if [ x"$D" = "x" ]; then
fi
}
-SHLIBSDIR = "${STAGING_DIR_HOST}/shlibs"
-SHLIBSWORKDIR = "${WORKDIR}/shlibs"
-
RPMDEPS = "${STAGING_LIBDIR_NATIVE}/rpm/${BUILD_ARCH}-${BUILD_OS}-rpmdeps"
# Collect perfile run-time dependency metadata
@@ -616,6 +613,9 @@ python package_do_filedeps() {
process_deps(dep_pipe, pkg, 'RDEPENDS')
}
+SHLIBSDIR = "${STAGING_DIR_HOST}/shlibs"
+SHLIBSWORKDIR = "${WORKDIR}/shlibs"
+
python package_do_shlibs() {
import re
@@ -723,6 +723,7 @@ python package_do_shlibs() {
needed[pkg].append(name)
#bb.note("Adding %s for %s" % (name, pkg))
needed = {}
+ shlib_provider = {}
private_libs = bb.data.getVar('PRIVATE_LIBS', d, True)
for pkg in packages.split():
needs_ldconfig = False
@@ -747,6 +748,7 @@ python package_do_shlibs() {
fd = open(shlibs_file, 'w')
for s in sonames:
fd.write(s + '\n')
+ shlib_provider[s] = (pkg, ver)
fd.close()
fd = open(shver_file, 'w')
fd.write(ver + '\n')
@@ -761,7 +763,6 @@ python package_do_shlibs() {
bb.utils.unlockfile(lf)
- shlib_provider = {}
list_re = re.compile('^(.*)\.list$')
for dir in [shlibs_dir]:
if not os.path.exists(dir):
OpenPOWER on IntegriCloud