-
Notifications
You must be signed in to change notification settings - Fork 171
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
`install --skip-keys="%pkg-a%" pulling in transitive dependency of pkg-a #983
Comments
@cottsay can you respond to this? This is affecting multiple users |
If I'm understanding this correctly, you're viewing the collection of packages as a hierarchy, and you're trying to ask rosdep to ignore a branch of the hierarchy and omit dependencies which are only present in the pruned branch. As I understand it, rosdep does not operate on the packages as a hierarchy like this. It "discovers" packages (typically using a directory walk over If we backtrack a bit here, maybe what you're asking for is not to ignore a branch of the dependency graph but rather to ignore specific packages which were discovered. Essentially a plain filter against the discovered packages. The If the directory walking done by |
Thanks for the discussion. Let me give a bit more clarification about the problem, re-using the test I did in OP. In the test I supplied above, have these the source of 2 pkgs in the current dir.
(Note the 2nd indented layer and the rest in this diagram above shows the dependency, not the folder structure). Running the following cmd seems to install the dependency of these 2 packages:
This makes me wonder what is
In the example I just reiterated above, what I expect is neither |
Thanks for clarifying. This tool enumerates two separate collections: discovered packages, and dependencies of those packages. The |
I see. Hm, I further tested to see if the "dependency of those packages" can be skipped. Using the same test as the one in OP, however, I still see the packages in
If this behavior is not intended then would a patch be considered for review? |
Neither On Ubuntu, they're brought in by the
Passing |
Originally from space-ros/space-ros#189 (reply in thread)
Clarification first
Is
rosdep install --skip-keys="pkg-a pkg-b"
meant to skip not just the pkgspkg-a, pkg-b
but also the dependency of those 2 pkgs? That's what I expect, but it's not clear from its help.Citing help on humble
If the understanding above is wrong, don't read further, this ticket should be immediately closed.
Issue
rosdep install --skip-keys="pkg-a pkg-b"
seems to skippkg-a, pkg-b
pkgs but still installs the dependency of those 2 pkgs.Verifying the issue statement
In the test done (explained in the folded clause), I expect the transitive dependency (
opengl
-related pkgs) won't get installed.Detail of the verification step
Test I did is a bit too elaborated unnecessarilly. Hope it's still valid test to verify the issue...
Spec of a quick test I did:
Done on
osrf/space-ros:humble-2024.07.0
Docker image.In this test, I run
rosdep
with rviz pkg suite that is customized for this test only. And see ifOPENGL
-related pkgs get installed. Dep tree in this custom suite looks like the following graph (pkgs that are not mentioned here are removed for the sake of the test) soopengl
is a transitive dependency, and if it does get installed that's the reported issue:More detail of the test
rviz2
pkg to only depend on these 2 pkgs i.e.:rosdep
key ofopengl
seems to installlibgl1-mesa-dev, libglu1-mesa-dev
on Ubuntu.On this Docker img, the pkgs in question are not installed yet.
Prep
Result
I do see the 2 pkgs (the rosdep key
opengl
corresponds to) get installed.The text was updated successfully, but these errors were encountered: