r220 - in trunk: debian src

Otavio Salvador partial-mirror-devel@lists.alioth.debian.org
Thu, 05 Aug 2004 22:14:26 -0600


Author: otavio
Date: Thu Aug  5 22:14:25 2004
New Revision: 220

Modified:
   trunk/debian/changelog
   trunk/src/RemotePackages.py
Log:
* Improve the virtual-package handle a lot.

Modified: trunk/debian/changelog
==============================================================================
--- trunk/debian/changelog	(original)
+++ trunk/debian/changelog	Thu Aug  5 22:14:25 2004
@@ -2,6 +2,7 @@
 
   * NOT RELEASED YET
   * Fix some spelling errors.
+  * Improve the virtual-package handle a lot.
 
  -- Otavio Salvador <otavio@debian.org>  Fri,  2 Jul 2004 10:39:31 -0300
 

Modified: trunk/src/RemotePackages.py
==============================================================================
--- trunk/src/RemotePackages.py	(original)
+++ trunk/src/RemotePackages.py	Thu Aug  5 22:14:25 2004
@@ -105,9 +105,6 @@
             for d in self.__remote_packages[filename][name].getDepends():
                 if self.__remote_packages[filename].has_key(d):
                     self.__selectPackage(d, filename, [{'section': '*', 'priority': '*', 'package': '*'}], False)
-                if self.__getProvides and self.__provided_or_replaced_packages.has_key(d):
-                    for p in self.__provided_or_replaced_packages[d]:
-                        self.__selectPackage(p.getName(), filename, [{'section': '*', 'priority': '*', 'package': '*'}], True)
 
             if getAll:
                 if self.__getSuggests:
@@ -117,10 +114,15 @@
                 if self.__getRecomends:
                     for r in self.__remote_packages[filename][name].getRecomends():
                         self.__selectPackage(r, filename, [{'section': '*', 'priority': '*', 'package': '*'}], False)
-                    
+
+            return True
+        
+        # Handle virtual-packages!
+        if self.__getProvides and self.__provided_or_replaced_packages.has_key(name):
+            for i in self.__provided_or_replaced_packages[name]:
+                self.__selectPackage(i.getName(), filename, [{'section': '*', 'priority': '*', 'package': '*'}], getAll)
             return True
-        else:
-            return False
+        return False
 
     # Check if we should add this package
     def __check(self, name, filename, rules):