On 28.09.2013 04:55, Eric Blake wrote:
I tried to test ./configure --without-lxc --without-remote.
First, the build failed with some odd errors, such as an
inability to build xen, or link failures for virNetTLSInit.
But when you think about it, once there is no remote code,
all of libvirtd is useless, any stateful driver that depends
on libvirtd is also not worth compiling, and any libraries
used only by RPC code are not needed. So I patched
configure.ac to make for some saner defaults when an
explicit disable is attempted. Similarly, since we have
migrated virnetdevbridge into generic code, the workaround
for Linux kernel stupidity must not depend on stateful
drivers being in use.
Then there's 'make check' that needs segragation.
Wow - quite a bit of cleanup to make --without-remote useful :)
* configure.ac: Let --without-remote toggle defaults on stateful
drivers and other libraries. Pick up Linux kernel workarounds
even when qemu and lxc are not being compiled.
* tests/Makefile.am (test_programs): Factor out programs that
require remote.
* src/libvirt_private.syms (rpc/virnet*.h): Move...
* src/libvirt_remote.syms: ...into new file.
* src/Makefile.am (SYM_FILES): Ship new syms file.
Signed-off-by: Eric Blake <eblake(a)redhat.com>
---
Looks big, but most of it is motion of text from splitting a file.
It fixes a build failure, but --enable-remote is not a regression
for this particular release (it's been broken for a while), so I'll
wait for a review even if it misses 1.1.3.
configure.ac | 16 +++-
src/Makefile.am | 6 ++
src/libvirt_private.syms | 199 --------------------------------------------
src/libvirt_remote.syms | 210 +++++++++++++++++++++++++++++++++++++++++++++++
tests/Makefile.am | 19 +++--
5 files changed, 243 insertions(+), 207 deletions(-)
create mode 100644 src/libvirt_remote.syms
ACK
Although I get this error when running 'make check'. Not a show stopper - this
patch fixes the build (I'm able to build --without-remote now), but would be nice if
you can get rid of it too.
Making check in src
make[1]: Entering directory `/home/zippy/work/libvirt/libvirt.git/src'
make check-am
make[2]: Entering directory `/home/zippy/work/libvirt/libvirt.git/src'
make check-local
make[3]: Entering directory `/home/zippy/work/libvirt/libvirt.git/src'
GEN check-symfile
GEN check-symsorting
GEN check-drivername
GEN check-driverimpls
Can't open ./remote/remote_protocol.c: No such file or directory at
./check-driverimpls.pl line 29, <> line 140903.
Can't open ./remote/remote_protocol.h: No such file or directory at
./check-driverimpls.pl line 29, <> line 140903.
Can't open ./remote/lxc_protocol.c: No such file or directory at
./check-driverimpls.pl line 29, <> line 147465.
Can't open ./remote/lxc_protocol.h: No such file or directory at
./check-driverimpls.pl line 29, <> line 147465.
Can't open ./remote/lxc_client_bodies.h: No such file or directory at
./check-driverimpls.pl line 29, <> line 147465.
Can't open ./remote/qemu_protocol.c: No such file or directory at
./check-driverimpls.pl line 29, <> line 147465.
Can't open ./remote/qemu_protocol.h: No such file or directory at
./check-driverimpls.pl line 29, <> line 147465.
Can't open ./remote/qemu_client_bodies.h: No such file or directory at
./check-driverimpls.pl line 29, <> line 147465.
GEN check-aclrules
GEN check-aclperms
GEN check-augeas-lockd
GEN check-augeas-virtlockd
make[3]: Leaving directory `/home/zippy/work/libvirt/libvirt.git/src'
make[2]: Leaving directory `/home/zippy/work/libvirt/libvirt.git/src'
make[1]: Leaving directory `/home/zippy/work/libvirt/libvirt.git/src'
Michal