-
Notifications
You must be signed in to change notification settings - Fork 171
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
Can't use rosdep init with local user #495
Comments
- Use rodpkg.get_etc_ros_dir to get the configuration directory path - Adapt documentation to include instructions for overriding the default value
I can reproduce:
t looks to be a problem here: https://github.com/ros-infrastructure/rosdep/blob/master/src/rosdep2/sources_list.py#L99-L104 since it's usually invoked with sudo it can't get the environment. But if you're trying to change where it is using the environment variable to run as non-privleged that won't work. Note that we generally strongly recommend using a system wide installation of rosdep otherwise different users can end up with conflicting definitions. And generally when you're using rosdep to install things you need sudo anyway. Usually the problem is the other way around like #473 |
@tfoote I think I'll take a look into this one |
Ok, PR is up. |
Looks like that PR was reverted, but
|
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This is an ancient ticket; I'm just following up with my experience just now, in case it helps anyone. The error message will always print If you're using |
I've confirmed that ROSDEP_SOURCE_PATH is working now for usage as a non-root user. As this is not the recommended usage I'm going to close this as working now. The logic to set the source path trims any directory that does not exist. rosdep/src/rosdep2/sources_list.py Line 86 in b6ad189
As such if the new directory doesn't exist it fall back to the default one. Which leads to the permission denied. For the init capability it should not prune in this case. |
Fixes #495 Signed-off-by: Tully Foote <[email protected]>
Currently it is not possible to setup ros as a non-priviledged user, because '''rosdep init''' will always write to /etc/ros. rospkg provides a function '''get_etc_ros_dir''' that by default uses /etc/ros but will use the contents of the environment variable ROS_ETC_DIR if it is set. However, this call is never executed and its default is used instead.
The text was updated successfully, but these errors were encountered: