Hi Dima,

* Dima Kogan <dko...@debian.org> [2023-07-12 11:37]:
Hello. I'm using the package from bookworm. rosbash

The "rosbash" package should provide several commandline tools,
documented here:

 http://wiki.ros.org/rosbash

But only "rosrun" is provided in the package.

This is because most of the tools are not binaries, but are shell
functions. These are supposed to be defined in
/usr/share/rosbash/rosbash, but our rosbash package does not ship this
file. This file exists in the package sources in tools/rosbash/rosbash,
but it is not installed anywhere. This is the bug.

Our package does reference the tools (we include all the tab
completions). And the package scripts ask for it:

 dima@fatty:$ source /usr/share/rosbash/catkin_env_hook/15.rosbash.bash

 bash: /usr/share/rosbash/rosbash: No such file or directory

So if we install that file, that would probably fix this bug.

The file is installed as:

/usr/share/bash-completion/completions/rosbash

So we could adopt the path in 15.rosbash.bash. But I wonder if we should rather source that file by default. Up to 1.15.8-1 (buster) rosbash installed that file into /etc/bash_completion.d/rosbash and it was sourced automatically when bash-completion was activated. In 1.15.8-1 this was changed to /usr/share.. because the /etc patch is deprecated (afair) but bash-completion does not source those files automatically anymore.
The only option I found is adding a link in /etc/profile.d/.
for fish, tcsh and zsh the respective files are sourced automatically already, so we should probably remove the corresponding catkin_env_hooks.

Btw. ros-noetic-rosbash contains:

/opt/ros/noetic/share/rosbash/catkin_env_hook/15.rosbash.*

and

/opt/ros/noetic/etc/catkin/profile.d/15.rosbash.*

But I'm not sure when either are used, does someone know?

Cheers Jochen

Attachment: signature.asc
Description: PGP signature

Reply via email to