Gentoo Archives: gentoo-commits

From: Jason Zaman <perfinion@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] proj/hardened-refpolicy:master commit in: /
Date: Sun, 29 Mar 2015 09:59:48
Message-Id: 1427622925.68026ee4a044cb3664ff3ea64d534104928d78b8.perfinion@gentoo
1 commit: 68026ee4a044cb3664ff3ea64d534104928d78b8
2 Author: Jason Zaman <jason <AT> perfinion <DOT> com>
3 AuthorDate: Wed Mar 25 16:37:18 2015 +0000
4 Commit: Jason Zaman <perfinion <AT> gentoo <DOT> org>
5 CommitDate: Sun Mar 29 09:55:25 2015 +0000
6 URL: https://gitweb.gentoo.org/proj/hardened-refpolicy.git/commit/?id=68026ee4
7
8 update travis file to newer userland (much faster)
9
10 .travis.yml | 105 +++++++++++++++---------------------------------------------
11 1 file changed, 26 insertions(+), 79 deletions(-)
12
13 diff --git a/.travis.yml b/.travis.yml
14 index ce213a3..41c4a1f 100644
15 --- a/.travis.yml
16 +++ b/.travis.yml
17 @@ -1,4 +1,4 @@
18 -# Originally by Nicolas Iooss from: https://github.com/fishilico/selinux-refpolicy-patched/blob/travis-upstream/.travis.yml
19 +# Derived from Nicolas Iooss: https://github.com/fishilico/selinux-refpolicy-patched/blob/travis-upstream/.travis.yml
20
21 language: python
22 python:
23 @@ -8,105 +8,52 @@ python:
24 # echo " - TYPE=$T DISTRO=$D DIRECT_INITRC=$I MONOLITHIC=$M" ; done ; done ; done ; done
25 env:
26 - TYPE=standard DISTRO=gentoo DIRECT_INITRC=n MONOLITHIC=n
27 - - TYPE=mls DISTRO=gentoo DIRECT_INITRC=n MONOLITHIC=n
28 - TYPE=mcs DISTRO=gentoo DIRECT_INITRC=n MONOLITHIC=n
29 + - TYPE=mls DISTRO=gentoo DIRECT_INITRC=n MONOLITHIC=n
30 + - TYPE=standard DISTRO=gentoo DIRECT_INITRC=y MONOLITHIC=n
31 + - TYPE=mcs DISTRO=gentoo DIRECT_INITRC=y MONOLITHIC=n
32 + - TYPE=mls DISTRO=gentoo DIRECT_INITRC=y MONOLITHIC=n
33
34 -# Install SELinux userspace utilities dependencies
35 before_install:
36 -# Show OS version information
37 - lsb_release -a
38 + - bison -V
39 + - flex -V
40 - sudo apt-get update -qq
41 - - sudo apt-get install -qq libaudit-dev libcap-ng-dev libustr-dev swig
42 -
43 -# Compile and install a newer version of SELinux userspace utilities
44 -install:
45 - # Setup the directory where SELinux utilities will be installed
46 - - export DESTDIR="$HOME/selinux-project"
47 - - mkdir "$DESTDIR"
48 - - export PATH="$DESTDIR/usr/bin:$DESTDIR/usr/sbin:$DESTDIR/bin:$DESTDIR/sbin:$PATH"
49 - - export LD_LIBRARY_PATH="$DESTDIR/usr/lib:$DESTDIR/lib:$LD_LIBRARY_PATH"
50 -
51 - # On Ubuntu 12.04, default CFLAGS make the build fail in libsepol/cil with:
52 - # error: declaration of 'index' shadows a global declarationo
53 - # So define our own CFLAGS
54 - - export CFLAGS="-O2 -pipe -fPIC -Wall"
55
56 - # Download SELinux userspace tools and libraries
57 - - wget https://github.com/SELinuxProject/selinux/archive/20140826-rc6.tar.gz
58 - - tar -xzf 20140826-rc6.tar.gz
59 - - mv selinux-20140826-rc6 selinux-src
60 + # Install SELinux userspace utilities dependencies
61 + - sudo apt-get install -qq libaudit-dev libcap-ng-dev libustr-dev libpcre3-dev swig
62
63 - # Download setools
64 - - wget https://github.com/TresysTechnology/setools3/archive/setools-3.3.8.tar.gz
65 - - tar -xzf setools-3.3.8.tar.gz
66 - - mv setools3-setools-3.3.8 setools-src
67 +install:
68 + # Download current SELinux userspace tools and libraries
69 + - curl -sS -L https://github.com/SELinuxProject/selinux/archive/20150202.tar.gz | tar xz
70 + - mv selinux-20150202 selinux-src
71
72 # Ubuntu 12.04 coreutils is too old to provide "ln --relative" :(
73 - sed 's/ln -sf --relative /ln -sf /' -i selinux-src/libsepol/src/Makefile
74 - sed 's/ln -sf --relative /ln -sf /' -i selinux-src/libselinux/src/Makefile
75
76 - # Compile and install SELinux libraries first
77 - - make -C selinux-src/libsepol install
78 - - make -C selinux-src/libselinux install
79 - - make -C selinux-src/libsemanage install
80 -
81 - # Now that the libraries are installed, use them to compile the tools
82 - - export CFLAGS="$CFLAGS -I$DESTDIR/usr/include"
83 - - export LDFLAGS="$LDFLAGS -L$DESTDIR/usr/lib"
84 + # Drop sepolicy to break setools dependence (sepolicy isn't used anyway)
85 + - sed -i -e 's/sepolicy//' selinux-src/policycoreutils/Makefile
86
87 - # Compile and install setools
88 - - cd setools-src
89 - - aclocal && autoreconf -if && automake
90 - - ./configure
91 - --prefix="$DESTDIR/usr"
92 - --disable-gui --disable-swig-tcl
93 - --disable-bwidget-check --disable-selinux-check
94 - --with-sepol-devel="$DESTDIR/usr"
95 - --with-selinux-devel="$DESTDIR/usr"
96 - - make -C libqpol DESTDIR= install
97 - - make -C libapol DESTDIR= install
98 - - cd ..
99 -
100 - # Compile and install SELinux tools
101 - - export LIBDIR="$DESTDIR/usr/lib"
102 - - export LIBEXECDIR="$DESTDIR/usr/lib"
103 - - export SHLIBDIR="$DESTDIR/usr/lib"
104 - - export SEMODULE_PATH="$DESTDIR/usr/bin"
105 - - make -C selinux-src/sepolgen install
106 - - make -C selinux-src/checkpolicy install
107 - - make -C selinux-src/policycoreutils install
108 + # Compile and install SELinux toolchain
109 + # On Ubuntu 12.04, default CFLAGS make the build fail in libsepol/cil with:
110 + # error: declaration of 'index' shadows a global declarationo
111 + - sudo make CFLAGS="-O2 -pipe -fPIC -Wall" -C selinux-src install
112
113 - # Use the newly-built toolchain
114 - - export TEST_TOOLCHAIN="$DESTDIR"
115 + # Drop build.conf settings to listen to env vars
116 + - sed -r -i -e '/(DIRECT_INITRC|MONOLITHIC|TYPE|DISTRO)/d' build.conf
117
118 -# XXX: not sure whether the definition in make command line are useful or whether the env definitions are enough
119 -# Use a heartbeat loop to produce output while compiling the policy, which takes quite a long time.
120 script:
121 + - echo $TYPE $DISTRO $DIRECT_INITRC $MONOLITHIC
122 - make bare
123 - - make TYPE="$TYPE" MONOLITHIC="$MONOLITHIC" conf
124 -
125 -# - if [ "$MONOLITHIC" = y ]; then
126 -# ( for A in $(seq 8) ; do sleep 300 ; echo "Heartbeat $((A*5)) minutes" ; done ) &
127 -# make TYPE="$TYPE" DISTRO="$DISTRO" DIRECT_INITRC="$DIRECT_INITRC" MONOLITHIC=y ;
128 -# fi
129 -# - if [ "$MONOLITHIC" = y ]; then make TYPE="$TYPE" DISTRO="$DISTRO" DIRECT_INITRC="$DIRECT_INITRC" MONOLITHIC=y file_contexts ; fi
130 -# - if [ "$MONOLITHIC" = y ]; then setfiles -c policy.$(checkpolicy -V | cut -d' ' -f1) file_contexts ; fi
131 -# - if [ "$MONOLITHIC" = n ]; then make TYPE="$TYPE" DISTRO="$DISTRO" DIRECT_INITRC="$DIRECT_INITRC" MONOLITHIC=n base ; fi
132 -# - if [ "$MONOLITHIC" = n ]; then make TYPE="$TYPE" DISTRO="$DISTRO" DIRECT_INITRC="$DIRECT_INITRC" MONOLITHIC=n modules ; fi
133 -# - if [ "$MONOLITHIC" = n ]; then
134 -# ( for A in $(seq 8) ; do sleep 300 ; echo "Heartbeat $((A*5)) minutes" ; done ) &
135 -# make TYPE="$TYPE" DISTRO="$DISTRO" DIRECT_INITRC="$DIRECT_INITRC" MONOLITHIC=n validate ;
136 -# fi
137 -
138 - - make TYPE="$TYPE" DISTRO="$DISTRO" DIRECT_INITRC="$DIRECT_INITRC" MONOLITHIC=n base
139 - - make TYPE="$TYPE" DISTRO="$DISTRO" DIRECT_INITRC="$DIRECT_INITRC" MONOLITHIC=n modules
140 - - ( for A in $(seq 8) ; do sleep 300 ; echo "Heartbeat $((A*5)) minutes" ; done ) &
141 - make TYPE="$TYPE" DISTRO="$DISTRO" DIRECT_INITRC="$DIRECT_INITRC" MONOLITHIC=n validate
142 + - make conf
143 + - make
144 + - make validate
145
146 -# Only build travis branches
147 branches:
148 only:
149 - /^travis-.*/
150 + - master
151
152 notifications:
153 email: false