diff options
| author | Richard Purdie <richard.purdie@linuxfoundation.org> | 2012-10-02 11:37:07 +0100 |
|---|---|---|
| committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2012-10-02 11:40:53 +0100 |
| commit | 5fdbda6922327d963d4fe1c597fed8f0dfd20ed1 (patch) | |
| tree | 98e3a58efeaead2fa76110b571cfda3f63414277 /meta/classes/package_deb.bbclass | |
| parent | 0bfb2094e3eadc85358a354d12b211ff69612a61 (diff) | |
| download | poky-5fdbda6922327d963d4fe1c597fed8f0dfd20ed1.tar.gz | |
classes: Update to use corrected bb.utils.explode_dep_versions2 API
The bb.utils.explode_dep_versions function has issues where dependency information
can be lost. The API doesn't support maintaining the correct information so this
changes to use a new function which correctly handles the data.
This patch also fixes various points in the code to ensure that we do not have any
duplicates in things that use explode_dep_versions.
A new sanity test to test the contents of the R* variables is also added.
[Some changes from Mark Hatle <mark.hatle@windriver.com>]
(From OE-Core rev: 16a892431d0c0d03f8b561b92909cf2f11af4918)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/classes/package_deb.bbclass')
| -rw-r--r-- | meta/classes/package_deb.bbclass | 21 |
1 files changed, 11 insertions, 10 deletions
diff --git a/meta/classes/package_deb.bbclass b/meta/classes/package_deb.bbclass index a25e5d783e..d273cb0f84 100644 --- a/meta/classes/package_deb.bbclass +++ b/meta/classes/package_deb.bbclass | |||
| @@ -341,28 +341,29 @@ python do_package_deb () { | |||
| 341 | # adjust these to the '<<' and '>>' equivalents | 341 | # adjust these to the '<<' and '>>' equivalents |
| 342 | # | 342 | # |
| 343 | for dep in var: | 343 | for dep in var: |
| 344 | if (var[dep] or "").startswith("< "): | 344 | for i, v in enumerate(var[dep]): |
| 345 | var[dep] = var[dep].replace("< ", "<< ") | 345 | if (v or "").startswith("< "): |
| 346 | elif (var[dep] or "").startswith("> "): | 346 | var[dep][i] = var[dep][i].replace("< ", "<< ") |
| 347 | var[dep] = var[dep].replace("> ", ">> ") | 347 | elif (v or "").startswith("> "): |
| 348 | var[dep][i] = var[dep][i].replace("> ", ">> ") | ||
| 348 | 349 | ||
| 349 | rdepends = bb.utils.explode_dep_versions(localdata.getVar("RDEPENDS", True) or "") | 350 | rdepends = bb.utils.explode_dep_versions2(localdata.getVar("RDEPENDS", True) or "") |
| 350 | debian_cmp_remap(rdepends) | 351 | debian_cmp_remap(rdepends) |
| 351 | for dep in rdepends: | 352 | for dep in rdepends: |
| 352 | if '*' in dep: | 353 | if '*' in dep: |
| 353 | del rdepends[dep] | 354 | del rdepends[dep] |
| 354 | rrecommends = bb.utils.explode_dep_versions(localdata.getVar("RRECOMMENDS", True) or "") | 355 | rrecommends = bb.utils.explode_dep_versions2(localdata.getVar("RRECOMMENDS", True) or "") |
| 355 | debian_cmp_remap(rrecommends) | 356 | debian_cmp_remap(rrecommends) |
| 356 | for dep in rrecommends: | 357 | for dep in rrecommends: |
| 357 | if '*' in dep: | 358 | if '*' in dep: |
| 358 | del rrecommends[dep] | 359 | del rrecommends[dep] |
| 359 | rsuggests = bb.utils.explode_dep_versions(localdata.getVar("RSUGGESTS", True) or "") | 360 | rsuggests = bb.utils.explode_dep_versions2(localdata.getVar("RSUGGESTS", True) or "") |
| 360 | debian_cmp_remap(rsuggests) | 361 | debian_cmp_remap(rsuggests) |
| 361 | rprovides = bb.utils.explode_dep_versions(localdata.getVar("RPROVIDES", True) or "") | 362 | rprovides = bb.utils.explode_dep_versions2(localdata.getVar("RPROVIDES", True) or "") |
| 362 | debian_cmp_remap(rprovides) | 363 | debian_cmp_remap(rprovides) |
| 363 | rreplaces = bb.utils.explode_dep_versions(localdata.getVar("RREPLACES", True) or "") | 364 | rreplaces = bb.utils.explode_dep_versions2(localdata.getVar("RREPLACES", True) or "") |
| 364 | debian_cmp_remap(rreplaces) | 365 | debian_cmp_remap(rreplaces) |
| 365 | rconflicts = bb.utils.explode_dep_versions(localdata.getVar("RCONFLICTS", True) or "") | 366 | rconflicts = bb.utils.explode_dep_versions2(localdata.getVar("RCONFLICTS", True) or "") |
| 366 | debian_cmp_remap(rconflicts) | 367 | debian_cmp_remap(rconflicts) |
| 367 | if rdepends: | 368 | if rdepends: |
| 368 | ctrlfile.write("Depends: %s\n" % unicode(bb.utils.join_deps(rdepends))) | 369 | ctrlfile.write("Depends: %s\n" % unicode(bb.utils.join_deps(rdepends))) |
