0
$\begingroup$

Rosanswers logo

Hi,

In my project, we are currently using ROS Melodic (apt install from the official Ubuntu Package Server) on Ubuntu 18.04. By default, Melodic was built for Python 2. However,

  • We have migrated from Python 2 to 3 since the official support for Python 2 has ended.
  • We haven't decided to migrate our product to Ubuntu 20.04 (Focal Fossa) which ROS Noetic is targeted at.

Therefore, I'm helping the team to bring Python 3 to ROS on Ubuntu 18.04. I'm following the "Transitioning to Python 3" to build the Melodic source on 18.04. In addition, because my team has built our internal Debian package server, I'm thinking about publishing the ROS packages I'm building as .deb packages so other developers can simply apt install from our package server, without having to build by themselves.

I've learned that ROS build farm can publish .deb packages so I guess the Debian files (e.g., changelog, control, rules) may be available somewhere that I can directly reuse. Could someone tell me where they are or how they are currently generated?

But I'm also open to other solutions. The main goal I want to achieve is to "have a ROS distribution with full Python 3 support that can be installed on Ubuntu 18.04", so I'm also thinking about other possibilities:

  1. Install Noetic on 18.04 using the official Ubuntu Package Server. I tried but this failed (surely) because Noetic requires many other packages that are built for 20.04 but not 18.04.
  2. Backport Noetic onto 18.04. But I think I still want to figure out how to publish them as .deb packages on our internal package server.

Thanks!


Originally posted by yaobin on ROS Answers with karma: 13 on 2020-07-02

Post score: 1


Original comments

Comment by Solrac3589 on 2020-07-03:
What about using a docker image of noetic? you should be able to work with noetic in ubuntu 18.04

Comment by yaobin on 2020-07-06:
@solrac3589: That sounds like an appealing idea. Thanks! I'll give a try when possible. But, if possible, I still hope to learn where all the Debian materials are stored.

$\endgroup$

1 Answer 1

0
$\begingroup$

Rosanswers logo

Could someone tell me where they are or how they are currently generated?

They're located in the debian folder in tags on the release repos. These tags are generated by a tool called bloom. Here's an example for the 1.4.1 release of ros-melodic-viz: https://github.com/ros-gbp/metapackages-release/tree/debian/ros-melodic-viz_1.4.1-0_bionic/debian

But I'm also open to other solutions. The main goal I want to achieve is to "have a ROS distribution with full Python 3 support that can be installed on Ubuntu 18.04", so I'm also thinking about other possibilities:

I think you could run your own instances of the ROS buildfarm: https://github.com/ros-infrastructure/ros_buildfarm with a caveat that there are many pieces to it. One piece is maintianing a distribution.yaml with the release platform being bionic and releases for all of your dependencies that have been forked.

Backport Noetic onto 18.04. But I think I still want to figure out how to publish them as .deb packages on our internal package server.

There were a lot of changes in Noetic to get things working smoothly in Python 3, so I would expect a lot of backporting. That said the Arch linux users have used Melodic for a while with Python 3, so you may find useful info there: https://wiki.archlinux.org/index.php/ROS .


Originally posted by sloretz with karma: 3061 on 2020-07-10

This answer was ACCEPTED on the original site

Post score: 1


Original comments

Comment by yaobin on 2020-07-12:
Thank you for all the information!

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.