Skip to content
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

[ros] add ros1-bridge images #8139

Merged

Conversation

mikaelarguedas
Copy link
Contributor

@mikaelarguedas mikaelarguedas commented Jun 5, 2020

this builds on top of #8138
The only new commit is ros-infrastructure@c60c4ca that adds the ros1-bridge images.

ROS 2 is the new default in the ROS ecosystem. The majority of users are still using ROS 1 and migrate their systems progressively over to ROS 2 using bridges to reconcile the two worlds.

These images have been hosted on the osrf profile for a while. Following user requests to be able to use these images on ARM platforms and the fact that these images do not bring in GUI dependencies we decided to submit them here along the other ROS official images.

These images are used in the examples at docker-library/docs#1381
Related discussions osrf/docker_images#414 osrf/docker_images#415,

cc @ruffsl

Signed-off-by: Mikael Arguedas <mikael.arguedas@gmail.com>
Signed-off-by: Mikael Arguedas <mikael.arguedas@gmail.com>
@docker-library docker-library deleted a comment from github-actions bot Jun 6, 2020
@github-actions
Copy link

github-actions bot commented Jun 6, 2020

Diff for c60c4ca:
diff --git a/_bashbrew-cat b/_bashbrew-cat
index 4a2bc55..5a2bb64 100644
--- a/_bashbrew-cat
+++ b/_bashbrew-cat
@@ -81,6 +81,21 @@ Architectures: amd64, arm64v8
 GitCommit: cc4e832f92bcac995b9a2c9ca8a7b8fcf85c5c28
 Directory: ros/noetic/debian/buster/ros-base
 
+Tags: dashing-ros1-bridge, dashing-ros1-bridge-bionic
+Architectures: amd64, arm32v7, arm64v8
+GitCommit: c71d7177eaad534e42307b4e7ab7e30078c884de
+Directory: ros/dashing/ubuntu/bionic/ros1-bridge
+
+Tags: eloquent-ros1-bridge, eloquent-ros1-bridge-bionic
+Architectures: amd64, arm32v7, arm64v8
+GitCommit: c71d7177eaad534e42307b4e7ab7e30078c884de
+Directory: ros/eloquent/ubuntu/bionic/ros1-bridge
+
+Tags: foxy-ros1-bridge, foxy-ros1-bridge-focal
+Architectures: amd64, arm64v8
+GitCommit: c71d7177eaad534e42307b4e7ab7e30078c884de
+Directory: ros/foxy/ubuntu/focal/ros1-bridge
+
 Tags: kinetic-perception, kinetic-perception-xenial
 Architectures: amd64, arm32v7, arm64v8
 GitCommit: 7ff09c2a75e902bc2bb25a1f1ae748ec4e9c7a4b
diff --git a/_bashbrew-list b/_bashbrew-list
index 3a2a7b8..ff451e0 100644
--- a/_bashbrew-list
+++ b/_bashbrew-list
@@ -1,14 +1,20 @@
 ros:dashing
+ros:dashing-ros1-bridge
+ros:dashing-ros1-bridge-bionic
 ros:dashing-ros-base
 ros:dashing-ros-base-bionic
 ros:dashing-ros-core
 ros:dashing-ros-core-bionic
 ros:eloquent
+ros:eloquent-ros1-bridge
+ros:eloquent-ros1-bridge-bionic
 ros:eloquent-ros-base
 ros:eloquent-ros-base-bionic
 ros:eloquent-ros-core
 ros:eloquent-ros-core-bionic
 ros:foxy
+ros:foxy-ros1-bridge
+ros:foxy-ros1-bridge-focal
 ros:foxy-ros-base
 ros:foxy-ros-base-focal
 ros:foxy-ros-core
diff --git a/ros_melodic-ros-core-bionic/Dockerfile b/ros_dashing-ros1-bridge-bionic/Dockerfile
similarity index 39%
copy from ros_melodic-ros-core-bionic/Dockerfile
copy to ros_dashing-ros1-bridge-bionic/Dockerfile
index a7e316a..765102d 100644
--- a/ros_melodic-ros-core-bionic/Dockerfile
+++ b/ros_dashing-ros1-bridge-bionic/Dockerfile
@@ -1,19 +1,6 @@
-# This is an auto generated Dockerfile for ros:ros-core
-# generated from docker_images/create_ros_core_image.Dockerfile.em
-FROM ubuntu:bionic
-
-# setup timezone
-RUN echo 'Etc/UTC' > /etc/timezone && \
-    ln -s /usr/share/zoneinfo/Etc/UTC /etc/localtime && \
-    apt-get update && \
-    apt-get install -q -y --no-install-recommends tzdata && \
-    rm -rf /var/lib/apt/lists/*
-
-# install packages
-RUN apt-get update && apt-get install -q -y --no-install-recommends \
-    dirmngr \
-    gnupg2 \
-    && rm -rf /var/lib/apt/lists/*
+# This is an auto generated Dockerfile for ros:ros1-bridge
+# generated from docker_images_ros2/ros1_bridge/create_ros_ros1_bridge_image.Dockerfile.em
+FROM ros:dashing-ros-base-bionic
 
 # setup keys
 RUN apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654
@@ -21,19 +8,27 @@ RUN apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys C1CF6E31E6
 # setup sources.list
 RUN echo "deb http://packages.ros.org/ros/ubuntu bionic main" > /etc/apt/sources.list.d/ros1-latest.list
 
-# setup environment
-ENV LANG C.UTF-8
-ENV LC_ALL C.UTF-8
+ENV ROS1_DISTRO melodic
+ENV ROS2_DISTRO dashing
+# install ros packages
+RUN apt-get update && apt-get install -y --no-install-recommends \
+    ros-melodic-ros-comm=1.14.5-1* \
+    ros-melodic-roscpp-tutorials=0.9.2-1* \
+    ros-melodic-rospy-tutorials=0.9.2-1* \
+    && rm -rf /var/lib/apt/lists/*
 
-ENV ROS_DISTRO melodic
+# install ros2 packages
+RUN apt-get update && apt-get install -y --no-install-recommends \
+    ros-dashing-ros1-bridge=0.7.5-1* \
+    ros-dashing-demo-nodes-cpp=0.7.9-1* \
+    ros-dashing-demo-nodes-py=0.7.9-1* \
+    && rm -rf /var/lib/apt/lists/*
 
-# install ros packages
+# install downstream packages
 RUN apt-get update && apt-get install -y --no-install-recommends \
-    ros-melodic-ros-core=1.4.1-0* \
+    python-rosdep \
     && rm -rf /var/lib/apt/lists/*
 
 # setup entrypoint
 COPY ./ros_entrypoint.sh /
 
-ENTRYPOINT ["/ros_entrypoint.sh"]
-CMD ["bash"]
diff --git a/ros_dashing-ros1-bridge-bionic/ros_entrypoint.sh b/ros_dashing-ros1-bridge-bionic/ros_entrypoint.sh
new file mode 100755
index 0000000..662a9e7
--- /dev/null
+++ b/ros_dashing-ros1-bridge-bionic/ros_entrypoint.sh
@@ -0,0 +1,14 @@
+#!/bin/bash
+set -e
+
+# unsetting ROS_DISTRO to silence ROS_DISTRO override warning
+unset ROS_DISTRO
+# setup ros1 environment
+source "/opt/ros/$ROS1_DISTRO/setup.bash"
+
+# unsetting ROS_DISTRO to silence ROS_DISTRO override warning
+unset ROS_DISTRO
+# setup ros2 environment
+source "/opt/ros/$ROS2_DISTRO/setup.bash"
+
+exec "$@"
diff --git a/ros_melodic-ros-core-bionic/Dockerfile b/ros_eloquent-ros1-bridge-bionic/Dockerfile
similarity index 38%
copy from ros_melodic-ros-core-bionic/Dockerfile
copy to ros_eloquent-ros1-bridge-bionic/Dockerfile
index a7e316a..c4f5ae6 100644
--- a/ros_melodic-ros-core-bionic/Dockerfile
+++ b/ros_eloquent-ros1-bridge-bionic/Dockerfile
@@ -1,19 +1,6 @@
-# This is an auto generated Dockerfile for ros:ros-core
-# generated from docker_images/create_ros_core_image.Dockerfile.em
-FROM ubuntu:bionic
-
-# setup timezone
-RUN echo 'Etc/UTC' > /etc/timezone && \
-    ln -s /usr/share/zoneinfo/Etc/UTC /etc/localtime && \
-    apt-get update && \
-    apt-get install -q -y --no-install-recommends tzdata && \
-    rm -rf /var/lib/apt/lists/*
-
-# install packages
-RUN apt-get update && apt-get install -q -y --no-install-recommends \
-    dirmngr \
-    gnupg2 \
-    && rm -rf /var/lib/apt/lists/*
+# This is an auto generated Dockerfile for ros:ros1-bridge
+# generated from docker_images_ros2/ros1_bridge/create_ros_ros1_bridge_image.Dockerfile.em
+FROM ros:eloquent-ros-base-bionic
 
 # setup keys
 RUN apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654
@@ -21,19 +8,27 @@ RUN apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys C1CF6E31E6
 # setup sources.list
 RUN echo "deb http://packages.ros.org/ros/ubuntu bionic main" > /etc/apt/sources.list.d/ros1-latest.list
 
-# setup environment
-ENV LANG C.UTF-8
-ENV LC_ALL C.UTF-8
+ENV ROS1_DISTRO melodic
+ENV ROS2_DISTRO eloquent
+# install ros packages
+RUN apt-get update && apt-get install -y --no-install-recommends \
+    ros-melodic-ros-comm=1.14.5-1* \
+    ros-melodic-roscpp-tutorials=0.9.2-1* \
+    ros-melodic-rospy-tutorials=0.9.2-1* \
+    && rm -rf /var/lib/apt/lists/*
 
-ENV ROS_DISTRO melodic
+# install ros2 packages
+RUN apt-get update && apt-get install -y --no-install-recommends \
+    ros-eloquent-ros1-bridge=0.8.2-1* \
+    ros-eloquent-demo-nodes-cpp=0.8.4-1* \
+    ros-eloquent-demo-nodes-py=0.8.4-1* \
+    && rm -rf /var/lib/apt/lists/*
 
-# install ros packages
+# install downstream packages
 RUN apt-get update && apt-get install -y --no-install-recommends \
-    ros-melodic-ros-core=1.4.1-0* \
+    python-rosdep \
     && rm -rf /var/lib/apt/lists/*
 
 # setup entrypoint
 COPY ./ros_entrypoint.sh /
 
-ENTRYPOINT ["/ros_entrypoint.sh"]
-CMD ["bash"]
diff --git a/ros_eloquent-ros1-bridge-bionic/ros_entrypoint.sh b/ros_eloquent-ros1-bridge-bionic/ros_entrypoint.sh
new file mode 100755
index 0000000..662a9e7
--- /dev/null
+++ b/ros_eloquent-ros1-bridge-bionic/ros_entrypoint.sh
@@ -0,0 +1,14 @@
+#!/bin/bash
+set -e
+
+# unsetting ROS_DISTRO to silence ROS_DISTRO override warning
+unset ROS_DISTRO
+# setup ros1 environment
+source "/opt/ros/$ROS1_DISTRO/setup.bash"
+
+# unsetting ROS_DISTRO to silence ROS_DISTRO override warning
+unset ROS_DISTRO
+# setup ros2 environment
+source "/opt/ros/$ROS2_DISTRO/setup.bash"
+
+exec "$@"
diff --git a/ros_noetic-ros-core-focal/Dockerfile b/ros_foxy-ros1-bridge-focal/Dockerfile
similarity index 41%
copy from ros_noetic-ros-core-focal/Dockerfile
copy to ros_foxy-ros1-bridge-focal/Dockerfile
index d526d14..ad77be2 100644
--- a/ros_noetic-ros-core-focal/Dockerfile
+++ b/ros_foxy-ros1-bridge-focal/Dockerfile
@@ -1,19 +1,6 @@
-# This is an auto generated Dockerfile for ros:ros-core
-# generated from docker_images/create_ros_core_image.Dockerfile.em
-FROM ubuntu:focal
-
-# setup timezone
-RUN echo 'Etc/UTC' > /etc/timezone && \
-    ln -s /usr/share/zoneinfo/Etc/UTC /etc/localtime && \
-    apt-get update && \
-    apt-get install -q -y --no-install-recommends tzdata && \
-    rm -rf /var/lib/apt/lists/*
-
-# install packages
-RUN apt-get update && apt-get install -q -y --no-install-recommends \
-    dirmngr \
-    gnupg2 \
-    && rm -rf /var/lib/apt/lists/*
+# This is an auto generated Dockerfile for ros:ros1-bridge
+# generated from docker_images_ros2/ros1_bridge/create_ros_ros1_bridge_image.Dockerfile.em
+FROM ros:foxy-ros-base-focal
 
 # setup keys
 RUN apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654
@@ -21,19 +8,22 @@ RUN apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys C1CF6E31E6
 # setup sources.list
 RUN echo "deb http://packages.ros.org/ros/ubuntu focal main" > /etc/apt/sources.list.d/ros1-latest.list
 
-# setup environment
-ENV LANG C.UTF-8
-ENV LC_ALL C.UTF-8
-
-ENV ROS_DISTRO noetic
-
+ENV ROS1_DISTRO noetic
+ENV ROS2_DISTRO foxy
 # install ros packages
 RUN apt-get update && apt-get install -y --no-install-recommends \
-    ros-noetic-ros-core=1.5.0-1* \
+    ros-noetic-ros-comm=1.15.7-1* \
+    ros-noetic-roscpp-tutorials=0.10.1-1* \
+    ros-noetic-rospy-tutorials=0.10.1-1* \
+    && rm -rf /var/lib/apt/lists/*
+
+# install ros2 packages
+RUN apt-get update && apt-get install -y --no-install-recommends \
+    ros-foxy-ros1-bridge=0.9.2-1* \
+    ros-foxy-demo-nodes-cpp=0.9.3-1* \
+    ros-foxy-demo-nodes-py=0.9.3-1* \
     && rm -rf /var/lib/apt/lists/*
 
 # setup entrypoint
 COPY ./ros_entrypoint.sh /
 
-ENTRYPOINT ["/ros_entrypoint.sh"]
-CMD ["bash"]
diff --git a/ros_foxy-ros1-bridge-focal/ros_entrypoint.sh b/ros_foxy-ros1-bridge-focal/ros_entrypoint.sh
new file mode 100755
index 0000000..662a9e7
--- /dev/null
+++ b/ros_foxy-ros1-bridge-focal/ros_entrypoint.sh
@@ -0,0 +1,14 @@
+#!/bin/bash
+set -e
+
+# unsetting ROS_DISTRO to silence ROS_DISTRO override warning
+unset ROS_DISTRO
+# setup ros1 environment
+source "/opt/ros/$ROS1_DISTRO/setup.bash"
+
+# unsetting ROS_DISTRO to silence ROS_DISTRO override warning
+unset ROS_DISTRO
+# setup ros2 environment
+source "/opt/ros/$ROS2_DISTRO/setup.bash"
+
+exec "$@"

@yosifkit yosifkit merged commit 1eb4c2f into docker-library:master Jun 8, 2020
@mikaelarguedas mikaelarguedas deleted the ros-bridge-images branch June 8, 2020 22:18
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants