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

Does rosdep support installing dependencies from PPAs?

asked 2013-07-31 08:47:13 -0600

updated 2014-01-28 17:17:29 -0600

ngrennan gravatar image

This is a fresh post regarding the question raised here.

Basically, I'd like to know if installing ROS package dependencies from a third-party apt repository is supported/recommended. I understand that non-debian users would still need to install these packages from source.

I see at least one third-party apt repository added in the rosdistro/rosdep/base.yaml, see lines 540-552

However, based on the discussion here , and REPS 111, 112 and 125 - I get the feeling that embedding bash commands and adding apt-repos in a rosdep.yaml is frowned upon.

What is the best way to add system dependencies from a third-party apt repository to a ROS package?

/daniel

edit retag flag offensive close merge delete

3 Answers

Sort by ยป oldest newest most voted
2

answered 2013-08-01 07:58:39 -0600

tfoote gravatar image

rosdep does not support adding repositories. That's a significant scope creep as well as potentially having a significant unintended impact on a running system. Right now the users are required to manually add the ROS repository, through this step they are changing the configuration of their machine. If rosdep allowed adding arbitrary PPAs you could easily end up with PPAs which provided conflicting packages and the user would no longer have control or knowledge of what software sources they had enabled for their computer.

Adding new repositories to a sources list is something which should be vetted and known about by the user/administrator. New repositories may contain more than just the packages you want, possibly including overriding existing packages on the system.

If you want to use another repository you should create your own rosdep rules file and add it to your rosdep sources. And then instruct your users to add your repository to their apt sources before using the new rosdep rules.

This also would wreak havoc on the debian building pipeline as it would have to be able to support pulling packages from the union of all the repositories, and would need to sync all required external debians from the external repositories to be able to make packages installable, because anything built into a debian package should be installable from that specific repo.

Note this is why Ubuntu's general policy is that PPAs do not contain libraries, as it's not reproducible to have PPAs chaining.

edit flag offensive delete link more

Comments

@dPackard As you mentioned the easiest way for you to get them in will be to bloom them. We do syncronize a set of debian packages from upstream PPAs into the ROS repository, but usually that is only to support backports of upcoming Ubuntu packages.

tfoote gravatar image tfoote  ( 2013-08-01 08:01:15 -0600 )edit
1

answered 2013-07-31 21:07:22 -0600

fergs gravatar image

I'm not sure if this is "acceptable practice", but I have noticed a few interesting rosdep definitions that include bash scripts to get a ppa, one example: https://github.com/ros/rosdistro/blob/master/rosdep/base.yaml#L550

edit flag offensive delete link more

Comments

1

Yeah, that's frowned upon. We should clean that one up.

tfoote gravatar image tfoote  ( 2013-08-01 06:44:45 -0600 )edit

We should clean that one up.

Done in https://github.com/ros/rosdistro/pull...

130s gravatar image 130s  ( 2020-03-07 12:29:45 -0600 )edit
0

answered 2013-07-31 12:30:13 -0600

I may have found the answer to my own question:

Not quite the answer I was _hoping_ for, since I have about a dozen .deb packages that must instead be released using bloom, but it is probably the best approach in the long run. (That is... unless someone has insider info about future support for PPAs and third-party apt repositories.)

Short term fix, I will require manual installation via apt-add-repository

edit flag offensive delete link more

Comments

1

Bloom is quite nice, once you learn to use it, and the Tutorials are good.

joq gravatar image joq  ( 2013-07-31 12:35:44 -0600 )edit

Agreed! I've been very impressed by the catkin make system so far, and bloom looks like icing on the cake ;)

dPackard gravatar image dPackard  ( 2013-07-31 12:48:23 -0600 )edit

Question Tools

1 follower

Stats

Asked: 2013-07-31 08:47:13 -0600

Seen: 705 times

Last updated: Aug 01 '13