summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRichard Purdie <richard.purdie@linuxfoundation.org>2013-01-19 23:29:08 +0000
committerRichard Purdie <richard.purdie@linuxfoundation.org>2013-01-20 12:58:58 +0000
commiteabd8606f90e963198c71ce371eb4b23fbb54551 (patch)
treee9344ff3d01fcbc9661cfb67ada6466b1ef96277
parent4a61ee99fc6b2361a67af162f1f0d278701d226c (diff)
downloadpoky-eabd8606f90e963198c71ce371eb4b23fbb54551.tar.gz
package.bbclass: Fix shlibs cross package-arch contamination
I found that if I had two packages architectures built (say core2 and i586), that the shlibs data from i586 was being used in the core2 build. This lead to odd dependency issues if the i586 build was out of date and core2 was being targetted. When loading shlibs files, the last loaded wins so we need to iterate the lists from least to strongest weighting, not the other way around. With this patch applied, the contamination issue is resolved. (From OE-Core rev: acd7b1c2ee9f3ff84c45a723dba5e0bc5f6a100c) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r--meta/classes/package.bbclass6
1 files changed, 4 insertions, 2 deletions
diff --git a/meta/classes/package.bbclass b/meta/classes/package.bbclass
index 8609e75354..4794f0ece1 100644
--- a/meta/classes/package.bbclass
+++ b/meta/classes/package.bbclass
@@ -1521,7 +1521,8 @@ python package_do_shlibs() {
1521 d.setVar('pkg_postinst_%s' % pkg, postinst) 1521 d.setVar('pkg_postinst_%s' % pkg, postinst)
1522 1522
1523 list_re = re.compile('^(.*)\.list$') 1523 list_re = re.compile('^(.*)\.list$')
1524 for dir in shlibs_dirs: 1524 # Go from least to most specific since the last one found wins
1525 for dir in reversed(shlibs_dirs):
1525 if not os.path.exists(dir): 1526 if not os.path.exists(dir):
1526 continue 1527 continue
1527 for file in os.listdir(dir): 1528 for file in os.listdir(dir):
@@ -1643,7 +1644,8 @@ python package_do_pkgconfig () {
1643 f.write('%s\n' % p) 1644 f.write('%s\n' % p)
1644 f.close() 1645 f.close()
1645 1646
1646 for dir in shlibs_dirs: 1647 # Go from least to most specific since the last one found wins
1648 for dir in reversed(shlibs_dirs):
1647 if not os.path.exists(dir): 1649 if not os.path.exists(dir):
1648 continue 1650 continue
1649 for file in os.listdir(dir): 1651 for file in os.listdir(dir):