Merge ~chad.smith/ubuntu/+source/ubuntu-release-upgrader:uru-focal-ubuntu-advantage into ubuntu/+source/ubuntu-release-upgrader:ubuntu/focal-proposed

Proposed by Chad Smith
Status: Merged
Merge reported by: Chad Smith
Merged at revision: 6e4e398848c09631ce8122130935b07139f2199e
Proposed branch: ~chad.smith/ubuntu/+source/ubuntu-release-upgrader:uru-focal-ubuntu-advantage
Merge into: ubuntu/+source/ubuntu-release-upgrader:ubuntu/focal-proposed
Diff against target: 150 lines (+55/-19)
6 files modified
DistUpgrade/DistUpgradeController.py (+8/-0)
DistUpgrade/DistUpgradeQuirks.py (+25/-15)
data/DistUpgrade.cfg.bionic (+1/-1)
data/mirrors.cfg (+2/-0)
debian/changelog (+17/-1)
utils/update_mirrors.py (+2/-2)
Reviewer Review Type Date Requested Status
Brian Murray (community) Approve
Review via email: mp+391907@code.launchpad.net

Description of the change

Kept released version at 1:20.04.28 since 27 was released to -proposed

SRU of ESM upgrade support locks, official public PPA mirror

6 cherry picks:

git cherry-pick 6b6f79583687e56305a21f88d895925231e553b9 # ubuntu/master
git cherry-pick 3c23ab918585a9a0e72e60564ba734789f939813 # ubuntu/master
git cherry-pick 1fc540b9f5432539133db61a16af4b495be63a89 # ubuntu/master
git cherry-pick af4edfce71f3a98946fb06f823968e4aa4e5a4d7 # ubuntu/master
git cherry-pick cc15ee5e15a0b1ec20aec50d6b8dd7c03c3b90c7 # ubuntu/focal
git cherry-pick d36e5c96d514a7bb04e179b0b7ec251d2f802f27 # ubuntu/focal

Add changlog entry for 1:20.04.28

  [ Chad Smith ]
  * data/mirrors.cfg: add ubuntu advantage pro PPA url as valid mirror
    (LP: #1893717)
  * DistUpgrade/DistUpgradeController.py: release cache lock during
    runPostInstallScripts (LP: #1897778)

  [ Brian Murray ]
  * DistUpgrade/DistUpgradeQuirks.py: In addition to quirking python-minimal
    we also need to quirk python-dbg, python-doc, and python-dev.
    (LP: #1887544)

To post a comment you must log in.
6e4e398... by Chad Smith

changelog

Revision history for this message
Brian Murray (brian-murray) wrote :

Because 1:20.04.27 did exist in the archive, although it was only in -proposed, it is possible that it is installed on user's systems. Subsequently, we need to use a version greater than it so those users will get the fixes we are making. (I realize that is less true because we are changing the dist-upgrader tarball but still we should use best practices here.)

review: Needs Fixing
Revision history for this message
Brian Murray (brian-murray) wrote :

This was merged and uploaded to the unapproved SRU queue.

review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
diff --git a/DistUpgrade/DistUpgradeController.py b/DistUpgrade/DistUpgradeController.py
index 9f4e76b..18e1ac3 100644
--- a/DistUpgrade/DistUpgradeController.py
+++ b/DistUpgrade/DistUpgradeController.py
@@ -1518,7 +1518,13 @@ class DistUpgradeController(object):
1518 """ 1518 """
1519 scripts that are run in any case after the distupgrade finished 1519 scripts that are run in any case after the distupgrade finished
1520 whether or not it was successful1520 whether or not it was successful
1521
1522 Cache lock is released during script runs in the event that the
1523 PostInstallScripts require apt or dpkg changes.
1521 """1524 """
1525 if self.cache:
1526 self.cache.release_lock()
1527 self.cache.unlock_lists_dir()
1522 # now run the post-upgrade fixup scripts (if any)1528 # now run the post-upgrade fixup scripts (if any)
1523 for script in self.config.getlist("Distro","PostInstallScripts"):1529 for script in self.config.getlist("Distro","PostInstallScripts"):
1524 if not os.path.exists(script):1530 if not os.path.exists(script):
@@ -1531,6 +1537,8 @@ class DistUpgradeController(object):
1531 self._view.getTerminal().call([script], hidden=True)1537 self._view.getTerminal().call([script], hidden=True)
1532 except Exception as e:1538 except Exception as e:
1533 logging.error("got error from PostInstallScript %s (%s)" % (script, e))1539 logging.error("got error from PostInstallScript %s (%s)" % (script, e))
1540 if self.cache:
1541 self.cache.get_lock()
15341542
1535 def abort(self):1543 def abort(self):
1536 """ abort the upgrade, cleanup (as much as possible) """1544 """ abort the upgrade, cleanup (as much as possible) """
diff --git a/DistUpgrade/DistUpgradeQuirks.py b/DistUpgrade/DistUpgradeQuirks.py
index b3fbc6c..4c3381f 100644
--- a/DistUpgrade/DistUpgradeQuirks.py
+++ b/DistUpgrade/DistUpgradeQuirks.py
@@ -898,22 +898,32 @@ class DistUpgradeQuirks(object):
898 other package and the python-is-python2 package is installed instead,898 other package and the python-is-python2 package is installed instead,
899 if python-minimal was installed.899 if python-minimal was installed.
900 """900 """
901 old = 'python-minimal'901 # python-dbg must come first for reasons unknown
902 new = 'python-is-python2'902 replacements = (('python-dbg', 'python2-dbg'),
903 ('python-doc', 'python2-doc'),
904 ('python-minimal', 'python-is-python2'),
905 ('python-dev', 'python-dev-is-python2'),
906 ('libpython-dev', None),
907 ('libpython-stdlib', None),
908 ('libpython-dbg', None))
903 cache = self.controller.cache909 cache = self.controller.cache
904 if old in cache and cache[old].is_installed:910 for old, new in replacements:
905 logging.info("installing %s because %s was installed" % (new, old))911 logging.info("checking for %s" % old)
906 reason = "%s was installed on the system" % old912 if old in cache and cache[old].is_installed:
907 if not cache.mark_install(new, reason):913 if new:
908 logging.info("failed to install %s" % new)914 logging.info("installing %s because %s was installed" %
909 logging.info("removing %s because %s is being installed" %915 (new, old))
910 (old, new))916 reason = "%s was installed on the system" % old
911 reason = "%s is being installed on the system" % new917 if not cache.mark_install(new, reason):
912 if not cache.mark_remove(old, reason):918 logging.info("failed to install %s" % new)
913 logging.info("failed to remove %s", old)919 logging.info("removing %s because %s is being installed" %
914920 (old, new))
915 # protect our decision to remove legacy 'python' (as a dependency921 reason = "%s is being installed on the system" % new
916 # of python-minimal, removed above)922 if not cache.mark_remove(old, reason):
923 logging.info("failed to remove %s", old)
924
925 # protect our decision to remove legacy 'python' (as a
926 # dependency of python-minimal, removed above)
917 py = 'python'927 py = 'python'
918 if py in cache and cache[py].marked_delete:928 if py in cache and cache[py].marked_delete:
919 resolver = apt.cache.ProblemResolver(cache)929 resolver = apt.cache.ProblemResolver(cache)
diff --git a/data/DistUpgrade.cfg.bionic b/data/DistUpgrade.cfg.bionic
index aa45625..452c721 100644
--- a/data/DistUpgrade.cfg.bionic
+++ b/data/DistUpgrade.cfg.bionic
@@ -48,7 +48,7 @@ EnableApport=yes
48KeyDependencies=lightdm, unity, ubuntu-artwork, ubuntu-sounds48KeyDependencies=lightdm, unity, ubuntu-artwork, ubuntu-sounds
49# those pkgs will be marked remove right after the distUpgrade in the cache49# those pkgs will be marked remove right after the distUpgrade in the cache
50PostUpgradeRemove=gnome-cups-manager, powermanagement-interface, deskbar-applet, nautilus-cd-burner50PostUpgradeRemove=gnome-cups-manager, powermanagement-interface, deskbar-applet, nautilus-cd-burner
51ForcedObsoletes=desktop-effects, gnome-app-install, policykit-gnome, gnome-mount, gnome-software-plugin-snap51ForcedObsoletes=desktop-effects, gnome-app-install, policykit-gnome, gnome-mount
5252
53[kubuntu-desktop]53[kubuntu-desktop]
54KeyDependencies=plasma-desktop, kubuntu-settings-desktop54KeyDependencies=plasma-desktop, kubuntu-settings-desktop
diff --git a/data/mirrors.cfg b/data/mirrors.cfg
index aa935f7..6f51fd8 100644
--- a/data/mirrors.cfg
+++ b/data/mirrors.cfg
@@ -17,6 +17,8 @@ ftp://ddebs.ubuntu.com/
17#commercial (both urls are valid)17#commercial (both urls are valid)
18http://archive.canonical.com18http://archive.canonical.com
19http://archive.canonical.com/ubuntu/19http://archive.canonical.com/ubuntu/
20
21http://ppa.launchpad.net/ua-client/stable/ubuntu
20https://esm.ubuntu.com/ubuntu/22https://esm.ubuntu.com/ubuntu/
21https://esm.ubuntu.com/apps/ubuntu/23https://esm.ubuntu.com/apps/ubuntu/
22https://esm.ubuntu.com/cc/ubuntu/24https://esm.ubuntu.com/cc/ubuntu/
diff --git a/debian/changelog b/debian/changelog
index 7375b3c..ff8cc04 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,9 +1,25 @@
1ubuntu-release-upgrader (1:20.04.28) focal; urgency=medium
2
3 [ Brian Murray ]
4 * DistUpgrade/DistUpgradeQuirks.py: In addition to quirking python-minimal
5 we also need to quirk python-dbg, python-doc, and python-dev.
6 (LP: #1887544)
7
8 [ Chad Smith ]
9 * data/mirrors.cfg: add all ubuntu-advantage services as valid mirrors.
10 This includes: fips, fips-updates, esm-infra, esm-apps and cc-eal and
11 Ubuntu Pro stable public PPA. (LP: #1893717)
12 * DistUpgrade/DistUpgradeController.py: release cache lock during
13 runPostInstallScripts (LP: #1897778)
14
15 -- Chad Smith <chad.smith@canonical.com> Wed, 07 Oct 2020 10:49:37 -0600
16
1ubuntu-release-upgrader (1:20.04.27) focal; urgency=medium17ubuntu-release-upgrader (1:20.04.27) focal; urgency=medium
218
3 * data/DistUpgrade.cfg.bionic: Add gnome-software-plugin-snap to19 * data/DistUpgrade.cfg.bionic: Add gnome-software-plugin-snap to
4 ForcedObsoletes for ubuntu-desktop and ubuntukylin-desktop only. This20 ForcedObsoletes for ubuntu-desktop and ubuntukylin-desktop only. This
5 allows multiple packages to be offered for removal after the upgrade21 allows multiple packages to be offered for removal after the upgrade
6 completes. (LP: #1894919) 22 completes. (LP: #1894919)
723
8 -- Brian Murray <brian@ubuntu.com> Wed, 09 Sep 2020 11:27:27 -070024 -- Brian Murray <brian@ubuntu.com> Wed, 09 Sep 2020 11:27:27 -0700
925
diff --git a/utils/update_mirrors.py b/utils/update_mirrors.py
index f604ad6..05ceadb 100755
--- a/utils/update_mirrors.py
+++ b/utils/update_mirrors.py
@@ -15,8 +15,8 @@ d = feedparser.parse("https://launchpad.net/ubuntu/+archivemirrors-rss")
15#pp = pprint.PrettyPrinter(indent=4)15#pp = pprint.PrettyPrinter(indent=4)
16#pp.pprint(d)16#pp.pprint(d)
1717
18# the first 29 lines are permanent18# the first 31 lines are permanent
19permanent_lines = 2919permanent_lines = 31
20lp_mirrors = set()20lp_mirrors = set()
21new_mirrors = set()21new_mirrors = set()
2222

Subscribers

People subscribed via source and target branches