diff options
author | Mark Hatle <mhatle@windriver.com> | 2010-08-21 12:21:02 -0700 |
---|---|---|
committer | Richard Purdie <rpurdie@linux.intel.com> | 2010-08-23 15:27:36 +0100 |
commit | b9f4ff1386bef3f8e3d4e7a5b0367a0d8731a7cd (patch) | |
tree | 7f52add33970b70b5e297e47f744ef2108f08380 | |
parent | 5977534d5fbdc3e32200266c4ca978464413b3b8 (diff) | |
download | ast2050-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.bbclass | 9 |
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): |