summaryrefslogtreecommitdiff
path: root/tools
diff options
context:
space:
mode:
authorSimon McVittie <simon.mcvittie@collabora.co.uk>2016-11-28 13:11:48 +0000
committerSimon McVittie <simon.mcvittie@collabora.co.uk>2016-11-29 12:37:27 +0000
commitc807f383a98416858bdc2ee695b1c9e8536234d6 (patch)
treeadb8166ac4725cdd0854450420135b18c334174e /tools
parent854ef13dfb9c45fd7b026c8156ac43d2d0056717 (diff)
downloaddbus-c807f383a98416858bdc2ee695b1c9e8536234d6.tar.gz
dbus-c807f383a98416858bdc2ee695b1c9e8536234d6.tar.bz2
dbus-c807f383a98416858bdc2ee695b1c9e8536234d6.zip
travis-ci: add an install script instead of open-coding it in .travis.yml
Reviewed-by: Philip Withnall <philip.withnall@collabora.co.uk> [smcv: move comment to install script as suggested] Signed-off-by: Simon McVittie <simon.mcvittie@collabora.co.uk> Bug: https://bugs.freedesktop.org/show_bug.cgi?id=98889
Diffstat (limited to 'tools')
-rwxr-xr-xtools/ci-install.sh101
1 files changed, 101 insertions, 0 deletions
diff --git a/tools/ci-install.sh b/tools/ci-install.sh
new file mode 100755
index 00000000..9731f585
--- /dev/null
+++ b/tools/ci-install.sh
@@ -0,0 +1,101 @@
+#!/bin/bash
+
+# Copyright © 2015-2016 Collabora Ltd.
+#
+# Permission is hereby granted, free of charge, to any person
+# obtaining a copy of this software and associated documentation files
+# (the "Software"), to deal in the Software without restriction,
+# including without limitation the rights to use, copy, modify, merge,
+# publish, distribute, sublicense, and/or sell copies of the Software,
+# and to permit persons to whom the Software is furnished to do so,
+# subject to the following conditions:
+#
+# The above copyright notice and this permission notice shall be
+# included in all copies or substantial portions of the Software.
+#
+# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
+# BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
+# ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+# CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+# SOFTWARE.
+
+set -euo pipefail
+set -x
+
+NULL=
+: "${ci_distro:=ubuntu}"
+: "${ci_host:=native}"
+: "${ci_suite:=trusty}"
+
+if [ $(id -u) = 0 ]; then
+ sudo=
+else
+ sudo=sudo
+fi
+
+case "$ci_distro" in
+ (debian|ubuntu)
+ # travis-ci has a sources list for Chrome which doesn't support i386
+ : | $sudo tee /etc/apt/sources.list.d/google-chrome.list
+
+ if [ "$ci_host" = mingw ]; then
+ $sudo dpkg --add-architecture i386
+ fi
+
+ $sudo apt-get -qq -y update
+
+ if [ "$ci_host" = mingw ]; then
+ $sudo apt-get -qq -y install \
+ binutils-mingw-w64-i686 \
+ g++-mingw-w64-i686 \
+ wine:i386 \
+ ${NULL}
+ fi
+
+ $sudo apt-get -qq -y build-dep dbus
+
+ $sudo apt-get -qq -y install \
+ automake \
+ autotools-dev \
+ debhelper \
+ dh-autoreconf \
+ doxygen \
+ dpkg-dev \
+ gnome-desktop-testing \
+ libapparmor-dev \
+ libaudit-dev \
+ libcap-ng-dev \
+ libexpat-dev \
+ libglib2.0-dev \
+ libselinux1-dev \
+ libx11-dev \
+ python \
+ python-dbus \
+ python-gi \
+ valgrind \
+ xauth \
+ xmlto \
+ xsltproc \
+ xvfb \
+ ${NULL}
+
+ case "$ci_suite" in
+ (trusty|jessie)
+ # Ubuntu 14.04's autoconf-archive is too old
+ wget http://snapshot.debian.org/archive/debian/20160905T163745Z/pool/main/a/autoconf-archive/autoconf-archive_20160320-1_all.deb
+ $sudo dpkg -i autoconf-archive_*_all.deb
+ rm autoconf-archive_*_all.deb
+ ;;
+ esac
+ ;;
+
+ (*)
+ echo "Don't know how to set up ${ci_distro}" >&2
+ exit 1
+ ;;
+esac
+
+# vim:set sw=4 sts=4 et: