From a34e397095a9c2f8d0af1168ceab295af659242d Mon Sep 17 00:00:00 2001 From: Peter Kjellerstedt Date: Fri, 1 Sep 2017 18:28:36 +0200 Subject: [PATCH] package_deb.bbclass: Handle colons in dependencies Perl dependencies may look as "Perl(Foo::Bar)", but dpkg does not support the non-alphanumeric characters. There was already special handling present for turning '(' and ')' into '__'. This change does the same for ':'. Signed-off-by: Peter Kjellerstedt Signed-off-by: Richard Purdie --- meta/classes/package_deb.bbclass | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/meta/classes/package_deb.bbclass b/meta/classes/package_deb.bbclass index c5824aab97..83baa6c21b 100644 --- a/meta/classes/package_deb.bbclass +++ b/meta/classes/package_deb.bbclass @@ -192,8 +192,8 @@ def deb_write_pkg(pkg, d): mapping_rename_hook(localdata) def debian_cmp_remap(var): - # dpkg does not allow for '(' or ')' in a dependency name - # replace these instances with '__' and '__' + # dpkg does not allow for '(', ')' or ':' in a dependency name + # Replace any instances of them with '__' # # In debian '>' and '<' do not mean what it appears they mean # '<' = less or equal @@ -202,8 +202,7 @@ def deb_write_pkg(pkg, d): # for dep in var: if '(' in dep: - newdep = dep.replace('(', '__') - newdep = newdep.replace(')', '__') + newdep = re.sub(r'[(:)]', '__', dep) if newdep != dep: var[newdep] = var[dep] del var[dep] -- 2.40.1