[docker-fpm-frr]: Fix build with frr used for routing stack (#1728)

After commit 832be7b8f4 ("[dockers] Prevent apt-get from installing
suggested and recommended packages by default (#1666)") SONiC fails
to build when FRR is used for routing stack (e.g. SONIC_ROUTING_STACK
is set to frr in rules/config).

To fix issue just replicate changes from docker-fpm-quagga to
docker-fpm-frr to make dependencies installed correctly after above
change to package installing behaviour.

Signed-off-by: Sergey Popovich <sergey.popovich@ordnance.co>
This commit is contained in:
Serhey Popovych 2018-06-23 04:46:05 +03:00 committed by lguohan
parent a2a6aead4c
commit bac572229e

View File

@ -1,26 +1,31 @@
FROM docker-config-engine FROM docker-config-engine
## Make apt-get non-interactive # Make apt-get non-interactive
ENV DEBIAN_FRONTEND=noninteractive ENV DEBIAN_FRONTEND=noninteractive
# Update apt's cache of available packages
RUN apt-get update RUN apt-get update
# Install required packages
RUN apt-get install -y libdbus-1-3 libdaemon0 libjansson4 libc-ares2 iproute RUN apt-get install -y libdbus-1-3 libdaemon0 libjansson4 libc-ares2 iproute
COPY \ {% if docker_fpm_frr_debs.strip() -%}
{% for deb in docker_fpm_frr_debs.split(' ') -%} # Copy locally-built Debian package dependencies
debs/{{ deb }}{{' '}} {%- for deb in docker_fpm_frr_debs.split(' ') %}
{%- endfor -%} COPY debs/{{ deb }} /debs/
debs/
RUN dpkg -i \
{% for deb in docker_fpm_frr_debs.split(' ') -%}
debs/{{ deb }}{{' '}}
{%- endfor %} {%- endfor %}
## Clean up # Install locally-built Debian packages and implicitly install their dependencies
RUN apt-get clean -y; apt-get autoclean -y; apt-get autoremove -y {%- for deb in docker_fpm_frr_debs.split(' ') %}
RUN rm -rf /debs RUN dpkg_apt() { [ -f $1 ] && { dpkg -i $1 || apt-get -y install -f; } || return 1; }; dpkg_apt /debs/{{ deb }}
{%- endfor %}
{%- endif %}
# Clean up
RUN apt-get clean -y
RUN apt-get autoclean -y
RUN apt-get autoremove -y
RUN rm -rf /debs ~/.cache
COPY ["*.j2", "/usr/share/sonic/templates/"] COPY ["*.j2", "/usr/share/sonic/templates/"]
COPY ["start.sh", "config.sh", "/usr/bin/"] COPY ["start.sh", "config.sh", "/usr/bin/"]