
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 :|