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