0
$\begingroup$

Rosanswers logo

Is there a way to use

wstool merge http://packages.ros.org/web/rosinstall/generate/raw/groovy/joystick-drivers

in an overlay in such a way that it will only pull packages which are not already installed in a sub-layer?

For example: I have the mobile variant of ROS installed in /opt/ros/groovy and I set up an overlay at ~/groovy_workspace. I then want to download the joystick-drivers package and any dependencies which have not already been installed into my overlay.

My motivation is to avoid running cmake on the packages which I already have built.


Originally posted by Dereck on ROS Answers with karma: 1070 on 2013-02-17

Post score: 0

$\endgroup$

1 Answer 1

0
$\begingroup$

Rosanswers logo

wstool merge --help gives you the options it has. --merge-keep does not quite do what you want, it does not detect that a package already exists in /opt/ros/groovy.

You could wget the url into a local file, then prune entries yourself, either manually or via a script. In python you could do that by yaml-parsing the rosinstall file you got via wget, giving you a list of dicts, then getting all packages you have installed, and removing those entries from the list, and then writing the remaining items into a file.

If enough people wanted this (indicated by +1 comments on my answer, or on a ticket on vcstools/rosinstall at github), we could maybe include such features, though probably into roslocate instead.


Originally posted by KruseT with karma: 7848 on 2013-02-17

This answer was ACCEPTED on the original site

Post score: 2


Original comments

Comment by joq on 2013-02-17:
+1 seems good to me. The question comes up frequently in one form or another.

Comment by Dereck on 2013-02-17:
+1 indeed, I have been doing it by hand as you suggested. This would be a great feature to have. :)

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.