aboutsummaryrefslogtreecommitdiffstats
path: root/meta
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 /meta
parent5977534d5fbdc3e32200266c4ca978464413b3b8 (diff)
downloadopenembedded-core-contrib-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>
Diffstat (limited to 'meta')
-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 921071753d..04ea9e384f 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):