[libvirt] libvirt 0.8.7 LOCALSTATEDIR ubuntu patch

Hi, I'm using ubuntu for our libvirt/kvm host server and needed IPv6 connectivity, so I started to update the latest ubuntu libvirt package (0.8.5) to 0.8.7. I got all but one ubuntu specific patch to apply. The patch moves the ebiptables script from /tmp to "LOCALSTATEDIR" /lib/libvirt. I renamed LOCAL_STATE_DIR in the patch below to LOCALSTATEDIR, because this seems to have changed between 0.8.5 and 0.8.7, but I still get the following compile error. Since this is my first contact with the libvirt source or build system, I would be happy for any pointers on how to fix this and make LOCALSTATEDIR visible to nwfilter/nwfilter_ebiptables_driver.c. Best regards, Philipp Schmid PS: if anyone is interested in working (at least for me with kvm) packages (without the mentioned patch), you can grab them here: http://www.schmidp.com/public/libvirt_0.8.7_ubuntu_natty/ -Wall -Wformat -Wformat-security -Wmissing-prototypes -Wnested-externs -Wpointer-arith -Wextra -Wshadow -Wcast-align -Wwrite-strings -Waggregate-return -Wstrict-prototypes -Winline -Wredundant-decls -Wno-sign-compare -Wlogical-op -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fasynchronous-unwind-tables -fdiagnostics-show-option -DIN_LIBVIRT -I../src/conf -g -O2 -g -O2 -c nwfilter/nwfilter_ebiptables_driver.c -fPIC -DPIC -o .libs/libvirt_driver_nwfilter_la-nwfilter_ebiptables_driver.o nwfilter/nwfilter_ebiptables_driver.c: In function 'ebiptablesWriteToTempFile': nwfilter/nwfilter_ebiptables_driver.c:2444:23: error: 'LOCALSTATEDIR' undeclared (first use in this function) nwfilter/nwfilter_ebiptables_driver.c:2444:23: note: each undeclared identifier is reported only once for each function it appears in nwfilter/nwfilter_ebiptables_driver.c:2444:37: error: expected ',' or ';' before string constant make[4]: *** [libvirt_driver_nwfilter_la-nwfilter_ebiptables_driver.lo] Error 1 make[4]: Leaving directory `/tmp/buildd/libvirt-0.8.7/src' make[3]: *** [all] Error 2 make[3]: Leaving directory `/tmp/buildd/libvirt-0.8.7/src' make[2]: *** [all-recursive] Error 1 make[2]: Leaving directory `/tmp/buildd/libvirt-0.8.7' make[1]: *** [all] Error 2 make[1]: Leaving directory `/tmp/buildd/libvirt-0.8.7' make: *** [debian/stamp-makefile-build] Error 2 ######### Author: Jamie Strandboge <jamie@canonical.com> Description: move ebiptables script from /tmp to /var/lib/libvirt Forwarded: yes Index: libvirt-0.8.7/src/nwfilter/nwfilter_ebiptables_driver.c =================================================================== --- libvirt-0.8.7.orig/src/nwfilter/nwfilter_ebiptables_driver.c 2011-01-30 20:57:49.132301999 +0000 +++ libvirt-0.8.7/src/nwfilter/nwfilter_ebiptables_driver.c 2011-01-30 20:58:35.762302000 +0000 @@ -2441,7 +2441,7 @@ */ static char * ebiptablesWriteToTempFile(const char *string) { - char filename[] = "/tmp/virtdXXXXXX"; + char filename[] = LOCAL_STATE_DIR "/lib/libvirt/virtdXXXXXX"; int len; char *filnam; virBuffer buf = VIR_BUFFER_INITIALIZER;

On 01/31/2011 04:57 PM, Philipp Schmid wrote:
-Wall -Wformat -Wformat-security -Wmissing-prototypes -Wnested-externs -Wpointer-arith -Wextra -Wshadow -Wcast-align -Wwrite-strings -Waggregate-return -Wstrict-prototypes -Winline -Wredundant-decls -Wno-sign-compare -Wlogical-op -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fasynchronous-unwind-tables -fdiagnostics-show-option -DIN_LIBVIRT -I../src/conf -g -O2 -g -O2 -c nwfilter/nwfilter_ebiptables_driver.c -fPIC -DPIC -o .libs/libvirt_driver_nwfilter_la-nwfilter_ebiptables_driver.o nwfilter/nwfilter_ebiptables_driver.c: In function 'ebiptablesWriteToTempFile': nwfilter/nwfilter_ebiptables_driver.c:2444:23: error: 'LOCALSTATEDIR' undeclared (first use in this function)
Add this line to the problematic file: #include "configmake.h" (see nwfilter/nwfilter_driver.c for an example).
Author: Jamie Strandboge <jamie@canonical.com> Description: move ebiptables script from /tmp to /var/lib/libvirt Forwarded: yes
Index: libvirt-0.8.7/src/nwfilter/nwfilter_ebiptables_driver.c =================================================================== --- libvirt-0.8.7.orig/src/nwfilter/nwfilter_ebiptables_driver.c 2011-01-30 20:57:49.132301999 +0000 +++ libvirt-0.8.7/src/nwfilter/nwfilter_ebiptables_driver.c 2011-01-30 20:58:35.762302000 +0000 @@ -2441,7 +2441,7 @@ */ static char * ebiptablesWriteToTempFile(const char *string) { - char filename[] = "/tmp/virtdXXXXXX"; + char filename[] = LOCAL_STATE_DIR "/lib/libvirt/virtdXXXXXX";
Better yet, we should probably have some utility function that makes it easy to create a temporary file, while honoring $TMPDIR (if indeed it belongs in $TMPDIR rather than /var/lib), instead of just hard-coding /tmp. -- Eric Blake eblake@redhat.com +1-801-349-2682 Libvirt virtualization library http://libvirt.org

On Tue, Feb 01, 2011 at 12:57:35AM +0100, Philipp Schmid wrote:
Hi,
I'm using ubuntu for our libvirt/kvm host server and needed IPv6 connectivity, so I started to update the latest ubuntu libvirt package (0.8.5) to 0.8.7.
Debian has 0.8.7 packages already and since the Ubuntu ones are based on the Debian ones using these as a basis might be simpler: http://packages.debian.org/experimental/libvirt0 Cheers, -- Guido
I got all but one ubuntu specific patch to apply. The patch moves the ebiptables script from /tmp to "LOCALSTATEDIR" /lib/libvirt.
I renamed LOCAL_STATE_DIR in the patch below to LOCALSTATEDIR, because this seems to have changed between 0.8.5 and 0.8.7, but I still get the following compile error.
Since this is my first contact with the libvirt source or build system, I would be happy for any pointers on how to fix this and make LOCALSTATEDIR visible to nwfilter/nwfilter_ebiptables_driver.c.
Best regards,
Philipp Schmid
PS: if anyone is interested in working (at least for me with kvm) packages (without the mentioned patch), you can grab them here: http://www.schmidp.com/public/libvirt_0.8.7_ubuntu_natty/
-Wall -Wformat -Wformat-security -Wmissing-prototypes -Wnested-externs -Wpointer-arith -Wextra -Wshadow -Wcast-align -Wwrite-strings -Waggregate-return -Wstrict-prototypes -Winline -Wredundant-decls -Wno-sign-compare -Wlogical-op -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fasynchronous-unwind-tables -fdiagnostics-show-option -DIN_LIBVIRT -I../src/conf -g -O2 -g -O2 -c nwfilter/nwfilter_ebiptables_driver.c -fPIC -DPIC -o .libs/libvirt_driver_nwfilter_la-nwfilter_ebiptables_driver.o nwfilter/nwfilter_ebiptables_driver.c: In function 'ebiptablesWriteToTempFile': nwfilter/nwfilter_ebiptables_driver.c:2444:23: error: 'LOCALSTATEDIR' undeclared (first use in this function) nwfilter/nwfilter_ebiptables_driver.c:2444:23: note: each undeclared identifier is reported only once for each function it appears in nwfilter/nwfilter_ebiptables_driver.c:2444:37: error: expected ',' or ';' before string constant make[4]: *** [libvirt_driver_nwfilter_la-nwfilter_ebiptables_driver.lo] Error 1 make[4]: Leaving directory `/tmp/buildd/libvirt-0.8.7/src' make[3]: *** [all] Error 2 make[3]: Leaving directory `/tmp/buildd/libvirt-0.8.7/src' make[2]: *** [all-recursive] Error 1 make[2]: Leaving directory `/tmp/buildd/libvirt-0.8.7' make[1]: *** [all] Error 2 make[1]: Leaving directory `/tmp/buildd/libvirt-0.8.7' make: *** [debian/stamp-makefile-build] Error 2
#########
Author: Jamie Strandboge <jamie@canonical.com> Description: move ebiptables script from /tmp to /var/lib/libvirt Forwarded: yes
Index: libvirt-0.8.7/src/nwfilter/nwfilter_ebiptables_driver.c =================================================================== --- libvirt-0.8.7.orig/src/nwfilter/nwfilter_ebiptables_driver.c 2011-01-30 20:57:49.132301999 +0000 +++ libvirt-0.8.7/src/nwfilter/nwfilter_ebiptables_driver.c 2011-01-30 20:58:35.762302000 +0000 @@ -2441,7 +2441,7 @@ */ static char * ebiptablesWriteToTempFile(const char *string) { - char filename[] = "/tmp/virtdXXXXXX"; + char filename[] = LOCAL_STATE_DIR "/lib/libvirt/virtdXXXXXX"; int len; char *filnam; virBuffer buf = VIR_BUFFER_INITIALIZER;
-- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list
participants (3)
-
Eric Blake
-
Guido Günther
-
Philipp Schmid