]> git.ipfire.org Git - ipfire-3.x.git/commitdiff
naoki: Speed up dependency resolution.
authorMichael Tremer <michael.tremer@ipfire.org>
Thu, 7 Oct 2010 17:58:28 +0000 (19:58 +0200)
committerMichael Tremer <michael.tremer@ipfire.org>
Thu, 7 Oct 2010 17:58:28 +0000 (19:58 +0200)
naoki/packages.py

index 5c8e137f3a3c9beaa67f56bdb4a65dc8f67f2ece..f38afec431ebfcab8f3f61b764954039b3e16bc7 100644 (file)
@@ -236,6 +236,9 @@ class BinaryPackage(Package):
                        key, val = m.groups()
                        self._info[key] = val.strip("\"")
 
+               self.__dependencies = self.get_dependencies()
+               self.__provides = self.get_provides()
+
        def extract(self, path):
                logging.debug("Extracting %s to %s" % (self, path))
 
@@ -261,6 +264,9 @@ class BinaryPackage(Package):
                return self._info["PKG_NAME"]
 
        def get_dependencies(self):
+               if hasattr(self, "__dependencies"):
+                       return self.__dependencies
+
                objects = self._info.get("PKG_DEPS", "").split()
 
                # Compatibility to older package format
@@ -269,6 +275,9 @@ class BinaryPackage(Package):
                return [dependencies.Dependency(o, origin=self) for o in objects]
 
        def get_provides(self):
+               if hasattr(self, "__provides"):
+                       return self.__provides
+
                return [dependencies.Provides(p, origin=self) \
                        for p in self._info.get("PKG_PROVIDES", "").split()]