From ca36d34c2e6be96cab9b2a46a3c920832ae8d246 Mon Sep 17 00:00:00 2001 From: Mark Hatle Date: Thu, 29 Nov 2012 20:53:29 -0600 Subject: package_deb: Dependencies with a ( or ) in them are invalid in debs Replace ( or ) with __. This allows RPM style dependencies to be satisfied in deb style packages. (From OE-Core rev: 12acb6bb00ba665571fcfbdb0ef4668ca0a98d5b) Signed-off-by: Mark Hatle Signed-off-by: Saul Wold Signed-off-by: Richard Purdie --- meta/classes/package_deb.bbclass | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'meta/classes/package_deb.bbclass') diff --git a/meta/classes/package_deb.bbclass b/meta/classes/package_deb.bbclass index d273cb0f84..eed9b8ac3b 100644 --- a/meta/classes/package_deb.bbclass +++ b/meta/classes/package_deb.bbclass @@ -335,11 +335,21 @@ python do_package_deb () { mapping_rename_hook(localdata) def debian_cmp_remap(var): + # dpkg does not allow for '(' or ')' in a dependency name + # replace these instances with '__' and '__' + # # In debian '>' and '<' do not mean what it appears they mean # '<' = less or equal # '>' = greater or equal # adjust these to the '<<' and '>>' equivalents # + for dep in var: + if '(' in dep: + newdep = dep.replace('(', '__') + newdep = newdep.replace(')', '__') + if newdep != dep: + var[newdep] = var[dep] + del var[dep] for dep in var: for i, v in enumerate(var[dep]): if (v or "").startswith("< "): -- cgit v1.2.3-54-g00ecf