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@xxxxxxxxxx> --- 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</a> - </td> - <td class="gitmirror"> - <a href="https://libvirt.org/git/?p=libvirt.git;a=summary">libvirt</a> - <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</a> - </td> - <td> - <a href="https://gitlab.com/libvirt/libvirt-csharp/-/issues">issues</a> - </td> - <td class="gitmirror"> - <a href="https://libvirt.org/git/?p=libvirt-csharp.git;a=summary">libvirt</a> - <a href="https://github.com/libvirt/libvirt-csharp">github</a> - </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</a> - </td> - <td> - <a href="https://gitlab.com/libvirt/libvirt-go-module/-/issues">issues</a> - </td> - <td class="gitmirror"> - <a href="https://libvirt.org/git/?p=libvirt-go-module.git;a=summary">libvirt</a> - <a href="https://github.com/libvirt/libvirt-go-module">github</a> - </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">issues</a> - </td> - <td class="gitmirror"> - <a href="https://libvirt.org/git/?p=libvirt-java.git;a=summary">libvirt</a> - <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">issues</a> - </td> - <td class="gitmirror"> - <a href="https://libvirt.org/git/?p=libvirt-ocaml.git;a=summary">libvirt</a> - <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">issues</a> - </td> - <td class="gitmirror"> - <a href="https://libvirt.org/git/?p=libvirt-perl.git;a=summary">libvirt</a> - <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;hb=HEAD">changes</a> - </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">issues</a> - </td> - <td class="gitmirror"> - <a href="https://libvirt.org/git/?p=libvirt-php.git;a=summary">libvirt</a> - <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</a> - </td> - <td> - <a href="https://gitlab.com/libvirt/libvirt-python">gitlab</a> - </td> - <td> - <a href="https://gitlab.com/libvirt/libvirt-python/-/issues">issues</a> - </td> - <td class="gitmirror"> - <a href="https://libvirt.org/git/?p=libvirt-python.git;a=summary">libvirt</a> - <a href="https://github.com/libvirt/libvirt-python">github</a> - </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">issues</a> - </td> - <td class="gitmirror"> - <a href="https://libvirt.org/git/?p=libvirt-ruby.git;a=summary">libvirt</a> - <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">issues</a> - </td> - <td class="gitmirror"> - <a href="https://libvirt.org/git/?p=libvirt-rust.git;a=summary">libvirt</a> - <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">issues</a> - </td> - <td class="gitmirror"> - <a href="https://libvirt.org/git/?p=libvirt-glib.git;a=summary">libvirt</a> - <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">gitlab</a> - </td> - <td> - <a href="https://gitlab.com/libvirt/libvirt-go-xml-module/-/issues">issues</a> - </td> - <td class="gitmirror"> - <a href="https://libvirt.org/git/?p=libvirt-go-xml-module.git;a=summary">libvirt</a> - <a href="https://github.com/libvirt/libvirt-go-xml-module">github</a> - </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">issues</a> - </td> - <td class="gitmirror"> - <a href="https://libvirt.org/git/?p=libvirt-dbus.git;a=summary">libvirt</a> - <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</a> - </td> - <td> - <a href="https://gitlab.com/libvirt/libvirt-console-proxy">gitlab</a> - </td> - <td> - <a href="https://gitlab.com/libvirt/libvirt-console-proxy/-/issues">issues</a> - </td> - <td class="gitmirror"> - <a href="https://libvirt.org/git/?p=libvirt-console-proxy.git;a=summary">libvirt</a> - <a href="https://github.com/libvirt/libvirt-console-proxy">github</a> - </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">issues</a> - </td> - <td class="gitmirror"> - <a href="https://libvirt.org/git/?p=libvirt-cim.git;a=summary">libvirt</a> - <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">issues</a> - </td> - <td class="gitmirror"> - <a href="https://libvirt.org/git/?p=libcmpiutil.git;a=summary">libvirt</a> - <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">issues</a> - </td> - <td class="gitmirror"> - <a href="https://libvirt.org/git/?p=libvirt-snmp.git;a=summary">libvirt</a> - <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</a> - </td> - <td> - <a href="https://gitlab.com/libvirt/libvirt-sandbox/-/issues">issues</a> - </td> - <td class="gitmirror"> - <a href="https://libvirt.org/git/?p=libvirt-sandbox.git;a=summary">libvirt</a> - <a href="https://github.com/libvirt/libvirt-sandbox">github</a> - </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">issues</a> - </td> - <td class="gitmirror"> - <a href="https://libvirt.org/git/?p=libvirt-tck.git;a=summary">libvirt</a> - <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</a> - </td> - <td> - <a href="https://gitlab.com/libvirt/libvirt-test-API/-/issues">issues</a> - </td> - <td class="gitmirror"> - <a href="https://libvirt.org/git/?p=libvirt-test-API.git;a=summary">libvirt</a> - <a href="https://github.com/libvirt/libvirt-test-API">github</a> - </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</a> - </td> - <td class="gitmirror"> - <a href="https://libvirt.org/git/?p=libvirt-ci.git;a=summary">libvirt</a> - <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</a> - </td> - <td class="gitmirror"> - <a href="https://libvirt.org/git/?p=cimtest.git;a=summary">libvirt</a> - <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</a> - </td> - <td> - <a href="https://gitlab.com/libvirt/libvirt-publican/-/issues">issues</a> - </td> - <td class="gitmirror"> - <a href="https://libvirt.org/git/?p=libvirt-publican.git;a=summary">libvirt</a> - <a href="https://github.com/libvirt/libvirt-publican">github</a> - </td> - <td></td> - </tr> - <tr> - <td>App Development Guide</td> - <td></td> - <td> - <a href="https://gitlab.com/libvirt/libvirt-appdev-guide">gitlab</a> - </td> - <td> - <a href="https://gitlab.com/libvirt/libvirt-appdev-guide/-/issues">issues</a> - </td> - <td class="gitmirror"> - <a href="https://libvirt.org/git/?p=libvirt-appdev-guide.git;a=summary">libvirt</a> - <a href="https://github.com/libvirt/libvirt-appdev-guide">github</a> - </td> - <td></td> - </tr> - <tr> - <td>App Development Guide Python</td> - <td></td> - <td> - <a href="https://gitlab.com/libvirt/libvirt-appdev-guide-python">gitlab</a> - </td> - <td> - <a href="https://gitlab.com/libvirt/libvirt-appdev-guide-python/-/issues">issues</a> - </td> - <td class="gitmirror"> - <a href="https://libvirt.org/git/?p=libvirt-appdev-guide-python.git;a=summary">libvirt</a> - <a href="https://github.com/libvirt/libvirt-appdev-guide-python">github</a> - </td> - <td></td> - </tr> - <tr> - <td>virsh Command Reference</td> - <td></td> - <td> - <a href="https://gitlab.com/libvirt/libvirt-virshcmdref">gitlab</a> - </td> - <td> - <a href="https://gitlab.com/libvirt/libvirt-virshcmdref/-/issues">issues</a> - </td> - <td class="gitmirror"> - <a href="https://libvirt.org/git/?p=libvirt-virshcmdref.git;a=summary">libvirt</a> - <a href="https://github.com/libvirt/libvirt-virshcmdref">github</a> - </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/libvirt/</a> -<a href="https://gitlab.com/libvirt/libvirt">https://gitlab.com/libvirt/</a></pre> - - <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 <jdenemar@xxxxxxxxxx> -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) <veillard@xxxxxxxxxx> -uid [ unknown] Daniel Veillard <Daniel.Veillard@xxxxxx> - </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 <jdenemar@xxxxxxxxxx> -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@xxxxxxxxxx> + 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@xxxxxxxxxx> + uid [ unknown] Daniel Veillard <Daniel.Veillard@xxxxxx> + +:: + + -----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@xxxxxxxxxx> + 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