Eric Blake
2019-Sep-24 21:55 UTC
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
Richard W.M. Jones
2019-Sep-25 10:46 UTC
Re: [Libguestfs] [PATCH nbdkit 0/4] common/protocol: Unify public <nbd-protocol.h>
FYI nbdkit-1.15.3-1.fc32 in Rawhide has the nbd-protocol.h file packaged in nbdkit-devel. I wasn't sure if we wanted to put it into a separate subpackage or not, since it doesn't fit with the rest of nbdkit-devel. https://koji.fedoraproject.org/koji/buildinfo?buildID=1389680 https://koji.fedoraproject.org/koji/rpminfo?rpmID=19158372 Rich. -- Richard Jones, Virtualization Group, Red Hat http://people.redhat.com/~rjones Read my programming and virtualization blog: http://rwmj.wordpress.com libguestfs lets you edit virtual machines. Supports shell scripting, bindings from many languages. http://libguestfs.org
Eric Blake
2019-Sep-25 12:53 UTC
Re: [Libguestfs] [PATCH nbdkit 0/4] common/protocol: Unify public <nbd-protocol.h>
On 9/25/19 5:46 AM, Richard W.M. Jones wrote:> > FYI nbdkit-1.15.3-1.fc32 in Rawhide has the nbd-protocol.h file > packaged in nbdkit-devel. I wasn't sure if we wanted to put it into a > separate subpackage or not, since it doesn't fit with the rest of > nbdkit-devel. > > https://koji.fedoraproject.org/koji/buildinfo?buildID=1389680 > https://koji.fedoraproject.org/koji/rpminfo?rpmID=19158372The only reason I see for a separate package would be if it makes it easier to break a build-time dependency chain: libnbd depends on the nbdkit subpackage providing nbd-protocol, while nbdkit depends on libnbd for nbdkit-nbd-plugin. But I'll trust your expertise in dealing with packaging issues. -- Eric Blake, Principal Software Engineer Red Hat, Inc. +1-919-301-3226 Virtualization: qemu.org | libvirt.org
Reasonably Related Threads
- Re: [PATCH nbdkit 0/4] common/protocol: Unify public <nbd-protocol.h>
- Looking for DirectFB 1.4.11 RPMs for 32-bit CentOS 6
- OCaml 4.09.0 rebuild complete in Rawhide (was: Re: OCaml 4.09.0 will be added to Fedora 32 via a side tag)
- libvirtd for el7
- xen4centos kernel version / debuginfo