when rewriting sources.list ubuntu-release-upgrader doesn't check to see if new release is available
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
ubuntu-release-upgrader (Ubuntu) |
Fix Released
|
Medium
|
Brian Murray | ||
Bionic |
Fix Released
|
Medium
|
Unassigned | ||
Cosmic |
Fix Released
|
Medium
|
Unassigned |
Bug Description
[Impact]
When rewriting sources.list entries the release-upgrader doesn't check to see if the distribution to which the system is being upgraded is supported by the archive / PPA. This results in the following error message:
A problem occurred during the update. This is usually some sort of
network problem, please check your network connection and retry.
E:The repository 'http://
cosmic Release' does not have a Release file.
If the release-upgrader were to actually check if the release were supported then that specific sources entry could be disabled and the upgrade may be able to proceed.
[Test Case]
The test case involves adding a PPA which doesn't have a release file for the release to which you are upgrading for upgrading to cosmic we can use the team-xbmc ppa.
1) sudo add-apt-repository ppa:team-xbmc/ppa
2) do-release-upgrade --frontend DistUpgradeViewText
3) Observe the error message re "does not have a Release file" and the upgrade cancel.
With the version of the release upgrader from -proposed you will instead see the following message: "Some third party entries in your sources.list were disabled.". Then the release upgrade will proceed to the calculation phase, you can quit the upgrade after the calculation and check /var/log/
DEBUG entry '# deb http://
[Regression Potential]
It seems like an oversight that this part of the release-upgrader never did check for Release files and that this is the right thing to do. Its possible that people who were not allowed to upgrade, because they had PPAs without support for the release to which they wanted to upgrade, are now allowed to upgrade and somehow run in to an upgrade failure e.g. a failure to calculate the upgrade. That seems better and more informative than not allowing them to upgrade at all though.
Related branches
- Ubuntu Core Development Team: Pending requested
-
Diff: 474 lines (+120/-30)6 files modifiedDistUpgrade/DistUpgradeCache.py (+19/-7)
DistUpgrade/DistUpgradeController.py (+25/-5)
DistUpgrade/DistUpgradeFetcherCore.py (+1/-1)
debian/changelog (+14/-2)
do-release-upgrade (+12/-0)
tests/test_sources_list.py (+49/-15)
tags: | added: bionic cosmic rls-dd-incoming |
Changed in ubuntu-release-upgrader (Ubuntu): | |
importance: | Undecided → Medium |
status: | New → In Progress |
assignee: | nobody → Brian Murray (brian-murray) |
tags: | added: id-5b5b2ceb30bee3278544fe94 |
Changed in ubuntu-release-upgrader (Ubuntu Bionic): | |
status: | New → Triaged |
Changed in ubuntu-release-upgrader (Ubuntu Cosmic): | |
status: | New → Triaged |
Changed in ubuntu-release-upgrader (Ubuntu Bionic): | |
importance: | Undecided → Medium |
Changed in ubuntu-release-upgrader (Ubuntu Cosmic): | |
importance: | Undecided → Medium |
description: | updated |
description: | updated |
This bug was fixed in the package ubuntu- release- upgrader - 1:19.04.7
--------------- release- upgrader (1:19.04.7) disco; urgency=medium
ubuntu-
[ Brian Murray ] DistUpgradeCach e.py: When calculating free space needed for UPRADER_ ALLOW_THIRD_ PARTY DistUpgradeCach e.py: When calculating free space needed for UPRADER_ ALLOW_THIRD_ PARTY DistUpgradeCont roller. py: When rewriting sources.list entries UPGRADER_ ALLOW_THIRD_ PARTY via pkexec and sudo. (LP: #1807032) DistUpgradeCach e.py: improve messaging regarding failures to DistUpgradeCach e.py: in the event there is a failure to log/dist- upgrade. (LP: #1771387)
* DistUpgrade/
mount points don't use a negative number as the buffer. (LP: #1786484)
* fix more typos re RELEASE_
* DistUpgrade/
mount points don't use a negative number as the buffer. (LP: #1786484)
* fix more typos re RELEASE_
* DistUpgrade/
check to see if the source provides packages for the release to which the
upgrade is occurring. If it doesn't the entry is disabled thereby
improving upgrades with PPAs. (LP: #1807043)
* do-release-upgrade: add a parameter to allow third party mirrors and
repositories, additionally pass along the environmental variable
RELEASE_
* DistUpgrade/
calculate the upgrade and suggest using ppa-purge if PPAs are an issue.
* DistUpgrade/
calculate the upgrade provide information about the log files in
/var/
[ Jeremy Bicha ]
* autopkgtest: Update dependency from gir1.2-webkit-3.0 to gir1.2-webkit2-4.0
-- Brian Murray <email address hidden> Tue, 11 Dec 2018 15:35:34 -0800