summaryrefslogtreecommitdiffstats
path: root/meta/classes/package_ipk.bbclass
diff options
context:
space:
mode:
Diffstat (limited to 'meta/classes/package_ipk.bbclass')
-rw-r--r--meta/classes/package_ipk.bbclass7
1 files changed, 6 insertions, 1 deletions
diff --git a/meta/classes/package_ipk.bbclass b/meta/classes/package_ipk.bbclass
index f67cb0e5c9..9fe3c52fae 100644
--- a/meta/classes/package_ipk.bbclass
+++ b/meta/classes/package_ipk.bbclass
@@ -168,13 +168,18 @@ def ipk_write_pkg(pkg, d):
# '<' = less or equal
# '>' = greater or equal
# adjust these to the '<<' and '>>' equivalents
- #
+ # Also, "=" specifiers only work if they have the PR in, so 1.2.3 != 1.2.3-r0
+ # so to avoid issues, map this to ">= 1.2.3 << 1.2.3.0"
for dep in var:
for i, v in enumerate(var[dep]):
if (v or "").startswith("< "):
var[dep][i] = var[dep][i].replace("< ", "<< ")
elif (v or "").startswith("> "):
var[dep][i] = var[dep][i].replace("> ", ">> ")
+ elif (v or "").startswith("= ") and "-r" not in v:
+ ver = var[dep][i].replace("= ", "")
+ var[dep][i] = var[dep][i].replace("= ", ">= ")
+ var[dep].append("<< " + ver + ".0")
rdepends = bb.utils.explode_dep_versions2(localdata.getVar("RDEPENDS") or "")
debian_cmp_remap(rdepends)