Ver código fonte

cherry pick -r 1956..1957 lp:~donkult/apt/sid

Michael Vogt 16 anos atrás
pai
commit
1c56c17a3c
2 arquivos alterados com 25 adições e 2 exclusões
  1. 16 2
      apt-pkg/deb/debversion.cc
  2. 9 0
      debian/changelog

+ 16 - 2
apt-pkg/deb/debversion.cc

@@ -190,8 +190,22 @@ int debVersioningSystem::DoCmpVersion(const char *A,const char *AEnd,
       dlhs++;
    if (drhs != rhs)
       drhs++;
-   
-   return CmpFragment(dlhs,AEnd,drhs,BEnd);
+
+   // no debian revision need to be treated like -0
+   if (*(dlhs-1) == '-' && *(drhs-1) == '-')
+      return CmpFragment(dlhs,AEnd,drhs,BEnd);
+   else if (*(dlhs-1) == '-')
+   {
+      const char* null = "0";
+      return CmpFragment(dlhs,AEnd,null, null+1);
+   }
+   else if (*(drhs-1) == '-')
+   {
+      const char* null = "0";
+      return CmpFragment(null, null+1, drhs, BEnd);
+   }
+   else
+      return 0;
 }
 									/*}}}*/
 // debVS::CheckDep - Check a single dependency				/*{{{*/

+ 9 - 0
debian/changelog

@@ -1,3 +1,12 @@
+apt (0.7.25.3ubuntu4) UNRELEASED; urgency=low
+
+  [ David Kalnischkies ]
+  * apt-pkg/deb/debversion.cc:
+    - consider absent of debian revision equivalent to 0 (Closes: #573592)
+      LP: #540228
+  
+ -- Michael Vogt <michael.vogt@ubuntu.com>  Fri, 26 Mar 2010 16:57:49 +0100
+
 apt (0.7.25.3ubuntu3) lucid; urgency=low
 
   * apt-pkg/indexfile.cc: