ros2_message_filters: 2.0.0-1 in 'bouncy/distribution.yaml' [bloom]#220
Conversation
bouncy/distribution.yaml
Outdated
| url: https://github.com/ros2/ros1_bridge.git | ||
| version: master | ||
| status: developed | ||
| ros2_message_filters: |
There was a problem hiding this comment.
I would suggest to rename this line to just message_filters simply because all repositories enumerated here are for ROS 2.
As a consequence the following two lines need to be removed since the new name matches the only package then:
packages:
- message_filters
bouncy/distribution.yaml
Outdated
| url: https://github.com/ros2-gbp/ros2_message_filters-release.git | ||
| version: 2.0.0-1 | ||
| source: | ||
| test_pull_requests: true |
There was a problem hiding this comment.
We haven't tested this yet for build.ros2.org. Therefore I would recommend to remove this line for now.
- rename package name from ros2_message_filters to message_filters - remove test_pull_request configuration before it's finally ready to use
|
@dirk-thomas update with your feedback, thanks ! |
|
@gaoethan this is currently failing CI because the new entry is out of alphabetical order. |
Adjust the package alphabetical order of message_filters
|
@mikaelarguedas fixed the alphabetical order, thanks for your info. |
mikaelarguedas
left a comment
There was a problem hiding this comment.
lgtm thanks @gaoethan for iterating.
Note that the doc entry is currently being ignored as there is no documentation jobs on the ROS 2 farm at the moment.
|
@gaoethan I know this is very similar to the discussion we had in ros-perception/vision_opencv#216, but as there seem to be some overlap, I'm listing some discussion points below. As the code on the source repository https://github.com/intel/ros2_message_filters.git appears to be a copy of the code existing in ros_comm that has then been modified to be ROS 2 compatible, there are several concerns that come up:
I know there is currently little documentation regarding the process of porting ROS 1 code to ROS 2. We will try to summarize these points in a document on the ROS 2 wiki in the future. In the meantime, could you please update the copied/forked repositories to maintains history, license and copyright of the original code? |
|
@mikaelarguedas, thanks for bringing this to the table. We selected Apache 2.0 license for ROS2 components because we'd like to align with ROS2 Core, like https://github.com/ros2/rcl, etc. And for BSD licensed project, it's ok to convert to Apache 2.0 for redistribution per my understand. But you are right, the copyright should keep as it was and we should keep the co-author and maintainer considering most of code are contributed from them and ROS1. Let me get proper approval to change from Apache 2.0 to BSD license firstly, and then we can do the code change accordingly. |
|
@mikaelarguedas, I didn't get license change approval yet since recently there is U.S. holiday. Is it ok to go with current version and update later on with new PRs? |
Yes this is fine. Is there anything blocking addressing the 2 other points ? (especially restoring the commit history of the original repository). As restoring the original history will overwrite the history of the repository, it will make the release tag 2.0.0 invalid as it won't share any history tree with the rest of the repository. So I strongly encourage to address that part before making the release.
Unfortunately this package doesn't compile at the moment, the dependencies in the package.xml need to be updated to match the new set of dependencies introduced by the conversion to ROS 2. You can follow the steps detailed in #227 (comment) to test the compilation of the package (modifying the git clone step to clone https://github.com/intel/ros2_message_filters.git instead of the There are also multiple declared dependencies that are not needed by the package, some examples below.
Once these issues have been addressed, a new release should be made and the newly geenrated PR will replace this one that will be closed |
|
@mikaelarguedas, at to restoring the commit history, the easiest way to avoid cleaning the project (which need involve github organization maintainer) is to create a new ros2/message_filters project in github, fork the code from ros_comm, then apply all the ROS2 patches to that new project. The license can be updated to BSD naturally in this way as well. Do you think it's a better approach for long term project management? |
|
@testkit fork all code and commit history from ros_comm doesn't work as it not just include message filters but a bunch of other components. Message filter is just a subdirectory of ros_comm. |
|
@jwang11, yes, I understand, but I'm afraid there is no good way to pick out message_filters only commits. An alternative way is to add contributors' name in package.xml but not fork all ros_comm, @mikaelarguedas, @dirk-thomas, do you have better idea? |
|
Maybe just cherrypick message_filter related commits from ros_comm if applicable |
|
I usually use It is preferred to keep the commit history rather than simply adding contributors' names to the package.xml. |
|
There's a good tutorial here exactly splitting out a directory: https://help.github.com/articles/splitting-a-subfolder-out-into-a-new-repository/ |
|
@mikaelarguedas Thanks for your feedback, I found one issue that the build system can't find the g++ for the C++ code with and it provides the following errors while running But it works after install I cloned the ros2 examples of minimal_client to have a try and it has the same issues, so my question is that which package should be added as build dependency to involve g++ in ros2 ? my current package.xml is as follows: |
|
@mikaelarguedas and @tfoote , thanks for the sharing about how to split a directory! As to the proposal of managing message_filters under ros2 github organization, do you have any comments? |
There was a discussion to that effect on the |
|
I created the new repo. The ticket ros2/message_filters#2 describes what needs to happen to integrate the numerous changes from the "fork". |
Increasing version of package(s) in repository
ros2_message_filtersto2.0.0-1:bouncy/distribution.yaml0.6.5nullmessage_filters