1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
|
#!/usr/bin/python
# update-manager.in - easy updating application
#
# Copyright (c) 2004 Canonical
# 2004 Michiel Sikkes
#
# Author: Michiel Sikkes <michiel@eyesopened.nl>
# Michael Vogt <mvo@debian.org>
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License as
# published by the Free Software Foundation; either version 2 of the
# License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
# USA
import pygtk
import os
pygtk.require('2.0')
import gtk
import gtk.glade
import sys
from UpdateManager.UpdateManager import UpdateManager
import gettext
from gettext import gettext as _
from optparse import OptionParser
if __name__ == "__main__":
APP="update-manager"
DIR="/usr/share/locale"
gettext.bindtextdomain(APP, DIR)
gettext.textdomain(APP)
gtk.glade.bindtextdomain(APP, DIR)
gtk.glade.textdomain(APP)
# Begin parsing of options
parser = OptionParser()
parser.add_option ("-c", "--check-dist-upgrades", action="store_true",
dest="check_dist_upgrades", default=False,
help=_("Check if a new distribution release is available"))
parser.add_option ("-d", "--devel-release", action="store_true",
dest="devel_release", default=False,
help=_("Check if upgrading to the latest devel release "
"is possible"))
parser.add_option ("-p","--proposed", action="store_true",
dest="use_proposed", default=False,
help=_("Try to run a dist-upgrade"))
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/"
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.label_title.set_markup("<b><big>%s</big></b>" % _("Running partial upgrade"))
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)
|