[Bug 1611737] Re: Can't upgrade from a release if ros packages are installed from ROS servers
Brian Murray
1611737 at bugs.launchpad.net
Mon Aug 31 17:39:55 UTC 2020
I downloaded the release-upgrader tarball from
http://archive.ubuntu.com/ubuntu/dists/focal-proposed/main/dist-
upgrader-all/current/ (which is necessary because you can't use do-
release-upgrade with -d and -p). I then tried an upgrade having
installed 'ros-melodic-ros-base' and was presented with the following
message:
The Robot Operating System (ROS) is installed
It appears that ROS is currently installed. Each ROS release is very
strict about the versions of Ubuntu it supports, and Ubuntu upgrades
can fail if that guidance isn't followed. Before continuing, please
either uninstall ROS, or ensure the ROS release you have installed
supports the version of Ubuntu to which you're upgrading.
For ROS 1 releases, refer to REP 3:
https://www.ros.org/reps/rep-0003.html
For ROS 2 releases, refer to REP 2000:
https://www.ros.org/reps/rep-2000.html
Are you sure you want to continue?
So I'm setting the tags to verification-done.
** Tags removed: verification-needed verification-needed-focal
** Tags added: verification-done verification-done-focal
--
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/1611737
Title:
Can't upgrade from a release if ros packages are installed from ROS
servers
Status in ubuntu-release-upgrader package in Ubuntu:
Fix Released
Status in ubuntu-release-upgrader source package in Xenial:
Confirmed
Status in ubuntu-release-upgrader source package in Bionic:
Confirmed
Status in ubuntu-release-upgrader source package in Focal:
Fix Committed
Status in ubuntu-release-upgrader source package in Groovy:
Fix Released
Bug description:
[Impact]
* ROS releases are strict about the Ubuntu releases they support.
These days a given ROS release only supports one Ubuntu LTS.
* Attempting to upgrade Ubuntu beyond that supported release at best
results in an unsupported situation, and at worst is known to break
the upgrade process as it's possible to get apt into an unrecoverable
situation.
* The fix for this issue is to detect if ROS is installed and make
sure the user is aware that this may not succeed.
[Test Case]
* The dependency problems that lead to apt breakage is very deep and
hard to duplicate, but to paint with a broad brush: if a ROS package
is installed, extreme caution should be exercised when upgrading as
it's very likely that it's not supported.
* To install ROS, follow the proper tutorial for your Ubuntu version, and install the "ros-base" metapackage:
- Xenial: https://wiki.ros.org/kinetic/Installation/Ubuntu
- Bionic: https://wiki.ros.org/melodic/Installation/Ubuntu
- Focal: https://wiki.ros.org/noetic/Installation/Ubuntu
* Now use ubuntu-release-upgrader to upgrade to the next Ubuntu
release. Such a thing should not happen without prompting the user
that ROS is installed and that this may lead to problems.
[Regression Potential]
* Detecting that ROS is installed is done with a package name
heuristic, which isn't perfect. We look for a set of base ROS
dependencies using a pattern that is unlikely to clash with a non-ROS-
related package, but it's possible for this to result in a false
positive. Worst case, the user will be warned that ROS is installed
when in fact it isn't, but they'll still be able to continue the
upgrade.
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/ubuntu-release-upgrader/+bug/1611737/+subscriptions
More information about the foundations-bugs
mailing list