This is used to protect a package dependency tree or even entire stacks. Alternatively it can be used on a preconfigured group of packages (currently only --minimal, see below).


To build and protect a list of packages/stacks and all their dependencies:

rosprotect roscpp pluginlib tf ...
rosprotect --pre-clean pluginlib tf ... // clean packages before building/protecting
rosprotect --pre-clean --rosdeps pluginlib tf ... // as above, but also install rosdeps if nec. 
rosprotect --stacks ros geometry // select stacks instead of packages 

To unprotect:

rosprotect --unprotect pluginlib tf


These are preconfigured aliases for a group of packages that provide a particular functionality together.

rosprotect --comms       # sufficient for clients to do ros cpp communications.
rosprotect --minimal     # provide a minimal, but complete working ros environment.

Under the Hood

Practically, all this does is clean, build and then flag each package with an ROS_NOBUILD marker.

Wiki: eros_python_tools/rosprotect (last edited 2011-03-01 09:19:36 by DanielStonier)