[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]

Re: [Libguestfs] [PATCH nbdkit 0/4] common/protocol: Unify public <nbd-protocol.h>



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

Attachment: signature.asc
Description: OpenPGP digital signature


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]