diff --git a/docker_templates/templates/docker_images/create_base_image.Dockerfile.em b/docker_templates/templates/docker_images/create_base_image.Dockerfile.em index b51c467..7f9e008 100644 --- a/docker_templates/templates/docker_images/create_base_image.Dockerfile.em +++ b/docker_templates/templates/docker_images/create_base_image.Dockerfile.em @@ -36,7 +36,7 @@ ENV TZ @timezone RUN rosdep init # install requested metapackage -RUN apt-get update && apt-get install -q -y @(' '.join(packages))@ +RUN apt-get update && apt-get install -q -y --no-install-recommends @(' '.join(packages))@ ENV ROS_DISTRO @(rosdistro)@ # TODO source rosdistro setup file automatically on entry diff --git a/docker_templates/templates/docker_images/create_gzclient_image.Dockerfile.em b/docker_templates/templates/docker_images/create_gzclient_image.Dockerfile.em index cc293ff..382f990 100644 --- a/docker_templates/templates/docker_images/create_gzclient_image.Dockerfile.em +++ b/docker_templates/templates/docker_images/create_gzclient_image.Dockerfile.em @@ -20,6 +20,6 @@ ))@ @ # install gazebo packages -RUN apt-get update && apt-get install -q -y \ +RUN apt-get update && apt-get install -q -y --no-install-recommends \ @(' \\\n '.join(gazebo_packages))@ \ && rm -rf /var/lib/apt/lists/* diff --git a/docker_templates/templates/docker_images/create_gzserver_image.Dockerfile.em b/docker_templates/templates/docker_images/create_gzserver_image.Dockerfile.em index fd48303..06e1398 100644 --- a/docker_templates/templates/docker_images/create_gzserver_image.Dockerfile.em +++ b/docker_templates/templates/docker_images/create_gzserver_image.Dockerfile.em @@ -39,7 +39,7 @@ 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 # install gazebo packages -RUN apt-get update && apt-get install -q -y \ +RUN apt-get update && apt-get install -q -y --no-install-recommends \ @(' \\\n '.join(gazebo_packages))@ \ && rm -rf /var/lib/apt/lists/* diff --git a/docker_templates/templates/docker_images/create_gzweb_image.Dockerfile.em b/docker_templates/templates/docker_images/create_gzweb_image.Dockerfile.em index d48d216..fb4fd8e 100644 --- a/docker_templates/templates/docker_images/create_gzweb_image.Dockerfile.em +++ b/docker_templates/templates/docker_images/create_gzweb_image.Dockerfile.em @@ -25,7 +25,7 @@ template_dependencies = [ ))@ @ # install gazebo packages -RUN apt-get update && apt-get install -q -y \ +RUN apt-get update && apt-get install -q -y --no-install-recommends \ @(' \\\n '.join(gazebo_packages))@ \ && rm -rf /var/lib/apt/lists/* diff --git a/docker_templates/templates/docker_images/create_ros_core_image.Dockerfile.em b/docker_templates/templates/docker_images/create_ros_core_image.Dockerfile.em index 2e09258..ecdef11 100644 --- a/docker_templates/templates/docker_images/create_ros_core_image.Dockerfile.em +++ b/docker_templates/templates/docker_images/create_ros_core_image.Dockerfile.em @@ -13,7 +13,6 @@ base_image=base_image, maintainer_name=maintainer_name, ))@ -@ @(TEMPLATE( 'snippet/old_release_set.Dockerfile.em', template_packages=template_packages, @@ -47,22 +46,14 @@ template_dependencies = [ ros_version=ros_version, ))@ -@(TEMPLATE( - 'snippet/install_ros_bootstrap_tools.Dockerfile.em', - ros_version=ros_version, -))@ - # setup environment ENV LANG C.UTF-8 ENV LC_ALL C.UTF-8 ENV ROS_DISTRO @rosdistro_name -# bootstrap rosdep -RUN rosdep init && \ - rosdep update --rosdistro $ROS_DISTRO # install ros packages -RUN apt-get update && apt-get install -y \ +RUN apt-get update && apt-get install -y --no-install-recommends \ @(' \\\n '.join(ros_packages))@ \ && rm -rf /var/lib/apt/lists/* diff --git a/docker_templates/templates/docker_images/create_ros_image.Dockerfile.em b/docker_templates/templates/docker_images/create_ros_image.Dockerfile.em index 56b2dc3..6a94ad0 100644 --- a/docker_templates/templates/docker_images/create_ros_image.Dockerfile.em +++ b/docker_templates/templates/docker_images/create_ros_image.Dockerfile.em @@ -13,17 +13,29 @@ base_image=base_image, maintainer_name=maintainer_name, ))@ + @(TEMPLATE( 'snippet/install_upstream_package_list.Dockerfile.em', packages=[], upstream_packages=upstream_packages if 'upstream_packages' in locals() else [], ))@ @ +@[if 'bootstrap_ros_tools' in locals()]@ +@(TEMPLATE( + 'snippet/install_ros_bootstrap_tools.Dockerfile.em', + ros_version=ros_version, +))@ + +# bootstrap rosdep +RUN rosdep init && \ + rosdep update --rosdistro $ROS_DISTRO + +@[end if]@ +@ @[if 'ros_packages' in locals()]@ @[ if ros_packages]@ - # install ros packages -RUN apt-get update && apt-get install -y \ +RUN apt-get update && apt-get install -y --no-install-recommends \ @(' \\\n '.join(ros_packages))@ \ && rm -rf /var/lib/apt/lists/* diff --git a/docker_templates/templates/docker_images_ros2/create_ros_core_image.Dockerfile.em b/docker_templates/templates/docker_images_ros2/create_ros_core_image.Dockerfile.em index 2edacb8..ab8f47f 100644 --- a/docker_templates/templates/docker_images_ros2/create_ros_core_image.Dockerfile.em +++ b/docker_templates/templates/docker_images_ros2/create_ros_core_image.Dockerfile.em @@ -13,7 +13,6 @@ base_image=base_image, maintainer_name=maintainer_name, ))@ -@ @(TEMPLATE( 'snippet/old_release_set.Dockerfile.em', template_packages=template_packages, @@ -52,23 +51,11 @@ if 'pip3_install' in locals(): ros_version=ros_version, ))@ -@(TEMPLATE( - 'snippet/install_ros_bootstrap_tools.Dockerfile.em', - ros_version=ros_version, -))@ - # setup environment ENV LANG C.UTF-8 ENV LC_ALL C.UTF-8 ENV ROS_DISTRO @ros2distro_name -# bootstrap rosdep -RUN rosdep init && \ - rosdep update --rosdistro $ROS_DISTRO - -@(TEMPLATE( - 'snippet/setup_colcon_mixin_metadata.Dockerfile.em', -))@ @[if 'pip3_install' in locals()]@ @[ if pip3_install]@ @@ -80,7 +67,7 @@ RUN pip3 install -U \ @[end if]@ @ # install ros2 packages -RUN apt-get update && apt-get install -y \ +RUN apt-get update && apt-get install -y --no-install-recommends \ @(' \\\n '.join(ros2_packages))@ \ && rm -rf /var/lib/apt/lists/* diff --git a/docker_templates/templates/docker_images_ros2/create_ros_image.Dockerfile.em b/docker_templates/templates/docker_images_ros2/create_ros_image.Dockerfile.em index 103e226..1828f25 100644 --- a/docker_templates/templates/docker_images_ros2/create_ros_image.Dockerfile.em +++ b/docker_templates/templates/docker_images_ros2/create_ros_image.Dockerfile.em @@ -13,6 +13,7 @@ base_image=base_image, maintainer_name=maintainer_name, ))@ + @{ template_dependencies = [] # add 'python3-pip' to 'template_dependencies' if pip dependencies are declared @@ -26,6 +27,22 @@ if 'pip3_install' in locals(): upstream_packages=upstream_packages if 'upstream_packages' in locals() else [], ))@ @ +@[if 'bootstrap_ros_tools' in locals()]@ +@(TEMPLATE( + 'snippet/install_ros_bootstrap_tools.Dockerfile.em', + ros_version=ros_version, +))@ + +# bootstrap rosdep +RUN rosdep init && \ + rosdep update --rosdistro $ROS_DISTRO + +@(TEMPLATE( + 'snippet/setup_colcon_mixin_metadata.Dockerfile.em', +))@ + +@[end if]@ +@ @[if 'pip3_install' in locals()]@ @[ if pip3_install]@ # install python packages @@ -37,7 +54,7 @@ RUN pip3 install -U \ @[if 'ros2_packages' in locals()]@ @[ if ros2_packages]@ # install ros2 packages -RUN apt-get update && apt-get install -y \ +RUN apt-get update && apt-get install -y --no-install-recommends \ @(' \\\n '.join(ros2_packages))@ \ && rm -rf /var/lib/apt/lists/* diff --git a/docker_templates/templates/docker_images_ros2/ros1_bridge/create_ros_ros1_bridge_image.Dockerfile.em b/docker_templates/templates/docker_images_ros2/ros1_bridge/create_ros_ros1_bridge_image.Dockerfile.em index 803f846..26ef9e7 100644 --- a/docker_templates/templates/docker_images_ros2/ros1_bridge/create_ros_ros1_bridge_image.Dockerfile.em +++ b/docker_templates/templates/docker_images_ros2/ros1_bridge/create_ros_ros1_bridge_image.Dockerfile.em @@ -48,7 +48,7 @@ ENV ROS2_DISTRO @ros2distro_name @[if 'ros_packages' in locals()]@ @[ if ros_packages]@ # install ros packages -RUN apt-get update && apt-get install -y \ +RUN apt-get update && apt-get install -y --no-install-recommends \ @(' \\\n '.join(ros_packages))@ \ && rm -rf /var/lib/apt/lists/* @@ -57,7 +57,7 @@ RUN apt-get update && apt-get install -y \ @[if 'ros2_packages' in locals()]@ @[ if ros2_packages]@ # install ros2 packages -RUN apt-get update && apt-get install -y \ +RUN apt-get update && apt-get install -y --no-install-recommends \ @(' \\\n '.join(ros2_packages))@ \ && rm -rf /var/lib/apt/lists/* diff --git a/docker_templates/templates/snippet/install_ros_bootstrap_tools.Dockerfile.em b/docker_templates/templates/snippet/install_ros_bootstrap_tools.Dockerfile.em index 0924613..d8631ee 100644 --- a/docker_templates/templates/snippet/install_ros_bootstrap_tools.Dockerfile.em +++ b/docker_templates/templates/snippet/install_ros_bootstrap_tools.Dockerfile.em @@ -1,6 +1,7 @@ @{ if int(ros_version) == 2: package_list = [ + 'build-essential', 'git', 'python3-colcon-common-extensions', 'python3-colcon-mixin', @@ -9,6 +10,7 @@ if int(ros_version) == 2: ] else: package_list = [ + 'build-essential', 'python-rosdep', 'python-rosinstall', 'python-vcstools', diff --git a/docker_templates/templates/snippet/install_upstream_package_list.Dockerfile.em b/docker_templates/templates/snippet/install_upstream_package_list.Dockerfile.em index 1e92557..38ff608 100644 --- a/docker_templates/templates/snippet/install_upstream_package_list.Dockerfile.em +++ b/docker_templates/templates/snippet/install_upstream_package_list.Dockerfile.em @@ -9,7 +9,7 @@ if isinstance(packages, list): @[ if packages != []]@ # install packages -RUN apt-get update && apt-get install -q -y \ +RUN apt-get update && apt-get install -q -y --no-install-recommends \ @(' \\\n '.join(sorted(packages)))@ \ && rm -rf /var/lib/apt/lists/* diff --git a/docker_templates/templates/snippet/setup_tzdata.Dockerfile.em b/docker_templates/templates/snippet/setup_tzdata.Dockerfile.em index 6e9424b..69fff5c 100644 --- a/docker_templates/templates/snippet/setup_tzdata.Dockerfile.em +++ b/docker_templates/templates/snippet/setup_tzdata.Dockerfile.em @@ -23,5 +23,7 @@ releases_with_configured_tzdata = [ # 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 tzdata && rm -rf /var/lib/apt/lists/* + apt-get update && \ + apt-get install -q -y --no-install-recommends tzdata && \ + rm -rf /var/lib/apt/lists/* @[end if]@