From b9f4ff1386bef3f8e3d4e7a5b0367a0d8731a7cd Mon Sep 17 00:00:00 2001 From: Mark Hatle Date: Sat, 21 Aug 2010 12:21:02 -0700 Subject: 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 --- meta/classes/package.bbclass | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) (limited to 'meta/classes/package.bbclass') 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): -- cgit 1.2.3-korg