All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] package_deb.bbclass: don't handle advanced dependency marker
@ 2012-05-09 23:50 Marko Lindqvist
  2012-05-10  0:10 ` Saul Wold
  0 siblings, 1 reply; 3+ messages in thread
From: Marko Lindqvist @ 2012-05-09 23:50 UTC (permalink / raw)
  To: Patches and discussions about the oe-core layer

From: Marko Lindqvist <cazfi74@gmail.com>
Date: Thu, 10 May 2012 02:41:06 +0300
Subject: [PATCH] package_deb.bbclass: don't handle advanced dependency marker
 as version number

Strip advanced dependency markers away from Provides before writing
them to control file. Left in place they would mean package version
number in control file format.

Signed-off-by: Marko Lindqvist <cazfi74@gmail.com>
---
 meta/classes/package_deb.bbclass |   19 ++++++++++++++++++-
 1 file changed, 18 insertions(+), 1 deletion(-)

diff --git a/meta/classes/package_deb.bbclass b/meta/classes/package_deb.bbclass
index dc0f963..c51bf3c 100644
--- a/meta/classes/package_deb.bbclass
+++ b/meta/classes/package_deb.bbclass
@@ -206,6 +206,23 @@ python do_package_deb () {
     import re, copy
     import textwrap

+    def deb_explode_dep_ver(varname):
+        # Remove markers from string so they won't get handled as
version numbers
+        depstr = localdata.getVar(varname, True) or ""
+        start = depstr.find("(")
+        while start != -1:
+            # We are not searching ")" from full string in case it's
malformed in a way
+            # that first ")" is before first "("
+            endstr = depstr[start:len(depstr)]
+            end = endstr.find(")")
+            if (end == len(endstr) - 1) or (end == -1):
+                tmpstr = depstr[0:start]
+            else:
+                tmpstr = depstr[0:start] + depstr[start+end+1:len(depstr)]
+            depstr = tmpstr
+            start = depstr.find("(")
+        return bb.utils.explode_dep_versions(depstr)
+
     workdir = d.getVar('WORKDIR', True)
     if not workdir:
         bb.error("WORKDIR not defined, unable to package")
@@ -341,7 +358,7 @@ python do_package_deb () {
                 if '*' in dep:
                         del rrecommends[dep]
         rsuggests =
bb.utils.explode_dep_versions(localdata.getVar("RSUGGESTS", True) or
"")
-        rprovides =
bb.utils.explode_dep_versions(localdata.getVar("RPROVIDES", True) or
"")
+        rprovides = deb_explode_dep_ver("RPROVIDES")
         rreplaces =
bb.utils.explode_dep_versions(localdata.getVar("RREPLACES", True) or
"")
         rconflicts =
bb.utils.explode_dep_versions(localdata.getVar("RCONFLICTS", True) or
"")
         if rdepends:
-- 
1.7.10



^ permalink raw reply related	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2012-05-10  1:49 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-05-09 23:50 [PATCH] package_deb.bbclass: don't handle advanced dependency marker Marko Lindqvist
2012-05-10  0:10 ` Saul Wold
2012-05-10  1:39   ` Marko Lindqvist

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.