On Fri, Nov 29, 2019 at 12:09:47PM +0000, Richard W.M. Jones wrote: > So, the difficulty of git submodules aside, we have now split off > virt-v2v and virt-p2v into separate projects. > > I also yesterday split off the boot analysis tools into a repo which > is likely to be rarely used and which I'll probably not bother to > package in Fedora. > https://github.com/libguestfs/libguestfs-analysis-tools > > Where do we go from here? > > I think one of three ways. Either: > > * (1) * All libguestfs tools, whether written in C or OCaml, are > sufficiently similar to each other and so are moved into a new > libguestfs-tools project.
>From your original mail I see this small tools written in C (virt-cat, virt-filesystems, virt-log, virt-ls, virt-tail, virt-diff, virt-edit, virt-format, guestmount, virt-inspector, virt-make-fs, virt-rescue) guestfish virt-alignment-scan and virt-df virt-dib virt-get-kernel virt-resize virt-sparsify virt-v2v and virt-p2v virt-win-reg Most of these are fairly low level core tools just exposing some libguestfs APIs / functionality in a slightly more convenient way than guestfish, whether in C or OCaml. v2v & p2v are full applications in their own right & have split already which makes alot of sense. The other one here that feels like an application, as opposed to a convience wrapper, is virt-dib. So I think perhaps that one could be a separate repo. Everything else feels fine to be bundled as one to me. > libguestfs.git would end up containing only the daemon, core library > and language bindings. (Splitting out the language bindings is > technically difficult because of their interdependence with the > generator, and the language bindings are closely related to the API, > so I don't see the point of splitting them out anyway.) What about "guestfish" ? Do you consider that "core" or an add-on tool ? To me it feels like a core thing you'd expect to always get when you have libguestfs, so perhaps that should be in the main repo rather than tools repo. > Or: > > * (2) * Libguestfs tools in OCaml are different, and heavier-weight, > from the C ones so we put those in a new project (named ...?) The > libguestfs tools in C are "lightweight" in some sense so we keep those > in libguestfs.git. Users shouldn't know or care what language the tool uses, so exposing an arbitrary split of tools into 2 groups based on language feels undesirable. Doubly undesirable if there's a chance some of those C tools will get ported to OCaml. > * (3) * Libguestfs tools in C and OCaml are different from both > libguestfs and each other, and so we should move them into two new > projects (again, naming suggestions welcome). Same thoughts as option (2). > I'm not especially wedded to a particular approach, but I would like > to get something going on this sooner rather than later. To me it looks like something close to (1) is most sensible. Regards, Daniel -- |: https://berrange.com -o- https://www.flickr.com/photos/dberrange :| |: https://libvirt.org -o- https://fstop138.berrange.com :| |: https://entangle-photo.org -o- https://www.instagram.com/dberrange :| _______________________________________________ Libguestfs mailing list Libguestfs@redhat.com https://www.redhat.com/mailman/listinfo/libguestfs