summaryrefslogtreecommitdiffstats
path: root/meta/classes/package.bbclass
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/classes/package.bbclass
parent5977534d5fbdc3e32200266c4ca978464413b3b8 (diff)
downloadpoky-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/classes/package.bbclass')
-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
557fi 557fi
558} 558}
559 559
560SHLIBSDIR = "${STAGING_DIR_HOST}/shlibs"
561SHLIBSWORKDIR = "${WORKDIR}/shlibs"
562
563RPMDEPS = "${STAGING_LIBDIR_NATIVE}/rpm/${BUILD_ARCH}-${BUILD_OS}-rpmdeps" 560RPMDEPS = "${STAGING_LIBDIR_NATIVE}/rpm/${BUILD_ARCH}-${BUILD_OS}-rpmdeps"
564 561
565# Collect perfile run-time dependency metadata 562# Collect perfile run-time dependency metadata
@@ -616,6 +613,9 @@ python package_do_filedeps() {
616 process_deps(dep_pipe, pkg, 'RDEPENDS') 613 process_deps(dep_pipe, pkg, 'RDEPENDS')
617} 614}
618 615
616SHLIBSDIR = "${STAGING_DIR_HOST}/shlibs"
617SHLIBSWORKDIR = "${WORKDIR}/shlibs"
618
619python package_do_shlibs() { 619python package_do_shlibs() {
620 import re 620 import re
621 621
@@ -723,6 +723,7 @@ python package_do_shlibs() {
723 needed[pkg].append(name) 723 needed[pkg].append(name)
724 #bb.note("Adding %s for %s" % (name, pkg)) 724 #bb.note("Adding %s for %s" % (name, pkg))
725 needed = {} 725 needed = {}
726 shlib_provider = {}
726 private_libs = bb.data.getVar('PRIVATE_LIBS', d, True) 727 private_libs = bb.data.getVar('PRIVATE_LIBS', d, True)
727 for pkg in packages.split(): 728 for pkg in packages.split():
728 needs_ldconfig = False 729 needs_ldconfig = False
@@ -747,6 +748,7 @@ python package_do_shlibs() {
747 fd = open(shlibs_file, 'w') 748 fd = open(shlibs_file, 'w')
748 for s in sonames: 749 for s in sonames:
749 fd.write(s + '\n') 750 fd.write(s + '\n')
751 shlib_provider[s] = (pkg, ver)
750 fd.close() 752 fd.close()
751 fd = open(shver_file, 'w') 753 fd = open(shver_file, 'w')
752 fd.write(ver + '\n') 754 fd.write(ver + '\n')
@@ -761,7 +763,6 @@ python package_do_shlibs() {
761 763
762 bb.utils.unlockfile(lf) 764 bb.utils.unlockfile(lf)
763 765
764 shlib_provider = {}
765 list_re = re.compile('^(.*)\.list$') 766 list_re = re.compile('^(.*)\.list$')
766 for dir in [shlibs_dir]: 767 for dir in [shlibs_dir]:
767 if not os.path.exists(dir): 768 if not os.path.exists(dir):