Long time ROS1 user (although I haven’t actively used it in the last 2 years or so), and I was wondering why ROS2 versions need to be pinned to a specific Ubuntu LTS? I see in REP-2000 that macOS, Windows, and Debian get the latest ROS2 versions, regardless of the OS’s specific version (except for really old versions), and am wondering why Ubuntu gets a rougher deal.
So, my main question is: what Ubuntu distro-specific code is used to make subsequent ROS versions incompatible with previous Ubuntu LTS versions?
One a related track, I see some discussion on this forum about the distribution of ROS packages through a conda channel (#11257). Is there some serious effort to do this? This would be incredibly beneficial to developers and to maintainers as
- Conda is (mostly) cross-platform. So, building binaries for supported platforms and uploading it to a Conda channel is much easier than uploading packages to each of Ubuntu, Debian, Homebrew, and Chocolatey repositories/registries.
- Dependency management and versioning are made easier.
- Workspaces are more intuitive as Conda environments, as opposed to having to resort to sourcing workspace files. This is especially useful when a developer uses non-standard/unsupported shells, like fish and Powershell.