[OE-core] [PATCH] package_deb: Remove version from Provides Field

Ricardo Ribalda Delgado ricardo.ribalda at gmail.com
Thu Mar 13 15:31:48 UTC 2014


According to Debian Policy Manual. Chapter 7.1

All of the fields except for Provides may restrict their applicability
to particular versions of each named package. This is done in
parentheses after each individual package name; the parentheses should
contain a relation from the list below followed by a version number, in
the format described in Version, Section 5.6.12.

This Fixes the following warning:

root at qt5022:~# apt-get update

...

Reading package lists... Done
W: Ignoring Provides line with DepCompareOp for package
pkgconfig__pkg-config__
W: You may want to run apt-get update to correct these problems

Signed-off-by: Ricardo Ribalda Delgado <ricardo.ribalda at gmail.com>
---
 meta/classes/package_deb.bbclass | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/meta/classes/package_deb.bbclass b/meta/classes/package_deb.bbclass
index 2d2f3f1..905af24 100644
--- a/meta/classes/package_deb.bbclass
+++ b/meta/classes/package_deb.bbclass
@@ -322,6 +322,13 @@ python do_package_deb () {
 
         mapping_rename_hook(localdata)
 
+        def debian_cmp_purgeversion(var):
+            # dpkg does not allow versions on Provides.
+            # From Debian Policy Manual, Chapter 7:
+            # All of the fields except for Provides may restrict their applicability to particular versions of each named package.
+            for key in var:
+                var[key] = []
+
         def debian_cmp_remap(var):
             # dpkg does not allow for '(' or ')' in a dependency name
             # replace these instances with '__' and '__'
@@ -359,6 +366,7 @@ python do_package_deb () {
         debian_cmp_remap(rsuggests)
         rprovides = bb.utils.explode_dep_versions2(localdata.getVar("RPROVIDES", True) or "")
         debian_cmp_remap(rprovides)
+        debian_cmp_purgeversion(rprovides)
         rreplaces = bb.utils.explode_dep_versions2(localdata.getVar("RREPLACES", True) or "")
         debian_cmp_remap(rreplaces)
         rconflicts = bb.utils.explode_dep_versions2(localdata.getVar("RCONFLICTS", True) or "")
-- 
1.9.0




More information about the Openembedded-core mailing list