added some DEBIAN_SEMANTICS
authorMichael Schroeder <mls@suse.de>
Thu, 6 Dec 2007 18:55:58 +0000 (18:55 +0000)
committerMichael Schroeder <mls@suse.de>
Thu, 6 Dec 2007 18:55:58 +0000 (18:55 +0000)
src/evr.c
src/pool.c

index ee5ec15..07701b3 100644 (file)
--- a/src/evr.c
+++ b/src/evr.c
@@ -135,6 +135,12 @@ evrcmp(Pool *pool, Id evr1id, Id evr2id)
   r = vercmp(evr1, r1 ? r1 : s1, evr2, r2 ? r2 : s2);
   if (r)
     return r;
+#ifdef DEBIAN_SEMANTICS
+  if (!r1 && r2)
+    return -1;
+  if (r1 && !r2)
+    return 1;
+#endif
   if (r1 && r2)
     {
       if (s1 != ++r1 && s2 != ++r2)
index 6c997c4..9394cd7 100644 (file)
@@ -528,7 +528,14 @@ pool_addrelproviders(Pool *pool, Id d)
              Id pevr;
 
              if (pid == name)
-               break;          /* yes, provides all versions */
+               {
+#ifdef DEBIAN_SEMANTICS
+                 continue;             /* unversioned provides can
+                                        * never match versioned deps */
+#else
+                 break;                /* yes, provides all versions */
+#endif
+               }
              if (!ISRELDEP(pid))
                continue;               /* wrong provides name */
              prd = GETRELDEP(pool, pid);