libbpf-tools: Add verbose option to filetop
[platform/upstream/bcc.git] / Dockerfile.tests
1 ARG UBUNTU_VERSION="18.04"
2 FROM ubuntu:${UBUNTU_VERSION}
3
4 ARG LLVM_VERSION="11"
5 ENV LLVM_VERSION=$LLVM_VERSION
6
7 ARG UBUNTU_SHORTNAME="bionic"
8
9 RUN apt-get update && apt-get install -y curl gnupg &&\
10     llvmRepository="\n\
11 deb http://apt.llvm.org/${UBUNTU_SHORTNAME}/ llvm-toolchain-${UBUNTU_SHORTNAME} main\n\
12 deb-src http://apt.llvm.org/${UBUNTU_SHORTNAME}/ llvm-toolchain-${UBUNTU_SHORTNAME} main\n\
13 deb http://apt.llvm.org/${UBUNTU_SHORTNAME}/ llvm-toolchain-${UBUNTU_SHORTNAME}-${LLVM_VERSION} main\n\
14 deb-src http://apt.llvm.org/${UBUNTU_SHORTNAME}/ llvm-toolchain-${UBUNTU_SHORTNAME}-${LLVM_VERSION} main\n" &&\
15     echo $llvmRepository >> /etc/apt/sources.list && \
16     curl -L https://apt.llvm.org/llvm-snapshot.gpg.key | apt-key add -
17
18 ARG DEBIAN_FRONTEND="noninteractive"
19 ENV TZ="Etc/UTC"
20
21 RUN apt-get update && apt-get install -y \
22       util-linux \
23       bison \
24       binutils-dev \
25       cmake \
26       flex \
27       g++ \
28       git \
29       kmod \
30       wget \
31       libelf-dev \
32       zlib1g-dev \
33       libiberty-dev \
34       libbfd-dev \
35       libedit-dev \
36       clang-${LLVM_VERSION} \
37       libclang-${LLVM_VERSION}-dev \
38       libclang-common-${LLVM_VERSION}-dev \
39       libclang1-${LLVM_VERSION} \
40       llvm-${LLVM_VERSION} \
41       llvm-${LLVM_VERSION}-dev \
42       llvm-${LLVM_VERSION}-runtime \
43       libllvm${LLVM_VERSION} \
44       systemtap-sdt-dev \
45       sudo \
46       iproute2 \
47       python3 \
48       python3-pip \
49       ethtool \
50       arping \
51       netperf \
52       iperf \
53       iputils-ping \
54       bridge-utils \
55       libtinfo5 \
56       libtinfo-dev
57
58 RUN pip3 install pyroute2==0.5.18 netaddr==0.8.0 dnslib==0.9.14 cachetools==3.1.1
59
60 # FIXME this is faster than building from source, but it seems there is a bug
61 # in probing libruby.so rather than ruby binary
62 #RUN apt-get update -qq && \
63 #    apt-get install -y software-properties-common && \
64 #    apt-add-repository ppa:brightbox/ruby-ng && \
65 #    apt-get update -qq && apt-get install -y ruby2.6 ruby2.6-dev
66
67 RUN wget -O ruby-install-0.7.0.tar.gz \
68          https://github.com/postmodern/ruby-install/archive/v0.7.0.tar.gz && \
69     tar -xzvf ruby-install-0.7.0.tar.gz && \
70     cd ruby-install-0.7.0/ && \
71     make install
72
73 RUN ruby-install --system ruby 2.6.0 -- --enable-dtrace
74 RUN if [ ! -f "/usr/bin/python" ]; then ln -s /bin/python3 /usr/bin/python; fi