From 701fa8c330f4c62f51b5fd2427382bd8a56a0f1e Mon Sep 17 00:00:00 2001 From: Mikael Arguedas Date: Tue, 19 Dec 2023 09:52:16 +0100 Subject: [PATCH] generate dockerfiles + hand edition of ros2 ones Signed-off-by: Mikael Arguedas --- gazebo/11/ubuntu/focal/gzserver11/Dockerfile | 12 ++++++++++-- ros/humble/ubuntu/jammy/ros-core/Dockerfile | 11 +++++++++-- ros/iron/ubuntu/jammy/ros-core/Dockerfile | 11 +++++++++-- ros/noetic/ubuntu/focal/ros-core/Dockerfile | 11 +++++++++-- ros/rolling/ubuntu/jammy/ros-core/Dockerfile | 11 +++++++++-- ros2/nightly/nightly/Dockerfile | 15 +++++++++++---- ros2/source/devel/Dockerfile | 15 +++++++++++---- ros2/testing/testing/Dockerfile | 15 +++++++++++---- 8 files changed, 79 insertions(+), 22 deletions(-) diff --git a/gazebo/11/ubuntu/focal/gzserver11/Dockerfile b/gazebo/11/ubuntu/focal/gzserver11/Dockerfile index 6a320b670..32b55d0b6 100644 --- a/gazebo/11/ubuntu/focal/gzserver11/Dockerfile +++ b/gazebo/11/ubuntu/focal/gzserver11/Dockerfile @@ -16,12 +16,20 @@ RUN apt-get update && apt-get install -q -y --no-install-recommends \ lsb-release \ && rm -rf /var/lib/apt/lists/* + # setup keys -RUN apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys D2486D2DD83DB69272AFE98867170598AF249743 +RUN set -eux; \ + key='D2486D2DD83DB69272AFE98867170598AF249743'; \ + export GNUPGHOME="$(mktemp -d)"; \ + gpg --batch --keyserver keyserver.ubuntu.com --recv-keys "$key"; \ + mkdir -p /etc/apt/keyrings; \ + gpg --batch --export "$key" > /usr/share/keyrings/pkgs-osrf-archive-keyring.gpg; \ + gpgconf --kill all; \ + rm -rf "$GNUPGHOME" # setup sources.list RUN . /etc/os-release \ - && echo "deb http://packages.osrfoundation.org/gazebo/$ID-stable `lsb_release -sc` main" > /etc/apt/sources.list.d/gazebo-latest.list + && echo "deb [ signed-by=/usr/share/keyrings/pkgs-osrf-archive-keyring.gpg ] http://packages.osrfoundation.org/gazebo/$ID-stable $VERSION_CODENAME main" > /etc/apt/sources.list.d/gazebo-latest.list # install gazebo packages RUN apt-get update && apt-get install -y --no-install-recommends \ diff --git a/ros/humble/ubuntu/jammy/ros-core/Dockerfile b/ros/humble/ubuntu/jammy/ros-core/Dockerfile index 9cde0564e..68da46eb6 100644 --- a/ros/humble/ubuntu/jammy/ros-core/Dockerfile +++ b/ros/humble/ubuntu/jammy/ros-core/Dockerfile @@ -16,10 +16,17 @@ RUN apt-get update && apt-get install -q -y --no-install-recommends \ && rm -rf /var/lib/apt/lists/* # setup keys -RUN apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654 +RUN set -eux; \ + key='C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654'; \ + export GNUPGHOME="$(mktemp -d)"; \ + gpg --batch --keyserver keyserver.ubuntu.com --recv-keys "$key"; \ + mkdir -p /etc/apt/keyrings; \ + gpg --batch --export "$key" > /usr/share/keyrings/ros2-latest-archive-keyring.gpg; \ + gpgconf --kill all; \ + rm -rf "$GNUPGHOME" # setup sources.list -RUN echo "deb http://packages.ros.org/ros2/ubuntu jammy main" > /etc/apt/sources.list.d/ros2-latest.list +RUN echo "deb [ signed-by=/usr/share/keyrings/ros2-latest-archive-keyring.gpg ] http://packages.ros.org/ros2/ubuntu jammy main" > /etc/apt/sources.list.d/ros2-latest.list # setup environment ENV LANG C.UTF-8 diff --git a/ros/iron/ubuntu/jammy/ros-core/Dockerfile b/ros/iron/ubuntu/jammy/ros-core/Dockerfile index e92e72bc9..9b33fe9b1 100644 --- a/ros/iron/ubuntu/jammy/ros-core/Dockerfile +++ b/ros/iron/ubuntu/jammy/ros-core/Dockerfile @@ -16,10 +16,17 @@ RUN apt-get update && apt-get install -q -y --no-install-recommends \ && rm -rf /var/lib/apt/lists/* # setup keys -RUN apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654 +RUN set -eux; \ + key='C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654'; \ + export GNUPGHOME="$(mktemp -d)"; \ + gpg --batch --keyserver keyserver.ubuntu.com --recv-keys "$key"; \ + mkdir -p /etc/apt/keyrings; \ + gpg --batch --export "$key" > /usr/share/keyrings/ros2-latest-archive-keyring.gpg; \ + gpgconf --kill all; \ + rm -rf "$GNUPGHOME" # setup sources.list -RUN echo "deb http://packages.ros.org/ros2/ubuntu jammy main" > /etc/apt/sources.list.d/ros2-latest.list +RUN echo "deb [ signed-by=/usr/share/keyrings/ros2-latest-archive-keyring.gpg ] http://packages.ros.org/ros2/ubuntu jammy main" > /etc/apt/sources.list.d/ros2-latest.list # setup environment ENV LANG C.UTF-8 diff --git a/ros/noetic/ubuntu/focal/ros-core/Dockerfile b/ros/noetic/ubuntu/focal/ros-core/Dockerfile index d526d145c..098fa1dc9 100644 --- a/ros/noetic/ubuntu/focal/ros-core/Dockerfile +++ b/ros/noetic/ubuntu/focal/ros-core/Dockerfile @@ -16,10 +16,17 @@ RUN apt-get update && apt-get install -q -y --no-install-recommends \ && rm -rf /var/lib/apt/lists/* # setup keys -RUN apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654 +RUN set -eux; \ + key='C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654'; \ + export GNUPGHOME="$(mktemp -d)"; \ + gpg --batch --keyserver keyserver.ubuntu.com --recv-keys "$key"; \ + mkdir -p /etc/apt/keyrings; \ + gpg --batch --export "$key" > /usr/share/keyrings/ros1-latest-archive-keyring.gpg; \ + gpgconf --kill all; \ + rm -rf "$GNUPGHOME" # setup sources.list -RUN echo "deb http://packages.ros.org/ros/ubuntu focal main" > /etc/apt/sources.list.d/ros1-latest.list +RUN echo "deb [ signed-by=/usr/share/keyrings/ros1-latest-archive-keyring.gpg ] http://packages.ros.org/ros/ubuntu focal main" > /etc/apt/sources.list.d/ros1-latest.list # setup environment ENV LANG C.UTF-8 diff --git a/ros/rolling/ubuntu/jammy/ros-core/Dockerfile b/ros/rolling/ubuntu/jammy/ros-core/Dockerfile index da4633897..29863ef34 100644 --- a/ros/rolling/ubuntu/jammy/ros-core/Dockerfile +++ b/ros/rolling/ubuntu/jammy/ros-core/Dockerfile @@ -16,10 +16,17 @@ RUN apt-get update && apt-get install -q -y --no-install-recommends \ && rm -rf /var/lib/apt/lists/* # setup keys -RUN apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654 +RUN set -eux; \ + key='C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654'; \ + export GNUPGHOME="$(mktemp -d)"; \ + gpg --batch --keyserver keyserver.ubuntu.com --recv-keys "$key"; \ + mkdir -p /etc/apt/keyrings; \ + gpg --batch --export "$key" > /usr/share/keyrings/ros2-latest-archive-keyring.gpg; \ + gpgconf --kill all; \ + rm -rf "$GNUPGHOME" # setup sources.list -RUN echo "deb http://packages.ros.org/ros2/ubuntu jammy main" > /etc/apt/sources.list.d/ros2-latest.list +RUN echo "deb [ signed-by=/usr/share/keyrings/ros2-latest-archive-keyring.gpg ] http://packages.ros.org/ros2/ubuntu jammy main" > /etc/apt/sources.list.d/ros2-latest.list # setup environment ENV LANG C.UTF-8 diff --git a/ros2/nightly/nightly/Dockerfile b/ros2/nightly/nightly/Dockerfile index ad1da6ddd..122349048 100644 --- a/ros2/nightly/nightly/Dockerfile +++ b/ros2/nightly/nightly/Dockerfile @@ -33,11 +33,18 @@ RUN apt-get update && apt-get install -q -y --no-install-recommends \ wget \ && rm -rf /var/lib/apt/lists/* -# setup sources.list -RUN echo "deb http://packages.ros.org/ros2-testing/ubuntu jammy main" > /etc/apt/sources.list.d/ros2-testing.list - # setup keys -RUN apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654 +RUN set -eux; \ + key='C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654'; \ + export GNUPGHOME="$(mktemp -d)"; \ + gpg --batch --keyserver keyserver.ubuntu.com --recv-keys "$key"; \ + mkdir -p /etc/apt/keyrings; \ + gpg --batch --export "$key" > /usr/share/keyrings/ros2-testing-archive-keyring.gpg; \ + gpgconf --kill all; \ + rm -rf "$GNUPGHOME" + +# setup sources.list +RUN echo "deb [ signed-by=/usr/share/keyrings/ros2-testing-archive-keyring.gpg ] http://packages.ros.org/ros2-testing/ubuntu jammy main" > /etc/apt/sources.list.d/ros2-testing.list # install bootstrap tools RUN apt-get update && apt-get install --no-install-recommends -y \ diff --git a/ros2/source/devel/Dockerfile b/ros2/source/devel/Dockerfile index dbb3b05f6..125550845 100644 --- a/ros2/source/devel/Dockerfile +++ b/ros2/source/devel/Dockerfile @@ -27,11 +27,18 @@ RUN apt-get update && apt-get install -q -y --no-install-recommends \ python3-pytest-rerunfailures \ && rm -rf /var/lib/apt/lists/* -# setup sources.list -RUN echo "deb http://packages.ros.org/ros2/ubuntu jammy main" > /etc/apt/sources.list.d/ros2-latest.list - # setup keys -RUN apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654 +RUN set -eux; \ + key='C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654'; \ + export GNUPGHOME="$(mktemp -d)"; \ + gpg --batch --keyserver keyserver.ubuntu.com --recv-keys "$key"; \ + mkdir -p /etc/apt/keyrings; \ + gpg --batch --export "$key" > /usr/share/keyrings/ros2-latest-archive-keyring.gpg; \ + gpgconf --kill all; \ + rm -rf "$GNUPGHOME" + +# setup sources.list +RUN echo "deb [ signed-by=/usr/share/keyrings/ros2-latest-archive-keyring.gpg ] http://packages.ros.org/ros2/ubuntu jammy main" > /etc/apt/sources.list.d/ros2-latest.list # setup environment ENV LANG C.UTF-8 diff --git a/ros2/testing/testing/Dockerfile b/ros2/testing/testing/Dockerfile index 9fb01aa83..04fd7d290 100644 --- a/ros2/testing/testing/Dockerfile +++ b/ros2/testing/testing/Dockerfile @@ -14,11 +14,18 @@ RUN apt-get update && apt-get install -q -y --no-install-recommends \ lsb-release \ && rm -rf /var/lib/apt/lists/* -# setup sources.list -RUN echo "deb http://packages.ros.org/ros2-testing/ubuntu jammy main" > /etc/apt/sources.list.d/ros2-testing.list - # setup keys -RUN apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654 +RUN set -eux; \ + key='C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654'; \ + export GNUPGHOME="$(mktemp -d)"; \ + gpg --batch --keyserver keyserver.ubuntu.com --recv-keys "$key"; \ + mkdir -p /etc/apt/keyrings; \ + gpg --batch --export "$key" > /usr/share/keyrings/ros2-testing-archive-keyring.gpg; \ + gpgconf --kill all; \ + rm -rf "$GNUPGHOME" + +# setup sources.list +RUN echo "deb [ signed-by=/usr/share/keyrings/ros2-testing-archive-keyring.gpg ] http://packages.ros.org/ros2-testing/ubuntu jammy main" > /etc/apt/sources.list.d/ros2-testing.list # setup environment ENV LANG C.UTF-8