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>
This commit is contained in:
Richard Purdie 2013-01-19 23:29:08 +00:00
parent 4a61ee99fc
commit eabd8606f9
1 changed files with 4 additions and 2 deletions

View File

@ -1521,7 +1521,8 @@ python package_do_shlibs() {
d.setVar('pkg_postinst_%s' % pkg, postinst)
list_re = re.compile('^(.*)\.list$')
for dir in shlibs_dirs:
# Go from least to most specific since the last one found wins
for dir in reversed(shlibs_dirs):
if not os.path.exists(dir):
continue
for file in os.listdir(dir):
@ -1643,7 +1644,8 @@ python package_do_pkgconfig () {
f.write('%s\n' % p)
f.close()
for dir in shlibs_dirs:
# Go from least to most specific since the last one found wins
for dir in reversed(shlibs_dirs):
if not os.path.exists(dir):
continue
for file in os.listdir(dir):