diff options
| author | Michael Vogt <michael.vogt@ubuntu.com> | 2006-08-30 10:48:11 +0200 |
|---|---|---|
| committer | Michael Vogt <michael.vogt@ubuntu.com> | 2006-08-30 10:48:11 +0200 |
| commit | a84c8d3574e62d7cf6bed8df21733ff1a1f96c9d (patch) | |
| tree | b8aa31bcc0256ec6f96d09b6c1153c87edcdfef4 | |
| parent | 1a864b488bd7444686698fdbd40c942e8f03afff (diff) | |
| download | python-apt-a84c8d3574e62d7cf6bed8df21733ff1a1f96c9d.tar.gz | |
* DistUpgrade/DistUpgradeControler.py:
- change the obsoletes calculation when run without network and
consider demotions as obsoletes then (because we can't really use
the pkg.downloadable hint without network after the sources.list
was rewritten
| -rw-r--r-- | DistUpgrade/Changelog | 3 | ||||
| -rw-r--r-- | DistUpgrade/DistUpgradeControler.py | 11 |
2 files changed, 13 insertions, 1 deletions
diff --git a/DistUpgrade/Changelog b/DistUpgrade/Changelog index 421a4e42..b282caa1 100644 --- a/DistUpgrade/Changelog +++ b/DistUpgrade/Changelog @@ -4,6 +4,9 @@ - add --cdrom switch to make cdrom based dist-upgrades possible - better error reporting - moved the logging into the /var/log/dist-upgrade/ dir + - change the obsoletes calculation when run without network and + consider demotions as obsoletes then (because we can't really + use the "downloadable" hint without network) 2006-08-18: - sort the demoted software list 2006-07-31: diff --git a/DistUpgrade/DistUpgradeControler.py b/DistUpgrade/DistUpgradeControler.py index cb0835fb..69d4cefe 100644 --- a/DistUpgrade/DistUpgradeControler.py +++ b/DistUpgrade/DistUpgradeControler.py @@ -487,7 +487,16 @@ class DistUpgradeControler(object): # mark packages that are now obsolete (and where not obsolete # before) to be deleted. make sure to not delete any foreign # (that is, not from ubuntu) packages - remove_candidates = now_obsolete - self.obsolete_pkgs + if self.useNetwork: + # we can only do the obsoletes calculation here if we use a + # network. otherwise after rewriting the sources.list everything + # that is not on the CD becomes obsolete (not-downloadable) + remove_candidates = now_obsolete - self.obsolete_pkgs + else: + # initial remove candidates when no network is used should + # be the demotions to make sure we don't leave potential + # unsupported software + remove_candidates = set(installed_demotions) remove_candidates |= set(self.forced_obsoletes) logging.debug("remove_candidates: '%s'" % remove_candidates) logging.debug("Start checking for obsolete pkgs") |
