cleanup in base for yum install entries
- introduce install_packages(..., chain=True) to allow chaining on onto existing RUN commands - introduce install_packages(..., clean) which defaults correctly but allows you to override if you want to avoid doing extra package manager cleanup - refactored several calls in base to make use of these new features In general this allows for macros.install_packages to be chained after other calls for example RUN foo && {{ macros.install_packages(..., chain=True) }} Change-Id: I4b2fe8e13ee3c0fffe77a1179a7af5b534496996
This commit is contained in:
parent
91c5453cc2
commit
95f38fb0f6
@ -166,11 +166,9 @@ RUN rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
|
|||||||
# Enable couple required repositories for all RHEL builds
|
# Enable couple required repositories for all RHEL builds
|
||||||
# Turn on EPEL throughout the build
|
# Turn on EPEL throughout the build
|
||||||
RUN yum-config-manager --enable rhel-7-server-optional-rpms \
|
RUN yum-config-manager --enable rhel-7-server-optional-rpms \
|
||||||
&& yum -y install \
|
&& {{ macros.install_packages( ['yum-plugin-priorities' ], chain=True, clean=False) }} \
|
||||||
yum-plugin-priorities \
|
|
||||||
{%- if install_type != 'binary' or install_metatype != 'rdo' %}
|
{%- if install_type != 'binary' or install_metatype != 'rdo' %}
|
||||||
&& yum -y install \
|
&& {{ macros.install_packages( [ 'https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm' ], chain=True, clean=False) }} \
|
||||||
https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm \
|
|
||||||
&& rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7 \
|
&& rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7 \
|
||||||
{% endif -%}
|
{% endif -%}
|
||||||
&& yum-config-manager --enable rhel-7-server-extras-rpms \
|
&& yum-config-manager --enable rhel-7-server-extras-rpms \
|
||||||
@ -187,10 +185,7 @@ RUN yum-config-manager --enable rhel-7-server-optional-rpms \
|
|||||||
|
|
||||||
{% block base_oraclelinux_package_installation %}
|
{% block base_oraclelinux_package_installation %}
|
||||||
COPY oraclelinux-extras.repo /etc/yum.repos.d/oraclelinux-extras.repo
|
COPY oraclelinux-extras.repo /etc/yum.repos.d/oraclelinux-extras.repo
|
||||||
RUN yum -y install \
|
RUN {{ macros.install_packages( ['tar', 'yum-utils', 'https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm' ], chain=True, clean=False) }} \
|
||||||
tar \
|
|
||||||
yum-utils \
|
|
||||||
https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm \
|
|
||||||
&& rpm -Uvh --nodeps \
|
&& rpm -Uvh --nodeps \
|
||||||
http://mirror.centos.org/centos-7/7/extras/x86_64/Packages/centos-release-ceph-luminous-1.1-2.el7.centos.noarch.rpm \
|
http://mirror.centos.org/centos-7/7/extras/x86_64/Packages/centos-release-ceph-luminous-1.1-2.el7.centos.noarch.rpm \
|
||||||
http://mirror.centos.org/centos-7/7/extras/x86_64/Packages/centos-release-opstools-1-8.el7.noarch.rpm \
|
http://mirror.centos.org/centos-7/7/extras/x86_64/Packages/centos-release-opstools-1-8.el7.noarch.rpm \
|
||||||
@ -203,8 +198,7 @@ RUN yum -y install \
|
|||||||
&& rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-SIG-Storage \
|
&& rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-SIG-Storage \
|
||||||
&& rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-SIG-Virtualization \
|
&& rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-SIG-Virtualization \
|
||||||
&& yum-config-manager --enable ol7_optional_latest ol7_addons \
|
&& yum-config-manager --enable ol7_optional_latest ol7_addons \
|
||||||
&& yum -y install \
|
&& {{ macros.install_packages( ['yum-plugin-priorities' ], chain=True, clean=False) }} \
|
||||||
yum-plugin-priorities \
|
|
||||||
&& {{ macros.rpm_security_update(clean_package_cache) }}
|
&& {{ macros.rpm_security_update(clean_package_cache) }}
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
|
|
||||||
|
@ -1,16 +1,17 @@
|
|||||||
{% macro install_packages(packages) -%}
|
{% macro install_packages(packages, chain=False, clean=clean_package_cache) -%}
|
||||||
{% if packages is defined and packages|length > 0 -%}
|
{% if packages is defined and packages|length > 0 -%}
|
||||||
{% if base_package_type == 'rpm' -%}
|
{% if not chain -%} RUN {% endif -%}
|
||||||
RUN {{ distro_package_manager }} -y install {{ packages | join(' ') }}
|
{%- if base_package_type == 'rpm' -%}
|
||||||
{%- if clean_package_cache %} \
|
{{ distro_package_manager }} -y install {{ packages | join(' ') }}
|
||||||
&& {{ distro_package_manager }} clean all && rm -rf /var/cache/{{ distro_package_manager }}{% endif %}
|
{%- if clean %} \
|
||||||
|
&& {{ distro_package_manager }} clean all && rm -rf /var/cache/{{ distro_package_manager }}{% endif -%}
|
||||||
{%- elif base_package_type == 'deb' -%}
|
{%- elif base_package_type == 'deb' -%}
|
||||||
{#-
|
{#-
|
||||||
debian_package_install is a utility method to build up an appropriate
|
debian_package_install is a utility method to build up an appropriate
|
||||||
set of commands to install packages in a debian-based environment that
|
set of commands to install packages in a debian-based environment that
|
||||||
may include URL links to a .deb package
|
may include URL links to a .deb package
|
||||||
-#}
|
-#}
|
||||||
RUN {{ debian_package_install(packages, clean_package_cache) }}
|
{{ debian_package_install(packages, clean) }}
|
||||||
{%- endif %}
|
{%- endif %}
|
||||||
{%- endif %}
|
{%- endif %}
|
||||||
{%- endmacro %}
|
{%- endmacro %}
|
||||||
|
Loading…
Reference in New Issue
Block a user