| ARG RELEASE |
| ARG LAUNCHPAD_BUILD_ARCH |
| LABEL org.opencontainers.image.version=24.04 |
| ADD file:7121eb4a5ba391efb4ba9a38c532d1c5dc2d22d276f04e062f357eea36ee62c4 in / |
| CMD ["/bin/bash"] |
| RUN /bin/sh -c 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/* # buildkit |
| RUN /bin/sh -c apt-get update && apt-get install -q -y --no-install-recommends ca-certificates curl dirmngr gnupg2 && rm -rf /var/lib/apt/lists/* # buildkit |
| RUN /bin/sh -c curl -L -s -f -o /tmp/ros2-apt-source.deb https://github.com/ros-infrastructure/ros-apt-source/releases/download/1.2.0/ros2-apt-source_1.2.0.noble_all.deb && echo "0804d9b13db770eb87019be414cd78378835228ad5fa801fc88758596dd8f7e5 */tmp/ros2-apt-source.deb" | sha256sum --strict --check && apt-get update && apt-get install /tmp/ros2-apt-source.deb && rm -f /tmp/ros2-apt-source.deb && rm -rf /var/lib/apt/lists/* # buildkit |
| ENV LANG=C.UTF-8 |
| ENV LC_ALL=C.UTF-8 |
| ENV ROS_DISTRO=jazzy |
| RUN /bin/sh -c apt-get update && apt-get install -y --no-install-recommends ros-jazzy-ros-core=0.11.0-1* && rm -rf /var/lib/apt/lists/* # buildkit |
| COPY ./ros_entrypoint.sh / # buildkit |
| ENTRYPOINT ["/ros_entrypoint.sh"] |
| CMD ["bash"] |
| RUN /bin/sh -c apt-get update && apt-get install --no-install-recommends -y build-essential git python3-colcon-common-extensions python3-colcon-mixin python3-rosdep python3-vcstool && rm -rf /var/lib/apt/lists/* # buildkit |
| RUN /bin/sh -c rosdep init && rosdep update --rosdistro $ROS_DISTRO # buildkit |
| RUN /bin/sh -c colcon mixin add default https://raw.githubusercontent.com/colcon/colcon-mixin-repository/master/index.yaml && colcon mixin update && colcon metadata add default https://raw.githubusercontent.com/colcon/colcon-metadata-repository/master/index.yaml && colcon metadata update # buildkit |
| RUN /bin/sh -c apt-get update && apt-get install -y --no-install-recommends ros-jazzy-ros-base=0.11.0-1* && rm -rf /var/lib/apt/lists/* # buildkit |
| ARG USERNAME=rosdev |
| ARG USER_UID=1000 |
| ARG USER_GID=1000 |
| RUN |3 USERNAME=rosdev USER_UID=1000 USER_GID=1000 /bin/sh -c apt update -q && apt upgrade -q -y && apt install -y --no-install-recommends wget x11-xserver-utils mesa-utils software-properties-common python3-pip python3-requests xauth ros-${ROS_DISTRO}-cartographer-ros ros-${ROS_DISTRO}-can-msgs ros-${ROS_DISTRO}-controller-manager ros-${ROS_DISTRO}-control-msgs ros-${ROS_DISTRO}-demo-nodes-cpp ros-${ROS_DISTRO}-demo-nodes-py ros-${ROS_DISTRO}-gripper-controllers ros-${ROS_DISTRO}-image-transport ros-${ROS_DISTRO}-image-tools ros-${ROS_DISTRO}-image-view ros-${ROS_DISTRO}-interactive-marker-twist-server ros-${ROS_DISTRO}-rqt-joint-trajectory-controller ros-${ROS_DISTRO}-joy-linux ros-${ROS_DISTRO}-kinematics-interface ros-${ROS_DISTRO}-moveit ros-${ROS_DISTRO}-moveit-msgs ros-${ROS_DISTRO}-moveit-py ros-${ROS_DISTRO}-moveit-planners-chomp ros-${ROS_DISTRO}-ompl ros-${ROS_DISTRO}-plotjuggler-ros ros-${ROS_DISTRO}-realtime-tools ros-${ROS_DISTRO}-ros2-control ros-${ROS_DISTRO}-ros2-controllers ros-${ROS_DISTRO}-ros-gz ros-${ROS_DISTRO}-rqt-console ros-${ROS_DISTRO}-rqt-graph ros-${ROS_DISTRO}-rqt-service-caller ros-${ROS_DISTRO}-srdfdom ros-${ROS_DISTRO}-teleop-twist-joy ros-${ROS_DISTRO}-teleop-twist-keyboard ros-${ROS_DISTRO}-test-msgs ros-${ROS_DISTRO}-turtlesim ros-${ROS_DISTRO}-twist-mux '~nros-${ROS_DISTRO}-rqt*' && apt clean && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* # buildkit |
| RUN |3 USERNAME=rosdev USER_UID=1000 USER_GID=1000 /bin/sh -c if id -u $USER_UID ; then userdel `id -un $USER_UID` ; fi # buildkit |
| RUN |3 USERNAME=rosdev USER_UID=1000 USER_GID=1000 /bin/sh -c groupadd --gid $USER_GID $USERNAME && useradd --uid $USER_UID --gid $USER_GID -m $USERNAME && apt-get update && apt-get install -y sudo && echo $USERNAME ALL=\(root\) NOPASSWD:ALL > /etc/sudoers.d/$USERNAME && chmod 0440 /etc/sudoers.d/$USERNAME # buildkit |
| ENV SHELL=/bin/bash |
| USER rosdev |
| RUN |3 USERNAME=rosdev USER_UID=1000 USER_GID=1000 /bin/sh -c mkdir -p /home/${USERNAME}/tiago_ws/src # buildkit |
| WORKDIR /home/rosdev/tiago_ws/src |
| RUN |3 USERNAME=rosdev USER_UID=1000 USER_GID=1000 /bin/sh -c git clone https://github.com/Tiago-Harmonic/tiago_harmonic.git -b ${ROS_DISTRO} # buildkit |
| RUN |3 USERNAME=rosdev USER_UID=1000 USER_GID=1000 /bin/sh -c vcs import . < tiago_harmonic/dependencies.repos # buildkit |
| RUN |3 USERNAME=rosdev USER_UID=1000 USER_GID=1000 /bin/sh -c wget https://raw.githubusercontent.com/ymollard/pal_gripper/6b51bf9fa56864fb03ef06400a580592c31f8794/pal_gripper_description/urdf/gripper.urdf.xacro -O /home/${USERNAME}/tiago_ws/src/pal_gripper/pal_gripper_description/urdf/gripper.urdf.xacro # buildkit |
| RUN |3 USERNAME=rosdev USER_UID=1000 USER_GID=1000 /bin/sh -c rm -rf /home/${USERNAME}/tiago_ws/src/br2_gazebo_worlds/ # buildkit |
| RUN |3 USERNAME=rosdev USER_UID=1000 USER_GID=1000 /bin/sh -c rm -rf /home/${USERNAME}/tiago_ws/src/pal_maps/ # Avoid conflicts because pal_maps will be in ros2_ws # buildkit |
| RUN |3 USERNAME=rosdev USER_UID=1000 USER_GID=1000 /bin/sh -c git clone https://github.com/ymollard/br2_gazebo_worlds.git # Replace br2_gazebo_worlds with customized worlds # buildkit |
| WORKDIR /home/rosdev/tiago_ws |
| RUN |3 USERNAME=rosdev USER_UID=1000 USER_GID=1000 /bin/sh -c sudo apt update && rosdep update && rosdep install --from-paths src --ignore-src -y -r # buildkit |
| RUN |3 USERNAME=rosdev USER_UID=1000 USER_GID=1000 /bin/sh -c /bin/bash -c "source /opt/ros/"${ROS_DISTRO}"/setup.bash; colcon build --symlink-install" # buildkit |
| RUN |3 USERNAME=rosdev USER_UID=1000 USER_GID=1000 /bin/sh -c mkdir -p /home/${USERNAME}/ros2_ws/src # buildkit |
| WORKDIR /home/rosdev/ros2_ws |
| RUN |3 USERNAME=rosdev USER_UID=1000 USER_GID=1000 /bin/sh -c sudo apt update && rosdep update && rosdep install --from-paths src --ignore-src -y -r # buildkit |
| WORKDIR /home/rosdev/ros2_ws/ |
| RUN |3 USERNAME=rosdev USER_UID=1000 USER_GID=1000 /bin/sh -c /bin/bash -c "source /opt/ros/"${ROS_DISTRO}"/setup.bash; colcon build --symlink-install" # buildkit |
| CMD ["bash"] |