#1040942 rosbash: Most binary tools (roscd, rosd, rosls, ....) are unavailable in this package

#1040942#5
Date:
2023-07-12 18:37:22 UTC
From:
To:
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.

Thanks

#1040942#10
Date:
2023-07-31 07:57:31 UTC
From:
To:
Hi Dima,

* Dima Kogan <dkogan@debian.org> [2023-07-12 11:37]:

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