aboutsummaryrefslogtreecommitdiffstats
path: root/meta/classes
diff options
context:
space:
mode:
authorPeter Kjellerstedt <peter.kjellerstedt@axis.com>2017-09-01 18:28:36 +0200
committerRichard Purdie <richard.purdie@linuxfoundation.org>2017-09-01 23:59:55 +0100
commita34e397095a9c2f8d0af1168ceab295af659242d (patch)
tree3378a7ff4f7c3e5f86fd9246df432afac432d040 /meta/classes
parent77abe012c496a85f56191abc769a7da07e9f8c0e (diff)
downloadopenembedded-core-contrib-a34e397095a9c2f8d0af1168ceab295af659242d.tar.gz
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 <peter.kjellerstedt@axis.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/classes')
-rw-r--r--meta/classes/package_deb.bbclass7
1 files 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]