From ca729de4b261e4feba74fdf0b2578890bc80ea90 Mon Sep 17 00:00:00 2001 From: Dongxiao Xu Date: Wed, 3 Aug 2011 22:52:48 +0800 Subject: package_rpm: enhance strip_multilib function The previous logic could only strip MLPREFIX from the first element in an array, take an example, strip_multilib the [lib32-a lib32-b lib32-c] will result in [a lib32-b lib32-c]. We need to strip prefix one by one. This commit change the logic to strip all elements' multilib prefix. [YOCTO #1368] CC: Mark Hatle Signed-off-by: Dongxiao Xu --- meta/classes/package_rpm.bbclass | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/meta/classes/package_rpm.bbclass b/meta/classes/package_rpm.bbclass index b15786d16..7a0c6daae 100644 --- a/meta/classes/package_rpm.bbclass +++ b/meta/classes/package_rpm.bbclass @@ -357,8 +357,8 @@ python write_specfile () { multilibs = d.getVar('MULTILIBS', True) or "" for ext in multilibs.split(): eext = ext.split(':') - if len(eext) > 1 and eext[0] == 'multilib' and name and name.find(eext[1] + '-') == 0: - name = (eext[1] + '-').join(name.split(eext[1] + '-', 1)[1:]) + if len(eext) > 1 and eext[0] == 'multilib' and name and name.find(eext[1] + '-') >= 0: + name = "".join(name.split(eext[1] + '-')) return name # ml = bb.data.getVar("MLPREFIX", d, True) @@ -755,8 +755,8 @@ python do_package_rpm () { # and dependency information... def strip_multilib(name, d): ml = bb.data.getVar("MLPREFIX", d, True) - if ml and name and len(ml) != 0 and name.find(ml) == 0: - return ml.join(name.split(ml, 1)[1:]) + if ml and name and len(ml) != 0 and name.find(ml) >= 0: + return "".join(name.split(ml)) return name workdir = bb.data.getVar('WORKDIR', d, True) -- cgit v1.2.3