Re: [ros-users] stack manifest.xml dependencies

Top Page
Attachments:
Message as email
+ (text/plain)
Delete this message
Reply to this message
Author: User discussions
Date:  
To: User discussions
Subject: Re: [ros-users] stack manifest.xml dependencies
On Tue, Dec 28, 2010 at 10:59 PM, Patrick Bouffard
<> wrote:
> Is declaring stack dependencies in the stack manifest.xml optional?


If you release a stack [1], the stack dependencies are used to
generate the correct debian dependencies. We are also working on
rosinstall/roslocate-based solutions that will generate a correct
source tree. So, you should try to specify dependencies correctly.
More on that below...

> What is the best practice--should a stack ideally declare dependencies
> on all stacks that contain a package that is depended upon in one of
> its own packages' manifests (wow, that was a convoluted sentence)?


You can re-run "roscd mystack; roscreate-stack ." to generate the
stack dependencies. This will look at the package dependencies and
compute the stacks they are contained within.

One FAQ is, "why not always dynamically generate the dependencies?"
The reason is that we want a mechanism for specifying what a stack's
dependencies *should* be. As stack dependencies generate install
dependencies, you frequently want to minimize them and protect against
dependency expansion. For example, we don't want to accidentally
introduce a low-level dependency on opencv, which is quite large. Our
release scripts automatically run the roscreate logic to determine if
new dependencies have snuck in and report the error.

> If so can I easily test whether all the right dependencies have been
> declared? Will 'rosstack depends mystack' do that? How about any
> extraneous dependencies, is there a way to find those?


rosstack reads the stack.xml dependencies. The rest is answered above.

HTH,
Ken

[1]: http://www.ros.org/wiki/release