summaryrefslogtreecommitdiff
path: root/.gitlab-ci
diff options
context:
space:
mode:
authorMichel Dänzer <michel.daenzer@amd.com>2018-12-11 11:47:16 +0100
committerMichel Dänzer <michel@daenzer.net>2018-12-11 11:47:16 +0100
commitbe862ed459b06ab7dfc80b5c3d1e2ac7e9327a6e (patch)
treee1f29f1209be243bfb0e14b135e6ff69ccad3f3d /.gitlab-ci
parentb11ee02c4596ddee3c9ff2141be5c91815efacc3 (diff)
Generate docker image as part of CI pipeline
This removes the dependency on an externally generated docker image, and should make it easier to update the docker image or make other changes related to it. v2: * If the image doesn't exist, try pulling it from the main repo's registry. * Use debian:testing-slim as the base, might result in a slightly smaller image. v3: * Prevent installation of packages which are only recommended, for an even smaller image. * Add recommendation to remove new image from source repository in favour of the main repository's. Acked-by: Alex Deucher <alexander.deucher@amd.com> # v2
Diffstat (limited to '.gitlab-ci')
-rw-r--r--.gitlab-ci/Dockerfile64
1 files changed, 64 insertions, 0 deletions
diff --git a/.gitlab-ci/Dockerfile b/.gitlab-ci/Dockerfile
new file mode 100644
index 0000000..161edb5
--- /dev/null
+++ b/.gitlab-ci/Dockerfile
@@ -0,0 +1,64 @@
+FROM debian:testing-slim
+
+WORKDIR /tmp
+
+RUN export DEBIAN_FRONTEND=noninteractive; \
+ echo 'path-exclude=/usr/share/doc/*' > /etc/dpkg/dpkg.cfg.d/99-exclude-cruft && \
+ echo 'path-exclude=/usr/share/locale/*' >> /etc/dpkg/dpkg.cfg.d/99-exclude-cruft && \
+ echo 'path-exclude=/usr/share/man/*' >> /etc/dpkg/dpkg.cfg.d/99-exclude-cruft && \
+ echo 'APT::Get::Build-Dep-Automatic "true";' > /etc/apt/apt.conf && \
+ echo 'APT::Install-Recommends "false";' >> /etc/apt/apt.conf && \
+ echo '#!/bin/sh' > /usr/sbin/policy-rc.d && \
+ echo 'exit 101' >> /usr/sbin/policy-rc.d && \
+ chmod +x /usr/sbin/policy-rc.d && \
+ echo 'deb-src https://deb.debian.org/debian testing main' >/etc/apt/sources.list.d/deb-src.list && \
+ apt-get update && \
+ apt-get install -y git ca-certificates build-essential automake autoconf libtool pkg-config && \
+ apt-get build-dep -y xorg-server && \
+ \
+ git clone https://gitlab.freedesktop.org/xorg/lib/libXfont.git && \
+ cd libXfont && \
+ git checkout libXfont-1.5-branch && \
+ ./autogen.sh && \
+ make install-pkgconfigDATA && \
+ cd .. && rm -rf libXfont && \
+ git clone https://gitlab.freedesktop.org/xorg/xserver.git && \
+ cd xserver && \
+ git checkout server-1.13-branch && \
+ ./autogen.sh --prefix=/usr/local/xserver-1.13 --enable-dri2 && \
+ make -C include install-nodist_sdkHEADERS && \
+ make install-headers install-aclocalDATA install-pkgconfigDATA clean && \
+ git checkout server-1.14-branch && \
+ ./autogen.sh --prefix=/usr/local/xserver-1.14 --enable-dri2 && \
+ make -C include install-nodist_sdkHEADERS && \
+ make install-headers install-aclocalDATA install-pkgconfigDATA clean && \
+ git checkout server-1.15-branch && \
+ ./autogen.sh --prefix=/usr/local/xserver-1.15 --enable-dri2 && \
+ make -C include install-nodist_sdkHEADERS && \
+ make install-headers install-aclocalDATA install-pkgconfigDATA clean && \
+ git checkout server-1.16-branch && \
+ ./autogen.sh --prefix=/usr/local/xserver-1.16 --enable-dri2 --enable-dri3 --enable-glamor && \
+ make -C include install-nodist_sdkHEADERS && \
+ make install-headers install-aclocalDATA install-pkgconfigDATA clean && \
+ git checkout server-1.17-branch && \
+ ./autogen.sh --prefix=/usr/local/xserver-1.17 --enable-dri2 --enable-dri3 --enable-glamor && \
+ make -C include install-nodist_sdkHEADERS && \
+ make install-headers install-aclocalDATA install-pkgconfigDATA clean && \
+ git checkout server-1.18-branch && \
+ ./autogen.sh --prefix=/usr/local/xserver-1.18 --enable-dri2 --enable-dri3 --enable-glamor && \
+ make -C include install-nodist_sdkHEADERS && \
+ make install-headers install-aclocalDATA install-pkgconfigDATA clean && \
+ git checkout server-1.19-branch && \
+ ./autogen.sh --prefix=/usr/local/xserver-1.19 --enable-dri2 --enable-dri3 --enable-glamor && \
+ make -C include install-nodist_sdkHEADERS && \
+ make install-headers install-aclocalDATA install-pkgconfigDATA clean && \
+ git checkout server-1.20-branch && \
+ ./autogen.sh --prefix=/usr/local/xserver-1.20 --enable-dri2 --enable-dri3 --enable-glamor && \
+ make -C include install-nodist_sdkHEADERS && \
+ make install-headers install-aclocalDATA install-pkgconfigDATA clean && \
+ cd .. && rm -rf xserver && \
+ \
+ apt-get install -y clang xutils-dev libdrm-dev libgl1-mesa-dev libgbm-dev libudev-dev \
+ x11proto-dev libpixman-1-dev libpciaccess-dev && \
+ apt-get purge -y git ca-certificates && apt-get autoremove -y --purge && \
+ apt-get clean && rm -f /var/lib/apt/lists/deb.debian.org_debian_dists_testing_*