From mboxrd@z Thu Jan 1 00:00:00 1970 Authentication-Results: passt.top; dmarc=pass (p=quarantine dis=none) header.from=redhat.com Authentication-Results: passt.top; dkim=pass (1024-bit key; unprotected) header.d=redhat.com header.i=@redhat.com header.a=rsa-sha256 header.s=mimecast20190719 header.b=QrLz2jbE; dkim-atps=neutral Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124]) by passt.top (Postfix) with ESMTPS id CE9C75A0271 for ; Thu, 18 Sep 2025 01:04:27 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1758150266; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=63daAh4xUNgSgh77Z+PVt89Ajp2s2uqx2d0VdxZ7SEs=; b=QrLz2jbE57clhX6WksKLrnqas7DqPJsPwoo7+7W5gPKItkHPTAKjnTH5PwsS7NZu0XywHd iQziJZm5h06igOn07g47tLGqkZ5KlMD+xP3z175Rf8uBZBWL/5tymH0kTA8+RlJ/T8mKr6 jouJR6nmCThA/z5SSYX+3lbhHMVt7iI= Received: from mail-wm1-f71.google.com (mail-wm1-f71.google.com [209.85.128.71]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-450-HAewjloiNPeyxHP-_VMLfQ-1; Wed, 17 Sep 2025 19:04:25 -0400 X-MC-Unique: HAewjloiNPeyxHP-_VMLfQ-1 X-Mimecast-MFC-AGG-ID: HAewjloiNPeyxHP-_VMLfQ_1758150264 Received: by mail-wm1-f71.google.com with SMTP id 5b1f17b1804b1-4612d068c47so1529545e9.3 for ; Wed, 17 Sep 2025 16:04:24 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1758150264; x=1758755064; h=content-transfer-encoding:mime-version:organization:references :in-reply-to:message-id:subject:cc:to:from:date:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; bh=63daAh4xUNgSgh77Z+PVt89Ajp2s2uqx2d0VdxZ7SEs=; b=hPwpNRRFcdPeubtCDNsGzMCgofRdtpJGVkBVhGydnz3Jmb0D6hqZEQcit8Ovl3tFRs xIRyB2NdNR0sMHO5Tj4ZY7tN4CNuIUDxIYAWxpb5IzTJKa02UOccpAp+T9muJE7zTmau QORnI/tjgpLk33KpY4XNtbGg8tJecebrg30tWrUL3HyVXgjo/CR1TOSzmrfyX91zHhS/ 6DCWvPkpG3miTg6FV9tKjLLDxpr+5/loQURk85Gs2wDh9wM//z83q4wop3RG2dCN+MSV JocsEJzi/1lgSkXNmnMpv9qWfUIYKLkHumKVMJ2o89yJlozF2PQ0jyTxjOT3s5BqNhpS CHyw== X-Gm-Message-State: AOJu0YzS3Aa7vleGMYAg88KT+lfe1j9PFRPA3Ddos1fxyFh24KYnzBfR 06Z3PVUjIBwqTSZOancPL2lNflwOO8VRyqz6+KUmwAHkGMmEkZfT8uz+x9J8uQnCm2mYnkirGc+ wnpp6hceEsS3OBZB+gvmAJXEsDbCDJeZDzhMFtKw4hhAH55+S/7aNgQ== X-Gm-Gg: ASbGnct13ClRKmxNIkseDWc1AAmzsCABRfcS82/W53cG5aIQTJip6o/VsCaCVs4+sPQ 4N7uayESvnF6UqnHE2cRzqiWQk2Zxg+MVpMjALXf1FUU3xoyUrtSqCAke8OcCkKCDLnmoWq+BZL dA4nW3myo0tw2m7YQ4y1w+otZbkEL5PskDteIYePqOHql8v5OquI7b2vNFYqDGzaih7woZK2Z4C lXkGIA+R01NqQUcHqdT3rHhMypB4TCbQPcD82awqmT1Ni+Try72/399awbRZv4ofOcFGu+4at/T M3G/xaSfEABPvaH4v+pKJoaKpW7vg1RI9eolBkavh8a28tx5WFo= X-Received: by 2002:a05:600c:5492:b0:456:18cf:66b5 with SMTP id 5b1f17b1804b1-46206842695mr35642645e9.22.1758150263761; Wed, 17 Sep 2025 16:04:23 -0700 (PDT) X-Google-Smtp-Source: AGHT+IGsrQONnt27PAYKaxW6lQmHcSRBnAXGQi25snucqLxo5eXsRXqO/4PPys0buXBo61DFnzCINw== X-Received: by 2002:a05:600c:5492:b0:456:18cf:66b5 with SMTP id 5b1f17b1804b1-46206842695mr35642455e9.22.1758150263237; Wed, 17 Sep 2025 16:04:23 -0700 (PDT) Received: from maya.myfinge.rs (ifcgrfdd.trafficplex.cloud. [2a10:fc81:a806:d6a9::1]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-464f5a286edsm14837195e9.16.2025.09.17.16.04.22 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 17 Sep 2025 16:04:22 -0700 (PDT) Date: Thu, 18 Sep 2025 01:04:21 +0200 From: Stefano Brivio To: Yumei Huang Subject: Re: [PATCH v2] Add CONTRIBUTING.md Message-ID: <20250918010421.40170a87@elisabeth> In-Reply-To: <20250917035120.11728-1-yuhuang@redhat.com> References: <20250917035120.11728-1-yuhuang@redhat.com> Organization: Red Hat X-Mailer: Claws Mail 4.2.0 (GTK 3.24.49; x86_64-pc-linux-gnu) MIME-Version: 1.0 X-Mimecast-Spam-Score: 0 X-Mimecast-MFC-PROC-ID: YAft_1rfcHTdR6WvIW3gD84PCDzj6CQJER44yAQYtOE_1758150264 X-Mimecast-Originator: redhat.com Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Message-ID-Hash: FQVMMITCZVE4QDYME3PKFJFEP67AA2YS X-Message-ID-Hash: FQVMMITCZVE4QDYME3PKFJFEP67AA2YS X-MailFrom: sbrivio@redhat.com 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, david@gibson.dropbear.id.au 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: Only some minor details from my side: On Wed, 17 Sep 2025 11:51:20 +0800 Yumei Huang wrote: > Signed-off-by: Yumei Huang > --- > CONTRIBUTING.md | 152 ++++++++++++++++++++++++++++++++++++++++++++++++ > README.md | 6 +- > 2 files changed, 156 insertions(+), 2 deletions(-) > create mode 100644 CONTRIBUTING.md > > diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md > new file mode 100644 > index 0000000..13fba69 > --- /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 > + > + Excess newline? Or it's actually needed...? > +### 3. Make Changes and Commit This should be 2. now. > + > +* You can decide to work on the master branch or a separate branch as below: > + > + 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/process/coding-style.html). It won't fit into 80 columns but wrapping as much as possible is still desirable, as it makes it more readable from smaller terminals. > + > + > +* Stage your changes: > + > + git add ... > + > +* Commit with a message. * 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. Same here, wrap as much as possible. > + 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", and "doc" etc. Either: "test", or "doc", etc. or: "test", "doc", etc. but it will rarely be "test" and "doc" at the same time. > + > + If there are some references, use "Links: " tag for anything. "Links:", even if the space is then added as a separator, it's not part of how you would call the tag. > + > + Besides, passt uses the Linux kernel's "Signed-off-by" process. If you 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 and 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 the best > + of my knowledge, is covered under an appropriate open source > + license and I have the right under that license to submit 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 indicated > + in the file; or > + > + (c) The contribution was provided directly to me by some other > + person who certified (a), (b) or (c) and I have not modified > + it. > + > + (d) I understand and agree that this project and the contribution > + are public and that a record of the contribution (including all > + personal information I submit with it, including my sign-off) is > + maintained indefinitely and may be redistributed consistent with > + this project or the open source license(s) involved. > + > + Add this line: > + > + Signed-off-by: Random J Developer > + > + using your real name (sorry, no pseudonyms or anonymous > + contributions.) This will be done for you automatically if you use ...pseudonyms should actually be accepted, I think. I know there have been discussions around this on Linux kernel mailing lists, I don't quite remember the outcome, but I'm fairly sure that there's no particular value in requesting a "real name" here, and it could be problematic for some. I'd just go with "using your name". > + `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 involved > + in its development. SoB chains should reflect the **real** route a > + patch took as it was propagated to the maintainers, with the first SoB > + entry signalling primary authorship of a single author. > + > +### 4. Generate Patches > + > +Use `git format-path` to generate patch(es): format-patch > + > + git format-patch -o outgoing/ origin/master > + > +It will generate numbered patch files such as 0001-...patch, 0002-...patch > +etc. in the `outgoing` folder. > + > +Or you can use `git format-patch -n`. For exmaple if you want to format just example > +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. You can edit the cover s/You can edit/Edit/ ...I don't think it's really optional to do so. > +letter before sending. > + > +### 5. Send Patches > + > +Use `git send-email` to send patches directly to the mailing list: > + > + git send-email --to=passt-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=passt-dev@passt.top --cc=maintainer@example.com > + outgoing/000*.patch > + > +### 6. 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 origin/master > + > +* Send the revised patches > + > + git send-email --to=passt-dev@passt.top v2-000*.patch > + > +### 7. Tips and Best Practices > + > +* Keep changes focused and easy to review. Please refer to [split-changes](https://docs.kernel.org/process/submitting-patches.html#split-changes) Same here, wrap as much as possible. > + to seperate each logical change into a separate patch. > + > +* Test your changes thoroughly. Refer to [test/README.md](/passt/tree/test/README.md) > + for testing. > + It's recommended to run at least a 'make cppcheck' and 'make clang-tidy' > + other than a specific manual test of the functionality / issue at hand. Extra space before "/" > + > +* Include documentation updates if your change affects usage. > + > +Thank you for helping improve passt! Your contributions make a big difference. > diff --git a/README.md b/README.md > index 8f188f4..6ba6441 100644 > --- a/README.md > +++ b/README.md > @@ -553,7 +553,7 @@ See also the [test logs](/builds/latest/test/). > man ./passt.1 > > * run the demo script, that detaches user and network namespaces, configures the > - new network namespace using `pasta`, starts `passt` and, optionally, `qemu`: > + new network namespace using `pasta`, starts `passt` *and, optionally,* `qemu`: Spurious change I guess. > > doc/demo.sh > > @@ -625,7 +625,9 @@ See also the [test logs](/builds/latest/test/). > > ### [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) for to the [CONTRIBUTING.md](/passt/tree/CONTRIBUTING.md) file for details. > + details. > > * Ask your questions and discuss usage needs on > [`passt-user`](https://lists.passt.top/postorius/lists/passt-user.passt.top/) The rest looks good to me, and I think it will be really helpful this way! -- Stefano