summaryrefslogtreecommitdiff
path: root/meta/classes/package_deb.bbclass
diff options
context:
space:
mode:
authorMark Hatle <mark.hatle@windriver.com>2012-11-29 20:53:29 -0600
committerRichard Purdie <richard.purdie@linuxfoundation.org>2012-12-06 12:30:33 +0000
commit12acb6bb00ba665571fcfbdb0ef4668ca0a98d5b (patch)
tree5ac872881a261742f7e1af5266303674b6feeec5 /meta/classes/package_deb.bbclass
parent6a660d39250cc635f7c1b6ae437f8fb40b7aec12 (diff)
downloadopenembedded-core-12acb6bb00ba665571fcfbdb0ef4668ca0a98d5b.tar.gz
openembedded-core-12acb6bb00ba665571fcfbdb0ef4668ca0a98d5b.tar.bz2
openembedded-core-12acb6bb00ba665571fcfbdb0ef4668ca0a98d5b.zip
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@windriver.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
Diffstat (limited to 'meta/classes/package_deb.bbclass')
-rw-r--r--meta/classes/package_deb.bbclass10
1 files changed, 10 insertions, 0 deletions
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,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("< ", "<< ")