[Fedora Robotics] ROS packages

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi all,

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 here: https://pagure.io/ros

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):
https://copr.fedorainfracloud.org/coprs/thofmann/ros/

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 ros-kinetic-$pkgname) - 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 catkin_pkg.

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:
https://pagure.io/ros/issues

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!


Kind regards,
Till
_______________________________________________
robotics mailing list -- robotics@xxxxxxxxxxxxxxxxxxxxxxx
To unsubscribe send an email to robotics-leave@xxxxxxxxxxxxxxxxxxxxxxx




[Index of Archives]     [Fedora Users]     [Fedora Electronics Lab]     [Fedora Desktop]     [Fedora SELinux]     [Big List of Linux Books]     [Yosemite News]     [KDE Users]     [Fedora Summer Coding]

  Powered by Linux