CI: Avoid manual selecting package to install
For building dbus on CI several packages are required and were added to https://gitlab.freedesktop.org/dbus/dbus/-/blob/master/tools/ci-install.sh by hand.
Recently I saw another approach based on the capability of apt
to install build dependencies (see https://invent.kde.org/office/kmymoney/-/blob/master/.gitlab-ci.yml), which could reduce the number of required package updates by running
sed -i -- 's/#[ ]*deb-src/deb-src/g' /etc/apt/sources.list
apt update
apt build-dep -y dbus
which returns
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following NEW packages will be installed:
autoconf autoconf-archive automake autopoint autotools-dev binutils binutils-common binutils-x86-64-linux-gnu bsdmainutils build-essential cpp cpp-9 debhelper
dh-autoreconf dh-exec dh-strip-nondeterminism docbook-xml docbook-xsl doxygen dpkg-dev ducktype dwz file g++ g++-9 gcc gcc-9 gcc-9-base gettext gettext-base
gir1.2-glib-2.0 groff-base intltool-debian itstool libapparmor-dev libapparmor1 libarchive-zip-perl libasan5 libatomic1 libaudit-dev libbinutils libblkid-dev libbsd0
libc-dev-bin libc6-dbg libc6-dev libcap-ng-dev libcc1-0 libclang1-10 libcroco3 libcrypt-dev libctf-nobfd0 libctf0 libdbus-1-3 libdebhelper-perl libdpkg-perl libedit2
libelf1 libexpat1 libexpat1-dev libffi-dev libfile-stripnondeterminism-perl libgcc-9-dev libgdbm-compat4 libgdbm6 libgirepository-1.0-1 libglib2.0-0 libglib2.0-bin
libglib2.0-data libglib2.0-dev libglib2.0-dev-bin libgomp1 libicu66 libisl22 libitm1 libllvm10 liblsan0 libmagic-mgc libmagic1 libmount-dev libmpc3 libmpdec2 libmpfr6
libnss-wrapper libpcre16-3 libpcre2-16-0 libpcre2-32-0 libpcre2-dev libpcre2-posix2 libpcre3-dev libpcre32-3 libpcrecpp0v5 libperl5.30 libpipeline1 libpthread-stubs0-dev
libpython3-stdlib libpython3.8-minimal libpython3.8-stdlib libquadmath0 libreadline8 libselinux1-dev libsepol1-dev libsigsegv2 libsqlite3-0 libssl1.1 libstdc++-9-dev
libsub-override-perl libsystemd-dev libtool libtsan0 libubsan1 libuchardet0 libx11-6 libx11-data libx11-dev libxapian30 libxau-dev libxau6 libxcb1 libxcb1-dev libxdmcp-dev
libxdmcp6 libxml2 libxml2-utils libxslt1.1 linux-libc-dev m4 make man-db mime-support patch perl perl-modules-5.30 pkg-config po-debconf python3 python3-dbus
python3-distutils python3-gi python3-lib2to3 python3-libxml2 python3-mallard.ducktype python3-minimal python3-pkg-resources python3.8 python3.8-minimal readline-common
sgml-base sgml-data tzdata uuid-dev valgrind x11proto-core-dev x11proto-dev xml-core xmlto xorg-sgml-doctools xsltproc xtrans-dev xz-utils yelp-tools yelp-xsl zlib1g-dev
The following packages will be upgraded:
libsystemd0
1 upgraded, 163 newly installed, 0 to remove and 5 not upgraded.
Need to get 140 MB of archives.
...