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

Add rustup dependency to rosdep base.yaml #44640

Open
wants to merge 3 commits into
base: master
Choose a base branch
from

Conversation

Mallets
Copy link

@Mallets Mallets commented Feb 28, 2025

Please add the following dependency to the rosdep database.

Package name:

rustup

Package Upstream Source:

https://github.com/rust-lang/rustup

Purpose of using this:

rmw_zenoh internal core is written in Rust and it uses the cargo as dependency for the build. While this is currently working, installing directly cargo is pinning the Rust toolchain to a quite old version in many distributions. For example, on Ubuntu 24.04 the shipped Rust toolchain is 1.75.

Since Jazzy the Zenoh project has globally pinned the Rust version to 1.75.
However, this is now a limitation for the project since newer Rust toolchains have been release and downstream dependencies already started requiring more recent Rust versions (e.g. eclipse-zenoh/zenoh#1800).

rustup is a tool that installs Rust on the system from the official release channels, enabling to easily switch between toolchain versions and keep them updated.
By depending on rustup instead of cargo rmw_zenoh (and any other Rust project) will be able to use the required Rust toolchain and not forced to use the toolchain shipped with any distro.

Distro packaging links:

Links to Distribution Packages

@github-actions github-actions bot added the rosdep Issue/PR is for a rosdep key label Feb 28, 2025
@Mallets Mallets marked this pull request as ready for review February 28, 2025 13:45
@Mallets Mallets requested a review from a team as a code owner February 28, 2025 13:45
Copy link

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for sending a pull request to ROS distro!

This is an automated tool that helps check your pull request for correctness.
This tool checks a number of attributes associated with your ROS package and generates a report that helps our reviewers merge your pull request in a timely fashion. Here are a few things to consider when sending adding or updating a package to ROS Distro.
ROS Distro includes a very helpful CONTRIBUTING.md file that we recommend reading if it is your first time submitting a package.
Please also read the ROS Distro review guidelines which summarizes this release process.

ROS Distro Considerations

Package Considerations

Having your package included in a ROS Distro is a badge of quality, and we recommend that package developers strive to create packages of the highest quality. We recommend package developers review the following resources before submitting their package.

Need Help?

Please post your questions to Robotics Stack Exchange or refer to the #infra-help channel on our Discord server.


For changes related to rosdep:

  • ✅ New rosdep keys are named appropriately
  • ✅ Platforms for new rosdep rules are valid

For changes related to yamllint:

  • ✅ All new lines of YAML pass linter checks

Copy link
Member

@tfoote tfoote left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The rule itself here is ok, but we may need to have some extra rules about compatibility with debian packaging, like we do with pip such that people know it's incompatible with being able to make a release.

The proposed changes moving the zenoh compiler forward connected to this are a major issue that needs to be discussed.

@tfoote
Copy link
Member

tfoote commented Feb 28, 2025

Now seeing the build test results it looks like the proposed rules don't exist on several platforms either.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
rosdep Issue/PR is for a rosdep key
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants