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