diff options
author | Matt Wilson <msw@redhat.com> | 2001-06-22 20:38:45 +0000 |
---|---|---|
committer | Matt Wilson <msw@redhat.com> | 2001-06-22 20:38:45 +0000 |
commit | b43b22451556077cf160799598e72b787e02af6c (patch) | |
tree | 4c52035f0edddf2d32704674bf4649cabf45ce6a /comps.py | |
parent | 64b0587de521d01512eeca0fa42c67aac666f68b (diff) | |
download | anaconda-b43b22451556077cf160799598e72b787e02af6c.tar.gz anaconda-b43b22451556077cf160799598e72b787e02af6c.tar.xz anaconda-b43b22451556077cf160799598e72b787e02af6c.zip |
1) more fixups for upgrades: fix step list to actually run the transaction,
set the upgrade flag in id when we get picked
2) removed self from migrateXinetd
3) moved GUI splash screen to its own file - this should make it pop up
even faster.
4) copyright notices in anaconda, splashscreen.py
5) reworked the dep checker to build a new ts every time we make a pass.
RPM doesn't seem to like to have a package in the ts as available *and*
upgrade/install.
6) fixed fstab reading for 'none' devices
7) removed a debugging print from xf86config.py
8) removed threadding import from progress_gui.py
Diffstat (limited to 'comps.py')
-rw-r--r-- | comps.py | 41 |
1 files changed, 25 insertions, 16 deletions
@@ -590,25 +590,35 @@ class ComponentSet: return self.verifiedState = None - - if upgrade: + + if upgrade: db = rpm.opendb (0, instPath) - ts = rpm.TransactionSet(instPath, db) - how = 'u' - else: + how = 'u' + else: + db = None ts = rpm.TransactionSet() - db = None - how = 'i' - - for p in self.packages.packages.values (): - if p.selected: - ts.add(p.h, (p.h, p.h[rpm.RPMTAG_NAME]), how) - else: - ts.add(p.h, (p.h, p.h[rpm.RPMTAG_NAME]), "a") + how = 'i' checkDeps = 1 rc = [] + extras = {} while checkDeps: + if upgrade: + ts = rpm.TransactionSet(instPath, db) + how = 'u' + else: + ts = rpm.TransactionSet() + how = 'i' + + for p in self.packages.values(): + if p.selected: + ts.add(p.h, (p.h, p.h[rpm.RPMTAG_NAME]), how) + else: + if extras.has_key(p.h): + ts.add(p.h, (p.h, p.h[rpm.RPMTAG_NAME]), how) + else: + ts.add(p.h, (p.h, p.h[rpm.RPMTAG_NAME]), "a") + deps = ts.depcheck() checkDeps = 0 @@ -624,8 +634,7 @@ class ComponentSet: log ("depcheck: package %s needs %s (provided by %s)", name, formatRequire(reqname, reqversion, flags), sugname) - - ts.add(header, (header, header[rpm.RPMTAG_NAME]), how) + extras[header] = None checkDeps = 1 else: log ("depcheck: package %s needs %s (not provided)", @@ -659,7 +668,7 @@ class ComponentSet: if self.packages.packages.has_key (reqname): self.packages.packages[reqname].selected = 0 log ("... removed") - + del ts if db: del db |