2020-04-06 22:59:48 +08:00
|
|
|
============
|
|
|
|
Contributing
|
|
|
|
============
|
|
|
|
|
|
|
|
These are the basics steps you need to follow to contribute to
|
|
|
|
libvirt.
|
|
|
|
|
|
|
|
Repositories and external resources
|
|
|
|
===================================
|
|
|
|
|
|
|
|
The official upstream repository is kept in git
|
2020-06-03 18:42:34 +08:00
|
|
|
(``https://gitlab.com/libvirt/libvirt``) and is browsable
|
2020-04-06 22:59:48 +08:00
|
|
|
along with other libvirt-related repositories (e.g.
|
2020-06-03 18:42:34 +08:00
|
|
|
libvirt-python) `online <https://gitlab.com/libvirt>`__.
|
2020-04-06 22:59:48 +08:00
|
|
|
|
2020-06-05 06:01:25 +08:00
|
|
|
Patches to translations are maintained via the `Fedora Weblate
|
|
|
|
service <https://translate.fedoraproject.org/projects/libvirt/libvirt>`__.
|
2020-09-09 04:43:54 +08:00
|
|
|
If you want to contribute to translations of libvirt, join the appropriate
|
2020-06-05 06:01:25 +08:00
|
|
|
language team in Weblate. Translation updates to libvirt will be merged
|
|
|
|
during the feature freeze window.
|
2020-04-06 22:59:48 +08:00
|
|
|
|
|
|
|
Preparing patches
|
|
|
|
=================
|
|
|
|
|
|
|
|
Make sure your patches apply against libvirt git. Developers
|
|
|
|
only follow git and don't care much about released versions.
|
|
|
|
|
|
|
|
Run the automated tests on your code before submitting any
|
|
|
|
changes. That is:
|
|
|
|
|
|
|
|
::
|
|
|
|
|
2020-07-18 03:09:25 +08:00
|
|
|
$ ninja test
|
2020-04-06 22:59:48 +08:00
|
|
|
|
|
|
|
These tests help making sure that your changes don't introduce
|
|
|
|
regressions in libvirt, as well as validating that any new code
|
|
|
|
follows the project's `coding style <coding-style.html>`__.
|
|
|
|
|
|
|
|
If you're going to submit multiple patches, the automated tests
|
|
|
|
must pass **after each patch**, not just after the last one.
|
|
|
|
|
|
|
|
Update tests and/or documentation, particularly if you are
|
|
|
|
adding a new feature or changing the output of a program, and
|
|
|
|
don't forget to update the `release notes <news.html>`__ if your
|
|
|
|
changes are significant and user-visible.
|
|
|
|
|
|
|
|
Submitting patches
|
|
|
|
==================
|
|
|
|
|
|
|
|
Libvirt uses a mailing list based development workflow.
|
|
|
|
|
|
|
|
While preparing your patches for submissions, make sure you
|
|
|
|
follow the `best practices <best-practices.html>`__ and, once
|
|
|
|
you're satisfied with the result, go ahead and
|
|
|
|
`submit your patches <submitting-patches.html>`__.
|
|
|
|
|
|
|
|
Developer Certificate of Origin
|
|
|
|
===============================
|
|
|
|
|
|
|
|
Contributors to libvirt projects **must** assert that they are
|
|
|
|
in compliance with the `Developer Certificate of Origin
|
|
|
|
1.1 <https://developercertificate.org/>`__. This is achieved by
|
|
|
|
adding a "Signed-off-by" line containing the contributor's name
|
|
|
|
and e-mail to every commit message. The presence of this line
|
|
|
|
attests that the contributor has read the above lined DCO and
|
|
|
|
agrees with its statements.
|
|
|
|
|
|
|
|
Further reading
|
|
|
|
===============
|
|
|
|
|
|
|
|
This page only covers the very basics, so it's recommended that
|
|
|
|
you also take a look at the following documents:
|
|
|
|
|
|
|
|
- `Programming languages <programming-languages.html>`__
|
|
|
|
- `Developer tooling <developer-tooling.html>`__
|
|
|
|
- `Advanced test suite usage <advanced-tests.html>`__
|
2020-09-24 15:11:17 +08:00
|
|
|
- `Adoption of GLib APIs <glib-adoption.html>`__
|
2020-04-06 22:59:48 +08:00
|
|
|
- `Committer guidelines <committer-guidelines.html>`__
|