From mboxrd@z Thu Jan 1 00:00:00 1970 Authentication-Results: passt.top; dmarc=none (p=none dis=none) header.from=gibson.dropbear.id.au Authentication-Results: passt.top; dkim=pass (2048-bit key; secure) header.d=gibson.dropbear.id.au header.i=@gibson.dropbear.id.au header.a=rsa-sha256 header.s=202508 header.b=bpGiIPE3; dkim-atps=neutral Received: from mail.ozlabs.org (gandalf.ozlabs.org [150.107.74.76]) by passt.top (Postfix) with ESMTPS id B0B585A0271 for ; Thu, 18 Sep 2025 04:55:03 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gibson.dropbear.id.au; s=202508; t=1758164100; bh=JCm29Kkznrc3ZFlyENz0v96GbkzamNDqb3EuUyRaUgY=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=bpGiIPE3vfZkslq+hfulrU4xIyAGezGvSJvWkrsLOOldTz6ZUsFQe1RfaJyuoHMCQ YmD9tFn4pkxeLP96PxZRJxQyW9WdV4tQwIVZWCxP/V8H20F9uTv43DwaiEOFhTunuV CH2YTVHtsT1AlSqkGc33iV7pGdNU6JuLPFq1ZDpIiAW/E4d8CcTZAp48PCriADAvty scYX/1Sqc7WPlNzIEFsVTk5C8G2KCT01cnTMtjhQKwzWJxaft0pah+lPbk7ZMe/AMF dIS/Yro2ssXrszyRWiv/pKnQQudBWZz159bsJ0fYe5kNauOMM+7/GzKZxi+Da5ZE9V ULM3zk4KTL5eg== Received: by gandalf.ozlabs.org (Postfix, from userid 1007) id 4cS0c40pnlz4wB9; Thu, 18 Sep 2025 12:55:00 +1000 (AEST) Date: Thu, 18 Sep 2025 12:51:47 +1000 From: David Gibson To: Yumei Huang Subject: Re: [PATCH v3] Add CONTRIBUTING.md Message-ID: References: <20250918011734.5864-1-yuhuang@redhat.com> MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha512; protocol="application/pgp-signature"; boundary="pewS48JKkNq7Gb7x" Content-Disposition: inline In-Reply-To: <20250918011734.5864-1-yuhuang@redhat.com> Message-ID-Hash: UIP44NFNRG3HNIT2GMKBN3X6TQU6PQS7 X-Message-ID-Hash: UIP44NFNRG3HNIT2GMKBN3X6TQU6PQS7 X-MailFrom: dgibson@gandalf.ozlabs.org X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header CC: passt-dev@passt.top, sbrivio@redhat.com X-Mailman-Version: 3.3.8 Precedence: list List-Id: Development discussion and patches for passt Archived-At: Archived-At: List-Archive: List-Archive: List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: --pewS48JKkNq7Gb7x Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Thu, Sep 18, 2025 at 09:17:34AM +0800, Yumei Huang wrote: > Signed-off-by: Yumei Huang Reviewed-by: David Gibson I'm sure there's more stuff that could be included or clarified, but this is a big improvement over what we have now, and we can keep revising it in future. > --- > CONTRIBUTING.md | 152 ++++++++++++++++++++++++++++++++++++++++++++++++ > README.md | 4 +- > 2 files changed, 155 insertions(+), 1 deletion(-) > create mode 100644 CONTRIBUTING.md >=20 > diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md > new file mode 100644 > index 0000000..5f41bc3 > --- /dev/null > +++ b/CONTRIBUTING.md > @@ -0,0 +1,152 @@ > + > + > +# Contributing to passt > + > +Thank you for your interest in contributing! This document explains how > +to prepare patches and participate in the email-based review process. > + > +## Workflow > + > +### 1. Clone the project > + > + git clone git://passt.top/passt > + > +### 2. Make Changes and Commit > + > +* You can decide to work on the master branch or a separate branch as be= low: > + > + cd passt > + git checkout -b my-feature-branch > + > +* Edit the source code or documentation following the > + [Linux kernel coding style](https://www.kernel.org/doc/html/latest/pro= cess/coding-style.html). > + > +* Stage your changes: > + > + git add ... > + > +* Commit with a message: > + > + git commit > + > + The message should describe your changes. See > + [this link](https://docs.kernel.org/process/submitting-patches.html#= describe-your-changes) > + for details. Here is an example of commit message format: > + > + Subsystem: Brief summary > + > + More detailed explanation if needed, wrapped at 72 chars. > + > + The `Subsystem` means: which part of the code your change touches. > + For example, it could be "tcp", "test", or "doc" etc. > + > + If there are some references, use "Links:" tag for anything. > + > + Besides, passt uses the Linux kernel's "Signed-off-by" process. If y= ou can > + certify the below: > + > + Developer's Certificate of Origin 1.1 > + > + By making a contribution to this project, I certify that: > + > + (a) The contribution was created in whole or in part by me a= nd I > + have the right to submit it under the open source license > + indicated in the file; or > + > + (b) The contribution is based upon previous work that, to th= e best > + of my knowledge, is covered under an appropriate open so= urce > + license and I have the right under that license to submi= t that > + work with modifications, whether created in whole or in = part > + by me, under the same open source license (unless I am > + permitted to submit under a different license), as indic= ated > + in the file; or > + > + (c) The contribution was provided directly to me by some oth= er > + person who certified (a), (b) or (c) and I have not modi= fied > + it. > + > + (d) I understand and agree that this project and the contrib= ution > + are public and that a record of the contribution (includ= ing all > + personal information I submit with it, including my sign= -off) is > + maintained indefinitely and may be redistributed consist= ent with > + this project or the open source license(s) involved. > + > + Add this line: > + > + Signed-off-by: Random J Developer > + > + using your name. This will be done for you automatically if you use > + `git commit -s`. Reverts should also include "Signed-off-by". `git > + revert -s` does that for you. > + > + Any further SoBs (Signed-off-by:'s) following the author's SoB are > + from people handling and transporting the patch, but were not involv= ed > + in its development. SoB chains should reflect the **real** route a > + patch took as it was propagated to the maintainers, with the first S= oB > + entry signalling primary authorship of a single author. > + > +### 3. Generate Patches > + > +Use `git format-patch` to generate patch(es): > + > + git format-patch -o outgoing/ origin/master > + > +It will generate numbered patch files such as 0001-...patch, 0002-...pat= ch > +etc. in the `outgoing` folder. > + > +Or you can use `git format-patch -n`. For example if you want to format = just > +three patches: > + > + git format-patch -3 -o outgoing/ > + > +If you send a series of patches, use the `--cover-letter` option with > +`git format-patch`: > + > + git format-patch -o outgoing/ origin/main --cover-letter > + > +This will generate a cover letter besides your patches. Edit the cover > +letter before sending. > + > +### 4. Send Patches > + > +Use `git send-email` to send patches directly to the mailing list: > + > + git send-email --to=3Dpasst-dev@passt.top 000*.patch -o outgoing/000= *.patch > + > +If there are CCs (e.g. maintainers, reviewers), you can add them with `-= -cc`: > + > + git send-email --to=3Dpasst-dev@passt.top --cc=3Dmaintainer@example.= com > + outgoing/000*.patch > + > +### 5. Responding to Review Feedback > + > +* Be open to feedback on both code and documentation. > + > +* Update your patch as needed, and regenerate patches: > + > + git add ... > + git commit --amend > + git format-patch -v2 -o outgoing/ origin/master > + > +* Send the revised patches: > + > + git send-email --to=3Dpasst-dev@passt.top outgoing/v2-000*.patch > + > +### 6. Tips and Best Practices > + > +* Keep changes focused and easy to review. Please refer to > + [split-changes](https://docs.kernel.org/process/submitting-patches.htm= l#split-changes) > + to separate each logical change into a separate patch. > + > +* Test your changes thoroughly. Refer to > + [test/README.md](/passt/tree/test/README.md) file for testing. > + It's recommended to run at least a 'make cppcheck' and 'make clang-tid= y' > + other than a specific manual test of the functionality / issue at hand. > + > +* Include documentation updates if your change affects usage. > + > +Thank you for helping improve passt! Your contributions make a big diffe= rence. > diff --git a/README.md b/README.md > index 8f188f4..897ae8b 100644 > --- a/README.md > +++ b/README.md > @@ -625,7 +625,9 @@ See also the [test logs](/builds/latest/test/). > =20 > ### [Mailing Lists](/passt/lists) > * Submit, review patches, and discuss development ideas on > - [`passt-dev`](https://lists.passt.top/postorius/lists/passt-dev.passt.= top/) > + [`passt-dev`](https://lists.passt.top/postorius/lists/passt-dev.passt.= top/). > + Please refer to the [CONTRIBUTING.md](/passt/tree/CONTRIBUTING.md) fil= e for > + details. > =20 > * Ask your questions and discuss usage needs on > [`passt-user`](https://lists.passt.top/postorius/lists/passt-user.pass= t.top/) > --=20 > 2.47.0 >=20 --=20 David Gibson (he or they) | I'll have my music baroque, and my code david AT gibson.dropbear.id.au | minimalist, thank you, not the other way | around. http://www.ozlabs.org/~dgibson --pewS48JKkNq7Gb7x Content-Type: application/pgp-signature; name=signature.asc -----BEGIN PGP SIGNATURE----- iQIzBAEBCgAdFiEEO+dNsU4E3yXUXRK2zQJF27ox2GcFAmjLc8MACgkQzQJF27ox 2Gcxig/8DFR2o/wR2kfrjTU3agpTURmk0IrTYB+MiGuaiCYYDSPaVUjiy0CzDEcM 0OfH3evmlye8n+zlApWyf8lXzqQtBzHSuP58/n+IEg1ovO9GZOrUPqH7Jsb1OX9P 8dXaX+nXR378qKIEcuGZLbLryFKqJg4OPhiiwGch0whLfOLkieS+xckGYpGeq8/8 xmlKHCWtv2qegiBe6sY40K8nWp4u0BxMDSibgxiGw+hpUcgzEEW7GWssmy3ODXMa jJ7CxjEdtvzlkkFMnYo4hJEfChwaXYl15VQkKF9Ij0+H0odSVlGvetdlKmb3nvE3 8kpX3TrRZoofGTLmSghm0vlxexFfOjqZalmOaXZJMB8/qNy9GyXTOO/zZg9J8iZ+ Hzzg00COviU+jswjJUx5EqbR+E9q/GLk1KbjNtsDyjGHQw94bMk0h2AGqaVzxKTa cuhNL5k8kD/QTk5iL69aJQvOhMRWt7fOQq6S2ZAfFWHjzqz/iHHL+HQqPdbFIeMq 9Bi2dzpquwzdfgUXJDXslq7vqVM7IK5udzW+h9BZJYahxDsiOpvP6/59tBuSG87H U8RRLNSNOoxKlGR0+g8TiEV6xmzt0YPtXeJDdb9N0nULEirpGgkJfyM+t2glOEkR TkSn703ccpt5jh/Mm3QfpyX7LUW8fMu3RU7xk50JgcmcucGc+QQ= =FWd7 -----END PGP SIGNATURE----- --pewS48JKkNq7Gb7x--