-
Notifications
You must be signed in to change notification settings - Fork 2.6k
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 rosdep key 'python3-osrf-pycommon' #43767
Conversation
There was a problem hiding this 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
- ROS Distributions are created using REP-134 Standards Track as a guide.
- Your package name should comply to REP-144 ROS Package Naming
- Your package must build for all platforms and architectures on the ROS buildfarm. See REP-2000 ROS Releases and Supported Platforms for all supported platforms for your ROS Distro.
- Your package must contain an OSI approved license. Your
package.xml
file must also include that license in a machine readable format. See REP-149 Package Manifest Format Three Specification for additional details. - A publicly available, open source, repository for your ROS package.
- While not required, we recommend that you create an account for ROS Discourse and subscribe to the appropriate release topic.
- If you would like, you may join our Discord Server and ask questions in the
#infra-help
channel.
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.
- REP-2004 Package Quality Declaration-- The ROS 2 TSC has created a quality rating system for ROS packages. These ratings should serve as a guide for package developers. We recommend package developers achieve a quality level of three or higher.
- Documentation -- it is recommended that ROS packages include an extensive README.md file, and API level documentation using the Sphinx documentation system.
- Maintainer Responsibilities -- the ROS 2 documentation includes a guide to ROS package maintainer responsibilities that summarizes your responsibilities as an open source maintainer. While we do not enforce these requirements on package maintainers they should be considered best practices.
- We recommend that your package should strive to conform to the ROS 2 Developer Guide and the ROS 2 Style Guide.
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
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
So it looks like Debian, Ubuntu, EPEL, and Fedora all have these in their upstream repositories, at version 2.1.4.
Interestingly, for Ubuntu we have it both in the bootstrap repository and from the upstream:
$ sudo apt-cache policy python3-osrf-pycommon
python3-osrf-pycommon:
Installed: (none)
Candidate: 2.1.4-1
Version table:
2.1.4-1 500
500 http://archive.ubuntu.com/ubuntu noble/universe amd64 Packages
2.0.2-1 500
500 http://packages.ros.org/ros2-testing/ubuntu noble/main amd64 Packages
To make this consistent, I would suggest that we either host this in our bootstrap repository for all of Ubuntu, Debian, EPEL, and Fedora (this would allow us to update it at will), or we drop it from out bootstrap repository and just always depend on the upstream. @cottsay what do you think?
We currently carry NO packages in bootstrap for EPEL and Fedora because I'm able to keep those packages up-to-date with minimal latency in Fedora and EPEL repositories. We carry all ros-infrastructure packages in bootstrap regardless of availability in Ubuntu and Debian upstream because we may need to ship bugfix releases and can't currently do that without filing tickets and hoping the package maintainers prioritize our releases. This package hasn't been updated in bootstrap for a minute, but I plan to remedy that once we get the package in a better state. Once it's up-to-date in bootstrap, it will be in exactly the same situation we see all other critical ros-infrastructure Python packages in. |
OK, got it. So you are asserting that once we do the next release of In that case, I'm happy with this, and I'll go ahead and approve and merge. |
Please add the following dependency to the rosdep database.
Package name:
python3-osrf-pycommon
Package Upstream Source:
https://github.com/osrf/osrf_pycommon
Purpose of using this:
This package is used by rosdep2, catkin_tools, ros2cli, etc.
Links to Distribution Packages
This package is also part of the
ros_bootstrap
repository: http://repos.ros.org/repos/ros_bootstrap/pool/main/p/python-osrf-pycommon/Part of osrf/osrf_pycommon#80