File: do-release-upgrade

package info (click to toggle)
update-manager 0.68.debian-7
  • links: PTS
  • area: main
  • in suites: lenny
  • size: 6,796 kB
  • ctags: 814
  • sloc: python: 5,646; xml: 1,571; sh: 433; makefile: 356; ansic: 264
file content (45 lines) | stat: -rwxr-xr-x 1,587 bytes parent folder | download
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
#!/usr/bin/python

import warnings
warnings.filterwarnings("ignore", "apt API not stable yet", FutureWarning)
import apt

from UpdateManager.Core.MetaRelease import MetaReleaseCore
from UpdateManager.Core.DistUpgradeFetcherCore import DistUpgradeFetcherCore
from optparse import OptionParser
from gettext import gettext as _
import time
import sys

if __name__ == "__main__":

  parser = OptionParser()
  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 ("-f", "--frontend", default="DistUpgradeViewText",
                     dest="frontend", 
                     help=_("Run the specified frontend"))
  parser.add_option ("-m", "--mode", default="server",
                     dest="mode", 
                     help=_("Run in a special upgrade mode"))

  (options, args) = parser.parse_args()

  print _("Checking for a new ubuntu release")
  m = MetaReleaseCore(useDevelopmentRelease=options.devel_release)
  # this will timeout eventually
  while m.downloading:
	  time.sleep(0.5)
  if m.new_dist is None:
	  print _("No new release found")
	  sys.exit(1)
  # we have a new dist
  progress = apt.progress.TextFetchProgress()
  fetcher = DistUpgradeFetcherCore(new_dist=m.new_dist,
				   progress=progress)
  fetcher.run_options += ["--mode=%s" % options.mode,
                          "--frontend=%s" % options.frontend,
                          ]
  fetcher.run()