Package ROS Jade as RPM Package and deploy on SLES
Hello everyone,
I am struggeling to install ROS Jade on multiple SUSE Linux Enterprise Server nodes. I have achieved to install ROS manually on one node by following the "Build from source" wiki entry and it seems to work. Some dependencies were not available in the SUSE Package Manager, I have either compiled those from source or found a package on another public repository.
Question1: The actual question is how can I deploy ROS on multiple SLES nodes (that are not connected to the internet) without compiling it every time from scratch?
My approach:
- Download all ROS dependencies (got those via "rosdep install --from-paths src --ignore-src --rosdistro jade -y" )
- Compile and Package dependencies that are not in the SUSE repository by hand.
- Package ROS as RPM and transfer it together with all the dependencies to the node.
- Install rpm packages
Question2: How do I actually create a RPM .spec file for ROS? What kind of directories should be included? What do I need to take care of?
Question3: If I understood correctly, the command "rosdep install --from-paths src --ignore-src --rosdistro jade -y" lists all build dependencies. Are those the same as the runtime dependencies? Means that I definetly should install all those dependencies on every node that runs ROS?
Every help is very much appreciated. Thank you.
Not a solution, but an observation: Jade is EOL. That might not be a problem for you, but just wanted to point that out.
I'm not sure, but I believe that
bloom
still generates spec files for Fedora, and has done so for the past few years. Those should be available in all release repositories of ROS packages that have been released through the buildfarm.See ros-gbp/roscpp_core-release/rpm/lunar/26/roscpp_core for an example.
(I keep posting comments as this is all rather speculative (I don't use Fedora/SUSE/rpm based distros)
Based on #q173804, you can generate a
.spec
file usingbloom-generate
like so:rosrpm
puts things in ....
/opt/ros/..
, and I used Fedora26
and ROS Lunar here as versions.