#!/bin/bash
set -x
TARGET=/usr/src/packages
SCANSCRIPT=/var/lib/clamav/.script
export TARGET
export BUILD_ROOT
export SCANSCRIPT

echo '
#!/bin/bash

mkdir /usr/src/packages/BUILD/scan
set -x
for r in $( find -L /.build.packages /usr/src/packages -type f -name "*.rpm" ); do
  f=${r##*/}
  mkdir -p /usr/src/packages/BUILD/scan/"$f.d"
  pushd .
  cd /usr/src/packages/BUILD/scan/"$f.d"
  rpm2cpio "$r" | cpio --extract --unconditional --preserve-modification-time --make-directories > /dev/null
  popd
done

echo "clamscan -ir /usr/src/packages/BUILD/scan:"
/usr/bin/clamscan -ir /usr/src/packages/BUILD/scan
ret=$?
rm -rf /usr/src/packages/BUILD/scan 
exit $ret
' > $BUILD_ROOT/$SCANSCRIPT


OUT=$( cd $BUILD_ROOT ; chroot . bash $SCANSCRIPT )
ret=$?
rm -f $BUILD_ROOT/$SCANSCRIPT


if [ "$ret" != 0 ]; then
  echo "clamav: positive result about one or more files in the system.

The output of /usr/bin/clamscan -ir $TARGET was:"
  echo "$OUT"
  echo "

The test has failed. Please check the files mentioned above!

"
  exit 1
else
  echo "clamav: negative malware scan result."
  echo "$OUT"
  echo test passed.
fi
exit 0
