14ec740e1SAlex Bennée# THIS FILE WAS AUTO-GENERATED
22b1c10bdSPhilippe Mathieu-Daudé#
34ec740e1SAlex Bennée#  $ lcitool dockerfile --layers all --cross ppc64le debian-11 qemu
42b1c10bdSPhilippe Mathieu-Daudé#
54ec740e1SAlex Bennée# https://gitlab.com/libvirt/libvirt-ci
62b1c10bdSPhilippe Mathieu-Daudé
74ec740e1SAlex BennéeFROM docker.io/library/debian:11-slim
82b1c10bdSPhilippe Mathieu-Daudé
94ec740e1SAlex BennéeRUN export DEBIAN_FRONTEND=noninteractive && \
104ec740e1SAlex Bennée    apt-get update && \
114ec740e1SAlex Bennée    apt-get install -y eatmydata && \
124ec740e1SAlex Bennée    eatmydata apt-get dist-upgrade -y && \
134ec740e1SAlex Bennée    eatmydata apt-get install --no-install-recommends -y \
144ec740e1SAlex Bennée                      bash \
154ec740e1SAlex Bennée                      bc \
168fae3910SAnton Johansson                      bison \
174ec740e1SAlex Bennée                      bsdextrautils \
184ec740e1SAlex Bennée                      bzip2 \
194ec740e1SAlex Bennée                      ca-certificates \
204ec740e1SAlex Bennée                      ccache \
214ec740e1SAlex Bennée                      dbus \
224ec740e1SAlex Bennée                      debianutils \
234ec740e1SAlex Bennée                      diffutils \
244ec740e1SAlex Bennée                      exuberant-ctags \
254ec740e1SAlex Bennée                      findutils \
268fae3910SAnton Johansson                      flex \
274ec740e1SAlex Bennée                      gcovr \
284ec740e1SAlex Bennée                      genisoimage \
294ec740e1SAlex Bennée                      gettext \
304ec740e1SAlex Bennée                      git \
314ec740e1SAlex Bennée                      hostname \
328fae3910SAnton Johansson                      libglib2.0-dev \
334ec740e1SAlex Bennée                      libpcre2-dev \
348f4bcbcfSBrad Smith                      libsndio-dev \
354ec740e1SAlex Bennée                      libspice-protocol-dev \
364ec740e1SAlex Bennée                      llvm \
374ec740e1SAlex Bennée                      locales \
384ec740e1SAlex Bennée                      make \
394ec740e1SAlex Bennée                      meson \
404ec740e1SAlex Bennée                      ncat \
414ec740e1SAlex Bennée                      ninja-build \
424ec740e1SAlex Bennée                      openssh-client \
434ec740e1SAlex Bennée                      pkgconf \
444ec740e1SAlex Bennée                      python3 \
454ec740e1SAlex Bennée                      python3-numpy \
464ec740e1SAlex Bennée                      python3-opencv \
474ec740e1SAlex Bennée                      python3-pillow \
484ec740e1SAlex Bennée                      python3-pip \
494ec740e1SAlex Bennée                      python3-sphinx \
504ec740e1SAlex Bennée                      python3-sphinx-rtd-theme \
514ec740e1SAlex Bennée                      python3-venv \
524ec740e1SAlex Bennée                      python3-yaml \
534ec740e1SAlex Bennée                      rpm2cpio \
544ec740e1SAlex Bennée                      sed \
55ab4c1361SAlex Bennée                      socat \
564ec740e1SAlex Bennée                      sparse \
574ec740e1SAlex Bennée                      tar \
584ec740e1SAlex Bennée                      tesseract-ocr \
59*bbe30763SAlex Bennée                      tesseract-ocr-eng \
60*bbe30763SAlex Bennée                      zstd && \
614ec740e1SAlex Bennée    eatmydata apt-get autoremove -y && \
624ec740e1SAlex Bennée    eatmydata apt-get autoclean -y && \
634ec740e1SAlex Bennée    sed -Ei 's,^# (en_US\.UTF-8 .*)$,\1,' /etc/locale.gen && \
644ec740e1SAlex Bennée    dpkg-reconfigure locales
652b1c10bdSPhilippe Mathieu-Daudé
668f4bcbcfSBrad SmithENV CCACHE_WRAPPERSDIR "/usr/libexec/ccache-wrappers"
674ec740e1SAlex BennéeENV LANG "en_US.UTF-8"
684ec740e1SAlex BennéeENV MAKE "/usr/bin/make"
694ec740e1SAlex BennéeENV NINJA "/usr/bin/ninja"
704ec740e1SAlex BennéeENV PYTHON "/usr/bin/python3"
714ec740e1SAlex Bennée
724ec740e1SAlex BennéeRUN export DEBIAN_FRONTEND=noninteractive && \
734ec740e1SAlex Bennée    dpkg --add-architecture ppc64el && \
744ec740e1SAlex Bennée    eatmydata apt-get update && \
754ec740e1SAlex Bennée    eatmydata apt-get dist-upgrade -y && \
764ec740e1SAlex Bennée    eatmydata apt-get install --no-install-recommends -y dpkg-dev && \
774ec740e1SAlex Bennée    eatmydata apt-get install --no-install-recommends -y \
784ec740e1SAlex Bennée                      g++-powerpc64le-linux-gnu \
794ec740e1SAlex Bennée                      gcc-powerpc64le-linux-gnu \
804ec740e1SAlex Bennée                      libaio-dev:ppc64el \
814ec740e1SAlex Bennée                      libasan5:ppc64el \
824ec740e1SAlex Bennée                      libasound2-dev:ppc64el \
834ec740e1SAlex Bennée                      libattr1-dev:ppc64el \
844ec740e1SAlex Bennée                      libbpf-dev:ppc64el \
854ec740e1SAlex Bennée                      libbrlapi-dev:ppc64el \
864ec740e1SAlex Bennée                      libbz2-dev:ppc64el \
874ec740e1SAlex Bennée                      libc6-dev:ppc64el \
884ec740e1SAlex Bennée                      libcacard-dev:ppc64el \
894ec740e1SAlex Bennée                      libcap-ng-dev:ppc64el \
904ec740e1SAlex Bennée                      libcapstone-dev:ppc64el \
91feb6cb93SDaniel P. Berrangé                      libcmocka-dev:ppc64el \
924ec740e1SAlex Bennée                      libcurl4-gnutls-dev:ppc64el \
934ec740e1SAlex Bennée                      libdaxctl-dev:ppc64el \
944ec740e1SAlex Bennée                      libdrm-dev:ppc64el \
954ec740e1SAlex Bennée                      libepoxy-dev:ppc64el \
964ec740e1SAlex Bennée                      libfdt-dev:ppc64el \
974ec740e1SAlex Bennée                      libffi-dev:ppc64el \
984ec740e1SAlex Bennée                      libfuse3-dev:ppc64el \
994ec740e1SAlex Bennée                      libgbm-dev:ppc64el \
1004ec740e1SAlex Bennée                      libgcrypt20-dev:ppc64el \
1014ec740e1SAlex Bennée                      libglib2.0-dev:ppc64el \
1024ec740e1SAlex Bennée                      libglusterfs-dev:ppc64el \
1034ec740e1SAlex Bennée                      libgnutls28-dev:ppc64el \
1044ec740e1SAlex Bennée                      libgtk-3-dev:ppc64el \
1054ec740e1SAlex Bennée                      libibumad-dev:ppc64el \
1064ec740e1SAlex Bennée                      libibverbs-dev:ppc64el \
1074ec740e1SAlex Bennée                      libiscsi-dev:ppc64el \
1084ec740e1SAlex Bennée                      libjemalloc-dev:ppc64el \
1094ec740e1SAlex Bennée                      libjpeg62-turbo-dev:ppc64el \
110feb6cb93SDaniel P. Berrangé                      libjson-c-dev:ppc64el \
1114ec740e1SAlex Bennée                      liblttng-ust-dev:ppc64el \
1124ec740e1SAlex Bennée                      liblzo2-dev:ppc64el \
1134ec740e1SAlex Bennée                      libncursesw5-dev:ppc64el \
1144ec740e1SAlex Bennée                      libnfs-dev:ppc64el \
1154ec740e1SAlex Bennée                      libnuma-dev:ppc64el \
1164ec740e1SAlex Bennée                      libpam0g-dev:ppc64el \
1174ec740e1SAlex Bennée                      libpixman-1-dev:ppc64el \
1184ec740e1SAlex Bennée                      libpng-dev:ppc64el \
1194ec740e1SAlex Bennée                      libpulse-dev:ppc64el \
1204ec740e1SAlex Bennée                      librbd-dev:ppc64el \
1214ec740e1SAlex Bennée                      librdmacm-dev:ppc64el \
1224ec740e1SAlex Bennée                      libsasl2-dev:ppc64el \
1234ec740e1SAlex Bennée                      libsdl2-dev:ppc64el \
1244ec740e1SAlex Bennée                      libsdl2-image-dev:ppc64el \
1254ec740e1SAlex Bennée                      libseccomp-dev:ppc64el \
1264ec740e1SAlex Bennée                      libselinux1-dev:ppc64el \
1274ec740e1SAlex Bennée                      libslirp-dev:ppc64el \
1284ec740e1SAlex Bennée                      libsnappy-dev:ppc64el \
1294ec740e1SAlex Bennée                      libspice-server-dev:ppc64el \
1304ec740e1SAlex Bennée                      libssh-gcrypt-dev:ppc64el \
1314ec740e1SAlex Bennée                      libsystemd-dev:ppc64el \
1324ec740e1SAlex Bennée                      libtasn1-6-dev:ppc64el \
1334ec740e1SAlex Bennée                      libubsan1:ppc64el \
1344ec740e1SAlex Bennée                      libudev-dev:ppc64el \
1354ec740e1SAlex Bennée                      liburing-dev:ppc64el \
1364ec740e1SAlex Bennée                      libusb-1.0-0-dev:ppc64el \
1374ec740e1SAlex Bennée                      libusbredirhost-dev:ppc64el \
1384ec740e1SAlex Bennée                      libvdeplug-dev:ppc64el \
1394ec740e1SAlex Bennée                      libvirglrenderer-dev:ppc64el \
1404ec740e1SAlex Bennée                      libvte-2.91-dev:ppc64el \
1414ec740e1SAlex Bennée                      libzstd-dev:ppc64el \
1424ec740e1SAlex Bennée                      nettle-dev:ppc64el \
1434ec740e1SAlex Bennée                      systemtap-sdt-dev:ppc64el \
1444ec740e1SAlex Bennée                      xfslibs-dev:ppc64el \
1454ec740e1SAlex Bennée                      zlib1g-dev:ppc64el && \
1464ec740e1SAlex Bennée    eatmydata apt-get autoremove -y && \
1474ec740e1SAlex Bennée    eatmydata apt-get autoclean -y && \
1484ec740e1SAlex Bennée    mkdir -p /usr/local/share/meson/cross && \
1494ec740e1SAlex Bennée    echo "[binaries]\n\
1504ec740e1SAlex Bennéec = '/usr/bin/powerpc64le-linux-gnu-gcc'\n\
1514ec740e1SAlex Bennéear = '/usr/bin/powerpc64le-linux-gnu-gcc-ar'\n\
1524ec740e1SAlex Bennéestrip = '/usr/bin/powerpc64le-linux-gnu-strip'\n\
1534ec740e1SAlex Bennéepkgconfig = '/usr/bin/powerpc64le-linux-gnu-pkg-config'\n\
1544ec740e1SAlex Bennée\n\
1554ec740e1SAlex Bennée[host_machine]\n\
1564ec740e1SAlex Bennéesystem = 'linux'\n\
1574ec740e1SAlex Bennéecpu_family = 'ppc64'\n\
1584ec740e1SAlex Bennéecpu = 'powerpc64le'\n\
1594ec740e1SAlex Bennéeendian = 'little'" > /usr/local/share/meson/cross/powerpc64le-linux-gnu && \
1604ec740e1SAlex Bennée    dpkg-query --showformat '${Package}_${Version}_${Architecture}\n' --show > /packages.txt && \
1614ec740e1SAlex Bennée    mkdir -p /usr/libexec/ccache-wrappers && \
1624ec740e1SAlex Bennée    ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/powerpc64le-linux-gnu-c++ && \
1634ec740e1SAlex Bennée    ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/powerpc64le-linux-gnu-cc && \
1644ec740e1SAlex Bennée    ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/powerpc64le-linux-gnu-g++ && \
1654ec740e1SAlex Bennée    ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/powerpc64le-linux-gnu-gcc
1664ec740e1SAlex Bennée
1674ec740e1SAlex BennéeENV ABI "powerpc64le-linux-gnu"
1684ec740e1SAlex BennéeENV MESON_OPTS "--cross-file=powerpc64le-linux-gnu"
1692b1c10bdSPhilippe Mathieu-DaudéENV QEMU_CONFIGURE_OPTS --cross-prefix=powerpc64le-linux-gnu-
17074154d7eSThomas HuthENV DEF_TARGET_LIST ppc64-softmmu,ppc64-linux-user
1715b8bcf6bSAlex Bennée# As a final step configure the user (if env is defined)
1725b8bcf6bSAlex BennéeARG USER
1735b8bcf6bSAlex BennéeARG UID
1745b8bcf6bSAlex BennéeRUN if [ "${USER}" ]; then \
1755b8bcf6bSAlex Bennée  id ${USER} 2>/dev/null || useradd -u ${UID} -U ${USER}; fi
176