[Libguestfs] [PATCH nbdkit 0/4] common/protocol: Unify public <nbd-protocol.h>
Eric Blake
eblake at redhat.com
Tue Sep 24 21:55:49 UTC 2019
On 9/24/19 4:23 PM, Richard W.M. Jones wrote:
> The cover letter was rather brief, let me try to explain this change
> some more ...
>
> When we created libnbd, we needed the definitions of various NBD
> protocol things (like protocol message layouts, constants etc). We
> copied a header file from nbdkit which provided these. Over time this
> header file has diverged from nbdkit's copy.
>
> In fact the libnbd one has been generally enhanced over the nbdkit
> version:
>
> - All symbols in libnbd's copy are prefixed by NBD_ or nbd_.
>
> - More coverage of the protocol.
>
> It would be good, not just for nbdkit/libnbd but for other projects,
> if we could unify these two files again and publish a liberally
> licensed copy as /usr/include/nbd-protocol.h.
And nbdkit definitely has the more-permissive license, as the better
location to stick it.
>
> This commit series does this for nbdkit.
>
> For libnbd there is an associated patch which just synchronizes the
> two files. I propose that we eventually change libnbd so that it uses
> the public (ie. nbdkit) version, but could fall back to an internal
> copy if the public version does not exist (so that libnbd doesn't need
> to depend on nbdkit).
It is a quasi-circular dependency: nbdkit depends on libnbd (if you
build libnbd-nbd-plugin), and libnbd depends on nbdkit (if you want the
latest header, rather than an in-tree fallback copied from an earlier
point in time); and both projects like to use the other in their
testsuites. But I think we are still at a point where either project
can be bootstrapped first without the other being installed (test
coverage may be smaller, and nbdkit-nbd-plugin may be omitted, but that
doesn't stop the rest of either package from working).
So the idea sounds fine to me.
--
Eric Blake, Principal Software Engineer
Red Hat, Inc. +1-919-301-3226
Virtualization: qemu.org | libvirt.org
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 488 bytes
Desc: OpenPGP digital signature
URL: <http://listman.redhat.com/archives/libguestfs/attachments/20190924/05546933/attachment.sig>
More information about the Libguestfs
mailing list