do_split_packages: revise for multilib case

in multilib case, the PACKAGE_DYNAMIC is overrided with multilib
prefix. Take multilib:lib64-perl as example. the "perl-module-*"
will become "lib64-perl-module-*"

the output_pattern in do_split_packages is designed to work with
PACKAGE_DYNAMIC, so it should be applied with the same logic, i.e.
overriding with multilib prefix. otherwise the do_split_package will
split incorrect files

this patch implements the mulitlib override logic for do_split_packages

We also need to rename the extra_depends to support multilib case
(from Dongxaio Xu).

(From OE-Core rev: a4bc86713892502aeefbbdb3053e8cf1e1fc0bdb)

Signed-off-by: Yu Ke <ke.yu@intel.com>
Signed-off-by: Xu Dongxiao <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Yu Ke 2011-07-16 10:02:53 +08:00 committed by Richard Purdie
parent 9b227ae991
commit 350a8916c3
1 changed files with 14 additions and 0 deletions

View File

@ -70,6 +70,20 @@ def do_split_packages(d, root, file_regex, output_pattern, description, postinst
given package, usually plugins or modules.
"""
ml = d.getVar("MLPREFIX", True)
if ml:
if not output_pattern.startswith(ml):
output_pattern = ml + output_pattern
newdeps = []
for dep in (extra_depends or "").split():
if dep.startswith(ml):
newdeps.append(dep)
else:
newdeps.append(ml + dep)
if newdeps:
extra_depends = " ".join(newdeps)
dvar = bb.data.getVar('PKGD', d, True)
packages = bb.data.getVar('PACKAGES', d, True).split()