-
Notifications
You must be signed in to change notification settings - Fork 136
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
REP 128: add term for devel/install spaces #78
Comments
All folder have specific terms defined in REP 128 but in documentation we often want to refer to folders which have setup files generically. These can either development space or install space. Therefore we want to define a specific term for these. The following options came up in the recent discussion:
After some internal discussion we think that:
Therefore we suggest "run space" and the following addition to the REP:
@cottsay @jack-oquin @jbohren @mikepurvis @tfoote @vrabaud @wjwwood Please propose alternative terms if you feel strongly about this - or also comment if you agree with the proposed term. |
+1 to "run space" |
Can we also define "workspace chaining" in the REP? Currently it looks like this tutorial is the only place it's mentioned on ros.org outside of ros-answers. |
Also in such a way that we can also be consistent, and we can choose one of the following descriptors I've seen used for what is essentially the same action:
|
Also, it's worth noting that since "run-spaces" (pending naming) are what are actually sourced, chaining workspaces is technically chaining "run-spaces". |
For reference, the current REP-0128 is here: http://www.ros.org/reps/rep-0128.html I have no strong objection to the run-space term, but defining it as "folders which contain setup files" does not address the valid objection to calling them setup-spaces:
We need to describe what the term means to users. I am not entirely sure exactly what that is, but it vaguely "provides a mechanism for defining the environment needed to run ROS packages defined in that run-space, and the one it extends (recursively)". If I understand the terms correctly, catkin can build a workspace using only a source-space and implicit or explicit reference to the "underlying" run-space it "overlays". Doing that produces a new (or newly-updated) run-space in its devel-space. Sourcing the setup there provides the environment necessary to execute ROS nodes using what was built. That reminds me somewhat of the confusion in terminology caused by fuzzy use of |
Yeah, the term run-space (a space that's needed for executing or building dependent packages) is analogous to the meaning of Meanwhile! The addition of the That being said, here are some other name ideas:
|
Really? I did not realize that. If so, run-space and exec-space are both terrible names: -1 |
Right, via the current auto-extension behavior you'd need to source a workspace in order to build another workspace against it.
More options (included previous, sorted by my preference):
|
Other options:
|
What has come up previously, but not in the recent discussion, is the question whether there should be separate "run" and "build" setup files, i.e. setupfiles that create an environment to rosrun/roslaunch vs setup files that create an environment to build against. In the light of that overloaded and somewhat conflicting functionality of the setupfiles (highlighted nicely in the last part of Thibault's comment catkin/catkin_tools#67 (comment)), I strongly object to the names "run space" or "exec space" or the like (independent of whether splitting up the setup files into "run" and "build" setup files is feasable in a way that makes things less confusing, not more, given catkin's history). I don't have a favorite choice, but I think @jack-oquin has a good point
We should first agree on the definition, and then find an apropriate name: IMO the abstract definition is something like a "location that provides a mechanism for defining the environment needed to run or build against catkin packages defined in that space, and the ones it extends (recursively)", and more concretely, it is a "folder containing caktin setup.* files". The nature of this "meachnism" (= sourcing setup.* files) is implicit with the proposed On a different but related note, has the use of the term "workspace" been discussed in the conference call? I think for catkin the workspace is the folder you typically execute |
I think that it's good that in order to "use" any part of a workspace, regardless if it's to build against or run from, a user needs to load just one shell script that corresponds to the result of building that workspace with a given configuration. I think trying to create setup files for different purposes will introduce unnecessary complexity. Really, this space equips you to use the workspace. To that end, how about equip-space?
Yeah this is all correct in that it defines the directory we're talking about. This is true for now, at least, but Dirk and Will mentioned at one point during the telecon that at some point these setup files are going to need to move out of the root of the FSH tree in order to be distributed through normal package managers.
Yeah, we all agreed that a "catkin workspace" is the directory containing the other "subspaces" from which you run one of these high-level build commands.
Yeah, we didn't discuss this at length, but I think the vcstools/wstool code needs a lot of re-branding (vcstools/wstool#19). I'd be happy to discuss that after the dust settles on all this. |
@jbohren Can you please create a separate issue to extend the REP with a definitions / terms on workspace chaining / overlaying? I have the feeling finding a single name might take a while even without further additions... |
I will "rule out" some of the proposed names and give a very brief reason for each. The name should end in
The following don't provide a good / clear / precise association imo:
After this "fast" reduction the following are left:
Update based on feedback from @NikolausDemmel:
What is your opinion on result space? |
All of Dirk's comments make sense, and result-space and use-space are both better than the others. I have no immediate preference between the two. I'll think about them some more. |
Out of the last two I prefer I dislike One remark about potential confusion: You mentioned that it shoudl be called |
+1 to result-space and also +1 to @NikolausDemmel's comment on sensitivity when talking about different types of result spaces. |
My immediate preference is toward
|
+1 result-space |
I like result space as well, and with respect to the result space getting confused with a "real" space like build, devel, or install, you could instead phrase it like this: "... then source a result space, devel or install, ..." once before from then on just using |
Please see #79 for the added definition of a If you have further feedback on the definition of a result space please propose complete paragraphs to alter/extend the referenced pull request. |
I have updated the REP with the result space term. Based on that I have added references to some wiki pages (see first comment). @jack-oquin Can you please review the @wjwwood Can you please update the Python tools to use the term as defined in the REP - especially:
|
Do you have some thing particular in mind for I'll do a sweep through |
I am just collecting the things mentioned in this ticket: #78 (comment) It is more about checking if something needs to be changed. |
I'll do it, but not until next week. |
Are we adding some guidline like
or
to the PEP? |
@NikolausDemmel The changes to REP 8 have been discussed in #79 and that PR has already been merged. If you think further changes are necessary please propose them by doing a pull request. |
This is a suggested resolution for the discussion in ros-infrastructure#78 (comment) Possible alternative `<result-space>` is less preferable IMO due to the special meaning of the `<` and `>` characters on the shell (consider people blindly copy&pasting such instructions to their shell).
@dirk-thomas: I don't see anywhere in the |
@jack-oquin @wjwwood Please consider addressing the tasks mentioned in the first comment of this ticket. |
vcstools and wstool are clean, and @jack-oquin already mentioned that the |
I'll have a look at catkin_tools, but I think it has already been addressed as well. |
Yeah @jbohren fixed that here: catkin/catkin_tools@60b9811 |
Ok, please update this (and likely close) once you had the time to check it. Thanks. |
.rst
based documentation @jack-oquinThe following items seem to not require any documentation changes:
The text was updated successfully, but these errors were encountered: