From nobody Tue Feb 10 12:40:44 2026 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of redhat.com designates 205.139.110.120 as permitted sender) client-ip=205.139.110.120; envelope-from=libvir-list-bounces@redhat.com; helo=us-smtp-1.mimecast.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 205.139.110.120 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1586190133; cv=none; d=zohomail.com; s=zohoarc; b=gklOcskDzwZveNawyfcrXwyhb45wxEHVnMabC3M5mw33Pxq9z8rPD+USV+x6QvjH05hR5Te3VCkxOAbCwIi9dEQrtrQ7LZMAlrJmoT/iqJmdtGEs4Ghj6EKIC+haMKmlZX8lE8gg2ljty57q1xnZa+hn4FpllSq+MZKO7+vECBE= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1586190133; h=Content-Type:Content-Transfer-Encoding:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=EfUlkEm1bpRjx0nnowFW1/QVJioR30ZCwlxRGI4PAN4=; b=ThT0N+XfIYgo2YmleIGY/FnMUO4VLAA0NXguEwUGL5ApkLgKaZnFrMlvoCtc7dUyzd6hzRplHzTr32H0JzDQg138Ch+/DpkHppZKjVhNtucHvoN8sS0jdX7qouyqs6ysTy/cQ1RCC8uR3OLIQBTO1YA/J1c2yuUqzqLdFLPe0/U= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 205.139.110.120 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass header.from= (p=none dis=none) header.from= Return-Path: Received: from us-smtp-1.mimecast.com (us-smtp-delivery-1.mimecast.com [205.139.110.120]) by mx.zohomail.com with SMTPS id 1586190133545277.5065075650285; Mon, 6 Apr 2020 09:22:13 -0700 (PDT) Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-246-qDNPs9FGMViv7sGoVX8hTg-1; Mon, 06 Apr 2020 12:20:57 -0400 Received: from smtp.corp.redhat.com (int-mx06.intmail.prod.int.phx2.redhat.com [10.5.11.16]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id 6AAE18017F3; Mon, 6 Apr 2020 16:20:51 +0000 (UTC) Received: from colo-mx.corp.redhat.com (colo-mx02.intmail.prod.int.phx2.redhat.com [10.5.11.21]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 478455C1B5; Mon, 6 Apr 2020 16:20:51 +0000 (UTC) Received: from lists01.pubmisc.prod.ext.phx2.redhat.com (lists01.pubmisc.prod.ext.phx2.redhat.com [10.5.19.33]) by colo-mx.corp.redhat.com (Postfix) with ESMTP id 0011A93A7C; Mon, 6 Apr 2020 16:20:50 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx05.intmail.prod.int.phx2.redhat.com [10.5.11.15]) by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id 036GKeSY027994 for ; Mon, 6 Apr 2020 12:20:40 -0400 Received: by smtp.corp.redhat.com (Postfix) id 06321B19C8; Mon, 6 Apr 2020 16:20:40 +0000 (UTC) Received: from kinshicho.usersys.redhat.com (unknown [10.40.196.71]) by smtp.corp.redhat.com (Postfix) with ESMTPS id ED0DE5417F for ; Mon, 6 Apr 2020 16:20:38 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1586190132; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:list-id:list-help: list-unsubscribe:list-subscribe:list-post; bh=EfUlkEm1bpRjx0nnowFW1/QVJioR30ZCwlxRGI4PAN4=; b=adnWhIDjPD+KZHuI0L7eua/drY6IpWw6o6D3OlLIQnOBefm3A2VBMerbahF/bzokZy2Ld2 a7s/wIIFt2dS4D7dybY/0bStvWYW8+qBlv9UxCjSB/0vjncRTWh1eZOE8z7s7IcHgrcG6R jYtb+YRhnZPN8hqEKtmjqVbw2VYq13Y= X-MC-Unique: qDNPs9FGMViv7sGoVX8hTg-1 From: Andrea Bolognani To: libvir-list@redhat.com Subject: [libvirt PATCH 10/10] docs: Update hacking.rst Date: Mon, 6 Apr 2020 18:20:10 +0200 Message-Id: <20200406162010.332813-11-abologna@redhat.com> In-Reply-To: <20200406162010.332813-1-abologna@redhat.com> References: <20200406162010.332813-1-abologna@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.15 X-loop: libvir-list@redhat.com X-BeenThere: libvir-list@redhat.com X-Mailman-Version: 2.1.12 Precedence: junk List-Id: Development discussions about the libvirt library & tools List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: libvir-list-bounces@redhat.com Errors-To: libvir-list-bounces@redhat.com X-Scanned-By: MIMEDefang 2.79 on 10.5.11.16 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @redhat.com) Content-Type: text/plain; charset="utf-8" This organizes the existing contents into sections, tweaks some parts a bit and adds links to the pages where the contents that were ripped out of hacking.rst now live, either inline or in the catch-all "further reading" section depending on what makes more sense. The result is that it's now possible to consume this page, which is the entry point for new contributors, in just a few minutes, and then drill down further based on factors such as the familiarity with the open source development model or mail-based workflows. Signed-off-by: Andrea Bolognani --- docs/hacking.rst | 129 +++++++++++++++++++++++++++++------------------ 1 file changed, 79 insertions(+), 50 deletions(-) diff --git a/docs/hacking.rst b/docs/hacking.rst index 996999885e..1c64146c5d 100644 --- a/docs/hacking.rst +++ b/docs/hacking.rst @@ -1,50 +1,79 @@ -=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D -Contributor guidelines -=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D - -.. contents:: - -General tips for contributing patches -=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D - -#. Official upstream repository is kept in git - (``https://libvirt.org/git/libvirt.git``) and is browsable - along with other libvirt-related repositories (e.g. - libvirt-python) `online `__. - -#. Patches to translations are maintained via the `zanata - project `__. If you want to fix a - translation in a .po file, join the appropriate language team. - The libvirt release process automatically pulls the latest - version of each translation file from zanata. - -#. Contributors to libvirt projects **must** assert that they are - in compliance with the `Developer Certificate of Origin - 1.1 `__. 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. - -#. 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: - - :: - - make check - make syntax-check - -#. Update tests and/or documentation, particularly if you are - adding a new feature or changing the output of a program. - -#. Don't forget to update the `release notes `__ by - changing ``docs/news.xml`` if your changes are significant. All - user-visible changes, such as adding new XML elements or fixing - all but the most obscure bugs, must be (briefly) described in a - release notes entry; changes that are only relevant to other - libvirt developers, such as code refactoring, don't belong in - the release notes. Note that ``docs/news.xml`` should be - updated in its own commit not to get in the way of backports. +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D +Contributing +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D + +These are the basics steps you need to follow to contribute to +libvirt. + +Repositories and external resources +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D + +The official upstream repository is kept in git +(``https://libvirt.org/git/libvirt.git``) and is browsable +along with other libvirt-related repositories (e.g. +libvirt-python) `online `__. + +Patches to translations are maintained via the `zanata +project `__. If you want to fix a +translation in a .po file, join the appropriate language team. +The libvirt release process automatically pulls the latest +version of each translation file from zanata. + +Preparing patches +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D + +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: + +:: + + $ make check + $ make syntax-check + +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 `__. + +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 `__ if your +changes are significant and user-visible. + +Submitting patches +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D + +Libvirt uses a mailing list based development workflow. + +While preparing your patches for submissions, make sure you +follow the `best practices `__ and, once +you're satisfied with the result, go ahead and +`submit your patches `__. + +Developer Certificate of Origin +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D + +Contributors to libvirt projects **must** assert that they are +in compliance with the `Developer Certificate of Origin +1.1 `__. 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 +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D + +This page only covers the very basics, so it's recommended that +you also take a look at the following documents: + +- `Programming languages `__ +- `Developer tooling `__ +- `Advanced test suite usage `__ +- `Adoption of GLib APIs `__ +- `Committer guidelines `__ --=20 2.25.1