Merge ~enr0n/ubuntu-release-upgrader:lp-2061891 into ubuntu-release-upgrader:ubuntu/main

Proposed by Nick Rosbrook
Status: Merged
Merged at revision: 173dd2e1f5ab80746c555e64891c91e0197b3365
Proposed branch: ~enr0n/ubuntu-release-upgrader:lp-2061891
Merge into: ubuntu-release-upgrader:ubuntu/main
Diff against target: 65 lines (+38/-1)
2 files modified
DistUpgrade/DistUpgradeQuirks.py (+37/-0)
data/DistUpgrade.cfg.jammy (+1/-1)
Reviewer Review Type Date Requested Status
Julian Andres Klode Approve
Review via email: mp+464775@code.launchpad.net

Description of the change

Add a quirk for this issue instead of using KeepInstalledPkgs, which is incomplete.

To post a comment you must log in.
Revision history for this message
Julian Andres Klode (juliank) wrote :

lgtm

review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
diff --git a/DistUpgrade/DistUpgradeQuirks.py b/DistUpgrade/DistUpgradeQuirks.py
index c8f3576..d5c2662 100644
--- a/DistUpgrade/DistUpgradeQuirks.py
+++ b/DistUpgrade/DistUpgradeQuirks.py
@@ -185,6 +185,7 @@ class DistUpgradeQuirks(object):
185 # self._install_python_is_python2()185 # self._install_python_is_python2()
186 self._maybe_remove_gpg_wks_server()186 self._maybe_remove_gpg_wks_server()
187 self._install_t64_replacement_packages()187 self._install_t64_replacement_packages()
188 self._handle_ufw_breaks()
188189
189 # individual quirks handler that run *after* the dist-upgrade was190 # individual quirks handler that run *after* the dist-upgrade was
190 # calculated in the cache191 # calculated in the cache
@@ -1795,3 +1796,39 @@ class DistUpgradeQuirks(object):
1795 logging.debug(1796 logging.debug(
1796 f'Failed to find a replacement for {package.name}'1797 f'Failed to find a replacement for {package.name}'
1797 )1798 )
1799
1800 def _handle_ufw_breaks(self):
1801 """
1802 LP: #2061891
1803 """
1804
1805 # This is only required for upgrades from jammy.
1806 if self.controller.fromDist != 'jammy':
1807 return
1808
1809 try:
1810 ufw = self.controller.cache['ufw']
1811 except KeyError:
1812 return
1813
1814 if not ufw.is_installed:
1815 return
1816
1817 remove_ufw = False
1818 for name in ('netfilter-persistent', 'iptables-persistent'):
1819 try:
1820 pkg = self.controller.cache[name]
1821 except KeyError:
1822 continue
1823
1824 if pkg.is_installed:
1825 logging.info(
1826 f'Keeping {name}, and removing ufw as a result.'
1827 )
1828
1829 pkg.mark_install(auto_fix=False, auto_inst=False)
1830 remove_ufw = True
1831
1832 if remove_ufw:
1833 ufw.mark_delete(auto_fix=False)
1834 apt.ProblemResolver(self.controller.cache).protect(ufw)
diff --git a/data/DistUpgrade.cfg.jammy b/data/DistUpgrade.cfg.jammy
index fcc436b..ce3e994 100644
--- a/data/DistUpgrade.cfg.jammy
+++ b/data/DistUpgrade.cfg.jammy
@@ -23,7 +23,7 @@ Demotions=demoted.cfg
23#RemoveEssentialOk=sysvinit, sysvutils, belocs-locales-bin23#RemoveEssentialOk=sysvinit, sysvutils, belocs-locales-bin
24RemovalDenylistFile=removal_denylist.cfg24RemovalDenylistFile=removal_denylist.cfg
25# if those packages were installed, make sure to keep them installed25# if those packages were installed, make sure to keep them installed
26KeepInstalledPkgs=xserver-xorg-video-all,netfilter-persistent,iptables-persistent26KeepInstalledPkgs=xserver-xorg-video-all
27KeepInstalledSection=translations27KeepInstalledSection=translations
28RemoveObsoletes=yes28RemoveObsoletes=yes
29PurgeObsoletes=yes29PurgeObsoletes=yes

Subscribers

People subscribed via source and target branches