Description of problem: We would like to use libnbd in an Kubernetes operator written in Golang. So, we would need bindings to use libnbd natively.
Preliminary patches were posted upstream, but they still need a bit of work: https://www.redhat.com/archives/libguestfs/2020-March/msg00170.html
v3 posted: https://www.redhat.com/archives/libguestfs/2020-March/msg00220.html Generated bindings here: http://oirase.annexia.org/tmp/libnbd-go/
Upstream in: https://github.com/libguestfs/libnbd/commit/cb2121683f38332390ac938eb28d9c79a7aea602
Full list of commits required is: https://github.com/libguestfs/libnbd/commit/cb2121683f38332390ac938eb28d9c79a7aea602 https://github.com/libguestfs/libnbd/commit/460f4fb3a2ed0d937b66383dd2afb599ed39742f For RHEL AV I don't believe there is a way to package these bindings. What I anticipate will happen (but don't approve) is that anyone using these bindings will need to copy out the golang/src/ directory from the libnbd sources. [*VERY IMPORTANT NOTE* You MUST do this after compiling libnbd, since most files in this directory are generated. Just copying it from git will NOT WORK.] They will then bundle the bindings with their package. It will be compiled and linked statically into their final program (that is, the golang bindings of libnbd, not libnbd itself). As a result I don't think there's anything else we need to do on this bug, and we can now close it.
Closing per comment 4. It is assumed that the bindings will be distributed ("vendored") in the package which consumes them.