On Thu, Aug 17, 2017 at 5:20 PM, Jose Luis Rivero <jrivero@xxxxxxxxxxxxxxxxx> wrote: > Hello Till: > > On 16/08/17 22:19, Till Hofmann wrote: >> 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. >> > > I just want to mention that there was a previous effort to package ROS > in Fedora in the past, mostly done by Rich Mattes: > - https://fedoraproject.org/wiki/SIGs/Robotics/ROS_Packaging > > A similar work has been done in Debian recently: > - https://wiki.debian.org/DebianScience/Robotics/ROS/Motivation > > You can check their approach which does not rely in ROS distribution > (ROS debian packages[1] has no ROS distribution in their names) and also > map one ROS package with one downstream distribution package. > > Some patches in Debian and specially the work done in Fedora before > could be useful to you. > > Good luck! > > [1] https://wiki.debian.org/DebianScience/Robotics/ROS/Packages > Hi Till, This is great, thanks for taking this on! Expanding on what Jose mentioned: there have been a couple efforts to support ROS packaging in Fedora, none of which made it all the way to a usable product. A little bit of history: As Jose said, I did try to package ROS in Fedora, around the fuerte timeframe in 2012. As a result of that effort, about half of the core ROS stack as outlined on the robotics sig wiki page is packaged for fedora, and the other half is sitting in review requests. When I did it, I took the approach that there would be one ros distro provided in the core Fedora repositories, and that they would be installed like any other system package (e.g. libs in /usr/lib<qual>, config in /etc, data in /usr/share.) I figured that if anyone needed support for a separate ros distro, they could continue to build manually and install to /opt. I was also creating the specfiles manually, so that I could create proper subpackages (-devel, -doc, etc.) in each individual case. I think that this effort closely maps to the debian science efforts, though they got a lot farther than I did. I did recently look at trying to bring the debian science patches to fedora to restart the packaging process, but I haven't had the time to dedicate to such an effort. Around the 2014 timeframe, we started to investigate the possibility of having the ros buildfarm generate fedora RPMs in parallel to the Ubuntu debs, so that all of the ros distros would be available in a manner similar to Ubuntu. Scott Logan did the work there, and landed patches to the ROS 'bloom' tool enabling it to generate spec files for fedora. That infrastructure is in place, but we got hung up in working with the OSRF to enable RPM building in their buildfarm, and then that fizzled out as well. As it stands today, a lot of ROS dependencies are packaged in Fedora, making it possible to build from source pretty easily. I think that to move forward safely, you need to decide for the long term whether you want to support: - ROS installation via OSRF resources - ROS installation via copr - ROS packages in the distribution proper Supporting ROS as a copr gives you a lot of leeway to do things that don't conform to the packaging guidelines, such as installing parallel stacks to /opt, creating single rpms for each package, etc. To bring the packages into fedora proper, as Tom was getting at, you need to reconcile how to support multiple software stacks within the package guidelines (and possibly get some exemptions to the guidelines,) and how to auto-generate specs that meet the packaging guidelines (proper division of -devel packages, etc.) In case that wasn't enough to worry about, there is also a "Modularity" effort going on in Fedora. I have not been able to figure out what they're doing, but [1] claims that it's modules can have different lifecycles than the base distribution. It may provide a model to maintain multiple ROS stacks in parallel, but I don't really have any more information than that. I'm happy to add you to the existing ROS packages that have been reviewed, add you to the robotics-sig user group, and continue to discuss on the mailing list. As a side note, I've recently been poking at ros2 packaging[2]. The ecosystem is a lot smaller at the moment, and it may be able to re-use some of the concepts and tooling that get worked out for ros 1. [1] https://docs.pagure.org/modularity/ [2] https://copr.fedorainfracloud.org/coprs/g/robotics-sig/ros2/ _______________________________________________ robotics mailing list -- robotics@xxxxxxxxxxxxxxxxxxxxxxx To unsubscribe send an email to robotics-leave@xxxxxxxxxxxxxxxxxxxxxxx