[Bug 2076913] Re: 'DistUpgradeController' object has no attribute 'force_obsoletes'
Nick Rosbrook
2076913 at bugs.launchpad.net
Tue Aug 13 15:43:26 UTC 2024
** Also affects: ubuntu-release-upgrader (Ubuntu Noble)
Importance: Undecided
Status: New
** Changed in: ubuntu-release-upgrader (Ubuntu)
Status: Confirmed => Fix Committed
** Changed in: ubuntu-release-upgrader (Ubuntu)
Importance: Undecided => High
** Changed in: ubuntu-release-upgrader (Ubuntu Noble)
Status: New => Triaged
** Changed in: ubuntu-release-upgrader (Ubuntu Noble)
Importance: Undecided => High
--
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to ubuntu-release-upgrader in
Ubuntu.
https://bugs.launchpad.net/bugs/2076913
Title:
'DistUpgradeController' object has no attribute 'force_obsoletes'
Status in ubuntu-release-upgrader package in Ubuntu:
Fix Committed
Status in ubuntu-release-upgrader source package in Noble:
Triaged
Bug description:
[Impact]
It looks like the latest SRU has introduced a bug in
https://git.launchpad.net/ubuntu-release-
upgrader/commit/?id=8c592abdf5047a6bd4da20dab1e444c6dcf8c842
There is a typo in s/force_obosoletes/forced_obsoletes/ which causes upgrades from noble to oracular to
fail:
File "/tmp/ubuntu-release-upgrader-l77uthwp/DistUpgrade/DistUpgradeController.py", line 1578, in doPostUpgrade
if pkgname in self.foreign_pkgs and pkgname in self.force_obsoletes:
^^^^^^^^^^^^^^^^^^^^
AttributeError: 'DistUpgradeController' object has no attribute 'force_obsoletes'. Did you mean: 'forced_obsoletes'?
[Test Plan]
This code path is only hit when some "foreign" packages are installed,
e.g. from a PPA. The best way to reproduce this is to install a
package from a PPA and then perform an upgrade. I created
https://launchpad.net/~enr0n/+archive/ubuntu/lp2076913 for convenience
in testing.
$ apt-add-repository -y ppa:enr0n/https://launchpad.net/~enr0n/+archive/ubuntu/lp2076913
$ apt install -y hello
$ do-release-upgrade -d
On an affected system, the AttributeError would be shown during the
searching for obsoletes stage. One should confirm that some "foreign"
packages were logged, otherwise the code path would not be taken:
$ grep "Foreign" /var/log/dist-upgrade/main.log
[Where problems could occur]
The patch changes the typo self.force_obsoletes to the correct
self.forced_obsoletes. Another typo would lead to the same problem!
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/ubuntu-release-upgrader/+bug/2076913/+subscriptions
More information about the foundations-bugs
mailing list