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 /meta/classes | |
parent | 5977534d5fbdc3e32200266c4ca978464413b3b8 (diff) | |
download | 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>
Diffstat (limited to 'meta/classes')
-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 921071753d..04ea9e384f 100644 --- a/meta/classes/package.bbclass +++ b/meta/classes/package.bbclass | |||
@@ -557,9 +557,6 @@ if [ x"$D" = "x" ]; then | |||
557 | fi | 557 | fi |
558 | } | 558 | } |
559 | 559 | ||
560 | SHLIBSDIR = "${STAGING_DIR_HOST}/shlibs" | ||
561 | SHLIBSWORKDIR = "${WORKDIR}/shlibs" | ||
562 | |||
563 | RPMDEPS = "${STAGING_LIBDIR_NATIVE}/rpm/${BUILD_ARCH}-${BUILD_OS}-rpmdeps" | 560 | RPMDEPS = "${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 | ||
616 | SHLIBSDIR = "${STAGING_DIR_HOST}/shlibs" | ||
617 | SHLIBSWORKDIR = "${WORKDIR}/shlibs" | ||
618 | |||
619 | python package_do_shlibs() { | 619 | python 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): |