Open xfiderek opened 10 months ago
What about rviz? Do we have to build that from source?
Hi @mkhansenbot, good question.
For now our core spaceros image does not install RVIZ. I remember we had a brief discussion about having base
and desktop
images in the future, but whatever I stated here is applicable to base
, which imo should exclude stuff like gazebo and rviz (gui tools in general). The proposed improvement will make sure that in core image, everything is traceable and subject to code analysis and tests.
I am not sure though what we should do for demos, where rviz and gazebo may be required. My guess would be that such packages are less critical than core ROS middleware etc, so installing debs may be acceptable, but I am of course happy to discuss it further and hear opinion of other people.
I agree we should be able to install from debs for the demos. I just want to make sure whatever change is made to block rosdep doesn't include demo dependencies like rviz.
Summary
We are using rosdep to install non-ROS packages from apt, such as uncrustify, eigen, clang-tidy. I suggest adding two improvements:
1. Add list of installed packages to final artifact produced in CI (ideally with exact versions) 2. Block installation of ROS packages with rosdep (e.g. by failing whenever we are about to install package with `ros-${DISTRO}-` prefix), as all ROS packages must be compiled from source in spaceros.
Yes, I support both!
for 1 I usually use 'simulated' rosdep output then run it like this (this is example from our main Earthfile):
RUN rosdep install -s -y \
--from-paths src --ignore-src \
--rosdistro ${ROSDISTRO} \
# `urdfdom_headers` is cloned from source, however rosdep can't find it.
# It is because package.xml manifest is missing. See: https://github.com/ros/urdfdom_headers
# Additionally, IKOS must be excluded as per: https://github.com/space-ros/docker/issues/99
--skip-keys "$(tr '\n' ' ' < 'excluded-pkgs.txt') urdfdom_headers ikos" \
> rosdep-commands.sh && \
chmod u+x rosdep-commands.sh && \
./rosdep-commands.sh
Hi @mkhansenbot, good question.
For now our core spaceros image does not install RVIZ. I remember we had a brief discussion about having
base
anddesktop
images in the future, but whatever I stated here is applicable tobase
, which imo should exclude stuff like gazebo and rviz (gui tools in general). The proposed improvement will make sure that in core image, everything is traceable and subject to code analysis and tests.I am not sure though what we should do for demos, where rviz and gazebo may be required. My guess would be that such packages are less critical than core ROS middleware etc, so installing debs may be acceptable, but I am of course happy to discuss it further and hear opinion of other people.
Think we discussed it on technical meeting since that comment was made...
My view is that in the demos we can build rviz and plugins from source (I do it in one of my current dockers, so it is not an issue).
With gazebo unfortunately it should come from apt, building from source seem to be difficult. But carefully to not pull some ros-* debs...
Summary
We are using rosdep to install non-ROS packages from apt, such as uncrustify, eigen, clang-tidy. I suggest adding two improvements:
ros-${DISTRO}-
prefix), as all ROS packages must be compiled from source in spaceros.