[libvirt] [PATCH v2] docs: attempt to document the general libvirt dev strategy

Daniel P. Berrangé berrange at redhat.com
Mon Sep 30 13:30:17 UTC 2019


On Mon, Sep 30, 2019 at 03:27:30PM +0200, Michal Privoznik wrote:
> On 9/24/19 5:33 PM, Daniel P. Berrangé wrote:
> > There are various ideas / plans floating around for future libvirt work,
> > some of which is actively in progress. Historically we've never captured
> > this kind of information anywhere, except in mailing list discussions.
> > In particular guidelines in hacking.html.in don't appear until a policy
> > is actively applied.
> > 
> > This patch attempts to fill the documentation gap, by creating a new
> > "strategy" page which outlines the general vision for some notable
> > future changes. The key thing to note is that none of the stuff on this
> > page is guaranteed, plans may change as new information arises. IOW this
> > is a "best guess" as to the desired future.
> > 
> > This doc has focused on three areas, related to the topic of language
> > usage / consolidation
> > 
> >   - Use of non-C languages for the library, daemons or helper tools
> >   - Replacement of autotools with meson
> >   - Use of RST and Sphinx for documentation (website + man pages)
> > 
> > Signed-off-by: Daniel P. Berrangé <berrange at redhat.com>
> > ---
> >   docs/docs.html.in     |   3 +
> >   docs/strategy.html.in | 144 ++++++++++++++++++++++++++++++++++++++++++
> >   2 files changed, 147 insertions(+)
> >   create mode 100644 docs/strategy.html.in
> 
> 
> > +    <p>
> > +      Using the RST format for documentation allows for the use of XSLT to be
> > +      eliminated from the build process. RST and the Sphinx toolkit are widely
> > +      used, as seen by the huge repository of content on
> > +      https://readthedocs.org/. The ability to embed raw HTML in the RST docs
> 
> This could be a clickable URL.
> 
> > +      will greatly facilitate its adoption, avoiding the need for a big bang
> > +      conversion of existing content. Given the desire to eliminate Perl
> > +      usage, replacing the use of POD documentation for manual pages is an
> > +      obvious followup task. RST is the obvious choice to achieve alignment
> > +      with the website, allowing the man pages to be easily published online
> > +      with other docs. It is further anticipated that the current API docs
> > +      generator which uses XSLT to convert the XML API description would be
> > +      converted to something which generates RST using Python instead of XSLT.
> > +    </p>
> > +  </body>
> > +</html>
> > 
> 
> Even though it looks like we are leaning towards Go more than Rust now (at
> least that's my understanding from talking to people face to face), we can
> mention both for now (for instance since you made NSS plugin completely
> unrelated it might be interesting excercise to write it in Rust/Go)

Yeah I think the NSS plugin is something where memory safety would be
especially useful. It is loaded into every process on the host OS and
has some non-trivial parsing code. I'm not convinced that we'd want
to use Go for it though - having a Go runtime in every running process
in the host OS feels undesirable to me.

> Reviewed-by: Michal Privoznik <mprivozn at redhat.com>

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 :|




More information about the libvir-list mailing list