Skip to content
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

Enhancement: Make --from-path work like rosdep --from-paths #25

Open
NikolausDemmel opened this issue Apr 8, 2014 · 7 comments
Open

Comments

@NikolausDemmel
Copy link

Follow up from #21 (comment)

I think it would be much better if the --from-path option worked more like with rosdep. Currently it simply picks up the package names and checks wheather they are relaeased. However, I think it should not care about the release info of packages picked up via from-path and rather read in the info directly from package.xml files. This would make it work with not-released packages.

Consider following these instructions when for one reason or another you cannot use rosdep to install binary packages: http://www2.isr.uc.pt/~embedded/events/HRATC2014/Simulator.html

In particular it seems the suggested rosdep install --from-paths src -i -y cannot be replaced with a call to rosinstall_generator. Instead, you have to resort to something like rosdep check --from-paths src -i and then manually list the missing packages as parameter to rosinstall_generator.

It would be great if the above could be acheived with a command like rosinstall_generator --rosdistro DISTRO --from-path src --deps --deps-only --exclude RPP (which currently only works of src only contains release versions of packages).

Instead of molding rosinstall_generator into something that covers every use-case of rosdep for from-source setups, would it maybe make sense for rosdep to be able to have rosinstall generating backend?

@dirk-thomas
Copy link
Member

rosdep is focused on installing binary packages on various different platforms. rosinstall_generator on the other hand only provides source code for ROS packages. I think that separation makes sense and should be kept.

Regarding the feature request: --from-path could use the direct dependencies from the package.xml file. But this would require some refactoring - currently only package names are passed along in the code. But please keep in mind that this would only work if the packages only depend on released other packages. If the direct dependencies are not released rosinstall_generator is unable to follow the dependency hierarchy.

@dirk-thomas dirk-thomas added this to the untargeted milestone Jun 2, 2014
@wjwwood
Copy link
Contributor

wjwwood commented Sep 16, 2015

--from-path could use the direct dependencies from the package.xml file.

+1, I just ran into this when using rosinstall_generator in a pr builder. The pr added a build depend, but rosinstall_generator did not pick up on it because the released version of the package didn't have that build depend yet. I might try and spend some time on this later.

@dornhege
Copy link

+1, too. Just ran into the same problem under the assumption that --from-path works this way.

I would not have expected it to find dependencies for non-released packages, so a simple warning like "Cannot find release repository for the following packages..." should be fine.

@nakai-omer
Copy link

This will be very helpful, especially for things like Nvidia Jetson, where it only currently supports Ubuntu 20.04, so ROS2 Humble needs to be built from source, including external deps. So, being able to pass my local src folder under --from-path, along with --deps-only, and getting a list of all of my packages' released dependencies will save so much time.

@tonynajjar
Copy link

tonynajjar commented Oct 28, 2022

This will be very helpful, especially for things like Nvidia Jetson, where it only currently supports Ubuntu 20.04, so ROS2 Humble needs to be built from source, including external deps. So, being able to pass my local src folder under --from-path, along with --deps-only, and getting a list of all of my packages' released dependencies will save so much time.

I came here to say exactly the same. I can't believe this feature request is 9 years old :o

@goekce
Copy link

goekce commented Feb 17, 2023

#53 is related. #53 (comment) does not seem to be correct. When I try rosinstall_generator on an unreleased package, I get:

pushd $(mktemp -d)
git clone https://github.com/brean/turtlebot3_simulations -b brean/feature-gz-sim_garden
rosinstall_generator --from-path turtlebot3_gz --deps --deps-only --verbose

output:

...
The following wet packages found in '--from-path' will be considered: turtlebot3_gz
No packages/stacks left after ignoring unreleased

@TJMolnar
Copy link

Has there been any progress on this? We are also working on Nvidia Jetson with ROS compiled from source. As far as I can see, there is still currently no standardised way to manage underlying ROS dependencies for any new packages we make in our workspace.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

8 participants