ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question

install() directly to /etc/udev/rules.d

asked 2014-02-27 03:52:29 -0600

updated 2014-03-26 12:19:28 -0600

Is there a policy on this? It's a problem if the same package in different rosdistros install the same file.


  • Install the file to a name like xyz-hydro.rules, so that there's no conflict.
  • Create a non-distro package which installs the rules, that the distro packages can depend on.
  • Don't install them; make it a manual step for the user to copy them from /opt/ros/hydro/share into the system location.
  • Install to share, but provide a postinst script to copy/link to udev/rules.d

What's the process to add a non-distro package to Thoughts?

edit retag flag offensive close merge delete



I think the non-distro package is the cleanest, but I'm not sure how easy it will be to get it accepted into the ROS deb repository.

ahendrix gravatar image ahendrix  ( 2014-02-27 05:51:10 -0600 )edit

Not a policy afaik, but for "least system-wide infection" with "most ease of use", I like the way that kobuki_ftdi installs rules. Basically `rosrun kobuki_ftdi create_udev_rules` will use the correct copy command + sudo and do that.

dornhege gravatar image dornhege  ( 2014-03-24 08:48:16 -0600 )edit

@dornhege: That's what we've historically done (with Clearpath platforms). We're trying to get away from needing that manual rosrun install step, though.

mikepurvis gravatar image mikepurvis  ( 2014-03-26 12:20:16 -0600 )edit

In that case I'd also go for a non-distro package. Maybe ask at ros-release for something official?

dornhege gravatar image dornhege  ( 2014-03-28 00:31:44 -0600 )edit

Is there something official? Isn't creating another package for just one rule file a bit of an overkill?

cyborg-x1 gravatar image cyborg-x1  ( 2015-06-03 18:17:04 -0600 )edit

1 Answer

Sort by ยป oldest newest most voted

answered 2015-06-24 13:40:20 -0600

As of bloom 0.5.13, you can supply files in a "debian" folder in your package, and the various debhelpers, including dh_installudev will pick them up. You can see this in action in pointgrey_camera_driver:

The appropriate rule gets installed by the debian package, using the proper udev machinery, but there's no pollution of the regular catkin install procedure.

edit flag offensive delete link more

Question Tools



Asked: 2014-02-27 03:52:29 -0600

Seen: 1,905 times

Last updated: Jun 24 '15