I'm currently working on packaging the whole ROS stack by automatically
generating SPEC files with the help of the rosinstall_generator. I think
the project is far enough to be shared on this list, but it is still
work in progress.
The SPEC files are generated with a python script. You can check it out
I've created a COPR for ROS Kinetic that contains all packages from
desktop_full and move_base for F24+ (currently only for x86_64):
The scripts should also work for ROS Lunar (and possibly other
releases), but I've only tested Kinetic so far.
I decided to package each ROS package into a separate Fedora package,
because imho that's the best mapping from ROS to Fedora: Each package
has its own sources, different dependencies, and some packages require
different build arguments. This way, it's also much easier to add new
(ROS) packages to Fedora.
I picked /usr/lib64/ros as ROS_ROOT. Currently, this does not allow
having two separate ROS installations. But moving it to e.g.,
/usr/lib64/ros/kinetic should be as simple as adapting the template
file. Is that something we would want to have?
There are still some remaining tasks on my list:
- Provides: for ros-$pkgname (currently, the packages are all called
- Clean up dependencies, many packages have explicit runtime
dependencies that they don't need because they are automatic
dependencies on the sonames. Some packages also have devel packages as
runtime dependency, which is of course incorrect.
- Splitting devel packages. I'm not sure how useful this would be, but I
think it is required by the packaging guidelines.
- I thought about adding the ROS lib dir to /etc/ld.so.conf.d, but I'm
not sure whether this is a good idea because most libraries have
unversioned sonames. On the other hand, all the packages currently
Provide: their (unversioned) libraries, which may have unexpected
effects, e.g., a program linking (and requiring) a ros lib without
sourcing the ROS environment.
- As it is, the ROS packages have a lot of bundled third-party
libraries. This may require some work to separate if at all possible.
- I haven't really checked any existing Fedora ROS packages other than
In the long run, it would be awesome to get those packages into Fedora
(one-by-one), maybe even with different modules for the different ROS
versions - modularity could be very useful here!
In the meantime, I'd appreciate any feedback, test results, RFEs,
package requests, etc. The best place for this would be the repository:
We (team Carologistics, RCLL) have successfully tested some of those
packages on Fedora 25 at the last RoboCup in Japan, but of course more
tests would be nice, as we only use a few packages.
Please let me know what you think!
I have packaged CMU IPC library and it is waiting for review.
This library have a lisp interface that wasn't packaged, as I know nothing about common lisp ( In fact, this is the first time I heard about lisp).
I am absolutely new to robotics, so I am not confident in maintaining this package. It could be better If someone who have prior experience with this software on other platform can maintain this package, but I am more than happy to comaintain this package.