diff mbox series

[v2,2/4] package_deb: Revert versioned providers workaround

Message ID 20231006191013.3770695-3-pavel@zhukoff.net
State New
Headers show
Series [v2,1/4] dummy-sdk-package.inc: Filter packages which are marked for installation | expand

Commit Message

Pavel Zhukov Oct. 6, 2023, 7:10 p.m. UTC
dpkg and apt seem to handle versioned provides correctly now [1] so this
workaround is not needed anymore.
This fixes [Yocto #14995] for package_deb.

[1]
Signed-off-by: Pavel Zhukov <pavel@zhukoff.net>
---
 meta/classes-global/package_deb.bbclass | 9 +--------
 1 file changed, 1 insertion(+), 8 deletions(-)

Comments

Peter Kjellerstedt Oct. 6, 2023, 9:43 p.m. UTC | #1
> -----Original Message-----
> From: openembedded-core@lists.openembedded.org <openembedded-core@lists.openembedded.org> On Behalf Of Pavel Zhukov
> Sent: den 6 oktober 2023 21:10
> To: openembedded-core@lists.openembedded.org
> Cc: Pavel Zhukov <pavel@zhukoff.net>
> Subject: [OE-core] [PATCH v2 2/4] package_deb: Revert versioned providers workaround
> 
> dpkg and apt seem to handle versioned provides correctly now [1] so this
> workaround is not needed anymore.
> This fixes [Yocto #14995] for package_deb.
> 
> [1]

Was there supposed to be a reference here?

> Signed-off-by: Pavel Zhukov <pavel@zhukoff.net>
> ---
>  meta/classes-global/package_deb.bbclass | 9 +--------
>  1 file changed, 1 insertion(+), 8 deletions(-)
> 

//Peter
Pavel Zhukov Oct. 7, 2023, 12:36 p.m. UTC | #2
Peter Kjellerstedt <peter.kjellerstedt@axis.com> writes:

>> -----Original Message-----
>> From: openembedded-core@lists.openembedded.org <openembedded-core@lists.openembedded.org> On Behalf Of Pavel Zhukov
>> Sent: den 6 oktober 2023 21:10
>> To: openembedded-core@lists.openembedded.org
>> Cc: Pavel Zhukov <pavel@zhukoff.net>
>> Subject: [OE-core] [PATCH v2 2/4] package_deb: Revert versioned providers workaround
>> 
>> dpkg and apt seem to handle versioned provides correctly now [1] so this
>> workaround is not needed anymore.
>> This fixes [Yocto #14995] for package_deb.
>> 
>> [1]
>
> Was there supposed to be a reference here?
>
Yes, there supposed to be link to the documentation...
https://www.debian.org/doc/debian-policy/ch-relationships.html#virtual-packages-provides

>> Signed-off-by: Pavel Zhukov <pavel@zhukoff.net>
>> ---
>>  meta/classes-global/package_deb.bbclass | 9 +--------
>>  1 file changed, 1 insertion(+), 8 deletions(-)
>> 
>
> //Peter
diff mbox series

Patch

diff --git a/meta/classes-global/package_deb.bbclass b/meta/classes-global/package_deb.bbclass
index 5aba3837bd..d7bbfae3fb 100644
--- a/meta/classes-global/package_deb.bbclass
+++ b/meta/classes-global/package_deb.bbclass
@@ -184,8 +184,6 @@  def deb_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 list(var.keys()):
                 if '(' in dep or '/' in dep:
                     newdep = re.sub(r'[(:)/]', '__', dep)
@@ -200,10 +198,6 @@  def deb_write_pkg(pkg, d):
                         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)
@@ -220,8 +214,7 @@  def deb_write_pkg(pkg, d):
                         del rrecommends[dep]
         rsuggests = bb.utils.explode_dep_versions2(localdata.getVar("RSUGGESTS") or "")
         debian_cmp_remap(rsuggests)
-        # Deliberately drop version information here, not wanted/supported by deb
-        rprovides = dict.fromkeys(bb.utils.explode_dep_versions2(localdata.getVar("RPROVIDES") or ""), [])
+        rprovides = bb.utils.explode_dep_versions2(localdata.getVar("RPROVIDES") or "")
         # Remove file paths if any from rprovides, debian does not support custom providers
         for key in list(rprovides.keys()):
             if key.startswith('/'):