From 69f05d5914f8c90efd4af992a309255b22f3c30f Mon Sep 17 00:00:00 2001 From: Michael Jeanson Date: Tue, 9 Aug 2016 15:21:56 -0400 Subject: [PATCH] jjb: Make scan-build a common script Signed-off-by: Michael Jeanson --- jobs/babeltrace.yaml | 5 +- jobs/liburcu.yaml | 5 +- jobs/lttng-tools.yaml | 5 +- jobs/lttng-ust.yaml | 5 +- scripts/babeltrace/scan-build.sh | 77 -------------------- scripts/{lttng-ust => common}/scan-build.sh | 19 +++-- scripts/liburcu/scan-build.sh | 78 --------------------- scripts/lttng-tools/scan-build.sh | 77 -------------------- 8 files changed, 28 insertions(+), 243 deletions(-) delete mode 100755 scripts/babeltrace/scan-build.sh rename scripts/{lttng-ust => common}/scan-build.sh (80%) delete mode 100755 scripts/liburcu/scan-build.sh delete mode 100755 scripts/lttng-tools/scan-build.sh diff --git a/jobs/babeltrace.yaml b/jobs/babeltrace.yaml index 8e526d5..fb164ea 100644 --- a/jobs/babeltrace.yaml +++ b/jobs/babeltrace.yaml @@ -35,6 +35,9 @@ cron: "@hourly" properties: + - inject: + properties-content: | + PROJECT_NAME=babeltrace - build-discarder: num-to-keep: 2 - github: @@ -147,7 +150,7 @@ builders: - shell: - !include-raw-escape: scripts/babeltrace/scan-build.sh + !include-raw-escape: scripts/common/scan-build.sh publishers: - html-publisher: diff --git a/jobs/liburcu.yaml b/jobs/liburcu.yaml index e9c5667..02df230 100644 --- a/jobs/liburcu.yaml +++ b/jobs/liburcu.yaml @@ -48,6 +48,9 @@ cron: "@hourly" properties: + - inject: + properties-content: | + PROJECT_NAME=liburcu - build-discarder: num-to-keep: 2 - github: @@ -137,7 +140,7 @@ builders: - shell: - !include-raw-escape: scripts/liburcu/scan-build.sh + !include-raw-escape: scripts/common/scan-build.sh publishers: - html-publisher: diff --git a/jobs/lttng-tools.yaml b/jobs/lttng-tools.yaml index b5d5f09..0423117 100644 --- a/jobs/lttng-tools.yaml +++ b/jobs/lttng-tools.yaml @@ -29,6 +29,9 @@ cron: "@hourly" properties: + - inject: + properties-content: | + PROJECT_NAME=lttng-tools - github: url: https://github.com/{github_user}/{github_name} - build-discarder: @@ -295,7 +298,7 @@ target: 'deps/lttng-ust' do-not-fingerprint: true - shell: - !include-raw-escape: scripts/lttng-tools/scan-build.sh + !include-raw-escape: scripts/common/scan-build.sh publishers: - html-publisher: diff --git a/jobs/lttng-ust.yaml b/jobs/lttng-ust.yaml index 3f8971d..dab22cf 100644 --- a/jobs/lttng-ust.yaml +++ b/jobs/lttng-ust.yaml @@ -30,6 +30,9 @@ cron: "@hourly" properties: + - inject: + properties-content: | + PROJECT_NAME=lttng-ust - build-discarder: num-to-keep: 2 - github: @@ -282,7 +285,7 @@ target: 'deps/liburcu' do-not-fingerprint: true - shell: - !include-raw-escape: scripts/lttng-ust/scan-build.sh + !include-raw-escape: scripts/common/scan-build.sh publishers: - html-publisher: diff --git a/scripts/babeltrace/scan-build.sh b/scripts/babeltrace/scan-build.sh deleted file mode 100755 index 117d5f9..0000000 --- a/scripts/babeltrace/scan-build.sh +++ /dev/null @@ -1,77 +0,0 @@ -#!/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 -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program. If not, see . - - -# do not exit immediately if any command fails -set +e - -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 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" - -# Enter the source directory -cd "$SRCDIR" - -# Run bootstrap in the source directory prior to configure -./bootstrap - - -./configure --prefix="$PREFIX" - -# generate the scan-build report -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}`" ) -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" - mkdir "${SCAN_BUILD_ARCHIVE}" - else - echo ">>> Removing any previous scan-build reports from ${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}/" - - echo ">>> Removing any temporary files and directories" - rm -rf "${SCAN_BUILD_TMPDIR}" -fi - -exit ${rc} diff --git a/scripts/lttng-ust/scan-build.sh b/scripts/common/scan-build.sh similarity index 80% rename from scripts/lttng-ust/scan-build.sh rename to scripts/common/scan-build.sh index 0eebb7f..8ff8304 100755 --- a/scripts/lttng-ust/scan-build.sh +++ b/scripts/common/scan-build.sh @@ -20,7 +20,7 @@ # do not exit immediately if any command fails set +e -SRCDIR="$WORKSPACE/src/lttng-ust" +SRCDIR="$WORKSPACE/src/$PROJECT_NAME" TMPDIR="$WORKSPACE/tmp" PREFIX="$WORKSPACE/build" @@ -40,10 +40,15 @@ SCAN_BUILD_TMPDIR=$( mktemp -d ) URCU_INCS="$WORKSPACE/deps/liburcu/build/include/" URCU_LIBS="$WORKSPACE/deps/liburcu/build/lib/" +# lttng-ust +UST_INCS="$WORKSPACE/deps/lttng-ust/build/include/" +UST_LIBS="$WORKSPACE/deps/lttng-ust/build/lib/" + export CFLAGS="-O0 -g -DDEBUG" -export CPPFLAGS="-I$URCU_INCS" -export LDFLAGS="-L$URCU_LIBS" -export LD_LIBRARY_PATH="$URCU_LIBS:${LD_LIBRARY_PATH:-}" + +export CPPFLAGS="-I$URCU_INCS -I$UST_INCS" +export LDFLAGS="-L$URCU_LIBS -L$UST_LIBS" +export LD_LIBRARY_PATH="$URCU_LIBS:$UST_LIBS:${LD_LIBRARY_PATH:-}" # Enter the source directory cd "$SRCDIR" @@ -55,10 +60,10 @@ cd "$SRCDIR" ./configure --prefix="$PREFIX" # generate the scan-build report -scan-build -k -o "${SCAN_BUILD_TMPDIR}" make +scan-build -k -o "${SCAN_BUILD_TMPDIR}" make -j "$(nproc)" # 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 @@ -76,7 +81,7 @@ else 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}" diff --git a/scripts/liburcu/scan-build.sh b/scripts/liburcu/scan-build.sh deleted file mode 100755 index d290a6f..0000000 --- a/scripts/liburcu/scan-build.sh +++ /dev/null @@ -1,78 +0,0 @@ -#!/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 -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program. If not, see . - - -# do not exit immediately if any command fails -set +e - -SRCDIR="$WORKSPACE/src/liburcu" -TMPDIR="$WORKSPACE/tmp" -PREFIX="$WORKSPACE/build" - -# Directory to archive the scan-build report -SCAN_BUILD_ARCHIVE="${WORKSPACE}/scan-build-archive" - -# 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" - -# Enter the source directory -cd "$SRCDIR" - -# Run bootstrap in the source directory prior to configure -./bootstrap - - -./configure --prefix="$PREFIX" - -# generate the scan-build report -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}`") -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" - mkdir "${SCAN_BUILD_ARCHIVE}" - else - echo ">>> Removing any previous scan-build reports from ${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}/" - - echo ">>> Removing any temporary files and directories" - rm -rf "${SCAN_BUILD_TMPDIR}" -fi - -exit ${rc} diff --git a/scripts/lttng-tools/scan-build.sh b/scripts/lttng-tools/scan-build.sh deleted file mode 100755 index bf3c7fa..0000000 --- a/scripts/lttng-tools/scan-build.sh +++ /dev/null @@ -1,77 +0,0 @@ -#!/bin/sh -exu -# -# Copyright (C) 2015 - Jonathan Rajotte-Julien -# -# 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 -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program. If not, see . - - -# 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 -SCAN_BUILD_ARCHIVE="${WORKSPACE}/scan-build-archive" - -# Create build directory -rm -rf $WORKSPACE/build -mkdir -p $WORKSPACE/build - -# liburcu -URCU_INCS="$WORKSPACE/deps/liburcu/build/include/" -URCU_LIBS="$WORKSPACE/deps/liburcu/build/lib/" - -# lttng-ust -UST_INCS="$WORKSPACE/deps/lttng-ust/build/include/" -UST_LIBS="$WORKSPACE/deps/lttng-ust/build/lib/" - -export CFLAGS="-O0 -g -DDEBUG" -export CPPFLAGS="-I$URCU_INCS -I$UST_INCS" -export LDFLAGS="-L$URCU_LIBS -L$UST_LIBS" -export LD_LIBRARY_PATH="$URCU_LIBS:$UST_LIBS:${LD_LIBRARY_PATH:-}" - -PREFIX="$WORKSPACE/build" - -./bootstrap -./configure --prefix=$PREFIX -make clean -# generate the scan-build report -scan-build -k -o ${SCAN_BUILD_TMPDIR} make - -# get the directory name of the report created by scan-build -set +e -SCAN_BUILD_REPORT=$( find ${SCAN_BUILD_TMPDIR} -maxdepth 1 -not -empty -not -name `basename ${SCAN_BUILD_TMPDIR}` ) -rc=$? -set -e - -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}" - else - echo ">>> Removing any previous scan-build reports from ${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}/ - - echo ">>> Removing any temporary files and directories" - rm -rf "${SCAN_BUILD_TMPDIR}" -fi - -exit ${rc} -- 2.34.1