Merge lp:~brian-murray/update-manager/no-i386-upgrade into lp:update-manager

Proposed by Brian Murray
Status: Merged
Merged at revision: 2872
Proposed branch: lp:~brian-murray/update-manager/no-i386-upgrade
Merge into: lp:update-manager
Diff against target: 80 lines (+29/-1)
3 files modified
UpdateManager/Dialogs.py (+16/-0)
UpdateManager/UpdateManager.py (+6/-1)
debian/changelog (+7/-0)
To merge this branch: bzr merge lp:~brian-murray/update-manager/no-i386-upgrade
Reviewer Review Type Date Requested Status
Dave Jones (community) Approve
Ubuntu Core Development Team Pending
Review via email: mp+381550@code.launchpad.net

Description of the change

This will need to be SRU'ed to Ubuntu 18.04 as that is the release will we not want to present an upgrade dialog on.

Here is a link to the design for this:

https://wiki.ubuntu.com/ReleaseUpgrades?action=diff&rev2=15&rev1=14

And here is a screenshot of what the changes look like:

https://people.canonical.com/~brian/tmp/NoUpgradeForYouDialog.png

To post a comment you must log in.
Revision history for this message
Dave Jones (waveform) wrote :

+1 looks good to me

review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'UpdateManager/Dialogs.py'
2--- UpdateManager/Dialogs.py 2019-04-08 17:00:30 +0000
3+++ UpdateManager/Dialogs.py 2020-04-02 00:22:27 +0000
4@@ -295,6 +295,22 @@
5 DistUpgradeDialog.run(self, parent)
6
7
8+class NoUpgradeForYouDialog(InternalDialog):
9+ def __init__(self, window_main, meta_release, arch):
10+ InternalDialog.__init__(self, window_main)
11+ self.set_header(_("Sorry, there are no more upgrades for this system"))
12+ # Translators: this is an Ubuntu version name like "Ubuntu 12.04"
13+ self.set_desc(_("\nThere will not be any further Ubuntu releases "
14+ "for this system's '%s' architecture.\n\n"
15+ "Updates for Ubuntu %s will continue until "
16+ "2023-04-26.\n\nIf you reinstall Ubuntu from "
17+ "ubuntu.com/download, future upgrades will "
18+ "be available.") %
19+ (arch, meta_release.current_dist_version))
20+ self.focus_button = self.add_button(Gtk.STOCK_OK,
21+ self.window_main.close)
22+
23+
24 class PartialUpgradeDialog(InternalDialog):
25 def __init__(self, window_main):
26 InternalDialog.__init__(self, window_main)
27
28=== modified file 'UpdateManager/UpdateManager.py'
29--- UpdateManager/UpdateManager.py 2019-04-08 17:00:30 +0000
30+++ UpdateManager/UpdateManager.py 2020-04-02 00:22:27 +0000
31@@ -52,6 +52,7 @@
32 HWEUpgradeDialog,
33 NeedRestartDialog,
34 NoUpdatesDialog,
35+ NoUpgradeForYouDialog,
36 PartialUpgradeDialog,
37 StoppedUpdatesDialog,
38 UnsupportedDialog,
39@@ -62,7 +63,7 @@
40 from .Core.MyCache import MyCache
41 from .Core.roam import NetworkManagerHelper
42 from .Core.UpdateList import UpdateList
43-from .Core.utils import get_dist
44+from .Core.utils import get_arch, get_dist
45 from .backend import (InstallBackend,
46 get_backend)
47
48@@ -86,6 +87,7 @@
49 self.update_list = None
50 self.meta_release = None
51 self.hwe_replacement_packages = None
52+ self.arch = get_arch()
53
54 # Basic GTK+ parameters
55 self.set_title(_("Software Updater"))
56@@ -307,6 +309,9 @@
57 if (self.meta_release.new_dist
58 and (self.options.check_dist_upgrades
59 or settings.get_boolean("check-dist-upgrades"))):
60+ if self.arch == 'i386':
61+ return NoUpgradeForYouDialog(self, self.meta_release,
62+ self.arch)
63 return DistUpgradeDialog(self, self.meta_release)
64
65 return None
66
67=== modified file 'debian/changelog'
68--- debian/changelog 2020-01-31 21:44:36 +0000
69+++ debian/changelog 2020-04-02 00:22:27 +0000
70@@ -1,3 +1,10 @@
71+update-manager (1:20.04.2) UNRELEASED; urgency=medium
72+
73+ * UpdateManager/UpdateManager.py: Do not offer to upgrade systems running on
74+ an i386 host architecture to another release. (LP: #1845690)
75+
76+ -- Brian Murray <brian@ubuntu.com> Wed, 01 Apr 2020 17:15:59 -0700
77+
78 update-manager (1:20.04.1) focal; urgency=medium
79
80 * UpdateManager/Core/UpdateList.py: remove unused import of subprocess.

Subscribers

People subscribed via source and target branches

to status/vote changes: