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