2007-02-07 17:46:44 +00:00
|
|
|
#!/bin/sh
|
|
|
|
|
|
|
|
set -e
|
2007-02-14 02:12:41 +00:00
|
|
|
set -v
|
2007-02-07 17:46:44 +00:00
|
|
|
|
|
|
|
# Make things clean.
|
|
|
|
|
2008-08-21 19:31:55 +00:00
|
|
|
test -n "$1" && RESULTS=$1 || RESULTS=results.log
|
2010-04-30 16:57:10 +00:00
|
|
|
: ${AUTOBUILD_INSTALL_ROOT=$HOME/builder}
|
2007-02-07 17:46:44 +00:00
|
|
|
|
|
|
|
test -f Makefile && make -k distclean || :
|
2007-02-14 02:12:41 +00:00
|
|
|
rm -rf coverage
|
2007-02-07 17:46:44 +00:00
|
|
|
|
2010-04-30 14:52:54 +00:00
|
|
|
rm -rf build
|
|
|
|
mkdir build
|
|
|
|
cd build
|
2007-02-07 17:46:44 +00:00
|
|
|
|
2010-04-30 14:52:54 +00:00
|
|
|
../autogen.sh --prefix="$AUTOBUILD_INSTALL_ROOT" \
|
2007-03-08 21:32:18 +00:00
|
|
|
--enable-test-coverage \
|
2010-11-08 16:32:02 +00:00
|
|
|
--enable-compile-warnings=error
|
2007-02-07 17:46:44 +00:00
|
|
|
|
2008-08-28 09:08:44 +00:00
|
|
|
# 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
|
|
|
|
|
2007-02-07 17:46:44 +00:00
|
|
|
make
|
|
|
|
make install
|
|
|
|
|
2010-06-04 03:07:09 +00:00
|
|
|
# set -o pipefail is a bashism; this use of exec is the POSIX alternative
|
|
|
|
exec 3>&1
|
|
|
|
st=$(
|
|
|
|
exec 4>&1 >&3
|
2010-12-10 22:30:56 +00:00
|
|
|
{ make check syntax-check 2>&1 3>&- 4>&-; echo $? >&4; } | tee "$RESULTS"
|
2010-06-04 03:07:09 +00:00
|
|
|
)
|
|
|
|
exec 3>&-
|
2010-11-17 17:38:59 +00:00
|
|
|
test "$st" = 0
|
2008-05-29 20:43:08 +00:00
|
|
|
test -x /usr/bin/lcov && make cov
|
2007-02-07 17:46:44 +00:00
|
|
|
|
|
|
|
rm -f *.tar.gz
|
|
|
|
make dist
|
|
|
|
|
2008-10-10 11:33:10 +00:00
|
|
|
if [ -n "$AUTOBUILD_COUNTER" ]; then
|
|
|
|
EXTRA_RELEASE=".auto$AUTOBUILD_COUNTER"
|
|
|
|
else
|
|
|
|
NOW=`date +"%s"`
|
|
|
|
EXTRA_RELEASE=".$USER$NOW"
|
|
|
|
fi
|
2008-09-05 12:03:45 +00:00
|
|
|
|
2008-10-10 11:33:10 +00:00
|
|
|
if [ -f /usr/bin/rpmbuild ]; then
|
2008-09-05 12:03:45 +00:00
|
|
|
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" \
|
2010-04-30 14:52:54 +00:00
|
|
|
../configure \
|
2008-09-05 12:03:45 +00:00
|
|
|
--build=$(uname -m)-pc-linux \
|
|
|
|
--host=i686-pc-mingw32 \
|
|
|
|
--prefix="$AUTOBUILD_INSTALL_ROOT/i686-pc-mingw32/sys-root/mingw" \
|
2009-01-20 17:13:33 +00:00
|
|
|
--enable-compile-warnings=error \
|
2008-09-05 12:03:45 +00:00
|
|
|
--without-sasl \
|
|
|
|
--without-avahi \
|
|
|
|
--without-polkit \
|
|
|
|
--without-python \
|
|
|
|
--without-xen \
|
|
|
|
--without-qemu \
|
|
|
|
--without-lxc \
|
2008-11-24 16:50:18 +00:00
|
|
|
--without-uml \
|
2009-04-19 16:37:15 +00:00
|
|
|
--without-vbox \
|
2008-09-05 12:03:45 +00:00
|
|
|
--without-openvz \
|
Fix misc Win32 compile warnings
GCC >= 4.4 assumes the 'printf' attribute refers to the native
runtime libraries format specifiers. Thanks to gnulib, libvirt
has GNU format specifiers everywhere. This means we need to
use 'gnu_printf' with GCC >= 4.4 to get correct compiler
checking of printf format specifiers.
* HACKING: Document new rules for ATTRIBUTE_FMT_PRINTF
* autobuild.sh, mingw32-libvirt.spec.in: Disable OpenNebula
driver on mingw32 builds
* qemud/dispatch.h, qemud/qemu.h, src/buf.h src/internal.h,
src/logging.h, src/security.h, src/sexpr.h, src/util.h,
src/virterror_internal.h, src/xend_internal.c: Change
over to ATTRIBUTE_FMT_PRINTF.
* src/virsh.c: Disable 'cd' and 'pwd' commands on Win32
since they don't compile
* src/threads-win32.c: Add missing return value check
2009-07-23 15:07:32 +00:00
|
|
|
--without-one \
|
2009-07-24 16:20:50 +00:00
|
|
|
--without-phyp \
|
2009-07-30 12:07:51 +00:00
|
|
|
--without-netcf \
|
2010-09-15 13:44:11 +00:00
|
|
|
--without-audit \
|
Add dtrace static probes in libvirtd
Adds initial support for dtrace static probes in libvirtd
daemon, assuming use of systemtap dtrace compat shim on
Linux. The probes are inserted for network client connect,
disconnect, TLS handshake states and authentication protocol
states.
This can be tested by running the xample program and then
attempting to connect with any libvirt client (virsh,
virt-manager, etc).
# stap examples/systemtap/client.stp
Client fd=44 connected readonly=0
Client fd=44 auth polkit deny pid:24997,uid:500
Client fd=44 disconnected
Client fd=46 connected readonly=1
Client fd=46 auth sasl allow test
Client fd=46 disconnected
The libvirtd.stp file should also really not be required,
since it is duplicated info that is already available in
the main probes.d definition file. A script to autogenerate
the .stp file is needed, either in libvirtd tree, or better
as part of systemtap itself.
* Makefile.am: Add examples/systemtap subdir
* autobuild.sh: Disable dtrace for mingw32
* configure.ac: Add check for dtrace
* daemon/.gitignore: Ignore generated dtrace probe file
* daemon/Makefile.am: Build dtrace probe header & object
files
* daemon/libvirtd.stp: SystemTAP convenience probeset
* daemon/libvirtd.c: Add connect/disconnect & TLS probes
* daemon/remote.c: Add SASL and PolicyKit auth probes
* daemon/probes.d: Master probe definition
* daemon/libvirtd.h: Add convenience macro for probes
so that compilation is a no-op when dtrace is not available
* examples/systemtap/Makefile.am, examples/systemtap/client.stp
Example systemtap script using dtrace probe markers
* libvirt.spec.in: Enable dtrace on F13/RHEL6
* mingw32-libvirt.spec.in: Force disable dtrace
2010-09-14 16:30:32 +00:00
|
|
|
--without-dtrace \
|
2008-09-05 12:03:45 +00:00
|
|
|
--without-libvirtd
|
|
|
|
|
|
|
|
make
|
|
|
|
make install
|
|
|
|
|
|
|
|
#set -o pipefail
|
|
|
|
#make check 2>&1 | tee "$RESULTS"
|
|
|
|
|
2008-10-10 11:33:10 +00:00
|
|
|
if [ -f /usr/bin/rpmbuild ]; then
|
|
|
|
rpmbuild --nodeps \
|
|
|
|
--define "extra_release $EXTRA_RELEASE" \
|
|
|
|
--define "_sourcedir `pwd`" \
|
|
|
|
-ba --clean mingw32-libvirt.spec
|
|
|
|
fi
|
2007-02-07 17:46:44 +00:00
|
|
|
fi
|