diff -Nru ubuntu-release-upgrader-18.04.22/data/mirrors.cfg ubuntu-release-upgrader-18.04.24/data/mirrors.cfg --- ubuntu-release-upgrader-18.04.22/data/mirrors.cfg 2018-08-02 18:20:06.000000000 +0000 +++ ubuntu-release-upgrader-18.04.24/data/mirrors.cfg 2018-08-09 17:54:40.000000000 +0000 @@ -100,7 +100,6 @@ http://free.nchc.org.tw/ubuntu/ http://ubuntu.mirror.frontiernet.net/ubuntu/ http://mirror.ox.ac.uk/sites/archive.ubuntu.com/ubuntu/ -http://ubuntu.org.ua/ubuntu/ http://ftp-stud.hs-esslingen.de/ubuntu/ http://ubuntu.otenet.gr/ http://wwwftp.ciril.fr/pub/linux/ubuntu/archives/ @@ -127,7 +126,6 @@ http://softlibre.unizar.es/ubuntu/archive/ http://gpl.savoirfairelinux.net/pub/mirrors/ubuntu/ http://mirror.mirohost.net/ubuntu/ -http://ftp.caliu.cat/pub/distribucions/ubuntu/archive/ http://ftp.cvut.cz/ubuntu/ http://ftp.riken.jp/Linux/ubuntu/ http://mirror.isoc.org.il/pub/ubuntu/ @@ -263,7 +261,6 @@ http://mirror.atlantic.net/ubuntu/ http://mirror.uchile.cl/ubuntu/ http://mirrors.aliyun.com/ubuntu/ -http://archive.ubuntu.mirror.rafal.ca/ubuntu/ http://ftp.agh.edu.pl/ubuntu/ http://ftp.yzu.edu.tw/ubuntu/ http://kebo.pens.ac.id/ubuntu/ @@ -395,7 +392,6 @@ http://mirror.0x.sg/ubuntu/ http://ubuntu.mirrors.ovh.net/ubuntu/ http://mirror.us-midwest-1.nexcess.net/ubuntu/ -http://mirror.softcontrol.net/ubuntu/ http://glua.ua.pt/pub/ubuntu/ http://ftp.lanet.kr/ubuntu/ http://linux.mirrorhost.pw/ubuntu/ @@ -478,7 +474,6 @@ http://ftp.heanet.ie/pub/ubuntu/ http://mirror.iodc.dk/ubuntu/ http://mirror.unesp.br/ubuntu/ -http://mirror.mrjester.net/ubuntu/archive/ http://mirror.ehost.vn/ubuntu/ http://mirrors.serverhost.ro/ubuntu/ http://mirror.thaidns.co.th/ubuntu/ @@ -507,3 +502,6 @@ http://ubuntu.mirror.solnode.io/ubuntu/ http://repo.ialab.dsu.edu/ubuntu/ http://ftp.upcnet.ro/mirrors/ubuntu.com/ubuntu/ +http://ubuntu-arch.linux.edu.lv/ubuntu/ +http://ftp.tsukuba.wide.ad.jp/Linux/ubuntu/ +http://pubmirrors.dal.corespace.com/ubuntu/ diff -Nru ubuntu-release-upgrader-18.04.22/debian/changelog ubuntu-release-upgrader-18.04.24/debian/changelog --- ubuntu-release-upgrader-18.04.22/debian/changelog 2018-08-02 18:20:06.000000000 +0000 +++ ubuntu-release-upgrader-18.04.24/debian/changelog 2018-08-09 17:54:40.000000000 +0000 @@ -1,3 +1,17 @@ +ubuntu-release-upgrader (1:18.04.24) bionic; urgency=medium + + * DistUpgradeController.py: Remove an unnecessary debugging entry when + calculating the debs to remove. + + -- Brian Murray Thu, 09 Aug 2018 10:54:40 -0700 + +ubuntu-release-upgrader (1:18.04.23) bionic; urgency=medium + + * Upgrade libc6 before other packages to work around trigger issues + (LP: #1766890) + + -- Julian Andres Klode Thu, 09 Aug 2018 13:53:28 +0200 + ubuntu-release-upgrader (1:18.04.22) bionic; urgency=medium * DistUpgradeQuirks.py: diff -Nru ubuntu-release-upgrader-18.04.22/DistUpgrade/DistUpgradeController.py ubuntu-release-upgrader-18.04.24/DistUpgrade/DistUpgradeController.py --- ubuntu-release-upgrader-18.04.22/DistUpgrade/DistUpgradeController.py 2018-08-02 18:20:06.000000000 +0000 +++ ubuntu-release-upgrader-18.04.24/DistUpgrade/DistUpgradeController.py 2018-08-09 17:54:34.000000000 +0000 @@ -1073,7 +1073,7 @@ return True - def askDistUpgrade(self): + def calcDistUpgrade(self): self._view.updateStatus(_("Calculating the changes")) if not self.cache.distUpgrade(self._view, self.serverMode, self._partialUpgrade): return False @@ -1109,6 +1109,13 @@ # flush UI self._view.processEvents() + return changes + + def askDistUpgrade(self): + changes = self.calcDistUpgrade() + + if not changes: + return False # ask the user res = self._view.confirmChanges(_("Do you want to start the upgrade?"), @@ -1226,6 +1233,22 @@ res = apt_btrfs.create_btrfs_root_snapshot(prefix) logging.info("creating snapshot '%s' (success=%s)" % (prefix, res)) + def doDistUpgradeSimulation(self): + backups = {} + backups["dir::bin::dpkg"] = [apt_pkg.config["dir::bin::dpkg"]] + apt_pkg.config["dir::bin::dpkg"] = "/bin/true" + + for lst in "dpkg::pre-invoke", "dpkg::pre-install-pkgs", "dpkg::post-invoke", "dpkg::post-install-pkgs": + backups[lst + "::"] = apt_pkg.config.value_list(lst) + apt_pkg.config.clear(lst) + + try: + return self.doDistUpgrade() + finally: + for lst in backups: + for item in backups[lst]: + apt_pkg.config.set(lst, item) + def doDistUpgrade(self): # add debug code only here #apt_pkg.config.set("Debug::pkgDpkgPM", "1") @@ -1334,7 +1357,6 @@ archivedir = os.path.dirname( apt_pkg.config.find_dir("Dir::Cache::archives")) for item in self.fetcher.items: - logging.debug("Checking: %s" % item.destfile) if os.path.dirname(os.path.abspath(item.destfile)) == archivedir: try: os.unlink(item.destfile) @@ -1921,6 +1943,39 @@ self._enableAptCronJob() self.abort() + # simulate an upgrade + self._view.setStep(Step.INSTALL) + self._view.updateStatus(_("Upgrading")) + if not self.doDistUpgradeSimulation(): + self._view.error(_("Upgrade infeasible"), + _("The upgrade could not be completed, there " + "were errors during the upgrade " + "process.")) + self.abort() + + # Just upgrade libc6 first + self.cache.clear() + self.cache["libc6"].mark_install() + self._view.setStep(Step.INSTALL) + self._view.updateStatus(_("Upgrading")) + if not self.doDistUpgrade(): + # don't abort here, because it would restore the sources.list + self._view.information(_("Upgrade incomplete"), + _("The upgrade has partially completed but there " + "were errors during the upgrade " + "process.")) + # do not abort because we are part of the way through the process + sys.exit(1) + + # Reopen ask above + self.openCache(restore_sources_list_on_fail=True) + self.serverMode = self.cache.need_server_mode() + self.quirks.ensure_recommends_are_installed_on_desktops() + + self._view.updateStatus(_("Calculating the changes")) + if not self.calcDistUpgrade(): + self.abort() + # now do the upgrade self._view.setStep(Step.INSTALL) self._view.updateStatus(_("Upgrading")) diff -Nru ubuntu-release-upgrader-18.04.22/DistUpgrade/DistUpgradeVersion.py ubuntu-release-upgrader-18.04.24/DistUpgrade/DistUpgradeVersion.py --- ubuntu-release-upgrader-18.04.22/DistUpgrade/DistUpgradeVersion.py 2018-08-02 18:20:06.000000000 +0000 +++ ubuntu-release-upgrader-18.04.24/DistUpgrade/DistUpgradeVersion.py 2018-08-09 17:54:40.000000000 +0000 @@ -1 +1 @@ -VERSION = '18.04.22' +VERSION = '18.04.24'