diff options
Diffstat (limited to 'meta/classes/package_ipk.bbclass')
-rw-r--r-- | meta/classes/package_ipk.bbclass | 7 |
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): | |||
168 | # '<' = less or equal | 168 | # '<' = less or equal |
169 | # '>' = greater or equal | 169 | # '>' = greater or equal |
170 | # adjust these to the '<<' and '>>' equivalents | 170 | # adjust these to the '<<' and '>>' equivalents |
171 | # | 171 | # Also, "=" specifiers only work if they have the PR in, so 1.2.3 != 1.2.3-r0 |
172 | # so to avoid issues, map this to ">= 1.2.3 << 1.2.3.0" | ||
172 | for dep in var: | 173 | for dep in var: |
173 | for i, v in enumerate(var[dep]): | 174 | for i, v in enumerate(var[dep]): |
174 | if (v or "").startswith("< "): | 175 | if (v or "").startswith("< "): |
175 | var[dep][i] = var[dep][i].replace("< ", "<< ") | 176 | var[dep][i] = var[dep][i].replace("< ", "<< ") |
176 | elif (v or "").startswith("> "): | 177 | elif (v or "").startswith("> "): |
177 | var[dep][i] = var[dep][i].replace("> ", ">> ") | 178 | var[dep][i] = var[dep][i].replace("> ", ">> ") |
179 | elif (v or "").startswith("= ") and "-r" not in v: | ||
180 | ver = var[dep][i].replace("= ", "") | ||
181 | var[dep][i] = var[dep][i].replace("= ", ">= ") | ||
182 | var[dep].append("<< " + ver + ".0") | ||
178 | 183 | ||
179 | rdepends = bb.utils.explode_dep_versions2(localdata.getVar("RDEPENDS") or "") | 184 | rdepends = bb.utils.explode_dep_versions2(localdata.getVar("RDEPENDS") or "") |
180 | debian_cmp_remap(rdepends) | 185 | debian_cmp_remap(rdepends) |