# Derived from Nicolas Iooss: https://github.com/fishilico/selinux-refpolicy-patched/blob/travis-upstream/.travis.yml language: generic matrix: fast_finish: true # for T in standard mls mcs ; do for D in arch debian gentoo ; do for I in n y ; do for M in y n ; do for S in n y ; do # echo " - TYPE=$T DISTRO=$D DIRECT_INITRC=$I MONOLITHIC=$M SYSTEMD=$S" ; done ; done ; done ; done ; done env: - TYPE=standard DISTRO=gentoo DIRECT_INITRC=n MONOLITHIC=y SYSTEMD=n - TYPE=standard DISTRO=gentoo DIRECT_INITRC=n MONOLITHIC=y SYSTEMD=y - TYPE=standard DISTRO=gentoo DIRECT_INITRC=n MONOLITHIC=n SYSTEMD=n - TYPE=standard DISTRO=gentoo DIRECT_INITRC=n MONOLITHIC=n SYSTEMD=y - TYPE=standard DISTRO=gentoo DIRECT_INITRC=y MONOLITHIC=y SYSTEMD=n - TYPE=standard DISTRO=gentoo DIRECT_INITRC=y MONOLITHIC=y SYSTEMD=y - TYPE=standard DISTRO=gentoo DIRECT_INITRC=y MONOLITHIC=n SYSTEMD=n - TYPE=standard DISTRO=gentoo DIRECT_INITRC=y MONOLITHIC=n SYSTEMD=y - TYPE=mcs DISTRO=gentoo DIRECT_INITRC=n MONOLITHIC=y SYSTEMD=n - TYPE=mcs DISTRO=gentoo DIRECT_INITRC=n MONOLITHIC=y SYSTEMD=y - TYPE=mcs DISTRO=gentoo DIRECT_INITRC=n MONOLITHIC=n SYSTEMD=n - TYPE=mcs DISTRO=gentoo DIRECT_INITRC=n MONOLITHIC=n SYSTEMD=y - TYPE=mcs DISTRO=gentoo DIRECT_INITRC=y MONOLITHIC=y SYSTEMD=n - TYPE=mcs DISTRO=gentoo DIRECT_INITRC=y MONOLITHIC=y SYSTEMD=y - TYPE=mcs DISTRO=gentoo DIRECT_INITRC=y MONOLITHIC=n SYSTEMD=n - TYPE=mcs DISTRO=gentoo DIRECT_INITRC=y MONOLITHIC=n SYSTEMD=y - TYPE=mls DISTRO=gentoo DIRECT_INITRC=n MONOLITHIC=y SYSTEMD=n - TYPE=mls DISTRO=gentoo DIRECT_INITRC=n MONOLITHIC=y SYSTEMD=y - TYPE=mls DISTRO=gentoo DIRECT_INITRC=n MONOLITHIC=n SYSTEMD=n - TYPE=mls DISTRO=gentoo DIRECT_INITRC=n MONOLITHIC=n SYSTEMD=y - TYPE=mls DISTRO=gentoo DIRECT_INITRC=y MONOLITHIC=y SYSTEMD=n - TYPE=mls DISTRO=gentoo DIRECT_INITRC=y MONOLITHIC=y SYSTEMD=y - TYPE=mls DISTRO=gentoo DIRECT_INITRC=y MONOLITHIC=n SYSTEMD=n - TYPE=mls DISTRO=gentoo DIRECT_INITRC=y MONOLITHIC=n SYSTEMD=y # Uncomment to use Travis-CI container infrastructure (https://docs.travis-ci.com/user/ci-environment/) sudo: false #dist: trusty # libustr-dev not whitelisted for trusty # Uncomment these two lines to use Travis-CI Trusty Beta environment #sudo: required #dist: trusty addons: apt: packages: # Install SELinux userspace utilities dependencies - bison - flex - gettext - libaudit-dev - libbz2-dev - libustr-dev - libpcre3-dev - swig before_install: - lsb_release -a - bison -V - flex -V - swig -version - python -V install: # Download current SELinux userspace tools and libraries - curl -sS -L https://github.com/SELinuxProject/selinux/archive/20161014.tar.gz | tar xz - mv selinux-20161014 selinux-src # Ubuntu 12.04 coreutils is too old to provide "ln --relative" :( - sed 's/ln -sf --relative /ln -sf /' -i selinux-src/libsepol/src/Makefile - sed 's/ln -sf --relative /ln -sf /' -i selinux-src/libselinux/src/Makefile # Drop secilc to break xmlto dependence (secilc isn't used here anyway) - sed -i -e 's/secilc//' selinux-src/Makefile # Drop sepolicy to break setools dependence (sepolicy isn't used anyway) - sed -i -e 's/sepolicy//' selinux-src/policycoreutils/Makefile # Drop restorecond to break glib dependence - sed -i -e 's/ restorecond//' selinux-src/policycoreutils/Makefile # Drop sandbox to break libcap-ng dependence - sed -i -e 's/ sandbox//' selinux-src/policycoreutils/Makefile # Compile and install SELinux toolchain into ~/selinux # On Ubuntu 12.04, default CFLAGS make the build fail in libsepol/cil with: # error: declaration of 'index' shadows a global declarationo - make "DESTDIR=$TRAVIS_BUILD_DIR/selinux" CFLAGS="-O2 -Wall" -C selinux-src install # Use TEST_TOOLCHAIN variable to tell refpolicy Makefile about the installed location - export TEST_TOOLCHAIN="$TRAVIS_BUILD_DIR/selinux" # Drop build.conf settings to listen to env vars - sed -r -i -e '/(DIRECT_INITRC|MONOLITHIC|TYPE|DISTRO|SYSTEMD)/d' build.conf script: - echo $TYPE $DISTRO $DIRECT_INITRC $MONOLITHIC $SYSTEMD - make bare - make conf - make - make validate branches: only: - /^travis-.*/ - next - master notifications: email: false