xref: /aosp_15_r20/external/bcc/docker/build/Dockerfile.fedora (revision 387f9dfdfa2baef462e92476d413c7bc2470293e)
1*387f9dfdSAndroid Build Coastguard Worker# Copyright (c) PLUMgrid, Inc.
2*387f9dfdSAndroid Build Coastguard Worker# Licensed under the Apache License, Version 2.0 (the "License")
3*387f9dfdSAndroid Build Coastguard Worker
4*387f9dfdSAndroid Build Coastguard WorkerARG VERSION="34"
5*387f9dfdSAndroid Build Coastguard WorkerFROM fedora:${VERSION}
6*387f9dfdSAndroid Build Coastguard Worker
7*387f9dfdSAndroid Build Coastguard WorkerARG RUBY_INSTALL_VERSION="0.8.4"
8*387f9dfdSAndroid Build Coastguard WorkerENV RUBY_INSTALL_VERSION=$RUBY_INSTALL_VERSION
9*387f9dfdSAndroid Build Coastguard Worker
10*387f9dfdSAndroid Build Coastguard WorkerARG RUBY_VERSION="3.1.2"
11*387f9dfdSAndroid Build Coastguard WorkerENV RUBY_VERSION=$RUBY_VERSION
12*387f9dfdSAndroid Build Coastguard Worker
13*387f9dfdSAndroid Build Coastguard WorkerMAINTAINER Dave Marchevsky <[email protected]>
14*387f9dfdSAndroid Build Coastguard Worker
15*387f9dfdSAndroid Build Coastguard WorkerRUN dnf -y install \
16*387f9dfdSAndroid Build Coastguard Worker	bison \
17*387f9dfdSAndroid Build Coastguard Worker	cmake \
18*387f9dfdSAndroid Build Coastguard Worker	flex \
19*387f9dfdSAndroid Build Coastguard Worker	gcc \
20*387f9dfdSAndroid Build Coastguard Worker	gcc-c++ \
21*387f9dfdSAndroid Build Coastguard Worker	git \
22*387f9dfdSAndroid Build Coastguard Worker	libxml2-devel \
23*387f9dfdSAndroid Build Coastguard Worker	make \
24*387f9dfdSAndroid Build Coastguard Worker	rpm-build \
25*387f9dfdSAndroid Build Coastguard Worker	wget \
26*387f9dfdSAndroid Build Coastguard Worker	zlib-devel \
27*387f9dfdSAndroid Build Coastguard Worker	llvm \
28*387f9dfdSAndroid Build Coastguard Worker	llvm-devel \
29*387f9dfdSAndroid Build Coastguard Worker	clang-devel \
30*387f9dfdSAndroid Build Coastguard Worker	elfutils-debuginfod-client-devel \
31*387f9dfdSAndroid Build Coastguard Worker#	elfutils-libelf-devel-static \
32*387f9dfdSAndroid Build Coastguard Worker	elfutils-libelf-devel \
33*387f9dfdSAndroid Build Coastguard Worker	luajit \
34*387f9dfdSAndroid Build Coastguard Worker	luajit-devel \
35*387f9dfdSAndroid Build Coastguard Worker	python3-devel \
36*387f9dfdSAndroid Build Coastguard Worker	libstdc++ \
37*387f9dfdSAndroid Build Coastguard Worker	libstdc++-devel \
38*387f9dfdSAndroid Build Coastguard Worker	systemtap-sdt-devel
39*387f9dfdSAndroid Build Coastguard Worker
40*387f9dfdSAndroid Build Coastguard WorkerRUN dnf -y install \
41*387f9dfdSAndroid Build Coastguard Worker	python3 \
42*387f9dfdSAndroid Build Coastguard Worker	python3-pip
43*387f9dfdSAndroid Build Coastguard Worker
44*387f9dfdSAndroid Build Coastguard WorkerRUN dnf -y install \
45*387f9dfdSAndroid Build Coastguard Worker       rust \
46*387f9dfdSAndroid Build Coastguard Worker       cargo
47*387f9dfdSAndroid Build Coastguard Worker
48*387f9dfdSAndroid Build Coastguard WorkerRUN if [[ ! -e /usr/bin/python && -e /usr/bin/python3 ]]; then \
49*387f9dfdSAndroid Build Coastguard Worker        ln -s $(readlink /usr/bin/python3) /usr/bin/python; \
50*387f9dfdSAndroid Build Coastguard Worker    fi
51*387f9dfdSAndroid Build Coastguard Worker
52*387f9dfdSAndroid Build Coastguard WorkerRUN dnf -y install \
53*387f9dfdSAndroid Build Coastguard Worker	procps \
54*387f9dfdSAndroid Build Coastguard Worker	iputils \
55*387f9dfdSAndroid Build Coastguard Worker	net-tools \
56*387f9dfdSAndroid Build Coastguard Worker	hostname \
57*387f9dfdSAndroid Build Coastguard Worker	iproute \
58*387f9dfdSAndroid Build Coastguard Worker	bpftool \
59*387f9dfdSAndroid Build Coastguard Worker	iperf \
60*387f9dfdSAndroid Build Coastguard Worker	netperf
61*387f9dfdSAndroid Build Coastguard Worker
62*387f9dfdSAndroid Build Coastguard WorkerRUN pip3 install pyroute2==0.5.18 netaddr==0.8.0 dnslib==0.9.14 cachetools==3.1.1
63*387f9dfdSAndroid Build Coastguard Worker
64*387f9dfdSAndroid Build Coastguard WorkerRUN wget -O ruby-install-${RUBY_INSTALL_VERSION}.tar.gz \
65*387f9dfdSAndroid Build Coastguard Worker         https://github.com/postmodern/ruby-install/archive/v${RUBY_INSTALL_VERSION}.tar.gz && \
66*387f9dfdSAndroid Build Coastguard Worker    tar -xzvf ruby-install-${RUBY_INSTALL_VERSION}.tar.gz && \
67*387f9dfdSAndroid Build Coastguard Worker    cd ruby-install-${RUBY_INSTALL_VERSION}/ && \
68*387f9dfdSAndroid Build Coastguard Worker    make install && \
69*387f9dfdSAndroid Build Coastguard Worker    cd .. && \
70*387f9dfdSAndroid Build Coastguard Worker    rm -rf ruby-install-${RUBY_INSTALL_VERSION}*
71*387f9dfdSAndroid Build Coastguard Worker
72*387f9dfdSAndroid Build Coastguard WorkerRUN ruby-install --system ruby ${RUBY_VERSION} -c -- --enable-dtrace
73*387f9dfdSAndroid Build Coastguard Worker
74