mirror of
https://gitlab.freedesktop.org/dbus/dbus.git
synced 2026-02-04 17:40:31 +01:00
tools/ci-install.sh: merge multiple calls to apt-get
This required a reorganization of the steps that had been carried out.
The new order is:
1. install packages with apt-get
2. create user for build if required
3. fetch and unpack tar balls
4. create messagebus user
(cherry picked from commit 478484f13c)
[backport for 1.12.x: This branch still needed python-dbus, python-gi]
Signed-off-by: Simon McVittie <smcv@collabora.com>
This commit is contained in:
parent
331e05dc5d
commit
e9b0e6069d
1 changed files with 101 additions and 73 deletions
|
|
@ -117,23 +117,108 @@ case "$ci_distro" in
|
|||
esac
|
||||
|
||||
$sudo apt-get -qq -y update
|
||||
packages=()
|
||||
|
||||
case "$ci_host" in
|
||||
(i686-w64-mingw32)
|
||||
$sudo apt-get -qq -y --no-install-recommends install \
|
||||
binutils-mingw-w64-i686 \
|
||||
g++-mingw-w64-i686 \
|
||||
$wine32 \
|
||||
${NULL}
|
||||
packages=(
|
||||
"${packages[@]}"
|
||||
binutils-mingw-w64-i686
|
||||
g++-mingw-w64-i686
|
||||
$wine32 wine
|
||||
)
|
||||
;;
|
||||
(x86_64-w64-mingw32)
|
||||
$sudo apt-get -qq -y --no-install-recommends install \
|
||||
binutils-mingw-w64-x86-64\
|
||||
g++-mingw-w64-x86-64 \
|
||||
$wine64 \
|
||||
${NULL}
|
||||
packages=(
|
||||
"${packages[@]}"
|
||||
binutils-mingw-w64-x86-64
|
||||
g++-mingw-w64-x86-64
|
||||
$wine64 wine
|
||||
)
|
||||
;;
|
||||
esac
|
||||
|
||||
if [ "$ci_host/$ci_variant/$ci_suite" = "native/production/buster" ]; then
|
||||
packages=(
|
||||
"${packages[@]}"
|
||||
qttools5-dev-tools
|
||||
qt5-default
|
||||
)
|
||||
fi
|
||||
|
||||
packages=(
|
||||
"${packages[@]}"
|
||||
adduser
|
||||
autoconf-archive
|
||||
automake
|
||||
autotools-dev
|
||||
ccache
|
||||
cmake
|
||||
debhelper
|
||||
dh-autoreconf
|
||||
dh-exec
|
||||
docbook-xml
|
||||
docbook-xsl
|
||||
doxygen
|
||||
dpkg-dev
|
||||
g++
|
||||
gcc
|
||||
gnome-desktop-testing
|
||||
libapparmor-dev
|
||||
libaudit-dev
|
||||
libcap-ng-dev
|
||||
libexpat-dev
|
||||
libglib2.0-dev
|
||||
libselinux1-dev
|
||||
libsystemd-dev
|
||||
libx11-dev
|
||||
python
|
||||
python-dbus
|
||||
python-gi
|
||||
sudo
|
||||
valgrind
|
||||
wget
|
||||
xauth
|
||||
xmlto
|
||||
xsltproc
|
||||
xvfb
|
||||
)
|
||||
|
||||
case "$ci_suite" in
|
||||
(stretch)
|
||||
# Debian 9 'stretch' didn't have the ducktype package
|
||||
;;
|
||||
|
||||
(*)
|
||||
# assume Ubuntu 18.04 'bionic', Debian 10 'buster' or newer
|
||||
packages=(
|
||||
"${packages[@]}"
|
||||
ducktype yelp-tools
|
||||
)
|
||||
;;
|
||||
esac
|
||||
|
||||
$sudo apt-get -qq -y --no-install-recommends install "${packages[@]}"
|
||||
|
||||
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 --gecos "" user
|
||||
echo "user ALL=(ALL) NOPASSWD: ALL" > /etc/sudoers.d/nopasswd
|
||||
chmod 0440 /etc/sudoers.d/nopasswd
|
||||
fi
|
||||
|
||||
# manual package setup
|
||||
case "$ci_suite" in
|
||||
(jessie|xenial)
|
||||
# autoconf-archive in Debian 8 and Ubuntu 16.04 is too old,
|
||||
# use the one from Debian 9 instead
|
||||
wget http://deb.debian.org/debian/pool/main/a/autoconf-archive/autoconf-archive_20160916-1_all.deb
|
||||
$sudo dpkg -i autoconf-archive_*_all.deb
|
||||
rm autoconf-archive_*_all.deb
|
||||
;;
|
||||
esac
|
||||
|
||||
case "$ci_host" in
|
||||
(*-w64-mingw32)
|
||||
mirror=http://repo.msys2.org/mingw/${ci_host%%-*}
|
||||
|
|
@ -155,79 +240,22 @@ case "$ci_distro" in
|
|||
libwinpthread-git-8.0.0.5814.9dbf4cc1-1 \
|
||||
pcre-8.44-1 \
|
||||
zlib-1.2.11-7 \
|
||||
; do
|
||||
; do
|
||||
wget ${mirror}/mingw-w64-${ci_host%%-*}-${pkg}-any.pkg.tar.xz
|
||||
tar -xvf mingw-w64-${ci_host%%-*}-${pkg}-any.pkg.tar.xz
|
||||
done
|
||||
|
||||
# limit access rights
|
||||
if [ "$ci_in_docker" = yes ]; then
|
||||
chown -R user "${mingw}"
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
|
||||
$sudo apt-get -qq -y --no-install-recommends install \
|
||||
adduser \
|
||||
autoconf-archive \
|
||||
automake \
|
||||
autotools-dev \
|
||||
ccache \
|
||||
cmake \
|
||||
debhelper \
|
||||
dh-autoreconf \
|
||||
dh-exec \
|
||||
doxygen \
|
||||
dpkg-dev \
|
||||
g++ \
|
||||
gcc \
|
||||
gnome-desktop-testing \
|
||||
libapparmor-dev \
|
||||
libaudit-dev \
|
||||
libcap-ng-dev \
|
||||
libexpat-dev \
|
||||
libglib2.0-dev \
|
||||
libselinux1-dev \
|
||||
libsystemd-dev \
|
||||
libx11-dev \
|
||||
python \
|
||||
python-dbus \
|
||||
python-gi \
|
||||
sudo \
|
||||
valgrind \
|
||||
wget \
|
||||
xauth \
|
||||
xmlto \
|
||||
xsltproc \
|
||||
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 --gecos "" user
|
||||
echo "user ALL=(ALL) NOPASSWD: ALL" > /etc/sudoers.d/nopasswd
|
||||
chmod 0440 /etc/sudoers.d/nopasswd
|
||||
fi
|
||||
|
||||
case "$ci_suite" in
|
||||
(jessie|xenial)
|
||||
# autoconf-archive in Debian 8 and Ubuntu 16.04 is too old,
|
||||
# use the one from Debian 9 instead
|
||||
wget http://deb.debian.org/debian/pool/main/a/autoconf-archive/autoconf-archive_20160916-1_all.deb
|
||||
$sudo dpkg -i autoconf-archive_*_all.deb
|
||||
rm autoconf-archive_*_all.deb
|
||||
;;
|
||||
|
||||
(stretch)
|
||||
# Debian 9 'stretch' didn't have the ducktype package
|
||||
;;
|
||||
|
||||
(*)
|
||||
# assume Ubuntu 18.04 'bionic', Debian 10 'buster' or newer
|
||||
$sudo apt-get -qq -y --no-install-recommends install ducktype yelp-tools
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
|
||||
(*)
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue