home *** CD-ROM | disk | FTP | other *** search
- #!/usr/bin/python2.5
- # 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)
-