# Revision history [back]

You appear to have the variants repository in your .install file:

- git:
local-name: variants
uri: https://github.com/ros2/variants.git
version: crystal


That repository contains package manifests for all ROS 2 variants (so: ros_base, ros_core and desktop). Those are probably pulling all those additional dependencies in.

You appear to have the variants repository in your .install file:

- git:
local-name: variants
uri: https://github.com/ros2/variants.git
version: crystal


That repository contains package manifests for all ROS 2 variants (so: ros_base, ros_core and desktop). Those are probably pulling all those additional dependencies in.

I'm not sure, but I don't believe variants is part of any ROS 2 variant, so would you know how that entry got added to the list?

You appear to have the variants repository in your .install file:

- git:
local-name: variants
uri: https://github.com/ros2/variants.git
version: crystal


That repository contains package manifests for all ROS 2 variants (so: ros_base, ros_core and desktop). Those are probably pulling all those additional dependencies in.

I'm not sure, but I don't believe variants is part of any ROS 2 variant, so would you know how that entry got added to the list?

Edit:

I generated my .install with

rosinstall_generator ros_core --rosdistro crystal --upstream-development --deps > ros2_core.install


why do you add --upstream-development there? That will use the source repositories for all entries, instead of the release repositories. It will also cause complete checkouts of entire repositories instead of just one specific package.

That is most likely the cause of the variants entry there in your .rosinstall file.

With the following command:

rosinstall_generator --deps --tar --rosdistro=crystal ros_core


That specific entry becomes:

- tar:
local-name: variants/ros_core
uri: https://github.com/ros2-gbp/variants-release/archive/release/crystal/ros_core/0.6.1-0.tar.gz
version: variants-release-release-crystal-ros_core-0.6.1-0


Which would cause the ros_core package to be placed in your workspace. That makes sense: you asked for ros_core and its dependencies.

By specifying --upstream-development, rosinstall_generator has no choice but to add an entry for the entire source repository containing ros_core (as that is the package you asked the .rosinstall file to be generated for).

You appear to have the variants repository in your .install file:

- git:
local-name: variants
uri: https://github.com/ros2/variants.git
version: crystal


That repository contains package manifests for all ROS 2 variants (so: ros_base, ros_core and desktop). Those are probably pulling all those additional dependencies in.

I'm not sure, but I don't believe variants is part of any ROS 2 variant, so would you know how that entry got added to the list?

Edit:

I generated my .install with

rosinstall_generator ros_core --rosdistro crystal --upstream-development --deps > ros2_core.install


why do you add --upstream-development there? That will use the source repositories for all entries, instead of the release repositories. It will also cause complete checkouts of entire repositories instead of just one specific package.

That is most likely the cause of the variants entry there in your .rosinstall file.

With the following command:

rosinstall_generator --deps --tar --rosdistro=crystal ros_core


That specific entry becomes:

- tar:
local-name: variants/ros_core
uri: https://github.com/ros2-gbp/variants-release/archive/release/crystal/ros_core/0.6.1-0.tar.gz
version: variants-release-release-crystal-ros_core-0.6.1-0


Which would cause the ros_core package to be placed in your workspace. That makes sense: you asked for ros_core and its dependencies.

By specifying --upstream-development, rosinstall_generator has no choice but to add an entry for the entire source repository containing ros_core (as that is the package you asked the .rosinstall file to be generated for).

for), resulting in all metapackages defining ROS 2 variants to be placed in your workspace, which then results in rosdep trying to install dependencies for all those variants.

You appear to have the variants repository in your .install file:

- git:
local-name: variants
uri: https://github.com/ros2/variants.git
version: crystal


That repository contains package manifests for all ROS 2 variants (so: ros_base, ros_core and desktop). Those are probably pulling all those additional dependencies in.

I'm not sure, but I don't believe variants is part of any ROS 2 variant, so would you know how that entry got added to the list?

Edit:

I generated my .install with

rosinstall_generator ros_core --rosdistro crystal --upstream-development --deps > ros2_core.install


why do you add --upstream-development there? That will use the source repositories for all entries, instead of the release repositories. It will also cause complete checkouts of entire repositories instead of just one specific package.

That is most likely the cause of the variants entry there in your .rosinstall file.

With the following command:

rosinstall_generator --deps --tar --rosdistro=crystal ros_core


That specific entry becomes:

- tar:
local-name: variants/ros_core
uri: https://github.com/ros2-gbp/variants-release/archive/release/crystal/ros_core/0.6.1-0.tar.gz
version: variants-release-release-crystal-ros_core-0.6.1-0


Which would cause the ros_core package to be placed in your workspace. That makes sense: you asked for ros_core and its dependencies.

By specifying --upstream-development, rosinstall_generator has no choice but to add an entry for the entire source repository containing ros_core (as that is the package you asked the .rosinstall file to be generated for), resulting in all metapackages defining ROS 2 variants to be placed in your workspace, which workspace (as they are all hosted in the variants repository). This then results in rosdep trying to install dependencies for all those variants.