[libvirt] [PATCH] freebsd: Add gnulib environ module for the commandtest

--- bootstrap.conf | 1 + 1 files changed, 1 insertions(+), 0 deletions(-) diff --git a/bootstrap.conf b/bootstrap.conf index f006a47..3b105b1 100644 --- a/bootstrap.conf +++ b/bootstrap.conf @@ -36,6 +36,7 @@ configmake count-one-bits crypto/md5 dirname-lgpl +environ fclose fcntl-h ffs -- 1.7.4.1

On 07/28/2011 05:08 AM, Matthias Bolte wrote:
--- bootstrap.conf | 1 + 1 files changed, 1 insertions(+), 0 deletions(-)
diff --git a/bootstrap.conf b/bootstrap.conf index f006a47..3b105b1 100644 --- a/bootstrap.conf +++ b/bootstrap.conf @@ -36,6 +36,7 @@ configmake count-one-bits crypto/md5 dirname-lgpl +environ
ACK. POSIX is clear that 'environ' is not declared by any standard header unless you use vendor extensions, whereas the gnulib module 'environ' guarantees the declaration in <unistd.h> to match the glibc extension when _GNU_SOURCE is defined (that is, the gnulib module is the vendor extension that we need to get the declaration visible on BSD). -- Eric Blake eblake@redhat.com +1-801-349-2682 Libvirt virtualization library http://libvirt.org

2011/7/28 Eric Blake <eblake@redhat.com>:
On 07/28/2011 05:08 AM, Matthias Bolte wrote:
--- bootstrap.conf | 1 + 1 files changed, 1 insertions(+), 0 deletions(-)
diff --git a/bootstrap.conf b/bootstrap.conf index f006a47..3b105b1 100644 --- a/bootstrap.conf +++ b/bootstrap.conf @@ -36,6 +36,7 @@ configmake count-one-bits crypto/md5 dirname-lgpl +environ
ACK.
POSIX is clear that 'environ' is not declared by any standard header unless you use vendor extensions, whereas the gnulib module 'environ' guarantees the declaration in <unistd.h> to match the glibc extension when _GNU_SOURCE is defined (that is, the gnulib module is the vendor extension that we need to get the declaration visible on BSD).
At least all tests compile on FreeBSD again. But most of the SSH cases in virnetmessagetest are failing and I don't understand why yet. Thanks, pushed. -- Matthias Bolte http://photron.blogspot.com

On 07/28/2011 07:52 AM, Matthias Bolte wrote:
At least all tests compile on FreeBSD again. But most of the SSH cases in virnetmessagetest are failing and I don't understand why yet.
Could it be a PATH vs. exec() issue, where BSD ends up doing a slightly different PATH search and not executing the dummy 'ssh' script from our test directory? Does a ktrace (or truss or strace or however it's spelled) shed any light? -- Eric Blake eblake@redhat.com +1-801-349-2682 Libvirt virtualization library http://libvirt.org

On Thu, Jul 28, 2011 at 07:56:18AM -0600, Eric Blake wrote:
On 07/28/2011 07:52 AM, Matthias Bolte wrote:
At least all tests compile on FreeBSD again. But most of the SSH cases in virnetmessagetest are failing and I don't understand why yet.
Could it be a PATH vs. exec() issue, where BSD ends up doing a slightly different PATH search and not executing the dummy 'ssh' script from our test directory? Does a ktrace (or truss or strace or however it's spelled) shed any light?
NB, if you run ./virnetsockettest it won't work. You have to run PATH=`pwd`:$PATH ./virnetsockettest Or make check TESTS=virnetsockettest to ensure the $PATH is set to find the local fake ssh Daniel -- |: http://berrange.com -o- http://www.flickr.com/photos/dberrange/ :| |: http://libvirt.org -o- http://virt-manager.org :| |: http://autobuild.org -o- http://search.cpan.org/~danberr/ :| |: http://entangle-photo.org -o- http://live.gnome.org/gtk-vnc :|

2011/8/2 Daniel P. Berrange <berrange@redhat.com>:
On Thu, Jul 28, 2011 at 07:56:18AM -0600, Eric Blake wrote:
On 07/28/2011 07:52 AM, Matthias Bolte wrote:
At least all tests compile on FreeBSD again. But most of the SSH cases in virnetmessagetest are failing and I don't understand why yet.
Could it be a PATH vs. exec() issue, where BSD ends up doing a slightly different PATH search and not executing the dummy 'ssh' script from our test directory? Does a ktrace (or truss or strace or however it's spelled) shed any light?
NB, if you run ./virnetsockettest it won't work. You have to run
PATH=`pwd`:$PATH ./virnetsockettest
That's true and this way is works on FreeBSD too.
Or
make check TESTS=virnetsockettest
to ensure the $PATH is set to find the local fake ssh
This way it doesn't because the makefile extends the path in a non-portable way. Eric fixed this http://libvirt.org/git/?p=libvirt.git;a=commit;h=343ab98229a60126ec75087dd42... -- Matthias Bolte http://photron.blogspot.com
participants (3)
-
Daniel P. Berrange
-
Eric Blake
-
Matthias Bolte