[evince/wip/gpoo/update-ci: 1/7] ci: Update versions for gitlab-ci's Docker image




commit cf4c422d102cbd48a1585a775b24534f30f94f38
Author: Germán Poo-Caamaño <gpoo gnome org>
Date:   Tue Mar 1 21:59:45 2022 -0300

    ci: Update versions for gitlab-ci's Docker image
    
    * Upgrade image to Ubuntu 21.10
    * Build libarchive 3.6.0 and poppler 22.02.0, install the
      dependencies necessaries to build them
    * Avoid installation of recommended packages

 .gitlab-ci/setup-ubuntu.sh   | 70 +++++++++++++++++++++++++++++++-------------
 .gitlab-ci/ubuntu.Dockerfile |  4 +--
 2 files changed, 51 insertions(+), 23 deletions(-)
---
diff --git a/.gitlab-ci/setup-ubuntu.sh b/.gitlab-ci/setup-ubuntu.sh
index 7be3eec63..0a88e549b 100644
--- a/.gitlab-ci/setup-ubuntu.sh
+++ b/.gitlab-ci/setup-ubuntu.sh
@@ -1,27 +1,55 @@
-#!/bin/bash
+#!/bin/sh
 
 export DEBIAN_FRONTEND=noninteractive
 
 apt-get -yqq update
-apt-get -yqq install apt-utils
-apt-get -yq install gnome-common libglib2.0-dev-bin \
-                    yelp-tools itstool gtk-doc-tools \
-                    appstream \
-                    libgirepository1.0-dev  \
-                    libgtk-3-dev libgstreamer1.0-dev \
-                    libgstreamer-plugins-base1.0-dev \
-                    libxml2-dev libxml2-utils \
-                    libnautilus-extension-dev \
-                    libsecret-1-dev libgspell-1-dev libgnome-desktop-3-dev \
-                    libpoppler-glib-dev poppler-data \
-                    libspectre-dev libtiff5-dev libdjvulibre-dev \
-                    libkpathsea-dev libarchive-dev libgxps-dev \
-                    libhandy-1-dev libsynctex-dev git \
-                    ccache systemd ninja-build python3-pip \
-                    python3-jinja2 python3-toml python3-typogrify
-apt-get clean
-rm -rf /var/lib/apt/lists/*
 
-pip3 install meson gi-docgen
+# Install apt-utils to avoid delaying package configuration
+apt-get -yqq install --no-install-recommends \
+    apt-utils
+
+apt-get -yqq install --no-install-recommends \
+    gnome-common libglib2.0-dev-bin \
+    yelp-tools itstool appstream \
+    libgirepository1.0-dev libgtk-3-dev \
+    libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev \
+    libxml2-dev libxml2-utils \
+    libsecret-1-dev libgspell-1-dev \
+    libgnome-desktop-3-dev libnautilus-extension-dev \
+    libspectre-dev libtiff5-dev libdjvulibre-dev \
+    libkpathsea-dev libgxps-dev libsynctex-dev \
+    git ccache systemd ninja-build meson
+
+# Install gi-docgen and its dependencies
+apt-get -yqq install --no-install-recommends \
+    python3-pip python3-jinja2 python3-toml python3-typogrify
+
+pip install gi-docgen
+
+# Install dependencies to build libarchive
+apt-get -yqq install --no-install-recommends \
+    cmake liblz4-dev libzstd-dev libb2-dev libssl-dev
+
+# Install dependencies to build poppler
+apt-get -yqq install --no-install-recommends \
+    poppler-data libboost-container-dev libopenjp2-7-dev libcurl4-openssl-dev
+
+git clone --depth 1 --branch v3.6.0 \
+    https://github.com/libarchive/libarchive.git /tmp/libarchive
+cd /tmp/libarchive
+cmake .; make --silent -j4; make install
+
+git clone --depth 1 --branch poppler-22.02.0 \
+    https://gitlab.freedesktop.org/poppler/poppler.git /tmp/poppler
+cd /tmp/poppler
+cmake -DBUILD_GTK_TESTS=OFF, -DBUILD_CPP_TESTS=OFF, -DENABLE_UTILS=OFF, \
+    -DENABLE_CPP=OFF, -DENABLE_GOBJECT_INTROSPECTION=OFF, \
+    -DENABLE_LIBOPENJPEG=openjpeg2 -DENABLE_QT5=OFF -DENABLE_QT6=OFF \
+    -DBUILD_GTK_TESTS=OFF -DBUILD_CPP_TESTS=OFF -G Ninja .
+ninja && ninja install
+
+# Clean up
+apt-get clean
+rm -rf /tmp/libarchive /tmp/poppler
 
-useradd -u 1984 -ms /bin/bash user
+useradd -u 1984 -ms /bin/sh user
diff --git a/.gitlab-ci/ubuntu.Dockerfile b/.gitlab-ci/ubuntu.Dockerfile
index 7c56b2528..fdc6457b2 100644
--- a/.gitlab-ci/ubuntu.Dockerfile
+++ b/.gitlab-ci/ubuntu.Dockerfile
@@ -1,9 +1,9 @@
-FROM ubuntu:20.10
+FROM ubuntu:21.10
 
 ENV LANG C.UTF-8
 
 ADD setup-ubuntu.sh /opt/
-RUN /bin/bash /opt/setup-ubuntu.sh
+RUN /bin/sh /opt/setup-ubuntu.sh
 
 USER user
 WORKDIR /home/user


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]