• E
    build: fix autobuild failures on gcov upgrade · 38afe8f5
    Eric Blake 提交于
    Last time I ran ./autobuild.sh was on F13; and upgrading to F14
    exposed these leftovers due to a newer gcov than what was in the stale
    files, in the form of spurious messages that break 'make check':
    
    +profiling:/home/remote/eblake/libvirt-tmp/tools/virsh-console.gcda:Version mismatch - expected 405R got 404R
    
    and concluding with a bug in the autobuild.sh script itself:
    
    ./autobuild.sh: line 44: test: =: unary operator expected
    
    * autobuild.sh: avoid syntax error on failed test
    * tools/Makefile.am (CLEANFILES): Clean coverage files.
    38afe8f5
autobuild.sh 2.2 KB
#!/bin/sh

set -e
set -v

# Make things clean.

test -n "$1" && RESULTS=$1 || RESULTS=results.log
: ${AUTOBUILD_INSTALL_ROOT=$HOME/builder}

test -f Makefile && make -k distclean || :
rm -rf coverage

#rm -rf build
#mkdir build
#cd build

./autogen.sh --prefix="$AUTOBUILD_INSTALL_ROOT" \
  --enable-test-coverage \
  --enable-compile-warnings=error

# If the MAKEFLAGS envvar does not yet include a -j option,
# add -jN where N depends on the number of processors.
case $MAKEFLAGS in
  *-j*) ;;
  *) n=$(getconf _NPROCESSORS_ONLN 2> /dev/null)
    test "$n" -gt 0 || n=1
    n=$(expr $n + 1)
    MAKEFLAGS="$MAKEFLAGS -j$n"
    export MAKEFLAGS
    ;;
esac

make
make install

# set -o pipefail is a bashism; this use of exec is the POSIX alternative
exec 3>&1
st=$(
  exec 4>&1 >&3
  { make check syntax-check 2>&1; echo $? >&4; } | tee "$RESULTS"
)
exec 3>&-
test "$st" = 0
test -x /usr/bin/lcov && make cov

rm -f *.tar.gz
make dist

if [ -n "$AUTOBUILD_COUNTER" ]; then
  EXTRA_RELEASE=".auto$AUTOBUILD_COUNTER"
else
  NOW=`date +"%s"`
  EXTRA_RELEASE=".$USER$NOW"
fi

if [ -f /usr/bin/rpmbuild ]; then
  rpmbuild --nodeps \
     --define "extra_release $EXTRA_RELEASE" \
     --define "_sourcedir `pwd`" \
     -ba --clean libvirt.spec
fi

if [ -x /usr/bin/i686-pc-mingw32-gcc ]; then
  make distclean

  PKG_CONFIG_PATH="$AUTOBUILD_INSTALL_ROOT/i686-pc-mingw32/sys-root/mingw/lib/pkgconfig" \
  CC="i686-pc-mingw32-gcc" \
  ./configure \
    --build=$(uname -m)-pc-linux \
    --host=i686-pc-mingw32 \
    --prefix="$AUTOBUILD_INSTALL_ROOT/i686-pc-mingw32/sys-root/mingw" \
    --enable-compile-warnings=error \
    --without-sasl \
    --without-avahi \
    --without-polkit \
    --without-python \
    --without-xen \
    --without-qemu \
    --without-lxc \
    --without-uml \
    --without-vbox \
    --without-openvz \
    --without-one \
    --without-phyp \
    --without-netcf \
    --without-audit \
    --without-dtrace \
    --without-libvirtd

  make
  make install

  #set -o pipefail
  #make check 2>&1 | tee "$RESULTS"

  if [ -f /usr/bin/rpmbuild ]; then
    rpmbuild --nodeps \
       --define "extra_release $EXTRA_RELEASE" \
       --define "_sourcedir `pwd`" \
       -ba --clean mingw32-libvirt.spec
  fi
fi
反馈
建议
客服 返回
顶部