Files
rpm-packaging/tools/run_speccleaner.sh
Haikel Guemar 9bbc588472 tools: parallelize execution
Parallelize renderspec and spec-cleaner executions to speed up scripts.
There is no constraint to run these jobs sequentially

Change-Id: I7bdeee82cc360cf31e9684ef22638f41c53b12b8
2016-07-21 17:32:56 +02:00

39 lines
929 B
Bash
Executable File

#!/bin/bash
set -e
basedir=${1:-$PWD}
WORKSPACE=${WORKSPACE:-$basedir}
# tempfile to store the spec-cleaner diff for all specs
tmpdir=$(mktemp -d)
MAXPROC=4
echo "run spec-cleaner over specfiles from $WORKSPACE/logs/"
count=0
# TODO(toabctl): also run spec-cleaner with non-SUSE specs
# but the current problem is that the license check works for SUSE only
for spec in $WORKSPACE/logs/*.suse ; do
# NOTE(toabctl):spec-cleaner can not ignore epochs currently
sed -i '/^Epoch:.*/d' $spec
spec-cleaner -m -d --no-copyright --diff-prog "diff -uw" \
$spec > $tmpdir/`basename ${spec}`.cleaner.diff &
let count+=1
[[ count -eq $MAXPROC ]] && wait && count=0
done
wait
# check if some diffs are available
failed=0
for specdiff in $tmpdir/*; do
if [ -s "$specdiff" ]; then
echo "##### `basename ${specdiff}` ##### "
cat $specdiff
failed=1
fi
done
exit $failed