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 imagetfoote ( 2013-08-01 08:01:15 -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 imagejoq ( 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 imagedPackard ( 2013-07-31 12:48:23 -0600 )edit
0

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 imagetfoote ( 2013-08-01 06:44:45 -0600 )edit

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

Question Tools

1 follower

Stats

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

Seen: 344 times

Last updated: Aug 01 '13