diff options
author | Jeremy Katz <katzj@redhat.com> | 2002-07-19 19:58:02 +0000 |
---|---|---|
committer | Jeremy Katz <katzj@redhat.com> | 2002-07-19 19:58:02 +0000 |
commit | 78ebd9c0f00542e979422bb8c68f4996b64f16a5 (patch) | |
tree | 68537dbe3e9ddca7891675ac98ad547a1d44a470 /comps.py | |
parent | 4b9e14935b663658d166e788e5670955d851b194 (diff) | |
download | anaconda-78ebd9c0f00542e979422bb8c68f4996b64f16a5.tar.gz anaconda-78ebd9c0f00542e979422bb8c68f4996b64f16a5.tar.xz anaconda-78ebd9c0f00542e979422bb8c68f4996b64f16a5.zip |
cheap hack to make loading comps faster -- don't resolve the dependencies for Everything since there aren't any deps we're not adding
Diffstat (limited to 'comps.py')
-rw-r--r-- | comps.py | 22 |
1 files changed, 16 insertions, 6 deletions
@@ -343,17 +343,19 @@ class Component: def addMetaPkg(self, comp, isDefault = 0): self.metapkgs[comp] = (PKGTYPE_OPTIONAL, isDefault) - def addPackage(self, p, pkgtype): + def addPackage(self, p, pkgtype, handleDeps = 1): if pkgtype == PKGTYPE_MANDATORY: p.registerComponent(self) self.newpkgDict[p] = (pkgtype, 1) self.pkgDict[p] = None - self.updateDependencyCountForAddition(p) + if handleDeps == 1: + self.updateDependencyCountForAddition(p) elif pkgtype == PKGTYPE_DEFAULT: p.registerComponent(self) self.newpkgDict[p] = (PKGTYPE_OPTIONAL, 1) self.pkgDict[p] = None - self.updateDependencyCountForAddition(p) + if handleDeps == 1: + self.updateDependencyCountForAddition(p) elif pkgtype == PKGTYPE_OPTIONAL: self.newpkgDict[p] = (PKGTYPE_OPTIONAL, 0) else: @@ -503,7 +505,7 @@ class Component: (self.manuallySelected, self.selectionCount) = state def __init__(self, set, compgroup, packages, - conditionalKey = "", parent=None): + conditionalKey = "", parent=None, doDeps = 1): self.set = set self.name = compgroup.name @@ -540,7 +542,7 @@ class Component: else: log("Invalid package type of %s for %s in %s; defaulting to optional" % (type, pkg, self.name)) pkgtype = PKGTYPE_OPTIONAL - self.addPackage(packages[pkg], pkgtype) + self.addPackage(packages[pkg], pkgtype, doDeps) class ComponentSet: @@ -705,13 +707,21 @@ class ComponentSet: # we have to go through first and make Comp objects for all # of the groups. then we can go through and set up the includes - for group in groups: + for group in groups[:-1]: group = self.compsxml.groups[group] comp = Component(self, group, packages) self.comps.append(comp) self.compsDict[comp.name] = comp self.compsById[comp.id] = comp + # special case everything to make it faster... + for group in [ groups[-1] ]: + group = self.compsxml.groups[group] + comp = Component(self, group, packages, doDeps = 0) + self.comps.append(comp) + self.compsDict[comp.name] = comp + self.compsById[comp.id] = comp + for group in groups: # everything is special and this speeds things up a bit if group == "everything": |