
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'. Also attached are the updated remote_protocol.[ch] files (ie. the files which are generated from remote_protocol.x by portable-rpcgen). I'm not suggesting we use these quite yet, because (a) they still generate some warnings, and (b) they need a lot more testing. However I think the patch is safe enough. Rich. [1] For more about this, see this message and the reply: https://www.redhat.com/archives/fedora-legal-list/2008-December/msg00022.htm... [2] LGPLv2+ for the library parts and GPLv2+ for the rpcgen program. -- Richard Jones, Emerging Technologies, Red Hat http://et.redhat.com/~rjones virt-p2v converts physical machines to virtual machines. Boot with a live CD or over the network (PXE) and turn machines into Xen guests. http://et.redhat.com/~rjones/virt-p2v