1*8e721c32SAlex Bennée# THIS FILE WAS AUTO-GENERATED 2*8e721c32SAlex Bennée# 3*8e721c32SAlex Bennée# $ lcitool dockerfile --layers all debian-12 qemu 4*8e721c32SAlex Bennée# 5*8e721c32SAlex Bennée# https://gitlab.com/libvirt/libvirt-ci 6*8e721c32SAlex Bennée 7*8e721c32SAlex BennéeFROM docker.io/library/debian:12-slim 8*8e721c32SAlex Bennée 9*8e721c32SAlex BennéeRUN export DEBIAN_FRONTEND=noninteractive && \ 10*8e721c32SAlex Bennée apt-get update && \ 11*8e721c32SAlex Bennée apt-get install -y eatmydata && \ 12*8e721c32SAlex Bennée eatmydata apt-get dist-upgrade -y && \ 13*8e721c32SAlex Bennée eatmydata apt-get install --no-install-recommends -y \ 14*8e721c32SAlex Bennée bash \ 15*8e721c32SAlex Bennée bc \ 16*8e721c32SAlex Bennée bison \ 17*8e721c32SAlex Bennée bsdextrautils \ 18*8e721c32SAlex Bennée bzip2 \ 19*8e721c32SAlex Bennée ca-certificates \ 20*8e721c32SAlex Bennée ccache \ 21*8e721c32SAlex Bennée clang \ 22*8e721c32SAlex Bennée dbus \ 23*8e721c32SAlex Bennée debianutils \ 24*8e721c32SAlex Bennée diffutils \ 25*8e721c32SAlex Bennée exuberant-ctags \ 26*8e721c32SAlex Bennée findutils \ 27*8e721c32SAlex Bennée flex \ 28*8e721c32SAlex Bennée g++ \ 29*8e721c32SAlex Bennée gcc \ 30*8e721c32SAlex Bennée gcovr \ 31*8e721c32SAlex Bennée gettext \ 32*8e721c32SAlex Bennée git \ 33*8e721c32SAlex Bennée hostname \ 34*8e721c32SAlex Bennée libaio-dev \ 35*8e721c32SAlex Bennée libasan6 \ 36*8e721c32SAlex Bennée libasound2-dev \ 37*8e721c32SAlex Bennée libattr1-dev \ 38*8e721c32SAlex Bennée libbpf-dev \ 39*8e721c32SAlex Bennée libbrlapi-dev \ 40*8e721c32SAlex Bennée libbz2-dev \ 41*8e721c32SAlex Bennée libc6-dev \ 42*8e721c32SAlex Bennée libcacard-dev \ 43*8e721c32SAlex Bennée libcap-ng-dev \ 44*8e721c32SAlex Bennée libcapstone-dev \ 45*8e721c32SAlex Bennée libcmocka-dev \ 46*8e721c32SAlex Bennée libcurl4-gnutls-dev \ 47*8e721c32SAlex Bennée libdaxctl-dev \ 48*8e721c32SAlex Bennée libdrm-dev \ 49*8e721c32SAlex Bennée libepoxy-dev \ 50*8e721c32SAlex Bennée libfdt-dev \ 51*8e721c32SAlex Bennée libffi-dev \ 52*8e721c32SAlex Bennée libfuse3-dev \ 53*8e721c32SAlex Bennée libgbm-dev \ 54*8e721c32SAlex Bennée libgcrypt20-dev \ 55*8e721c32SAlex Bennée libglib2.0-dev \ 56*8e721c32SAlex Bennée libglusterfs-dev \ 57*8e721c32SAlex Bennée libgnutls28-dev \ 58*8e721c32SAlex Bennée libgtk-3-dev \ 59*8e721c32SAlex Bennée libibumad-dev \ 60*8e721c32SAlex Bennée libibverbs-dev \ 61*8e721c32SAlex Bennée libiscsi-dev \ 62*8e721c32SAlex Bennée libjemalloc-dev \ 63*8e721c32SAlex Bennée libjpeg62-turbo-dev \ 64*8e721c32SAlex Bennée libjson-c-dev \ 65*8e721c32SAlex Bennée liblttng-ust-dev \ 66*8e721c32SAlex Bennée liblzo2-dev \ 67*8e721c32SAlex Bennée libncursesw5-dev \ 68*8e721c32SAlex Bennée libnfs-dev \ 69*8e721c32SAlex Bennée libnuma-dev \ 70*8e721c32SAlex Bennée libpam0g-dev \ 71*8e721c32SAlex Bennée libpcre2-dev \ 72*8e721c32SAlex Bennée libpipewire-0.3-dev \ 73*8e721c32SAlex Bennée libpixman-1-dev \ 74*8e721c32SAlex Bennée libpmem-dev \ 75*8e721c32SAlex Bennée libpng-dev \ 76*8e721c32SAlex Bennée libpulse-dev \ 77*8e721c32SAlex Bennée librbd-dev \ 78*8e721c32SAlex Bennée librdmacm-dev \ 79*8e721c32SAlex Bennée libsasl2-dev \ 80*8e721c32SAlex Bennée libsdl2-dev \ 81*8e721c32SAlex Bennée libsdl2-image-dev \ 82*8e721c32SAlex Bennée libseccomp-dev \ 83*8e721c32SAlex Bennée libselinux1-dev \ 84*8e721c32SAlex Bennée libslirp-dev \ 85*8e721c32SAlex Bennée libsnappy-dev \ 86*8e721c32SAlex Bennée libsndio-dev \ 87*8e721c32SAlex Bennée libspice-protocol-dev \ 88*8e721c32SAlex Bennée libspice-server-dev \ 89*8e721c32SAlex Bennée libssh-gcrypt-dev \ 90*8e721c32SAlex Bennée libsystemd-dev \ 91*8e721c32SAlex Bennée libtasn1-6-dev \ 92*8e721c32SAlex Bennée libubsan1 \ 93*8e721c32SAlex Bennée libudev-dev \ 94*8e721c32SAlex Bennée liburing-dev \ 95*8e721c32SAlex Bennée libusb-1.0-0-dev \ 96*8e721c32SAlex Bennée libusbredirhost-dev \ 97*8e721c32SAlex Bennée libvdeplug-dev \ 98*8e721c32SAlex Bennée libvirglrenderer-dev \ 99*8e721c32SAlex Bennée libvte-2.91-dev \ 100*8e721c32SAlex Bennée libxdp-dev \ 101*8e721c32SAlex Bennée libxen-dev \ 102*8e721c32SAlex Bennée libzstd-dev \ 103*8e721c32SAlex Bennée llvm \ 104*8e721c32SAlex Bennée locales \ 105*8e721c32SAlex Bennée make \ 106*8e721c32SAlex Bennée meson \ 107*8e721c32SAlex Bennée mtools \ 108*8e721c32SAlex Bennée multipath-tools \ 109*8e721c32SAlex Bennée ncat \ 110*8e721c32SAlex Bennée nettle-dev \ 111*8e721c32SAlex Bennée ninja-build \ 112*8e721c32SAlex Bennée openssh-client \ 113*8e721c32SAlex Bennée pkgconf \ 114*8e721c32SAlex Bennée python3 \ 115*8e721c32SAlex Bennée python3-numpy \ 116*8e721c32SAlex Bennée python3-opencv \ 117*8e721c32SAlex Bennée python3-pillow \ 118*8e721c32SAlex Bennée python3-pip \ 119*8e721c32SAlex Bennée python3-sphinx \ 120*8e721c32SAlex Bennée python3-sphinx-rtd-theme \ 121*8e721c32SAlex Bennée python3-venv \ 122*8e721c32SAlex Bennée python3-yaml \ 123*8e721c32SAlex Bennée rpm2cpio \ 124*8e721c32SAlex Bennée sed \ 125*8e721c32SAlex Bennée socat \ 126*8e721c32SAlex Bennée sparse \ 127*8e721c32SAlex Bennée swtpm \ 128*8e721c32SAlex Bennée systemtap-sdt-dev \ 129*8e721c32SAlex Bennée tar \ 130*8e721c32SAlex Bennée tesseract-ocr \ 131*8e721c32SAlex Bennée tesseract-ocr-eng \ 132*8e721c32SAlex Bennée xfslibs-dev \ 133*8e721c32SAlex Bennée xorriso \ 134*8e721c32SAlex Bennée zlib1g-dev \ 135*8e721c32SAlex Bennée zstd && \ 136*8e721c32SAlex Bennée eatmydata apt-get autoremove -y && \ 137*8e721c32SAlex Bennée eatmydata apt-get autoclean -y && \ 138*8e721c32SAlex Bennée sed -Ei 's,^# (en_US\.UTF-8 .*)$,\1,' /etc/locale.gen && \ 139*8e721c32SAlex Bennée dpkg-reconfigure locales && \ 140*8e721c32SAlex Bennée dpkg-query --showformat '${Package}_${Version}_${Architecture}\n' --show > /packages.txt && \ 141*8e721c32SAlex Bennée mkdir -p /usr/libexec/ccache-wrappers && \ 142*8e721c32SAlex Bennée ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/c++ && \ 143*8e721c32SAlex Bennée ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/cc && \ 144*8e721c32SAlex Bennée ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/clang && \ 145*8e721c32SAlex Bennée ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/g++ && \ 146*8e721c32SAlex Bennée ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/gcc 147*8e721c32SAlex Bennée 148*8e721c32SAlex BennéeENV CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers" 149*8e721c32SAlex BennéeENV LANG "en_US.UTF-8" 150*8e721c32SAlex BennéeENV MAKE "/usr/bin/make" 151*8e721c32SAlex BennéeENV NINJA "/usr/bin/ninja" 152*8e721c32SAlex BennéeENV PYTHON "/usr/bin/python3" 153*8e721c32SAlex Bennée# netmap/cscope/global 154*8e721c32SAlex BennéeRUN DEBIAN_FRONTEND=noninteractive eatmydata \ 155*8e721c32SAlex Bennée apt install -y --no-install-recommends \ 156*8e721c32SAlex Bennée cscope\ 157*8e721c32SAlex Bennée global\ 158*8e721c32SAlex Bennée linux-headers-generic 159*8e721c32SAlex BennéeRUN git clone https://github.com/luigirizzo/netmap.git /usr/src/netmap 160*8e721c32SAlex BennéeRUN cd /usr/src/netmap && git checkout v11.3 161*8e721c32SAlex BennéeRUN cd /usr/src/netmap/LINUX && \ 162*8e721c32SAlex Bennée ./configure --no-drivers --no-apps \ 163*8e721c32SAlex Bennée --kernel-dir=$(ls -d /usr/src/linux-headers-*-$(dpkg --print-architecture)) \ 164*8e721c32SAlex Bennée && make install 165*8e721c32SAlex BennéeENV QEMU_CONFIGURE_OPTS --enable-netmap 166*8e721c32SAlex Bennée# As a final step configure the user (if env is defined) 167*8e721c32SAlex BennéeARG USER 168*8e721c32SAlex BennéeARG UID 169*8e721c32SAlex BennéeRUN if [ "${USER}" ]; then \ 170*8e721c32SAlex Bennée id ${USER} 2>/dev/null || useradd -u ${UID} -U ${USER}; fi 171