mirror of
https://github.com/SELinuxProject/selinux
synced 2024-12-22 22:12:16 +00:00
Travis-CI: test defining CFLAGS, LDFLAGS, etc. on make command line
Some Makefiles rely on adding values to variables like CFLAGS, LDFLAGS, etc. For example doing "LDFLAGS += -L../src" does not work fine when LDFLAGS is defined on the command line of "make". Commits297877ab88
("libselinux utils: override LD{FLAGS, LIBS} for libselinux.so in Makefile") and15f2740733
("Makefiles: override *FLAGS and *LIBS") recently fixed such issues, by introducing keyword "override" in the relevant Makefile statements. In order to prevent the fixed issues from appearing again, add a test case in Travis-CI configuration file. This case adds on make's command line minimal definitions for CFLAGS and LDFLAGS and empty definitions for CPPFLAGS and LDLIBS. An example of build failure due to a missing override in a required CPPFLAGS addition is provided on https://travis-ci.org/fishilico/selinux/builds/245107609 Signed-off-by: Nicolas Iooss <nicolas.iooss@m4x.org>
This commit is contained in:
parent
6b9035ddc6
commit
1edb93c0ba
16
.travis.yml
16
.travis.yml
@ -12,6 +12,7 @@ env:
|
||||
matrix:
|
||||
# Test the last version of Python and Ruby together, with some linkers
|
||||
- PYVER=python3.6 RUBYLIBVER=2.4
|
||||
- PYVER=python3.6 RUBYLIBVER=2.4 TEST_FLAGS_OVERRIDE=1
|
||||
- PYVER=python3.6 RUBYLIBVER=2.4 LINKER=gold
|
||||
- PYVER=python3.6 RUBYLIBVER=2.4 LINKER=bfd
|
||||
|
||||
@ -96,14 +97,17 @@ before_script:
|
||||
- echo "$PYTHON" ; $PYTHON --version
|
||||
- echo "$RUBY" ; $RUBY --version
|
||||
|
||||
# If TEST_FLAGS_OVERRIDE is defined, test that overriding CFLAGS, LDFLAGS and other variables works fine
|
||||
- if [ -n "$TEST_FLAGS_OVERRIDE" ]; then EXPLICIT_MAKE_VARS="CFLAGS=-I$DESTDIR/usr/include LDFLAGS=-L$DESTDIR/usr/lib LDLIBS= CPPFLAGS=" ; fi
|
||||
|
||||
script:
|
||||
# Start by installing everything into $DESTDIR
|
||||
- make install -k
|
||||
- make install-pywrap -k
|
||||
- make install-rubywrap -k
|
||||
- make install $EXPLICIT_MAKE_VARS -k
|
||||
- make install-pywrap $EXPLICIT_MAKE_VARS -k
|
||||
- make install-rubywrap $EXPLICIT_MAKE_VARS -k
|
||||
|
||||
# Now that everything is installed, run "make all" to build everything which may have not been built
|
||||
- make all -k
|
||||
- make all $EXPLICIT_MAKE_VARS -k
|
||||
|
||||
# Set up environment variables for the tests
|
||||
- export LD_LIBRARY_PATH="$DESTDIR/usr/lib:$DESTDIR/lib"
|
||||
@ -118,7 +122,7 @@ script:
|
||||
- echo "$RUBYLIB"
|
||||
|
||||
# Run tests
|
||||
- make test
|
||||
- make test $EXPLICIT_MAKE_VARS
|
||||
|
||||
# Test Python and Ruby wrappers
|
||||
- $PYTHON -c 'import selinux;import selinux.audit2why;import semanage;print(selinux.is_selinux_enabled())'
|
||||
@ -132,7 +136,7 @@ script:
|
||||
git status --short | sed -n 's/^??/error: missing .gitignore entry for/p' | (! grep '^')
|
||||
|
||||
# Clean up everything and show which file would be added to "make clean"
|
||||
- make clean distclean
|
||||
- make clean distclean $EXPLICIT_MAKE_VARS
|
||||
- |-
|
||||
git ls-files --ignored --others --exclude-standard | sed 's/^/error: "make clean distclean" did not remove /' | (! grep '^')
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user