NetworkManager/.travis.yml
Thomas Haller 51d7ae2ba7 build/autotools: fail configure if netconfig/resolveconf tool is not found
If the user explicitly passes --with-netconfig=$PATH or --with-resolvconf=$PATH,
the path is accepted as is. We only do autodetection, if the binary was not found.

In that case, if the binary cannot be found in the common paths fail compilation.

(cherry picked from commit 5b36585a3d)
2018-09-13 14:35:35 +02:00

173 lines
5.3 KiB
YAML

language: c
dist: trusty
sudo: required
compiler:
- gcc
- clang
addons:
apt:
packages:
- autoconf
- libtool
- pkg-config
- intltool
- libdbus-glib-1-dev
- libdbus-1-dev
- libiw-dev
- libglib2.0-dev
- libmm-glib-dev
- ppp
- ppp-dev
- libpolkit-gobject-1-dev
- libgnutls-dev
- libgcrypt11-dev
- uuid-dev
- libudev-dev
- libgirepository1.0-dev
- gobject-introspection
- gtk-doc-tools
- libglib2.0-doc
- libreadline-dev
- libnewt-dev
- libnss3-dev
- iptables
- make
- python-software-properties
- python-gi
- python-dbus
- dbus
- dbus-x11
- libjansson4
- libjansson-dev
- libndp-dev
- automake
- dnsmasq
- libcurl4-gnutls-dev
- python3-pip
coverity_scan:
project:
name: NetworkManager/NetworkManager
build_command_prepend: sh autogen.sh --with-systemd-logind=no --enable-more-warnings=no --disable-ovs
build_command: make -j4
branch_pattern: .*coverity.*
before_install:
- sudo dbus-uuidgen --ensure
- |
if test "$BUILD_TYPE" == 'meson'; then
git clone https://github.com/ninja-build/ninja &&
pushd ninja &&
./configure.py --bootstrap &&
sudo cp ninja /usr/bin/ &&
popd
# Recent meson requires python 3.5, which isn't in Ubuntu 14.04.
# Hence we cannot install it via `pip3 install meson`. Install the latest
# working release.
#
# Wouldn't it be nice to have a build system that supports everything
# that NetworkManager would like to support?
wget https://github.com/mesonbuild/meson/releases/download/0.44.1/meson-0.44.1.tar.gz -O /tmp/meson.tar.gz
tar -C /tmp -xvzf /tmp/meson.tar.gz
pushd /tmp/meson-0.44.1
sudo python3 setup.py install
popd
fi
- sudo chmod o+x /usr/sbin/pppd
script:
- |
if test "$BUILD_TYPE" == 'meson'; then
if [ "$CC" == gcc ]; then
CRYPTO=nss
else
CRYPTO=gnutls
fi &&
meson build \
\
-D ld_gc=false \
-D session_tracking=no \
-D systemdsystemunitdir=no \
-D systemd_journal=false \
-D selinux=false \
-D libaudit=no \
-D libpsl=false \
-D vapi=false \
-D introspection=false \
-D qt=false \
-D crypto=$CRYPTO \
-D docs=true \
\
-D libnm_glib=true \
-D iwd=true \
-D ofono=true \
-D teamdctl=false \
\
-D dhclient=/bin/nowhere/dhclient \
-D dhcpcanon=/bin/nowhere/dhcpcanon \
-D dhcpcd=/bin/nowhere/dhcpd \
\
-D netconfig=/bin/nowhere/netconfig \
-D resolvconf=/bin/nowhere/resolvconf \
\
-D ifcfg_rh=false \
-D ibft=true \
-D ifupdown=true \
&&
ninja -C build &&
ninja -C build test
fi
- |
if test "$BUILD_TYPE" == 'autotools'; then
if [ "$CC" == gcc ]; then
CRYPTO=gnutls
else
CRYPTO=nss
fi &&
git clean -fdx &&
NOCONFIGURE=1 ./autogen.sh &&
mkdir ./build &&
pushd ./build &&
../configure \
--prefix="$PWD/INST" \
--enable-gtk-doc=yes \
--with-systemd-logind=no \
--enable-more-warnings=no \
--enable-tests=yes \
--with-crypto=$CRYPTO \
\
--with-libnm-glib=yes \
--with-iwd=yes \
--with-ofono=yes \
--enable-teamdctl=no \
\
--with-dhcpcanon=yes \
--with-dhcpcd=yes \
--with-dhclient=yes \
\
--with-netconfig=/bin/nowhere/netconfig \
--with-resolvconf=/bin/nowhere/resolvconf \
\
--enable-ifcfg-rh=yes \
--enable-config-plugin-ibft=yes \
--enable-ifupdown=yes \
&&
make -j4 &&
if [ "$CC" == gcc ]; then
sudo locale-gen pl_PL.UTF-8 &&
sudo make install &&
NM_TEST_CLIENT_CHECK_L10N=1 ../contrib/travis/travis-check.sh
else
../contrib/travis/travis-check.sh
fi &&
popd
fi
env:
matrix:
- BUILD_TYPE=autotools
- BUILD_TYPE=meson
global:
secure: K36MXkcsuDZ0msuEj5zHMmHfv6O725lsXuFdP6AJ3rYWKuLYE1+iNLgIRndNWDK9ckkNQFaCxDY4Z/NCfCYQTGAS9oXR5AwNqNbhOq8XrqdaZ2GX35sob8Tp4B3IsoREkN/UbIkXQKYlA5rUhgtSifUg3EwfeOiFvnLCwHcp0rYHnvT/jaq5vodBbA1jChjezcMHsp43kvPXHpybKRkipb9EzV/V3VtDLLWh9WQBvQNawpsHnT+MXSke1yU1zfNMyD9XiD7VDzCwaTs6LzjoFBLc86QS5U/9W72s0rFe6SbecntQHftknRzSrGiJDNe64wDZN/Wxq1MHxEOFCwDi6vcSwQ+RoTdhyshhfPVY2Mm5soj2w7Dx43Cz0dDZDCMhu5xxzFAFgkieJSfwXbuxga0ds58Ph8MgtDSp3fBRewZwI+vMuzl7a1hGkcqJojrm1lfgAKbNgrNUzQRwbVYAyrpa6/vCbd6ZH4PEtITwLaRf2mz8PG71xiMQguDDDXS8WF0U7Looe+G9ybAUwDS5hqHfeP+3q6bfN5Sg5Zs5QkBIN5LZbeWbPYldOEEDTvo3VI7e84bk7U5qEoUKc0w/tqVF1B5KgNUq6nIkCkmoBx8RFnmjpOHh99IfeRG9nQTRpCaEDvAM4fcRzITzId8dIIfAW/45P3ozzfz/HYiie+o=