Add in REP-150: updated metapackages for ROS Melodic#144
Add in REP-150: updated metapackages for ROS Melodic#144clalancette merged 12 commits intomasterfrom
Conversation
Can you highlilght the differences compared to REP-142 to facilitate review
Related to previous question: is this the only change in this REP or are there "non-main" changes that reviewer should be aware of ? |
Sure thing. I ran a Taking a closer look, the differences are in the metadata at the top, changing the wording from "Indigo" to "Melodic" throughout, adding a reference that this REP replaces 0142, some minor spelling fixes, and the actual change from using |
mikaelarguedas
left a comment
There was a problem hiding this comment.
One main comment to address is the fact that this PR does not remove the packages that motivated the spllit of robot_model in the first place.
The rest is mostly nitpicks
some minor spelling fixes,
Please consider opening a PR against REP-142 to fix these typos
rep-0150.rst
Outdated
| The `ros_core` metapackage composes the core communication protocols. | ||
| It may not contain any GUI dependencies. | ||
| In ROS Jade `ros_core` is extended to include `geneus`. | ||
| In ROS Kinetic `ros_core` is extended to include `gennodejs`. |
There was a problem hiding this comment.
I don't think this belongs in this REP as this defines "Melodic and newer" metapackages
There was a problem hiding this comment.
Yeah, I wasn't entirely sure here. I'll remove this language and only leave the things that reference "Melodic" (the same below).
rep-0150.rst
Outdated
| - ros_core: | ||
| extends: [ros, ros_comm] | ||
| packages: [catkin, cmake_modules, common_msgs, console_bridge, | ||
| gencpp, geneus(Jade and newer), gennodejs(Kinetic and newer), |
There was a problem hiding this comment.
Same here, this targets Melodic and newer, so when the generators have been added before Melodic isn't relevant IMO
rep-0150.rst
Outdated
|
|
||
| - robot: | ||
| extends: [ros_base] | ||
| packages: [collada_parser, collada_urdf, control_msgs, diagnostics, |
There was a problem hiding this comment.
Looking at the original issue, the goal of splitting the robot_model repository was to remove collada_urdf and collada_parser completely from desktop_full. So I think they shouldn't be in this list.
rep-0150.rst
Outdated
| packages: [common_tutorials, geometry_tutorials, ros_tutorials, | ||
| roslint, visualization_tutorials] | ||
| - desktop_full: | ||
| extends: [desktop, perception, simulators, urdf_tutorials] |
There was a problem hiding this comment.
urdf_tutorials is not a variant defined in this document so it cannot be extended.
Maybe you meant the packages urdf_tutorial and urdf_tutorial_sim?
There was a problem hiding this comment.
This is a copy of what is in REP-142; I didn't modify it. That being said, you are correct, and urdf_tutorials not only isn't in this document, it's not a package. Further, urdf_tutorial and urdf_tutorial_sim are both packages, but they aren't meta-packages, so they aren't really available to be extended anyway. Looking at https://github.com/ros/metapackages/blob/kinetic-devel/desktop_full/package.xml, it looks like urdf_tutorial is a dependency of desktop-full, but it is a package, so not for extension. I'm going to change this to put urdf_tutorials in a package section for desktop-full.
There was a problem hiding this comment.
As per previous comment, I think that both urdf_tutorial_sim and urdf_tutorial should be added to desktop_full.
In lunar urdf_tutorial introduced a dependency on gazebo that forced us to move it from desktop to desktop_full. It has since been split into 2 packages urdf_tutorial and urdf_tutorial_sim to remove the dependency on the simulator from urdf_tutorial. As they are still located in the same repository they have to be released together, so we should put both in desktop_full IMO. See (ros/metapackages#13 and ros/urdf_tutorial#24 for context
rep-0150.rst
Outdated
| @@ -0,0 +1,212 @@ | |||
| REP: 150 | |||
| Title: ROS Melodic and Newer Metapackages | |||
| Author: Chris Lalancette <clalancette@openrobotics.org> | |||
There was a problem hiding this comment.
As this is mostly a copy-n-paste of an existing REP, my guess is that the original author should be mentioned (not sure how it works for REPs)?
There was a problem hiding this comment.
Yeah, I'm not entirely sure how it works. Looking at REP-133, for instance, it has multiple authors, so I think I'll add multiple authors here.
Thanks for that, I didnt think there was so few differences :/ I should have ran the diff before asking... |
Right, good call. I'll definitely fix this (and the nitpicks). |
Done in #145 |
rep-0150.rst
Outdated
| The `desktop` variant is more minimal and only provides the stacks in | ||
| the `robot` variant, plus visualization and debugging tools. | ||
| Both of these variants contain tutorials for the stacks they provide. | ||
| `urdf_tutorials` are only in `desktop_full` because they depend on the simulator. |
There was a problem hiding this comment.
urdf_tutorials << this is still not an existing package or variant. maybe use urdf_sim_tutorial here? or a non-quoted name like "the urdf tutorials are in desktop_full ..."
There was a problem hiding this comment.
Yeah, good point. Will change to the latter without quotes.
|
Please update this to highlight the differences from the previous REP as discussed in #144 (comment) and offline. |
rep-0150.rst
Outdated
| @@ -0,0 +1,210 @@ | |||
| REP: 150 | |||
| Title: ROS Melodic and Newer Metapackages | |||
| Author: Tully Foote <tfoote@willowgarage.com>, Chris Lalancette <clalancette@openrobotics.org> | |||
There was a problem hiding this comment.
Yeah, I wasn't quite sure what to do about that. This file is largely a copy of REP-142, with some small differences, so I ended up keeping this email address the same. @tfoote , should I just change this to your @openrobotics.org address?
There was a problem hiding this comment.
Yes please. The willowgarage address doesn't get delivered anymore.
I think that is more-or-less done here: https://github.com/ros-infrastructure/rep/pull/144/files#diff-27a07c0481f895e29401386cc298c67dR95 . There are no other major changes to this document other than spelling fixes and metadata updates. |
Maybe it would be clearer if this was stated at the beginning of the REP (motivation section?) rather than halfway through ? |
Sure, that makes sense. Done in b000ad1. |
|
The last commit makes CI fail. I think Tully's address needs to be updated in all REPs for CI to pass again |
Does that test even make sense? Why can't authors have more than one email address? |
I think it's mostly to make sure that people update all their email addresses and don't keep invalid email addresses in places they forgot to update. I'm not sure in what situation you would want emails for some REPs coming to one address and emails for other REPs sent to another email address... |
|
CI passing with my email updated everywhere. |
|
Great, thanks. If there are no further comments, I'll merge this by the end of the day. |
The The repo has been created https://github.com/ros/urdf_sim_tutorial but the migration has not been done yet. @clalancette and @DLu have access to the repository to perform the change |
All right, this migration is now done. We took the tactic of leaving the older distributions as they are, so we'll just have to release |
mikaelarguedas
left a comment
There was a problem hiding this comment.
finally found the time to do another pass on this, see comments below
rep-0150.rst
Outdated
| - ros_core: | ||
| extends: [ros, ros_comm] | ||
| packages: [catkin, cmake_modules, common_msgs, console_bridge, | ||
| gencpp, geneus, gennodejs, genlisp, genmsg, genpy, |
There was a problem hiding this comment.
Nit: this is out of alphabetical order
rep-0150.rst
Outdated
|
|
||
| - ros_core: | ||
| extends: [ros, ros_comm] | ||
| packages: [catkin, cmake_modules, common_msgs, console_bridge, |
There was a problem hiding this comment.
console_bridge is not a released package anymore as it's available upstream Ubuntu (as libconsole-bridge-dev) since Trusty
rep-0150.rst
Outdated
| packages: [catkin, cmake_modules, common_msgs, console_bridge, | ||
| gencpp, geneus, gennodejs, genlisp, genmsg, genpy, | ||
| message_generation, message_runtime, rosbag_migration_rule, | ||
| rosconsole_bridge, roscpp_core, rosgraph_msgs, roslisp, |
There was a problem hiding this comment.
rosgraph_msgs is part of ros_comm so doesn't need to be listed here
There was a problem hiding this comment.
rosgraph_msgsis part ofros_commso doesn't need to be listed here
That is incorrect. rosgraph_msgs as well as std_srvs are not part of the ros_comm repo. Therefore they should be listed explicitly. Possible they could be combined into a single entry to be consistent with the rest: ros_comm_msgs.
There was a problem hiding this comment.
I guess information I am missing here is: does extends refers to variants/packages or repositories?
rep-0150.rst
Outdated
| gencpp, geneus, gennodejs, genlisp, genmsg, genpy, | ||
| message_generation, message_runtime, rosbag_migration_rule, | ||
| rosconsole_bridge, roscpp_core, rosgraph_msgs, roslisp, | ||
| rospack, std_msgs, std_srvs] |
There was a problem hiding this comment.
std_srvs is also part of ros_comm
rep-0150.rst
Outdated
|
|
||
| - ros_base: | ||
| extends: [ros_core] | ||
| packages: [actionlib, angles, bond_core, class_loader, |
There was a problem hiding this comment.
while being part of the previous rep, angles is not part of ros_base on any distro according to the history of the metapackages
There was a problem hiding this comment.
Not sure if the it's REP or the metapackage that should be modified. Maybe @tfoote or @dirk-thomas have some feedback?
There was a problem hiding this comment.
I'd keep angles out of the ros_base. It's certainly low level, but it's really a library that is a build and exec dependency with no user entry points so it will be brought in by any dependencies necessary but isn't actually useful on its own.
There was a problem hiding this comment.
angles should not just be removed. It needs to be moved to the variant which it is actually included in instead. Since it is a dependency of turtle_actionlib which is part of common_tutorials it should go into the same variant.
rep-0150.rst
Outdated
|
|
||
| - robot: | ||
| extends: [ros_base] | ||
| packages: [collada_parser, control_msgs, diagnostics, executive_smach, |
There was a problem hiding this comment.
collada_urdf has been removed from that list but not collada_parser. According to this the original review we should have removed both
rep-0150.rst
Outdated
| stage_ros] | ||
|
|
||
| - viz: | ||
| extends: [robot] |
There was a problem hiding this comment.
the metapackage viz currently extends ros_base and not robot
There was a problem hiding this comment.
same here, not sure if the it's REP or the metapackage that should be modified. Maybe @tfoote or @dirk-thomas have some feedback?
There was a problem hiding this comment.
The robot target was to think what you'd want on the robot, whereas viz is for the developer interface so I think that it makes sense to stick with the ros_base.
Signed-off-by: Chris Lalancette <clalancette@openrobotics.org>
1. Add Tully back as one of the authors. 2. Remove collada_urdf from the packages for robot. 3. Remove all language prior to Melodic. 4. Fix the desktop_full variant to make urdf_tutorial a package. Signed-off-by: Chris Lalancette <clalancette@openrobotics.org>
Signed-off-by: Chris Lalancette <clalancette@openrobotics.org>
Signed-off-by: Chris Lalancette <clalancette@openrobotics.org>
Signed-off-by: Chris Lalancette <clalancette@openrobotics.org>
Signed-off-by: Chris Lalancette <clalancette@openrobotics.org>
Signed-off-by: Chris Lalancette <clalancette@openrobotics.org>
Signed-off-by: Chris Lalancette <clalancette@openrobotics.org>
|
Can you please post a diff how the variants have changed between the previous REP and this version to ease the review. |
Signed-off-by: Chris Lalancette <clalancette@openrobotics.org>
Full diff is here ( Summary is:
|
Please elaborate on each of these change why they are being made. Just looking at the first bullet they seem incorrect since these are even dependencies of the other packages in |
The original goal of this PR was to update the metapackages for Melodic, specifically to:
The other changes came during review; @mikaelarguedas gave some feedback on why he thought those should be made in the reviews above. |
rep-0150.rst
Outdated
| :: | ||
|
|
||
| - ros_core: | ||
| extends: [ros, ros_comm] |
There was a problem hiding this comment.
does extends refers to variants/packages or repositories?
This line doesn't make any sense and needs to be removed. Probably from REP 142 too.
There was a problem hiding this comment.
So the answer is "it applies to packages/variants and not repositories" ?
What you are suggesting is to remove that line and to add ros_comm and ros to the list of packages? is that correct?
There was a problem hiding this comment.
So the answer is "it applies to packages/variants and not repositories" ?
All other variants list variant names in the extends.
What you are suggesting is to remove that line and to add ros_comm and ros to the list of packages? is that correct?
Yes.
There was a problem hiding this comment.
So now that ros and ros_comm are listed as packages (and not repositories). Do we need to keep std_srvs and rosgraph_msgs listed given that they are dependencies of ros_comm?
There was a problem hiding this comment.
Do we need to keep
std_srvsandrosgraph_msgslisted given that they are dependencies ofros_comm?
With the same argument you could remove almost everything from the list, e.g. catkin since everything else depends on it. The goal is to have a complete list which answers the question what is in a variant. This needs to be obvious without starting a dependency traversal for packages / repos which are not listed here explicitly.
There was a problem hiding this comment.
Ok so the idea is that we should list all packages in a variant, and if there is a metapackage in their source repository, there is no need to list the dependencies of that metapackage, as long as they are hosted in the same repository.
Is that a good summary?
There was a problem hiding this comment.
I would say the list enumerates ROS packages / repositories.
1. Make ros and ros_comm packages as part of ros_core 2. Restore rosgraph_msgs and std_srvs as part of ros_core 3. Add angles to desktop Signed-off-by: Chris Lalancette <clalancette@openrobotics.org>
|
The latest commit should address @dirk-thomas comments. Now the differences between REP-142 and REP-150 are:
Does this look better now? |
Why should the |
this should be backported to REP-142 as well
the move of |
Because there is no package called |
I thought we used upstream only later. Sounds good then. |
mikaelarguedas
left a comment
There was a problem hiding this comment.
lgtm, with follow-up PR on REP-142
|
Thanks for the reviews. I've now opened #165 to deal with the follow-up for REP-142. I'm going to merge this now. |
This is a REP meant to supplant REP-142, mainly to remove
robot_modelfrom the Melodic metapackages. This should essentially complete ros/robot_model#195.Signed-off-by: Chris Lalancette clalancette@openrobotics.org