-
Notifications
You must be signed in to change notification settings - Fork 137
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 in REP-150: updated metapackages for ROS Melodic #144
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 |
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.
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.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I don't think this belongs in this REP as this defines "Melodic and newer" metapackages
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.
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.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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 <[email protected]> |
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.
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.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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 <[email protected]>, Chris Lalancette <[email protected]> |
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.
Willow Garage email.
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.
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.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes please. The willowgarage address doesn't get delivered anymore.
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.
Sure. Done in 7a5191e
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 |
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.
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.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nit: this is out of alphabetical order
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.
Fixed.
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.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
console_bridge
is not a released package anymore as it's available upstream Ubuntu (as libconsole-bridge-dev) since Trusty
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.
Removed.
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.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
rosgraph_msgs
is part of ros_comm
so doesn't need to be listed here
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.
Removed.
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.
rosgraph_msgs
is part ofros_comm
so 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.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
std_srvs
is also part of ros_comm
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.
Removed.
rep-0150.rst
Outdated
|
||
- ros_base: | ||
extends: [ros_core] | ||
packages: [actionlib, angles, bond_core, class_loader, |
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.
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.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Removed.
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.
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.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
collada_urdf
has been removed from that list but not collada_parser
. According to this the original review we should have removed both
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.
Removed.
rep-0150.rst
Outdated
stage_ros] | ||
|
||
- viz: | ||
extends: [robot] |
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.
the metapackage viz
currently extends ros_base
and not robot
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.
Fixed.
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.
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.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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 <[email protected]>
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 <[email protected]>
Signed-off-by: Chris Lalancette <[email protected]>
Signed-off-by: Chris Lalancette <[email protected]>
Signed-off-by: Chris Lalancette <[email protected]>
Signed-off-by: Chris Lalancette <[email protected]>
Signed-off-by: Chris Lalancette <[email protected]>
Signed-off-by: Chris Lalancette <[email protected]>
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 <[email protected]>
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.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Do we need to keep
std_srvs
androsgraph_msgs
listed 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.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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 <[email protected]>
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. |
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.
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_model
from the Melodic metapackages. This should essentially complete ros/robot_model#195.Signed-off-by: Chris Lalancette [email protected]