from __future__ import absolute_import import logging import shutil from .DistUpgradeFetcherCore import DistUpgradeFetcherCore class DistUpgradeFetcherSelf(DistUpgradeFetcherCore): def __init__(self, new_dist, progress, options, view): DistUpgradeFetcherCore.__init__(self,new_dist,progress) self.view = view # user chose to use the network, otherwise it would not be # possible to download self self.run_options += ["--with-network"] # make sure to run self with proper options if options.cdromPath is not None: self.run_options += ["--cdrom=%s" % options.cdromPath] if options.frontend is not None: self.run_options += ["--frontend=%s" % options.frontend] def error(self, summary, message): return self.view.error(summary, message) def runDistUpgrader(self): " overwrite to ensure that the log is copied " # copy log so it isn't overwritten logging.info("runDistUpgrader() called, re-exec self") logging.shutdown() shutil.copy("/var/log/dist-upgrade/main.log", "/var/log/dist-upgrade/main_update_self.log") # re-exec self DistUpgradeFetcherCore.runDistUpgrader(self)