Skip to contentSkip to conversation

package_deb.bbclass: Handle colons in dependencies

PATCH New Peter Kjellerstedt 1 participant 1 message Sep 1, 2017

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 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 ':'.

---
 meta/classes/package_deb.bbclass | 7 +++----
 1 file changed, 3 insertions(+), 4 deletions(-)
meta/classes/package_deb.bbclass +3 -4
index c5824aab97..83baa6c21b 100644
@@ -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]
Signature · 1 line
2.12.0