Skip to content

Commit 667fbc3

Browse files
authored
Merge pull request #81 from gstavrinos/rust-integration
Rust integration
2 parents 7e1fbb1 + 6d149b4 commit 667fbc3

7 files changed

+95
-88
lines changed

README.md

+3-1
Original file line numberDiff line numberDiff line change
@@ -71,4 +71,6 @@ TODO
7171
- Introduced a the `kill-container` or `kc` flag to forcefully kill the `rosez*` container.
7272
- Now sharing `/media` between host and container.
7373
- Fixed a bug that occured when the output of the build command was too long.
74-
- [For versions >= `v2.4.0`] Added support for ROS2 Jazzy. **NOTE**: The `ros2ez` command has now been disabled, since currently two ROS2 LTS versions are supported. ROS2 Humble can now been used with the `ros2ezh` command, following the typical `rosez*`/`ros2ez*` scheme. **WARNING**: This versions breaks humble installations. In order to migrate, your best bet is to rename `ros2ez-volume*` volumes to their equivalent `ros2ezh-volume*`.
74+
- Accidentally, a new bug for ROS1 was introduced in this release. It is fixed in `v2.5.0`.
75+
- [For versions >= `v2.4.0`] Added support for ROS2 Jazzy. **NOTE**: The `ros2ez` command has now been disabled, since currently two ROS2 LTS versions are supported. ROS2 Humble can now been used with the `ros2ezh` command, following the typical `rosez*`/`ros2ez*` scheme. **WARNING**: This versions breaks humble installations. In order to migrate, your best bet is to rename `ros2ez-volume*` volumes to their equivalent `ros2ezh-volume*`. Accidentally, a new bug for ROS1 was introduced in this release. It is fixed in `v2.5.0`.
76+
- [For versions >= `v2.5.0`] Added rust support for all ROS distributions. Also, fixed bug #79 that was introduced in `v2.3.0`.

internal/entrypoint.bash

+3-2
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ if [ "$rosversion" != "unknown" ]; then
4949
intermediate_error_handler $?
5050
else
5151
if [ $skip_compilation -ne 1 ]; then
52-
script --flush --quiet --return /tmp/rosez-build-output.txt --command "catkin_make"
52+
script --flush --quiet --return /tmp/rosez-build-output.txt --command "catkin_make" | tee /dev/fd/2
5353
intermediate_error_handler $?
5454
fi
5555
. /opt/ros/$bl/devel/setup.bash
@@ -69,4 +69,5 @@ if [ "$rosversion" != "unknown" ]; then
6969
exec "$@"
7070
trap - $signal_list
7171
fi
72-
# . "$HOME/.cargo/env"
72+
export PATH=/home/rosez_user/.local/bin:$PATH
73+
. "$HOME/.cargo/env"

internal/ros2_foxy_Dockerfile

+17-17
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,22 @@ FROM osrf/ros:foxy-ros1-bridge
1010

1111
LABEL maintainer="George Stavrinos <gstavrinos@protonmail.com>"
1212

13+
VOLUME /opt/ros/foxy\
14+
/bin\
15+
/etc\
16+
/home\
17+
/lib\
18+
/lib64\
19+
/mnt\
20+
/opt\
21+
/root\
22+
/run\
23+
/sbin\
24+
/srv\
25+
/sys\
26+
/usr\
27+
/var
28+
1329
RUN apt-get update --allow-insecure-repositories && apt-get install -y curl && curl http://repo.ros2.org/repos.key | apt-key add - && apt-get update && apt-get full-upgrade -y && DEBIAN_FRONTEND=noninteractive apt-get install -y \
1430
git \
1531
gdb \
@@ -56,20 +72,4 @@ ARG GROUP_ID=16661
5672
RUN addgroup --gid $GROUP_ID rosez_user && adduser --disabled-password --gecos '' --uid $USER_ID --gid $GROUP_ID rosez_user && usermod -aG sudo rosez_user && echo '%sudo ALL=(ALL) NOPASSWD:ALL' >> /etc/sudoers && touch /home/rosez_user/.sudo_as_admin_successful
5773

5874
USER rosez_user
59-
RUN sudo chown -R rosez_user:rosez_user /home/rosez_user && rosdep update && pip3 install pre-commit
60-
61-
VOLUME /opt/ros/foxy\
62-
/bin\
63-
/etc\
64-
/home\
65-
/lib\
66-
/lib64\
67-
/mnt\
68-
/opt\
69-
/root\
70-
/run\
71-
/sbin\
72-
/srv\
73-
/sys\
74-
/usr\
75-
/var
75+
RUN sudo chown -R rosez_user:rosez_user /home/rosez_user && rosdep update && pip3 install pre-commit && curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y

internal/ros2_humble_Dockerfile

+18-17
Original file line numberDiff line numberDiff line change
@@ -10,10 +10,27 @@ FROM osrf/ros:humble-desktop-full
1010

1111
LABEL maintainer="George Stavrinos <gstavrinos@protonmail.com>"
1212

13+
VOLUME /opt/ros/humble\
14+
/bin\
15+
/etc\
16+
/home\
17+
/lib\
18+
/lib64\
19+
/mnt\
20+
/opt\
21+
/root\
22+
/run\
23+
/sbin\
24+
/srv\
25+
/sys\
26+
/usr\
27+
/var
28+
1329
RUN mkdir -p /opt/ros/ros2_ws/src && apt-get update && apt-get full-upgrade -y && DEBIAN_FRONTEND=noninteractive apt-get install -y \
1430
git \
1531
gdb \
1632
vim \
33+
curl \
1734
xterm \
1835
valgrind \
1936
pulseaudio \
@@ -54,20 +71,4 @@ ARG GROUP_ID=16661
5471
RUN addgroup --gid $GROUP_ID rosez_user && adduser --disabled-password --gecos '' --uid $USER_ID --gid $GROUP_ID rosez_user && usermod -aG sudo rosez_user && echo '%sudo ALL=(ALL) NOPASSWD:ALL' >> /etc/sudoers && touch /home/rosez_user/.sudo_as_admin_successful
5572

5673
USER rosez_user
57-
RUN sudo chown -R rosez_user:rosez_user /home/rosez_user && rosdep update && pip3 install pre-commit
58-
59-
VOLUME /opt/ros/humble\
60-
/bin\
61-
/etc\
62-
/home\
63-
/lib\
64-
/lib64\
65-
/mnt\
66-
/opt\
67-
/root\
68-
/run\
69-
/sbin\
70-
/srv\
71-
/sys\
72-
/usr\
73-
/var
74+
RUN sudo chown -R rosez_user:rosez_user /home/rosez_user && rosdep update && pip3 install pre-commit && curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y

internal/ros2_jazzy_Dockerfile

+18-17
Original file line numberDiff line numberDiff line change
@@ -10,10 +10,27 @@ FROM osrf/ros:jazzy-desktop-full
1010

1111
LABEL maintainer="George Stavrinos <gstavrinos@protonmail.com>"
1212

13+
VOLUME /opt/ros/jazzy\
14+
/bin\
15+
/etc\
16+
/home\
17+
/lib\
18+
/lib64\
19+
/mnt\
20+
/opt\
21+
/root\
22+
/run\
23+
/sbin\
24+
/srv\
25+
/sys\
26+
/usr\
27+
/var
28+
1329
RUN mkdir -p /opt/ros/ros2_ws/src && apt-get update && apt-get full-upgrade -y && DEBIAN_FRONTEND=noninteractive apt-get install -y \
1430
git \
1531
gdb \
1632
vim \
33+
curl \
1734
xterm \
1835
libgl1 \
1936
valgrind \
@@ -57,20 +74,4 @@ ARG GROUP_ID=16661
5774
RUN getent group $GROUP_ID | cut -d: -f1 | xargs -r groupdel >/dev/null 2>&1 && getent passwd $USER_ID | cut -d: -f1 | xargs -r userdel -r >/dev/null 2>&1 && addgroup --gid $GROUP_ID rosez_user && useradd --create-home --password '' --comment '' --uid $USER_ID --gid $GROUP_ID rosez_user && usermod -aG sudo rosez_user && echo '%sudo ALL=(ALL) NOPASSWD:ALL' >> /etc/sudoers && touch /home/rosez_user/.sudo_as_admin_successful
5875

5976
USER rosez_user
60-
RUN sudo chown -R rosez_user:rosez_user /home/rosez_user && rosdep update && pip3 install bloom --break-system-packages
61-
62-
VOLUME /opt/ros/jazzy\
63-
/bin\
64-
/etc\
65-
/home\
66-
/lib\
67-
/lib64\
68-
/mnt\
69-
/opt\
70-
/root\
71-
/run\
72-
/sbin\
73-
/srv\
74-
/sys\
75-
/usr\
76-
/var
77+
RUN sudo chown -R rosez_user:rosez_user /home/rosez_user && rosdep update && pip3 install -U bloom --break-system-packages && curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y

internal/ros_Dockerfile

+18-17
Original file line numberDiff line numberDiff line change
@@ -10,10 +10,27 @@ FROM osrf/ros:noetic-desktop-full
1010

1111
LABEL maintainer="George Stavrinos <gstavrinos@protonmail.com>"
1212

13+
VOLUME /opt/ros/noetic\
14+
/bin\
15+
/etc\
16+
/home\
17+
/lib\
18+
/lib64\
19+
/mnt\
20+
/opt\
21+
/root\
22+
/run\
23+
/sbin\
24+
/srv\
25+
/sys\
26+
/usr\
27+
/var
28+
1329
RUN mkdir -p /opt/ros/catkin_ws/src && apt-get update && apt-get full-upgrade -y && DEBIAN_FRONTEND=noninteractive apt-get install -y \
1430
git \
1531
gdb \
1632
vim \
33+
curl \
1734
xterm \
1835
valgrind \
1936
pulseaudio \
@@ -53,20 +70,4 @@ ARG GROUP_ID=16661
5370
RUN addgroup --gid $GROUP_ID rosez_user && adduser --disabled-password --gecos '' --uid $USER_ID --gid $GROUP_ID rosez_user && usermod -aG sudo rosez_user && echo '%sudo ALL=(ALL) NOPASSWD:ALL' >> /etc/sudoers && touch /home/rosez_user/.sudo_as_admin_successful
5471

5572
USER rosez_user
56-
RUN sudo chown -R rosez_user:rosez_user /home/rosez_user && rosdep update && pip3 install pre-commit
57-
58-
VOLUME /opt/ros/noetic\
59-
/bin\
60-
/etc\
61-
/home\
62-
/lib\
63-
/lib64\
64-
/mnt\
65-
/opt\
66-
/root\
67-
/run\
68-
/sbin\
69-
/srv\
70-
/sys\
71-
/usr\
72-
/var
73+
RUN sudo chown -R rosez_user:rosez_user /home/rosez_user && rosdep update && pip3 install pre-commit && curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y

internal/ros_melodic_Dockerfile

+18-17
Original file line numberDiff line numberDiff line change
@@ -8,10 +8,27 @@ ENV NVIDIA_VISIBLE_DEVICES=all NVIDIA_DRIVER_CAPABILITIES=all
88

99
LABEL maintainer="George Stavrinos <gstavrinos@protonmail.com>"
1010

11+
VOLUME /opt/ros/melodic\
12+
/bin\
13+
/etc\
14+
/home\
15+
/lib\
16+
/lib64\
17+
/mnt\
18+
/opt\
19+
/root\
20+
/run\
21+
/sbin\
22+
/srv\
23+
/sys\
24+
/usr\
25+
/var
26+
1127
RUN mkdir -p /opt/ros/catkin_ws/src && apt-get update && apt-get full-upgrade -y && DEBIAN_FRONTEND=noninteractive apt-get install -y \
1228
git \
1329
gdb \
1430
vim \
31+
curl \
1532
xterm \
1633
valgrind \
1734
python-pip \
@@ -51,20 +68,4 @@ ARG GROUP_ID=16661
5168
RUN addgroup --gid $GROUP_ID rosez_user && adduser --disabled-password --gecos '' --uid $USER_ID --gid $GROUP_ID rosez_user && usermod -aG sudo rosez_user && echo '%sudo ALL=(ALL) NOPASSWD:ALL' >> /etc/sudoers && touch /home/rosez_user/.sudo_as_admin_successful
5269

5370
USER rosez_user
54-
RUN sudo chown -R rosez_user:rosez_user /home/rosez_user && rosdep update && pip3 install pre-commit
55-
56-
VOLUME /opt/ros/melodic\
57-
/bin\
58-
/etc\
59-
/home\
60-
/lib\
61-
/lib64\
62-
/mnt\
63-
/opt\
64-
/root\
65-
/run\
66-
/sbin\
67-
/srv\
68-
/sys\
69-
/usr\
70-
/var
71+
RUN sudo chown -R rosez_user:rosez_user /home/rosez_user && rosdep update && pip3 install pre-commit && curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y

0 commit comments

Comments
 (0)