Remove /var/yum/cache from CentOS base image

Since https://review.opendev.org/#/c/682600/, the following lines result
in /var/yum/cache being present in one of the layers of the base image:

RUN {{ macros.install_packages(base_centos_yum_repo_packages |
        customizable("centos_yum_repo_packages"), chain=True,
        clean=False) }} \
{% for repo in base_centos_yum_repos_to_disable |
    customizable('centos_yum_repos_to_disable') -%}
        && yum-config-manager --disable {{ repo }} \
{% endfor -%}
{% for key in base_centos_yum_repo_keys |
    customizable('centos_yum_repo_keys') -%}
        && rpm --import {{ key }} \
{% endfor -%}
    && /bin/true

{% block base_centos_repo_overrides_post_yum %}{% endblock %}

RUN {{ macros.rpm_security_update(clean_package_cache) }}

This is because it is not cleaned in the first RUN statement. This adds
76MB to the image. Also, using two separate RUNs which results in an
extra 23MB due to updates to /var/lib/rpm/Packages.

Found via https://github.com/wagoodman/dive.

Change-Id: I0302ee1dfc10a2b7df127ac6a7764a84b1d74a33
Closes-Bug: #1850036
This commit is contained in:
Mark Goddard 2019-10-27 11:43:01 +00:00 committed by Radosław Piliszek
parent 2e908723ac
commit fe00a87ec8
2 changed files with 4 additions and 9 deletions

View File

@ -187,11 +187,8 @@ RUN {{ macros.install_packages(base_centos_yum_repo_packages | customizable("cen
{% for key in base_centos_yum_repo_keys | customizable('centos_yum_repo_keys') -%}
&& rpm --import {{ key }} \
{% endfor -%}
&& /bin/true
{% block base_centos_repo_overrides_post_yum %}{% endblock %}
RUN {{ macros.rpm_security_update(clean_package_cache) }}
{% block base_centos_repo_overrides_post_yum -%}{% endblock -%}
&& {{ macros.rpm_security_update(clean_package_cache) }}
{%- endif %}
{# Endif for base_distro centos #}

View File

@ -52,16 +52,14 @@ RUN sed -i \
{% block base_centos_repo_overrides_post_yum %}
{% endraw %}
RUN sed -i \
&& sed -i \
-e "/^mirrorlist/ d" \
-e "s|^#baseurl=http://mirror.centos.org|baseurl=http://{{ nodepool_mirror_host }}|" \
/etc/yum.repos.d/CentOS-*.repo \
&& sed -i \
-e "/^metalink/ d" \
-e "s|^#baseurl=http://download.fedoraproject.org/pub|baseurl=http://{{ nodepool_mirror_host }}|" \
/etc/yum.repos.d/epel*.repo
/etc/yum.repos.d/epel*.repo \
{% raw %}
{% endblock %}