[Libguestfs] 1.39 proposal: Let's split up the libguestfs git repo and tarballs
Richard W.M. Jones
rjones at redhat.com
Tue Jul 2 07:42:30 UTC 2019
On Tue, Jul 02, 2019 at 09:32:26AM +0200, Pino Toscano wrote:
> On Monday, 1 July 2019 22:47:32 CEST Richard W.M. Jones wrote:
> > > > Does this mean we need to move immediately to a submodule if just
> > > > splitting virt-p2v, or copy code as you suggest? Maybe not, because
> > > > you can imagine for just this project copying the code needed from the
> > > > common/ directory, and creating a new "mini-generator" for the project
> > > > which handles the little bits that need to be generated in virt-p2v.
> > >
> > > I'm actually solving in a different way, i.e. avoiding altogether the
> > > generator for p2v stuff.
> >
> > Hmm. There are parts of the current generator that apply to virt-p2v.
>
> Which ones? As I explained already, I found only two:
> - p2v_config.ml, which is entirely p2v-specific; when converted to
> another way, it can be dropped without affecting the rest of the
> generated sources of libguestfs
> - authors.ml, shared with libguestfs to generate the top-level AUTHORS
> file; I did not work on that yet -- my idea for it is to simply
> provide a static AUTHORS file for p2v, and generate the C source with
> the authors (for the GTK about dialog) using a simple Perl script
Yes, those are the bits I mean.
> > Can we split those parts of the generator out to have a new generator
> > that only applies to p2v? I find the generated config stuff useful,
> > and in fact have a non-upstream patch to enhance it some more.
>
> While I find the generator great for all the repetitive stuff related
> to bindings and actions, I'd rather not statically generate files at
> "dist" time if possible. For libguestfs still makes sense because:
> - it allows users to build even the C library without OCaml installed
> - generating the doc texts of the APIs takes "a lot", even 2 minutes
> on fast machines, because of all the pod2text invocations
> - few files (AUTHORS, gobject/Makefile.inc) are needed to create a dist
> tarball
>
> OTOH, to me this static generation has few drawbacks:
> - generated files in dist tarballs, which makes it more tricky to patch
> them
> - a slightly different workflow than other generated files (say C
> sources from flex/bison/gperf)
>
> In the case of p2v, I simply do not see the need for OCaml, neither at
> development time nor at simple tarball building time, and not even for
> a static generator in general. The generated files (with the notable
> exception of the p2v-config.h file) can be quickly generated at build
> time, with no drawback needed.
If you've come up with a way to deal with it I'm sure it'll be fine.
Rich.
--
Richard Jones, Virtualization Group, Red Hat http://people.redhat.com/~rjones
Read my programming and virtualization blog: http://rwmj.wordpress.com
virt-builder quickly builds VMs from scratch
http://libguestfs.org/virt-builder.1.html
More information about the Libguestfs
mailing list