From: Mark Hatle Date: Sat, 21 Aug 2010 19:21:02 +0000 (-0700) Subject: package.bbclass: Fix do_shlibs X-Git-Tag: 2011-1~4779 X-Git-Url: https://code.ossystems.io/gitweb?a=commitdiff_plain;h=b9f4ff1386bef3f8e3d4e7a5b0367a0d8731a7cd;p=openembedded-core.git 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 --- 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):