mirror of
https://github.com/SELinuxProject/selinux
synced 2024-12-28 08:52:05 +00:00
1952be65dc
- Python 2.7 is planned to be the last of the 2.x releases - It's generally advised to use Python 3 - Majority of python/ scripts are already switched python3 - Users with python 2 only can still use: $ make PYTHON=/usr/bin/python .... Signed-off-by: Petr Lautrbach <plautrba@redhat.com>
34 lines
1.4 KiB
Bash
Executable File
34 lines
1.4 KiB
Bash
Executable File
#!/bin/sh
|
|
# Run clang's static analyzer (scan-build) and record its output in output-scan-build/
|
|
|
|
# Ensure the current directory is where this script is
|
|
cd "$(dirname -- "$0")" || exit $?
|
|
|
|
OUTPUTDIR="$(pwd)/output-scan-build"
|
|
|
|
# Display the commands which are run, and make sure they succeed
|
|
set -x -e
|
|
|
|
# Use a temporary directory as an installation directory, if $DESTDIR is not set
|
|
if [ -z "$DESTDIR" ] ; then
|
|
DESTDIR="$(mktemp --tmpdir -d scan-build-destdir-XXXXXXXXXX)"
|
|
fi
|
|
|
|
# Make sure to use the newly-installed libraries when running tests
|
|
export LD_LIBRARY_PATH="$DESTDIR/usr/lib:$DESTDIR/lib"
|
|
export PATH="$DESTDIR/usr/sbin:$DESTDIR/usr/bin:$DESTDIR/sbin:$DESTDIR/bin:$PATH"
|
|
export PYTHONPATH="$DESTDIR$(${PYTHON:-python3} -c "from distutils.sysconfig import *;print(get_python_lib(prefix='/usr'))")"
|
|
export RUBYLIB="$DESTDIR/$(${RUBY:-ruby} -e 'puts RbConfig::CONFIG["vendorlibdir"]'):$DESTDIR/$(${RUBY:-ruby} -e 'puts RbConfig::CONFIG["vendorarchdir"]')"
|
|
|
|
# Build and analyze
|
|
make -C .. CC=clang clean distclean -j"$(nproc)"
|
|
scan-build -analyze-headers -o "$OUTPUTDIR" make -C .. CC=clang DESTDIR="$DESTDIR" install install-pywrap install-rubywrap all test
|
|
|
|
# Reduce the verbosity in order to keep the message from scan-build saying
|
|
# "scan-build: Run 'scan-view /.../output-scan-build/2018-...' to examine bug reports.
|
|
set +x
|
|
|
|
# Remove the destination directory without using "rm -rf"
|
|
chmod u+w "$DESTDIR/usr/bin/newrole"
|
|
rm -r "$DESTDIR"
|