The table was manually converted to a set of 'list-table'-s for better
experience of viewing the text.
Signed-off-by: Peter Krempa <pkrempa(a)redhat.com>
---
docs/downloads.html.in | 661 -----------------------------------------
docs/downloads.rst | 417 ++++++++++++++++++++++++++
docs/meson.build | 2 +-
3 files changed, 418 insertions(+), 662 deletions(-)
delete mode 100644 docs/downloads.html.in
create mode 100644 docs/downloads.rst
diff --git a/docs/downloads.html.in b/docs/downloads.html.in
deleted file mode 100644
index 40724cce22..0000000000
--- a/docs/downloads.html.in
+++ /dev/null
@@ -1,661 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE html>
-<html
xmlns="http://www.w3.org/1999/xhtml">
- <body>
- <h1>Downloads</h1>
-
- <ul id="toc"></ul>
-
- <h2><a id="releases">Project modules</a></h2>
-
- <p>
- The libvirt project maintains a number of inter-related modules beyond
- the core C library/daemon.
- </p>
-
- <table class="top_table downloads">
- <thead>
- <tr>
- <th>Module</th>
- <th>Releases</th>
- <th>GIT Repo</th>
- <th>Bug Tracker</th>
- <th>GIT Mirrors</th>
- <th>Resources</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td>libvirt</td>
- <td>
- <a
href="https://libvirt.org/sources/">libvirt</a>
- </td>
- <td>
- <a
href="https://gitlab.com/libvirt/libvirt">gitlab</a>
- </td>
- <td>
- <a
href="https://gitlab.com/libvirt/libvirt/-/issues">issues<...
- </td>
- <td class="gitmirror">
- <a
href="https://libvirt.org/git/?p=libvirt.git;a=summary">libv...
- <a
href="https://github.com/libvirt/libvirt">github</a>
- </td>
- <td>
- <a href="html/index.html">api ref</a>
- <a href="news.html">changes</a>
- </td>
- </tr>
- <tr>
- <th colspan="7">Language bindings</th>
- </tr>
- <tr>
- <td>C#</td>
- <td>
- <a
href="https://libvirt.org/sources/csharp/">libvirt</a>
- </td>
- <td>
- <a
href="https://gitlab.com/libvirt/libvirt-csharp">gitlab</...
- </td>
- <td>
- <a
href="https://gitlab.com/libvirt/libvirt-csharp/-/issues">is...
- </td>
- <td class="gitmirror">
- <a
href="https://libvirt.org/git/?p=libvirt-csharp.git;a=summary"&...
- <a
href="https://github.com/libvirt/libvirt-csharp">github</...
- </td>
- <td></td>
- </tr>
- <tr>
- <td>Go</td>
- <td>
- <a
href="https://libvirt.org/go/libvirt">libvirt</a>
- </td>
- <td>
- <a
href="https://gitlab.com/libvirt/libvirt-go-module">gitlab&l...
- </td>
- <td>
- <a
href="https://gitlab.com/libvirt/libvirt-go-module/-/issues">...
- </td>
- <td class="gitmirror">
- <a
href="https://libvirt.org/git/?p=libvirt-go-module.git;a=summary&quo...
- <a
href="https://github.com/libvirt/libvirt-go-module">github&l...
- </td>
- <td>
- <a
href="https://pkg.go.dev/libvirt.org/go/libvirt">api
ref</a>
- </td>
- </tr>
- <tr>
- <td>Java</td>
- <td>
- <a
href="https://libvirt.org/sources/java/">libvirt</a>
- </td>
- <td>
- <a
href="https://gitlab.com/libvirt/libvirt-java">gitlab</a>
- </td>
- <td>
- <a
href="https://gitlab.com/libvirt/libvirt-java/-/issues">issu...
- </td>
- <td class="gitmirror">
- <a
href="https://libvirt.org/git/?p=libvirt-java.git;a=summary">...
- <a
href="https://github.com/libvirt/libvirt-java">github</a>
- </td>
- <td></td>
- </tr>
- <tr>
- <td>OCaml</td>
- <td>
- <a
href="https://libvirt.org/sources/ocaml/">libvirt</a>
- </td>
- <td>
- <a
href="https://gitlab.com/libvirt/libvirt-ocaml">gitlab</a...
- </td>
- <td>
- <a
href="https://gitlab.com/libvirt/libvirt-ocaml/-/issues">iss...
- </td>
- <td class="gitmirror">
- <a
href="https://libvirt.org/git/?p=libvirt-ocaml.git;a=summary"&g...
- <a
href="https://github.com/libvirt/libvirt-ocaml">github</a...
- </td>
- <td></td>
- </tr>
- <tr>
- <td>Perl (Sys::Virt)</td>
- <td>
- <a
href="https://metacpan.org/release/Sys-Virt/">cpan</a>
- </td>
- <td>
- <a
href="https://gitlab.com/libvirt/libvirt-perl">gitlab</a>
- </td>
- <td>
- <a
href="https://gitlab.com/libvirt/libvirt-perl/-/issues">issu...
- </td>
- <td class="gitmirror">
- <a
href="https://libvirt.org/git/?p=libvirt-perl.git;a=summary">...
- <a
href="https://github.com/libvirt/libvirt-perl">github</a>
- </td>
- <td>
- <a
href="https://metacpan.org/release/Sys-Virt/">api
ref</a>
- <a
href="https://libvirt.org/git/?p=libvirt-perl.git;a=blob;f=Changes;h...
- </td>
- </tr>
- <tr>
- <td>PHP</td>
- <td>
- <a
href="https://libvirt.org/sources/php/">libvirt</a>
- </td>
- <td>
- <a
href="https://gitlab.com/libvirt/libvirt-php">gitlab</a>
- </td>
- <td>
- <a
href="https://gitlab.com/libvirt/libvirt-php/-/issues">issue...
- </td>
- <td class="gitmirror">
- <a
href="https://libvirt.org/git/?p=libvirt-php.git;a=summary">...
- <a
href="https://github.com/libvirt/libvirt-php">github</a>
- </td>
- <td></td>
- </tr>
- <tr>
- <td>Python</td>
- <td>
- <a
href="https://libvirt.org/sources/python/">libvirt</a>
- <a
href="https://pypi.python.org/pypi/libvirt-python">pypi</...
- </td>
- <td>
- <a
href="https://gitlab.com/libvirt/libvirt-python">gitlab</...
- </td>
- <td>
- <a
href="https://gitlab.com/libvirt/libvirt-python/-/issues">is...
- </td>
- <td class="gitmirror">
- <a
href="https://libvirt.org/git/?p=libvirt-python.git;a=summary"&...
- <a
href="https://github.com/libvirt/libvirt-python">github</...
- </td>
- <td></td>
- </tr>
- <tr>
- <td>Ruby</td>
- <td>
- <a
href="https://libvirt.org/sources/ruby/">libvirt</a>
- </td>
- <td>
- <a
href="https://gitlab.com/libvirt/libvirt-ruby">gitlab</a>
- </td>
- <td>
- <a
href="https://gitlab.com/libvirt/libvirt-ruby/-/issues">issu...
- </td>
- <td class="gitmirror">
- <a
href="https://libvirt.org/git/?p=libvirt-ruby.git;a=summary">...
- <a
href="https://github.com/libvirt/libvirt-ruby">github</a>
- </td>
- <td></td>
- </tr>
- <tr>
- <td>Rust</td>
- <td>
- <a href="https://crates.io/crates/virt">crates.io</a>
- </td>
- <td>
- <a
href="https://gitlab.com/libvirt/libvirt-rust">gitlab</a>
- </td>
- <td>
- <a
href="https://gitlab.com/libvirt/libvirt-rust/-/issues">issu...
- </td>
- <td class="gitmirror">
- <a
href="https://libvirt.org/git/?p=libvirt-rust.git;a=summary">...
- <a
href="https://github.com/libvirt/libvirt-rust">github</a>
- </td>
- <td>
- <a href="https://docs.rs/virt">api ref</a>
- </td>
- </tr>
- <tr>
- <th colspan="7">Integration modules</th>
- </tr>
- <tr>
- <td>GLib / GConfig / GObject</td>
- <td>
- <a
href="https://libvirt.org/sources/glib/">libvirt</a>
- </td>
- <td>
- <a
href="https://gitlab.com/libvirt/libvirt-glib">gitlab</a>
- </td>
- <td>
- <a
href="https://gitlab.com/libvirt/libvirt-glib/-/issues">issu...
- </td>
- <td class="gitmirror">
- <a
href="https://libvirt.org/git/?p=libvirt-glib.git;a=summary">...
- <a
href="https://github.com/libvirt/libvirt-glib">github</a>
- </td>
- <td></td>
- </tr>
- <tr>
- <td>Go XML</td>
- <td>
- <a
href="https://libvirt.org/go/libvirtxml">libvirt</a>
- </td>
- <td>
- <a
href="https://gitlab.com/libvirt/libvirt-go-xml-module">gitl...
- </td>
- <td>
- <a
href="https://gitlab.com/libvirt/libvirt-go-xml-module/-/issues"...
- </td>
- <td class="gitmirror">
- <a
href="https://libvirt.org/git/?p=libvirt-go-xml-module.git;a=summary...
- <a
href="https://github.com/libvirt/libvirt-go-xml-module">gith...
- </td>
- <td>
- <a
href="https://pkg.go.dev/libvirt.org/go/libvirtxml">api
ref</a>
- </td>
- </tr>
- <tr>
- <td>D-Bus</td>
- <td>
- <a
href="https://libvirt.org/sources/dbus/">libvirt</a>
- </td>
- <td>
- <a
href="https://gitlab.com/libvirt/libvirt-dbus">gitlab</a>
- </td>
- <td>
- <a
href="https://gitlab.com/libvirt/libvirt-dbus/-/issues">issu...
- </td>
- <td class="gitmirror">
- <a
href="https://libvirt.org/git/?p=libvirt-dbus.git;a=summary">...
- <a
href="https://github.com/libvirt/libvirt-dbus">github</a>
- </td>
- <td></td>
- </tr>
- <tr>
- <td>Console Proxy</td>
- <td>
- <a
href="https://libvirt.org/sources/consoleproxy/">libvirt<...
- </td>
- <td>
- <a
href="https://gitlab.com/libvirt/libvirt-console-proxy">gitl...
- </td>
- <td>
- <a
href="https://gitlab.com/libvirt/libvirt-console-proxy/-/issues"...
- </td>
- <td class="gitmirror">
- <a
href="https://libvirt.org/git/?p=libvirt-console-proxy.git;a=summary...
- <a
href="https://github.com/libvirt/libvirt-console-proxy">gith...
- </td>
- <td></td>
- </tr>
- <tr>
- <td>CIM provider</td>
- <td>
- <a
href="https://libvirt.org/sources/CIM/">libvirt</a>
- </td>
- <td>
- <a
href="https://gitlab.com/libvirt/libvirt-cim">gitlab</a>
- </td>
- <td>
- <a
href="https://gitlab.com/libvirt/libvirt-cim/-/issues">issue...
- </td>
- <td class="gitmirror">
- <a
href="https://libvirt.org/git/?p=libvirt-cim.git;a=summary">...
- <a
href="https://github.com/libvirt/libvirt-cim">github</a>
- </td>
- <td></td>
- </tr>
- <tr>
- <td>CIM utils</td>
- <td>
- <a
href="https://libvirt.org/sources/CIM/">libvirt</a>
- </td>
- <td>
- <a
href="https://gitlab.com/libvirt/libcmpiutil">gitlab</a>
- </td>
- <td>
- <a
href="https://gitlab.com/libvirt/libcmpiutil/-/issues">issue...
- </td>
- <td class="gitmirror">
- <a
href="https://libvirt.org/git/?p=libcmpiutil.git;a=summary">...
- <a
href="https://github.com/libvirt/libcmpiutil">github</a>
- </td>
- <td></td>
- </tr>
- <tr>
- <td>SNMP</td>
- <td>
- <a
href="https://libvirt.org/sources/snmp/">libvirt</a>
- </td>
- <td>
- <a
href="https://gitlab.com/libvirt/libvirt-snmp">gitlab</a>
- </td>
- <td>
- <a
href="https://gitlab.com/libvirt/libvirt-snmp/-/issues">issu...
- </td>
- <td class="gitmirror">
- <a
href="https://libvirt.org/git/?p=libvirt-snmp.git;a=summary">...
- <a
href="https://github.com/libvirt/libvirt-snmp">github</a>
- </td>
- <td></td>
- </tr>
- <tr>
- <td>Application Sandbox</td>
- <td>
- <a
href="https://libvirt.org/sources/sandbox/">libvirt</a>
- </td>
- <td>
- <a
href="https://gitlab.com/libvirt/libvirt-sandbox">gitlab<...
- </td>
- <td>
- <a
href="https://gitlab.com/libvirt/libvirt-sandbox/-/issues">i...
- </td>
- <td class="gitmirror">
- <a
href="https://libvirt.org/git/?p=libvirt-sandbox.git;a=summary"...
- <a
href="https://github.com/libvirt/libvirt-sandbox">github<...
- </td>
- <td></td>
- </tr>
- <tr>
- <th colspan="7">Testing</th>
- </tr>
- <tr>
- <td>TCK</td>
- <td>
- <a
href="https://libvirt.org/sources/tck/">libvirt</a>
- </td>
- <td>
- <a
href="https://gitlab.com/libvirt/libvirt-tck">gitlab</a>
- </td>
- <td>
- <a
href="https://gitlab.com/libvirt/libvirt-tck/-/issues">issue...
- </td>
- <td class="gitmirror">
- <a
href="https://libvirt.org/git/?p=libvirt-tck.git;a=summary">...
- <a
href="https://github.com/libvirt/libvirt-tck">github</a>
- </td>
- <td></td>
- </tr>
- <tr>
- <td>Test API</td>
- <td></td>
- <td>
- <a
href="https://gitlab.com/libvirt/libvirt-test-API">gitlab<...
- </td>
- <td>
- <a
href="https://gitlab.com/libvirt/libvirt-test-API/-/issues">...
- </td>
- <td class="gitmirror">
- <a
href="https://libvirt.org/git/?p=libvirt-test-API.git;a=summary"...
- <a
href="https://github.com/libvirt/libvirt-test-API">github<...
- </td>
- <td></td>
- </tr>
- <tr>
- <td>Continuous Integration Config</td>
- <td></td>
- <td>
- <a
href="https://gitlab.com/libvirt/libvirt-ci">gitlab</a>
- </td>
- <td>
- <a
href="https://gitlab.com/libvirt/libvirt-ci/-/issues">issues...
- </td>
- <td class="gitmirror">
- <a
href="https://libvirt.org/git/?p=libvirt-ci.git;a=summary">l...
- <a
href="https://github.com/libvirt/libvirt-ci">github</a>
- </td>
- <td></td>
- </tr>
- <tr>
- <td>CIM Test</td>
- <td></td>
- <td>
- <a
href="https://gitlab.com/libvirt/cimtest">gitlab</a>
- </td>
- <td>
- <a
href="https://gitlab.com/libvirt/cimtest/-/issues">issues<...
- </td>
- <td class="gitmirror">
- <a
href="https://libvirt.org/git/?p=cimtest.git;a=summary">libv...
- <a
href="https://github.com/libvirt/cimtest">github</a>
- </td>
- <td></td>
- </tr>
- <tr>
- <th colspan="7">Documentation</th>
- </tr>
- <tr>
- <td>Publican Brand</td>
- <td></td>
- <td>
- <a
href="https://gitlab.com/libvirt/libvirt-publican">gitlab<...
- </td>
- <td>
- <a
href="https://gitlab.com/libvirt/libvirt-publican/-/issues">...
- </td>
- <td class="gitmirror">
- <a
href="https://libvirt.org/git/?p=libvirt-publican.git;a=summary"...
- <a
href="https://github.com/libvirt/libvirt-publican">github<...
- </td>
- <td></td>
- </tr>
- <tr>
- <td>App Development Guide</td>
- <td></td>
- <td>
- <a
href="https://gitlab.com/libvirt/libvirt-appdev-guide">gitla...
- </td>
- <td>
- <a
href="https://gitlab.com/libvirt/libvirt-appdev-guide/-/issues"...
- </td>
- <td class="gitmirror">
- <a
href="https://libvirt.org/git/?p=libvirt-appdev-guide.git;a=summary&...
- <a
href="https://github.com/libvirt/libvirt-appdev-guide">githu...
- </td>
- <td></td>
- </tr>
- <tr>
- <td>App Development Guide Python</td>
- <td></td>
- <td>
- <a
href="https://gitlab.com/libvirt/libvirt-appdev-guide-python"&g...
- </td>
- <td>
- <a
href="https://gitlab.com/libvirt/libvirt-appdev-guide-python/-/issue...
- </td>
- <td class="gitmirror">
- <a
href="https://libvirt.org/git/?p=libvirt-appdev-guide-python.git;a=s...
- <a
href="https://github.com/libvirt/libvirt-appdev-guide-python"&g...
- </td>
- <td></td>
- </tr>
- <tr>
- <td>virsh Command Reference</td>
- <td></td>
- <td>
- <a
href="https://gitlab.com/libvirt/libvirt-virshcmdref">gitlab...
- </td>
- <td>
- <a
href="https://gitlab.com/libvirt/libvirt-virshcmdref/-/issues"&...
- </td>
- <td class="gitmirror">
- <a
href="https://libvirt.org/git/?p=libvirt-virshcmdref.git;a=summary&q...
- <a
href="https://github.com/libvirt/libvirt-virshcmdref">github...
- </td>
- <td></td>
- </tr>
- </tbody>
- </table>
-
- <h2>Primary download site</h2>
-
- <p>
- Most modules have releases made available for download on the project
- site via HTTPS. Some modules are instead made available at alternative
- locations, for example, the Perl binding is made available only on CPAN.
- </p>
-
- <ul>
- <li><a
href="https://libvirt.org/sources/">libvirt.org HTTPS
server</a></li>
- </ul>
-
- <h2><a id="schedule">Primary release
schedule</a></h2>
-
- <p>
- The core libvirt module follows a time based plan, with releases made
- once a month on the 1st of each month give or take a few days. The only
- exception is at the start of the year where there are two 6 weeks gaps
- (first release in the middle of Jan, then skip the Feb release), giving
- a total of 11 releases a year. The Python and Perl modules will aim to
- release at the same time as the core libvirt module. Other modules have
- independent ad-hoc releases with no fixed time schedule.
- </p>
-
- <h2><a id="numbering">Release numbering</a></h2>
-
- <p>
- Since libvirt 2.0.0, a time based version numbering rule
- is applied to the core library releases. As such, the changes
- in version number have do not have any implications with respect
- to the scope of features or bugfixes included, the stability of
- the code, or the API / ABI compatibility (libvirt API / ABI is
- guaranteed stable forever). The rules applied for changing the
- libvirt version number are:
- </p>
-
- <dl>
- <dt><code>major</code></dt>
- <dd>incremented by 1 for the first release of the year (the
- Jan 15th release)</dd>
- <dt><code>minor</code></dt>
- <dd>reset to 0 with every major increment, otherwise incremented by 1
- for each monthly release from git master</dd>
- <dt><code>micro</code></dt>
- <dd>always 0 for releases from git master, incremented by 1
- for each stable maintenance release</dd>
- </dl>
-
- <p>
- Prior to 2.0.0, the major/minor numbers were incremented
- fairly arbitrarily, and maintenance releases appended a
- fourth digit. The language bindings will aim to use the
- same version number as the most recent core library API
- they support. The other modules have their own distinct
- release numbering sequence, though they generally aim
- to follow the above rules for incrementing major/minor/micro
- digits.
- </p>
-
- <h2><a id="maintenance">Maintenance
releases</a></h2>
- <p>
- In the git repository are several stable maintenance branches
- for the core library, matching the
- pattern
<code>v<i>major</i>.<i>minor</i>-maint</code>;
- these branches are forked off the corresponding
- <code>v<i>major</i>.<i>minor</i>.0</code>
formal
- release, and may have further releases of the
- form
<code>v<i>major</i>.<i>minor</i>.<i>micro</i></code>.
- These maintenance branches should only contain bug fixes, and no
- new features, backported from the master branch, and are
- supported as long as at least one downstream distribution
- expresses interest in a given branch. These maintenance
- branches are considered during CVE analysis. In contrast
- to the primary releases which are made once a month, there
- is no formal schedule for the maintenance releases, which
- are made whenever there is a need to make available key
- bugfixes to downstream consumers. The language bindings
- and other modules generally do not provide stable branch
- releases.
- </p>
-
- <p>
- For more details about contents of maintenance releases, see
- <a
href="https://wiki.libvirt.org/page/Maintenance_Releases">the
- wiki page</a>.
- </p>
-
- <h2><a id="git">GIT source repository</a></h2>
-
- <p>
- All modules maintained by the libvirt project have their primary
- source available in the <a
href="https://libvirt.org/git/">project
GIT server</a>.
- Each module can be cloned anonymously using:
- </p>
-
- <pre>
-git clone
https://libvirt.org/git/[module name].git</pre>
-
- <p>
- The <code>git://</code> protocol is also available if desired, but
- <code>https://</code> is encouraged, since it is more reliable when
- faced with strict firewalls.
- </p>
-
- <pre>
-git clone
git://libvirt.org/[module name].git</pre>
-
- <p>
- In addition to this primary repository, there are the following read-only git
- repositories which mirror the master one. Note that we currently do not
- use the full set of features on these mirrors (e.g. pull requests on
- GitHub, so please don't use them). All patch review and discussion only
- occurs on the <a href="contact.html">libvir-list</a> mailing
list. Also
- note that some repositories listed below allow HTTP checkouts too.
- </p>
-
- <pre>
-<a
href="https://github.com/libvirt/">https://github.com/libvir...
-<a
href="https://gitlab.com/libvirt/libvirt">https://gitlab.com...
-
- <h2><a id="keys">Signing keys</a></h2>
-
- <p>
- Source RPM packages and tarballs for libvirt and libvirt-python published
- on this project site are signed with a GPG signature. You should always
- verify the package signature before using the source to compile binary
- packages. The following key is currently used to generate the GPG
- signatures:
- </p>
- <pre>
-pub 4096R/10084C9C 2020-07-20 Jiří Denemark &lt;jdenemar(a)redhat.com&gt;
-Fingerprint=453B 6531 0595 5628 5547 1199 CA68 BE80 1008 4C9C
-</pre>
-
- <p>
- It can be downloaded from
- <a
href="https://libvirt.org/sources/gpg_key.asc">this
site</a> or from
- public GPG key servers.
- </p>
-
- <p>
- Releases prior to libvirt-6.6 were signed with the following GPG key:
- </p>
-
- <pre>
-pub dsa1024 2000-05-31 [SC]
-C744 15BA 7C9C 7F78 F02E 1DC3 4606 B8A5 DE95 BC1F
-uid [ unknown] Daniel Veillard (Red Hat work email)
&lt;veillard(a)redhat.com&gt;
-uid [ unknown] Daniel Veillard &lt;Daniel.Veillard(a)w3.org&gt;
- </pre>
-
- <pre>
------BEGIN PGP SIGNED MESSAGE-----
-Hash: SHA256
-
-Starting from libvirt-6.6.0 the upstream releases will be done by Jiří Denemark
-signed with his PGP key:
-
-pub 4096R/10084C9C 2020-07-20 Jiří Denemark &lt;jdenemar(a)redhat.com&gt;
-Fingerprint=453B 6531 0595 5628 5547 1199 CA68 BE80 1008 4C9C
-
-This message is signed by the old signing key which was used for previous
-releases.
------BEGIN PGP SIGNATURE-----
-
-iQEzBAEBCAAdFiEE20ZoG7ka3OoXD6LUFViLJllr6l0FAl/8H9cACgkQFViLJllr
-6l3iVwgAm9n703/QoIfPbxT5qGQzWK6LNriEcG2R9MLgFcW+UuGA9cqIBLhH1RaJ
-q7Gc3gK0dgE2HAF6DxuG5+nkDY6LdmonLOVFWQkMCh41JHFrV6tw8y9hc/RNOb/m
-gFAl4HpwYisjTRvsTRcpR3ElK6lI0Yu4GY4gJxj5qH4L5exR+kkylwuAxqP+wuyY
-b/L/tP76F4+Q9SSPj0M01NRVC7V8m3yvnok5y374vtxvRFome0WMELn81vphxBLx
-X7LQ1LyjvRs0HhN5MutJES5FYDzArTYZfZJozJgE465XrHxMMCbXbZ/AgAs/aD+5
-x+m2mFplbS57tMEoMBP/ezbbL5wpvA==
-=KnaO
------END PGP SIGNATURE-----
- </pre>
-
- </body>
-</html>
diff --git a/docs/downloads.rst b/docs/downloads.rst
new file mode 100644
index 0000000000..3920ecb604
--- /dev/null
+++ b/docs/downloads.rst
@@ -0,0 +1,417 @@
+=========
+Downloads
+=========
+
+.. contents::
+
+Project modules
+---------------
+
+The libvirt project maintains a number of inter-related modules beyond the core
+C library/daemon.
+
+Libvirt
+~~~~~~~
+
+.. list-table::
+ :header-rows: 1
+
+ * - Module
+ - Releases
+ - GIT Repo
+ - Bug Tracker
+ - GIT Mirrors
+ - Resources
+
+ * - libvirt
+ - `libvirt <
https://libvirt.org/sources/>`__
+ - `gitlab <
https://gitlab.com/libvirt/libvirt>`__
+ - `issues <
https://gitlab.com/libvirt/libvirt/-/issues>`__
+ - `github <
https://github.com/libvirt/libvirt>`__
+ - `api ref <html/index.html>`__
+ `changes <news.html>`__
+
+Language bindings
+~~~~~~~~~~~~~~~~~
+
+.. list-table::
+ :header-rows: 1
+
+ * - Module
+ - Releases
+ - GIT Repo
+ - Bug Tracker
+ - GIT Mirrors
+ - Resources
+
+ * - C#
+ - `libvirt <
https://libvirt.org/sources/csharp/>`__
+ - `gitlab <
https://gitlab.com/libvirt/libvirt-csharp>`__
+ - `issues <
https://gitlab.com/libvirt/libvirt-csharp/-/issues>`__
+ - `libvirt <
https://libvirt.org/git/?p=libvirt-csharp.git;a=summary>`__
+ `github <
https://github.com/libvirt/libvirt-csharp>`__
+ -
+
+ * - Go
+ - `libvirt <
https://libvirt.org/go/libvirt>`__
+ - `gitlab <
https://gitlab.com/libvirt/libvirt-go-module>`__
+ - `issues <
https://gitlab.com/libvirt/libvirt-go-module/-/issues>`__
+ - `libvirt <
https://libvirt.org/git/?p=libvirt-go-module.git;a=summary>`__
+ `github <
https://github.com/libvirt/libvirt-go-module>`__
+ - `api ref <
https://pkg.go.dev/libvirt.org/go/libvirt>`__
+
+ * - Java
+ - `libvirt <
https://libvirt.org/sources/java/>`__
+ - `gitlab <
https://gitlab.com/libvirt/libvirt-java>`__
+ - `issues <
https://gitlab.com/libvirt/libvirt-java/-/issues>`__
+ - `libvirt <
https://libvirt.org/git/?p=libvirt-java.git;a=summary>`__
+ `github <
https://github.com/libvirt/libvirt-java>`__
+ -
+
+ * - OCaml
+ - `libvirt <
https://libvirt.org/sources/ocaml/>`__
+ - `gitlab <
https://gitlab.com/libvirt/libvirt-ocaml>`__
+ - `issues <
https://gitlab.com/libvirt/libvirt-ocaml/-/issues>`__
+ - `libvirt <
https://libvirt.org/git/?p=libvirt-ocaml.git;a=summary>`__
+ `github <
https://github.com/libvirt/libvirt-ocaml>`__
+ -
+
+ * - Perl (Sys::Virt)
+ - `cpan <
https://metacpan.org/release/Sys-Virt/>`__
+ - `gitlab <
https://gitlab.com/libvirt/libvirt-perl>`__
+ - `issues <
https://gitlab.com/libvirt/libvirt-perl/-/issues>`__
+ - `libvirt <
https://libvirt.org/git/?p=libvirt-perl.git;a=summary>`__
+ `github <
https://github.com/libvirt/libvirt-perl>`__
+ - `api ref <
https://metacpan.org/release/Sys-Virt/>`__
+ `changes
<
https://libvirt.org/git/?p=libvirt-perl.git;a=blob;f=Changes;hb=HEAD>`__
+
+ * - PHP
+ - `libvirt <
https://libvirt.org/sources/php/>`__
+ - `gitlab <
https://gitlab.com/libvirt/libvirt-php>`__
+ - `issues <
https://gitlab.com/libvirt/libvirt-php/-/issues>`__
+ - `libvirt <
https://libvirt.org/git/?p=libvirt-php.git;a=summary>`__
+ `github <
https://github.com/libvirt/libvirt-php>`__
+ -
+
+ * - Python
+ - `libvirt <
https://libvirt.org/sources/python/>`__
+ `pypi <
https://pypi.python.org/pypi/libvirt-python>`__
+ - `gitlab <
https://gitlab.com/libvirt/libvirt-python>`__
+ - `issues <
https://gitlab.com/libvirt/libvirt-python/-/issues>`__
+ - `libvirt <
https://libvirt.org/git/?p=libvirt-python.git;a=summary>`__
+ `github <
https://github.com/libvirt/libvirt-python>`__
+ -
+
+ * - Ruby
+ - `libvirt <
https://libvirt.org/sources/ruby/>`__
+ - `gitlab <
https://gitlab.com/libvirt/libvirt-ruby>`__
+ - `issues <
https://gitlab.com/libvirt/libvirt-ruby/-/issues>`__
+ - `libvirt <
https://libvirt.org/git/?p=libvirt-ruby.git;a=summary>`__
+ `github <
https://github.com/libvirt/libvirt-ruby>`__
+ -
+
+ * - Rust
+ - `crates.io <
https://crates.io/crates/virt>`__
+ - `gitlab <
https://gitlab.com/libvirt/libvirt-rust>`__
+ - `issues <
https://gitlab.com/libvirt/libvirt-rust/-/issues>`__
+ - `libvirt <
https://libvirt.org/git/?p=libvirt-rust.git;a=summary>`__
+ `github <
https://github.com/libvirt/libvirt-rust>`__
+ - `api ref <
https://docs.rs/virt>`__
+
+Integration modules
+~~~~~~~~~~~~~~~~~~~
+
+.. list-table::
+ :header-rows: 1
+
+ * - Module
+ - Releases
+ - GIT Repo
+ - Bug Tracker
+ - GIT Mirrors
+ - Resources
+
+ * - GLib / GConfig / GObject
+ - `libvirt <
https://libvirt.org/sources/glib/>`__
+ - `gitlab <
https://gitlab.com/libvirt/libvirt-glib>`__
+ - `issues <
https://gitlab.com/libvirt/libvirt-glib/-/issues>`__
+ - `libvirt <
https://libvirt.org/git/?p=libvirt-glib.git;a=summary>`__
+ `github <
https://github.com/libvirt/libvirt-glib>`__
+ -
+
+ * - Go XML
+ - `libvirt <
https://libvirt.org/go/libvirtxml>`__
+ - `gitlab <
https://gitlab.com/libvirt/libvirt-go-xml-module>`__
+ - `issues <
https://gitlab.com/libvirt/libvirt-go-xml-module/-/issues>`__
+ - `libvirt <
https://libvirt.org/git/?p=libvirt-go-xml-module.git;a=summary>`__
+ `github <
https://github.com/libvirt/libvirt-go-xml-module>`__
+ - `api ref <
https://pkg.go.dev/libvirt.org/go/libvirtxml>`__
+
+ * - D-Bus
+ - `libvirt <
https://libvirt.org/sources/dbus/>`__
+ - `gitlab <
https://gitlab.com/libvirt/libvirt-dbus>`__
+ - `issues <
https://gitlab.com/libvirt/libvirt-dbus/-/issues>`__
+ - `libvirt <
https://libvirt.org/git/?p=libvirt-dbus.git;a=summary>`__
+ `github <
https://github.com/libvirt/libvirt-dbus>`__
+ -
+
+ * - Console Proxy
+ - `libvirt <
https://libvirt.org/sources/consoleproxy/>`__
+ - `gitlab <
https://gitlab.com/libvirt/libvirt-console-proxy>`__
+ - `issues <
https://gitlab.com/libvirt/libvirt-console-proxy/-/issues>`__
+ - `libvirt <
https://libvirt.org/git/?p=libvirt-console-proxy.git;a=summary>`__
+ `github <
https://github.com/libvirt/libvirt-console-proxy>`__
+ -
+
+ * - CIM provider
+ - `libvirt <
https://libvirt.org/sources/CIM/>`__
+ - `gitlab <
https://gitlab.com/libvirt/libvirt-cim>`__
+ - `issues <
https://gitlab.com/libvirt/libvirt-cim/-/issues>`__
+ - `libvirt <
https://libvirt.org/git/?p=libvirt-cim.git;a=summary>`__
+ `github <
https://github.com/libvirt/libvirt-cim>`__
+ -
+
+ * - CIM utils
+ - `libvirt <
https://libvirt.org/sources/CIM/>`__
+ - `gitlab <
https://gitlab.com/libvirt/libcmpiutil>`__
+ - `issues <
https://gitlab.com/libvirt/libcmpiutil/-/issues>`__
+ - `libvirt <
https://libvirt.org/git/?p=libcmpiutil.git;a=summary>`__
+ `github <
https://github.com/libvirt/libcmpiutil>`__
+ -
+
+ * - SNMP
+ - `libvirt <
https://libvirt.org/sources/snmp/>`__
+ - `gitlab <
https://gitlab.com/libvirt/libvirt-snmp>`__
+ - `issues <
https://gitlab.com/libvirt/libvirt-snmp/-/issues>`__
+ - `libvirt <
https://libvirt.org/git/?p=libvirt-snmp.git;a=summary>`__
+ `github <
https://github.com/libvirt/libvirt-snmp>`__
+ -
+
+ * - Application Sandbox
+ - `libvirt <
https://libvirt.org/sources/sandbox/>`__
+ - `gitlab <
https://gitlab.com/libvirt/libvirt-sandbox>`__
+ - `issues <
https://gitlab.com/libvirt/libvirt-sandbox/-/issues>`__
+ - `libvirt <
https://libvirt.org/git/?p=libvirt-sandbox.git;a=summary>`__
+ `github <
https://github.com/libvirt/libvirt-sandbox>`__
+ -
+
+Testing
+~~~~~~~
+
+.. list-table::
+ :header-rows: 1
+
+ * - Module
+ - Releases
+ - GIT Repo
+ - Bug Tracker
+ - GIT Mirrors
+
+ * - TCK
+ - `libvirt <
https://libvirt.org/sources/tck/>`__
+ - `gitlab <
https://gitlab.com/libvirt/libvirt-tck>`__
+ - `issues <
https://gitlab.com/libvirt/libvirt-tck/-/issues>`__
+ - `libvirt <
https://libvirt.org/git/?p=libvirt-tck.git;a=summary>`__
+ `github <
https://github.com/libvirt/libvirt-tck>`__
+
+ * - Test API
+ -
+ - `gitlab <
https://gitlab.com/libvirt/libvirt-test-API>`__
+ - `issues <
https://gitlab.com/libvirt/libvirt-test-API/-/issues>`__
+ - `libvirt <
https://libvirt.org/git/?p=libvirt-test-API.git;a=summary>`__
+ `github <
https://github.com/libvirt/libvirt-test-API>`__
+
+ * - Continuous Integration Config
+ -
+ - `gitlab <
https://gitlab.com/libvirt/libvirt-ci>`__
+ - `issues <
https://gitlab.com/libvirt/libvirt-ci/-/issues>`__
+ - `libvirt <
https://libvirt.org/git/?p=libvirt-ci.git;a=summary>`__
+ `github <
https://github.com/libvirt/libvirt-ci>`__
+
+ * - CIM Test
+ -
+ - `gitlab <
https://gitlab.com/libvirt/cimtest>`__
+ - `issues <
https://gitlab.com/libvirt/cimtest/-/issues>`__
+ - `libvirt <
https://libvirt.org/git/?p=cimtest.git;a=summary>`__
+ `github <
https://github.com/libvirt/cimtest>`__
+
+Documentation
+~~~~~~~~~~~~~
+
+.. list-table::
+ :header-rows: 1
+
+ * - Module
+ - GIT Repo
+ - Bug Tracker
+ - GIT Mirrors
+
+ * - Publican Brand
+ - `gitlab <
https://gitlab.com/libvirt/libvirt-publican>`__
+ - `issues <
https://gitlab.com/libvirt/libvirt-publican/-/issues>`__
+ - `libvirt <
https://libvirt.org/git/?p=libvirt-publican.git;a=summary>`__
+ `github <
https://github.com/libvirt/libvirt-publican>`__
+
+ * - App Development Guide
+ - `gitlab <
https://gitlab.com/libvirt/libvirt-appdev-guide>`__
+ - `issues <
https://gitlab.com/libvirt/libvirt-appdev-guide/-/issues>`__
+ - `libvirt <
https://libvirt.org/git/?p=libvirt-appdev-guide.git;a=summary>`__
+ `github <
https://github.com/libvirt/libvirt-appdev-guide>`__
+
+ * - App Development Guide Python
+ - `gitlab <
https://gitlab.com/libvirt/libvirt-appdev-guide-python>`__
+ - `issues <
https://gitlab.com/libvirt/libvirt-appdev-guide-python/-/issues>`__
+ - `libvirt
<
https://libvirt.org/git/?p=libvirt-appdev-guide-python.git;a=summary>`__
+ `github <
https://github.com/libvirt/libvirt-appdev-guide-python>`__
+
+ * - virsh Command Reference
+ - `gitlab <
https://gitlab.com/libvirt/libvirt-virshcmdref>`__
+ - `issues <
https://gitlab.com/libvirt/libvirt-virshcmdref/-/issues>`__
+ - `libvirt <
https://libvirt.org/git/?p=libvirt-virshcmdref.git;a=summary>`__
+ `github <
https://github.com/libvirt/libvirt-virshcmdref>`__
+
+Primary download site
+---------------------
+
+Most modules have releases made available for download on the project site via
+HTTPS. Some modules are instead made available at alternative locations, for
+example, the Perl binding is made available only on CPAN.
+
+- `libvirt.org HTTPS server <
https://libvirt.org/sources/>`__
+
+Primary release schedule
+------------------------
+
+The core libvirt module follows a time based plan, with releases made once a
+month on the 1st of each month give or take a few days. The only exception is at
+the start of the year where there are two 6 weeks gaps (first release in the
+middle of Jan, then skip the Feb release), giving a total of 11 releases a year.
+The Python and Perl modules will aim to release at the same time as the core
+libvirt module. Other modules have independent ad-hoc releases with no fixed
+time schedule.
+
+Release numbering
+-----------------
+
+Since libvirt 2.0.0, a time based version numbering rule is applied to the core
+library releases. As such, the changes in version number have do not have any
+implications with respect to the scope of features or bugfixes included, the
+stability of the code, or the API / ABI compatibility (libvirt API / ABI is
+guaranteed stable forever). The rules applied for changing the libvirt version
+number are:
+
+``major``
+ incremented by 1 for the first release of the year (the Jan 15th release)
+``minor``
+ reset to 0 with every major increment, otherwise incremented by 1 for each
+ monthly release from git master
+``micro``
+ always 0 for releases from git master, incremented by 1 for each stable
+ maintenance release
+
+Prior to 2.0.0, the major/minor numbers were incremented fairly arbitrarily, and
+maintenance releases appended a fourth digit. The language bindings will aim to
+use the same version number as the most recent core library API they support.
+The other modules have their own distinct release numbering sequence, though
+they generally aim to follow the above rules for incrementing major/minor/micro
+digits.
+
+Maintenance releases
+--------------------
+
+In the git repository are several stable maintenance branches for the core
+library, matching the pattern ``vmajor.minor-maint``; these branches are forked
+off the corresponding ``vmajor.minor.0`` formal release, and may have further
+releases of the form ``vmajor.minor.micro``. These maintenance branches should
+only contain bug fixes, and no new features, backported from the master branch,
+and are supported as long as at least one downstream distribution expresses
+interest in a given branch. These maintenance branches are considered during CVE
+analysis. In contrast to the primary releases which are made once a month, there
+is no formal schedule for the maintenance releases, which are made whenever
+there is a need to make available key bugfixes to downstream consumers. The
+language bindings and other modules generally do not provide stable branch
+releases.
+
+For more details about contents of maintenance releases, see `the wiki
+page <
https://wiki.libvirt.org/page/Maintenance_Releases>`__.
+
+GIT source repository
+---------------------
+
+All modules maintained by the libvirt project have their primary source
+available in the `project GIT server <
https://libvirt.org/git/>`__. Each module
+can be cloned anonymously using:
+
+::
+
+ git clone
https://libvirt.org/git/[module name].git
+
+The ``git://`` protocol is also available if desired, but ``https://`` is
+encouraged, since it is more reliable when faced with strict firewalls.
+
+::
+
+ git clone
git://libvirt.org/[module name].git
+
+In addition to this primary repository, there are the following read-only git
+repositories which mirror the master one. Note that we currently do not use the
+full set of features on these mirrors (e.g. pull requests on GitHub, so please
+don't use them). All patch review and discussion only occurs on the
+`libvir-list <contact.html>`__ mailing list. Also note that some repositories
+listed below allow HTTP checkouts too.
+
+::
+
+
https://github.com/libvirt/
+
https://gitlab.com/libvirt/
+
+Signing keys
+------------
+
+Source RPM packages and tarballs for libvirt and libvirt-python published on
+this project site are signed with a GPG signature. You should always verify the
+package signature before using the source to compile binary packages. The
+following key is currently used to generate the GPG signatures:
+
+::
+
+ pub 4096R/10084C9C 2020-07-20 Jiří Denemark <jdenemar(a)redhat.com>
+ Fingerprint=453B 6531 0595 5628 5547 1199 CA68 BE80 1008 4C9C
+
+It can be downloaded from `this
+site <
https://libvirt.org/sources/gpg_key.asc>`__ or from public GPG key
+servers.
+
+Releases prior to libvirt-6.6 were signed with the following GPG key:
+
+::
+
+ pub dsa1024 2000-05-31 [SC]
+ C744 15BA 7C9C 7F78 F02E 1DC3 4606 B8A5 DE95 BC1F
+ uid [ unknown] Daniel Veillard (Red Hat work email)
<veillard(a)redhat.com>
+ uid [ unknown] Daniel Veillard <Daniel.Veillard(a)w3.org>
+
+::
+
+ -----BEGIN PGP SIGNED MESSAGE-----
+ Hash: SHA256
+
+ Starting from libvirt-6.6.0 the upstream releases will be done by Jiří Denemark
+ signed with his PGP key:
+
+ pub 4096R/10084C9C 2020-07-20 Jiří Denemark <jdenemar(a)redhat.com>
+ Fingerprint=453B 6531 0595 5628 5547 1199 CA68 BE80 1008 4C9C
+
+ This message is signed by the old signing key which was used for previous
+ releases.
+ -----BEGIN PGP SIGNATURE-----
+
+ iQEzBAEBCAAdFiEE20ZoG7ka3OoXD6LUFViLJllr6l0FAl/8H9cACgkQFViLJllr
+ 6l3iVwgAm9n703/QoIfPbxT5qGQzWK6LNriEcG2R9MLgFcW+UuGA9cqIBLhH1RaJ
+ q7Gc3gK0dgE2HAF6DxuG5+nkDY6LdmonLOVFWQkMCh41JHFrV6tw8y9hc/RNOb/m
+ gFAl4HpwYisjTRvsTRcpR3ElK6lI0Yu4GY4gJxj5qH4L5exR+kkylwuAxqP+wuyY
+ b/L/tP76F4+Q9SSPj0M01NRVC7V8m3yvnok5y374vtxvRFome0WMELn81vphxBLx
+ X7LQ1LyjvRs0HhN5MutJES5FYDzArTYZfZJozJgE465XrHxMMCbXbZ/AgAs/aD+5
+ x+m2mFplbS57tMEoMBP/ezbbL5wpvA==
+ =KnaO
+ -----END PGP SIGNATURE-----
diff --git a/docs/meson.build b/docs/meson.build
index 7146bd078b..c1d4072cf7 100644
--- a/docs/meson.build
+++ b/docs/meson.build
@@ -24,7 +24,6 @@ docs_html_in_files = [
'csharp',
'dbus',
'docs',
- 'downloads',
'drvbhyve',
'drvesx',
'drvhyperv',
@@ -85,6 +84,7 @@ docs_rst_files = [
'contribute',
'daemons',
'developer-tooling',
+ 'downloads',
'drivers',
'drvch',
'drvqemu',
--
2.35.1