11FROM docker-syncd-mrvl-{{DOCKER_USERNAME}}:{{DOCKER_USERTAG}}
2+ {% from "dockers/dockerfile-macros.j2" import install_python_wheels , copy_files %}
23
34## Make apt-get non-interactive
45ENV DEBIAN_FRONTEND=noninteractive
@@ -20,37 +21,39 @@ RUN apt-get update \
2021 build-essential \
2122 libssl-dev \
2223 libffi-dev \
23- python -dev \
24+ python3 -dev \
2425 wget \
25- cmake \
2626 libqt5core5a \
2727 libqt5network5 \
28- libboost-atomic1.74.0
28+ libboost-atomic1.74.0 \
29+ libthrift-0.17.0 \
30+ libnanomsg5 \
31+ libnanomsg-dev
2932
3033RUN dpkg_apt() { [ -f $1 ] && { dpkg -i $1 || apt-get -y install -f; } || return 1; } ; \
3134{% for deb in docker_syncd_mrvl_rpc_debs .split (' ' ) -%}
3235dpkg_apt debs/{{ deb }}{{'; '}}
3336{% - endfor %}
3437
35- RUN wget https://github.com/nanomsg/nanomsg/archive/1.0.0.tar.gz \
36- && tar xvfz 1.0.0.tar.gz \
37- && cd nanomsg-1.0.0 \
38- && mkdir -p build \
39- && cmake . \
40- && make install \
41- && ldconfig \
42- && cd .. \
43- && rm -fr nanomsg-1.0.0 \
44- && rm -f 1.0.0.tar.gz \
45- && pip3 install cffi==1.7.0 \
46- && pip3 install --upgrade cffi==1.7.0 \
38+ RUN pip3 install cffi \
4739 && pip3 install nnpy \
4840 && mkdir -p /opt \
4941 && cd /opt \
50- && wget https://raw.githubusercontent.com/p4lang/ptf/master/ptf_nn/ptf_nn_agent.py \
51- && apt-get clean -y; apt-get autoclean -y; apt-get autoremove -y \
52- && rm -rf /root/deps
42+ && wget https://raw.githubusercontent.com/p4lang/ptf/master/ptf_nn/ptf_nn_agent.py
5343
5444COPY ["ptf_nn_agent.conf", "/etc/supervisor/conf.d/"]
5545
46+ {% if docker_syncd_mrvl_rpc_whls .strip () -%}
47+ # Copy locally-built Python wheel dependencies
48+ {{ copy_files("python-wheels/", docker_syncd_mrvl_rpc_whls.split(' '), "/python-wheels/") }}
49+
50+ # Install locally-built Python wheel dependencies
51+ {{ install_python_wheels(docker_syncd_mrvl_rpc_whls.split(' ')) }}
52+ {% endif %}
53+
54+ ## Clean up
55+ RUN apt-get purge -y libyaml-dev python3-dev libffi-dev libssl-dev wget build-essential
56+ RUN apt-get clean -y; apt-get autoclean -y; apt-get autoremove -y
57+ RUN rm -rf /root/deps
58+
5659ENTRYPOINT ["/usr/local/bin/supervisord"]
0 commit comments