[libvirt] [PATCH] Invoke PortableXDR's rpcgen if available

Daniel P. Berrange berrange at redhat.com
Wed Jan 14 22:50:30 UTC 2009


On Mon, Jan 12, 2009 at 04:34:25PM +0000, Richard W.M. Jones wrote:
> We discovered over the new year that the XDR code in glibc, which was
> derived from some original Sun code, doesn't have an unambiguously
> free license[1].  Furthermore the rpcgen in glibc is unmaintained and
> produces such bad code that we have to run a Perl script over it in
> order to correct some egregious errors.  Sun/glibc rpcgen code also
> contains all sorts of strange micro-optimizations that were probably
> good back in 1988, but don't make so much sense now.  Also rpcgen was
> implemented directly in C, so we took this chance to use flex/bison
> for more accurate and faster parsing.
> 
> For these reasons we are rewriting the XDR code and the rpcgen tool
> with a free license[2].  I'm pleased to say that as a result of this
> effort we've rewritten rpcgen already:
> 
>   http://git.et.redhat.com/?p=portablexdr.git;a=summary
> 
> To avoid conflicts, the new rpcgen will be installed as
> 'portable-rpcgen'.
> 
> The attached patch changes libvirt's configure so that if it finds
> 'portable-rpcgen' on the path, it uses it in preference to 'rpcgen'.

ACK To the configure.ac bit of the patch.

>   if (!xdr_u_quad_t (xdrs, &objp->cpu_time))
>     return FALSE;

It'd be good to have portable-xdr not generate code with the 'quad' related
methods, since thy don't exist on Solaris - it has int64 named ones instead.
Linux should have both I believe.

Daniel
-- 
|: Red Hat, Engineering, London   -o-   http://people.redhat.com/berrange/ :|
|: http://libvirt.org  -o-  http://virt-manager.org  -o-  http://ovirt.org :|
|: http://autobuild.org       -o-         http://search.cpan.org/~danberr/ :|
|: GnuPG: 7D3B9505  -o-  F3C9 553F A1DA 4AC2 5648 23C1 B3DF F742 7D3B 9505 :|




More information about the libvir-list mailing list