[oe-commits] Mark Hatle : package_deb: Dependencies with a ( or ) in them are invalid in debs

git at git.openembedded.org git at git.openembedded.org
Thu Dec 6 12:34:36 UTC 2012


Module: openembedded-core.git
Branch: master
Commit: 12acb6bb00ba665571fcfbdb0ef4668ca0a98d5b
URL:    http://git.openembedded.org/?p=openembedded-core.git&a=commit;h=12acb6bb00ba665571fcfbdb0ef4668ca0a98d5b

Author: Mark Hatle <mark.hatle at windriver.com>
Date:   Thu Nov 29 20:53:29 2012 -0600

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.

Signed-off-by: Mark Hatle <mark.hatle at windriver.com>
Signed-off-by: Saul Wold <sgw at linux.intel.com>

---

 meta/classes/package_deb.bbclass |   10 ++++++++++
 1 files changed, 10 insertions(+), 0 deletions(-)

diff --git a/meta/classes/package_deb.bbclass b/meta/classes/package_deb.bbclass
index d273cb0..eed9b8a 100644
--- a/meta/classes/package_deb.bbclass
+++ b/meta/classes/package_deb.bbclass
@@ -335,12 +335,22 @@ 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("< "):
                         var[dep][i] = var[dep][i].replace("< ", "<< ")





More information about the Openembedded-commits mailing list