Home | History | Annotate | Line # | Download | only in ci
      1  1.1  mrg FROM debian:testing
      2  1.1  mrg 
      3  1.1  mrg ENV DEBIAN_FRONTEND=noninteractive
      4  1.1  mrg 
      5  1.1  mrg RUN echo 'path-exclude=/usr/share/doc/*' > /etc/dpkg/dpkg.cfg.d/99-exclude-cruft
      6  1.1  mrg RUN echo 'path-exclude=/usr/share/man/*' >> /etc/dpkg/dpkg.cfg.d/99-exclude-cruft
      7  1.1  mrg RUN echo '#!/bin/sh' > /usr/sbin/policy-rc.d
      8  1.1  mrg RUN echo 'exit 101' >> /usr/sbin/policy-rc.d
      9  1.1  mrg RUN chmod +x /usr/sbin/policy-rc.d
     10  1.1  mrg 
     11  1.1  mrg RUN dpkg --add-architecture arm64
     12  1.1  mrg RUN echo deb-src http://deb.debian.org/debian testing main >> /etc/apt/sources.list
     13  1.1  mrg RUN apt-get update && \
     14  1.1  mrg     apt-get -y install ca-certificates && \
     15  1.1  mrg     apt-get -y install --no-install-recommends \
     16  1.1  mrg       crossbuild-essential-arm64 \
     17  1.1  mrg       meson \
     18  1.1  mrg       g++ \
     19  1.1  mrg       git \
     20  1.1  mrg       ccache \
     21  1.1  mrg       pkg-config \
     22  1.1  mrg       python3-mako \
     23  1.1  mrg       python-numpy \
     24  1.1  mrg       python-six \
     25  1.1  mrg       python-mako \
     26  1.1  mrg       python3-pip \
     27  1.1  mrg       python3-setuptools \
     28  1.1  mrg       python3-six \
     29  1.1  mrg       python3-wheel \
     30  1.1  mrg       python3-jinja2 \
     31  1.1  mrg       bison \
     32  1.1  mrg       flex \
     33  1.1  mrg       libwayland-dev \
     34  1.1  mrg       gettext \
     35  1.1  mrg       cmake \
     36  1.1  mrg       bc \
     37  1.1  mrg       libssl-dev \
     38  1.1  mrg       lavacli \
     39  1.1  mrg       csvkit \
     40  1.1  mrg       curl \
     41  1.1  mrg       unzip \
     42  1.1  mrg       wget \
     43  1.1  mrg       debootstrap \
     44  1.1  mrg       procps \
     45  1.1  mrg       qemu-user-static \
     46  1.1  mrg       cpio \
     47  1.1  mrg       \
     48  1.1  mrg       libdrm-dev:arm64 \
     49  1.1  mrg       libx11-dev:arm64 \
     50  1.1  mrg       libxxf86vm-dev:arm64 \
     51  1.1  mrg       libexpat1-dev:arm64 \
     52  1.1  mrg       libsensors-dev:arm64 \
     53  1.1  mrg       libxfixes-dev:arm64 \
     54  1.1  mrg       libxdamage-dev:arm64 \
     55  1.1  mrg       libxext-dev:arm64 \
     56  1.1  mrg       x11proto-dev:arm64 \
     57  1.1  mrg       libx11-xcb-dev:arm64 \
     58  1.1  mrg       libxcb-dri2-0-dev:arm64 \
     59  1.1  mrg       libxcb-glx0-dev:arm64 \
     60  1.1  mrg       libxcb-xfixes0-dev:arm64 \
     61  1.1  mrg       libxcb-dri3-dev:arm64 \
     62  1.1  mrg       libxcb-present-dev:arm64 \
     63  1.1  mrg       libxcb-randr0-dev:arm64 \
     64  1.1  mrg       libxcb-sync-dev:arm64 \
     65  1.1  mrg       libxrandr-dev:arm64 \
     66  1.1  mrg       libxshmfence-dev:arm64 \
     67  1.1  mrg       libelf-dev:arm64 \
     68  1.1  mrg       libwayland-dev:arm64 \
     69  1.1  mrg       libwayland-egl-backend-dev:arm64 \
     70  1.1  mrg       libclang-7-dev:arm64 \
     71  1.1  mrg       zlib1g-dev:arm64 \
     72  1.1  mrg       libglvnd-core-dev:arm64 \
     73  1.1  mrg       wayland-protocols:arm64 \
     74  1.1  mrg       libpng-dev:arm64 && \
     75  1.1  mrg     rm -rf /var/lib/apt/lists
     76  1.1  mrg 
     77  1.1  mrg RUN mkdir -p /artifacts/rootfs/deqp                                             && \
     78  1.1  mrg   wget https://github.com/KhronosGroup/VK-GL-CTS/archive/opengl-es-cts-3.2.5.0.zip && \
     79  1.1  mrg   unzip opengl-es-cts-3.2.5.0.zip -d /                                          && \
     80  1.1  mrg   rm opengl-es-cts-3.2.5.0.zip                                                  && \
     81  1.1  mrg   cd /VK-GL-CTS-opengl-es-cts-3.2.5.0                                           && \
     82  1.1  mrg   python3 external/fetch_sources.py                                             && \
     83  1.1  mrg   cd /artifacts/rootfs/deqp                                                     && \
     84  1.1  mrg   cmake -DDEQP_TARGET=wayland                                                      \
     85  1.1  mrg     -DCMAKE_BUILD_TYPE=Release                                                     \
     86  1.1  mrg     -DCMAKE_C_COMPILER=aarch64-linux-gnu-gcc                                       \
     87  1.1  mrg     -DCMAKE_CXX_COMPILER=aarch64-linux-gnu-g++                                     \
     88  1.1  mrg     /VK-GL-CTS-opengl-es-cts-3.2.5.0                                            && \
     89  1.1  mrg   make -j$(nproc)                                                               && \
     90  1.1  mrg   rm -rf /artifacts/rootfs/deqp/external                                        && \
     91  1.1  mrg   rm -rf /artifacts/rootfs/deqp/modules/gles3                                   && \
     92  1.1  mrg   rm -rf /artifacts/rootfs/deqp/modules/gles31                                  && \
     93  1.1  mrg   rm -rf /artifacts/rootfs/deqp/modules/internal                                && \
     94  1.1  mrg   rm -rf /artifacts/rootfs/deqp/executor                                        && \
     95  1.1  mrg   rm -rf /artifacts/rootfs/deqp/execserver                                      && \
     96  1.1  mrg   rm -rf /artifacts/rootfs/deqp/modules/egl                                     && \
     97  1.1  mrg   rm -rf /artifacts/rootfs/deqp/framework                                       && \
     98  1.1  mrg   find . -name CMakeFiles | xargs rm -rf                                        && \
     99  1.1  mrg   find . -name lib\*.a | xargs rm -rf                                           && \
    100  1.1  mrg   du -sh *                                                                      && \
    101  1.1  mrg   rm -rf /VK-GL-CTS-opengl-es-cts-3.2.5.0
    102  1.1  mrg 
    103  1.1  mrg # TODO: Switch to 5.2-rc* when the time comes
    104  1.1  mrg COPY arm64.config /panfrost-ci/
    105  1.1  mrg RUN mkdir -p /kernel                                                                   && \
    106  1.1  mrg   wget https://github.com/freedesktop/drm-misc/archive/drm-misc-next-2019-04-18.tar.gz && \
    107  1.1  mrg   tar xvfz drm-misc-next-2019-04-18.tar.gz -C /kernel --strip-components=1             && \
    108  1.1  mrg   rm drm-misc-next-2019-04-18.tar.gz                                                   && \
    109  1.1  mrg   cd /kernel                                                                           && \
    110  1.1  mrg   ARCH=arm64 CROSS_COMPILE="aarch64-linux-gnu-" ./scripts/kconfig/merge_config.sh arch/arm64/configs/defconfig /panfrost-ci/arm64.config && \
    111  1.1  mrg   ARCH=arm64 CROSS_COMPILE="aarch64-linux-gnu-" make -j12 Image dtbs                   && \
    112  1.1  mrg   cp arch/arm64/boot/Image /artifacts/.                                                && \
    113  1.1  mrg   cp arch/arm64/boot/dts/rockchip/rk3399-gru-kevin.dtb /artifacts/.                    && \
    114  1.1  mrg   rm -rf /kernel
    115  1.1  mrg 
    116  1.1  mrg COPY create-rootfs.sh /artifacts/rootfs/
    117  1.1  mrg RUN debootstrap --variant=minbase --arch=arm64 testing /artifacts/rootfs/ http://deb.debian.org/debian && \
    118  1.1  mrg     chroot /artifacts/rootfs sh /create-rootfs.sh                                                      && \
    119  1.1  mrg     rm /artifacts/rootfs/create-rootfs.sh
    120  1.1  mrg 
    121  1.1  mrg ENTRYPOINT [""]