summaryrefslogtreecommitdiff
path: root/update-manager
diff options
context:
space:
mode:
authorglatzor@ubuntu.com <>2006-09-09 23:07:01 +0200
committerglatzor@ubuntu.com <>2006-09-09 23:07:01 +0200
commit55dc951dc39a68249435256da79bacfd2961e1c4 (patch)
tree4eaf74f7e56334a1a8c787b2ac5d8ee1f675c3bd /update-manager
parent3afcdfc4f30173672b5745f69e2bc401f20e1d90 (diff)
parenta5a1685317f25de0a0d7bd8ccc5317a17fa219bf (diff)
downloadpython-apt-55dc951dc39a68249435256da79bacfd2961e1c4.tar.gz
* merge with mvo
Diffstat (limited to 'update-manager')
-rw-r--r--update-manager29
1 files changed, 27 insertions, 2 deletions
diff --git a/update-manager b/update-manager
index 5982cab9..21b03702 100644
--- a/update-manager
+++ b/update-manager
@@ -55,10 +55,35 @@ if __name__ == "__main__":
dest="devel_release", default=False,
help="Check if upgrading to the latest devel release "
"is possible")
+ parser.add_option ("--dist-upgrade","--dist-ugprade", action="store_true",
+ dest="dist_upgrade", default=False,
+ help="Try to run a dist-upgrade")
(options, args) = parser.parse_args()
data_dir="/usr/share/update-manager/"
#data_dir="/tmp/xxx/share/update-manager/"
- app = UpdateManager(data_dir)
- app.main(options)
+
+ if options.dist_upgrade == True:
+ from DistUpgrade.DistUpgradeView import STEP_PREPARE, STEP_MODIFY_SOURCES, STEP_FETCH_INSTALL, STEP_CLEANUP, STEP_REBOOT
+ from DistUpgrade.DistUpgradeViewGtk import DistUpgradeViewGtk
+ from DistUpgrade.DistUpgradeControler import DistUpgradeControler
+ # FIXME: we *really* want to different view here
+ view = DistUpgradeViewGtk(data_dir)
+ view.setStep(STEP_PREPARE)
+ view.hideStep(STEP_MODIFY_SOURCES)
+ view.hideStep(STEP_REBOOT)
+ controler = DistUpgradeControler(view, datadir=data_dir)
+ controler.prepare()
+ controler.doPreUpgrade()
+ if controler.askDistUpgrade():
+ view.setStep(STEP_FETCH_INSTALL)
+ if not controler.doDistUpgrade():
+ sys.exit(1)
+ view.setStep(STEP_CLEANUP)
+ controler.doPostUpgrade()
+ view.information(_("Upgrade complete"),
+ _("The upgrade was completed."))
+ else:
+ app = UpdateManager(data_dir)
+ app.main(options)