X-Git-Url: http://git.lttng.org./?a=blobdiff_plain;f=scripts%2Fbabeltrace%2Fscan-build.sh;h=117d5f9fe82e83aff0729af7a2dd4cf0a5c4c1ee;hb=944a6c86f6eab1c0b3d65c2f3f771764851baf05;hp=e67305a49e9daccfef821e08e4ac505f62bf613f;hpb=f12f1d66b108047330ad7f7d6e611be3645925b4;p=lttng-ci.git diff --git a/scripts/babeltrace/scan-build.sh b/scripts/babeltrace/scan-build.sh old mode 100644 new mode 100755 index e67305a..117d5f9 --- a/scripts/babeltrace/scan-build.sh +++ b/scripts/babeltrace/scan-build.sh @@ -1,6 +1,7 @@ #!/bin/sh -exu # # Copyright (C) 2015 - Jonathan Rajotte-Julien +# 2016 - Michael Jeanson # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -18,49 +19,59 @@ # do not exit immediately if any command fails set +e - -# temp directory to store the scan-build report -SCAN_BUILD_TMPDIR=$( mktemp -d /tmp/scan-build.XXXXXX ) - -# directory to use for archiving the scan-build report + +SRCDIR="$WORKSPACE/src/babeltrace" +TMPDIR="$WORKSPACE/tmp" +PREFIX="$WORKSPACE/build" +# Directory to archive the scan-build report SCAN_BUILD_ARCHIVE="${WORKSPACE}/scan-build-archive" -# Create build directory -rm -rf $WORKSPACE/build -mkdir -p $WORKSPACE/build +# Create build and tmp directories +rm -rf "$PREFIX" "$TMPDIR" +mkdir -p "$PREFIX" "$TMPDIR" + +export TMPDIR + +# temp directory to store the scan-build report +SCAN_BUILD_TMPDIR=$( mktemp -d ) export CFLAGS="-O0 -g -DDEBUG" -PREFIX="$WORKSPACE/build" +# Enter the source directory +cd "$SRCDIR" + +# Run bootstrap in the source directory prior to configure ./bootstrap -./configure --prefix=$PREFIX -make clean + + +./configure --prefix="$PREFIX" + # generate the scan-build report -scan-build -k -o ${SCAN_BUILD_TMPDIR} make - +scan-build -k -o "${SCAN_BUILD_TMPDIR}" make + # get the directory name of the report created by scan-build -SCAN_BUILD_REPORT=$( find ${SCAN_BUILD_TMPDIR} -maxdepth 1 -not -empty -not -name `basename ${SCAN_BUILD_TMPDIR}` ) +SCAN_BUILD_REPORT=$( find "${SCAN_BUILD_TMPDIR}" -maxdepth 1 -not -empty -not -name "`basename ${SCAN_BUILD_TMPDIR}`" ) rc=$? - + if [ -z "${SCAN_BUILD_REPORT}" ]; then echo ">>> No new bugs identified." echo ">>> No scan-build report has been generated" else echo ">>> New scan-build report generated in ${SCAN_BUILD_REPORT}" - + if [ ! -d "${SCAN_BUILD_ARCHIVE}" ]; then echo ">>> Creating scan-build archive directory" - install -d -o jenkins -g jenkins -m 0755 "${SCAN_BUILD_ARCHIVE}" + mkdir "${SCAN_BUILD_ARCHIVE}" else echo ">>> Removing any previous scan-build reports from ${SCAN_BUILD_ARCHIVE}" - rm -f ${SCAN_BUILD_ARCHIVE}/* + rm -f "${SCAN_BUILD_ARCHIVE}/*" fi - + echo ">>> Archiving scan-build report to ${SCAN_BUILD_ARCHIVE}" - mv ${SCAN_BUILD_REPORT}/* ${SCAN_BUILD_ARCHIVE}/ - + mv "${SCAN_BUILD_REPORT}/*" "${SCAN_BUILD_ARCHIVE}/" + echo ">>> Removing any temporary files and directories" rm -rf "${SCAN_BUILD_TMPDIR}" fi - + exit ${rc}