]> git.ipfire.org Git - thirdparty/dbus.git/commitdiff
CI: Don't install weak dependencies (Recommends)
authorSimon McVittie <smcv@collabora.com>
Wed, 5 Dec 2018 13:16:10 +0000 (13:16 +0000)
committerSimon McVittie <smcv@collabora.com>
Wed, 5 Dec 2018 14:54:24 +0000 (14:54 +0000)
In particular this avoids installing the TeX toolchain.

However, this also means we don't install dbus, which broke some tests
in minimal containers where dbus wasn't already installed, because the
messagebus user wouldn't have been created. Make sure that user exists,
using the same adduser call as the Debian dbus package.

CMake really wants to find a C++ compiler (even though we only use C++
when compiling for Windows), so explicitly install the default
version of the GNU C++ compiler, g++.

Signed-off-by: Simon McVittie <smcv@collabora.com>
tools/ci-install.sh

index e83285e8a7d855611937490b2b91396a73e85a12..0d9c769283de5857343e206e9c0986285d21f377 100755 (executable)
@@ -104,14 +104,14 @@ case "$ci_distro" in
 
         case "$ci_host" in
             (i686-w64-mingw32)
-                $sudo apt-get -qq -y install \
+                $sudo apt-get -qq -y --no-install-recommends install \
                     binutils-mingw-w64-i686 \
                     g++-mingw-w64-i686 \
                     $wine32 \
                     ${NULL}
                 ;;
             (x86_64-w64-mingw32)
-                $sudo apt-get -qq -y install \
+                $sudo apt-get -qq -y --no-install-recommends install \
                     binutils-mingw-w64-x86-64\
                     g++-mingw-w64-x86-64 \
                     $wine64 \
@@ -119,7 +119,8 @@ case "$ci_distro" in
                 ;;
         esac
 
-        $sudo apt-get -qq -y install \
+        $sudo apt-get -qq -y --no-install-recommends install \
+            adduser \
             autoconf-archive \
             automake \
             autotools-dev \
@@ -132,6 +133,8 @@ case "$ci_distro" in
             docbook-xsl \
             doxygen \
             dpkg-dev \
+            g++ \
+            gcc \
             gnome-desktop-testing \
             libapparmor-dev \
             libaudit-dev \
@@ -141,6 +144,7 @@ case "$ci_distro" in
             libselinux1-dev \
             libsystemd-dev \
             libx11-dev \
+            sudo \
             valgrind \
             wget \
             xauth \
@@ -149,11 +153,15 @@ case "$ci_distro" in
             xvfb \
             ${NULL}
 
+        # Make sure we have a messagebus user, even if the dbus package
+        # isn't installed
+        $sudo adduser --system --quiet --home /nonexistent --no-create-home \
+            --disabled-password --group messagebus
+
         if [ "$ci_in_docker" = yes ]; then
             # Add the user that we will use to do the build inside the
             # Docker container, and let them use sudo
             adduser --disabled-password user </dev/null
-            apt-get -y install sudo
             echo "user ALL=(ALL) NOPASSWD: ALL" > /etc/sudoers.d/nopasswd
             chmod 0440 /etc/sudoers.d/nopasswd
         fi
@@ -173,7 +181,7 @@ case "$ci_distro" in
 
             (*)
                 # assume Ubuntu 18.04 'bionic', Debian 10 'buster' or newer
-                $sudo apt-get -qq -y install ducktype
+                $sudo apt-get -qq -y --no-install-recommends install ducktype
                 ;;
         esac
         ;;