Page MenuHomeFreeBSD

D53644.id.diff
No OneTemporary

D53644.id.diff

diff --git a/documentation/content/en/articles/problem-reports/_index.adoc b/documentation/content/en/articles/problem-reports/_index.adoc
--- a/documentation/content/en/articles/problem-reports/_index.adoc
+++ b/documentation/content/en/articles/problem-reports/_index.adoc
@@ -48,16 +48,21 @@
toc::[]
+[[pr-scope]]
+== Scope of this article
+
+This article was originally written to cover Problem Report submissions via Bugzilla, but parts will also apply to submitting via Phabricator review system or the FreeBSD Github organization.
+
[[pr-intro]]
== Introduction
-One of the most frustrating experiences one can have as a software user is to submit a problem report only to have it summarily closed with a terse and unhelpful explanation like "not a bug" or "bogus PR".
+One of the most frustrating experiences one can have as a software user is to submit a problem report only to have it summarily closed with a terse and unhelpful explanation like "not a bug" or "bogus report".
Similarly, one of the most frustrating experiences as a software developer is to be flooded with problem reports that are not really problem reports but requests for support, or that contain little or no information about what the problem is and how to reproduce it.
This document attempts to describe how to write good problem reports.
What, one asks, is a good problem report? Well, to go straight to the bottom line, a good problem report is one that can be analyzed and dealt with swiftly, to the mutual satisfaction of both user and developer.
-Although the primary focus of this article is on FreeBSD problem reports, most of it should apply quite well to other software projects.
+Although the primary focus of this article is on submitting FreeBSD problem reports via Bugzilla, most of it should apply quite well in other cases.
Note that this article is organized thematically, not chronologically.
Read the entire document before submitting a problem report, rather than treating it as a step-by-step tutorial.
@@ -74,16 +79,16 @@
It is not always quite so black and white, but the question rule covers a large majority of cases.
When looking for an answer, consider posing the question to the {freebsd-questions}.
-Consider these factors when submitting PRs about ports or other software that is not part of FreeBSD itself:
+Consider these factors when submitting reports about ports or other software that is not part of FreeBSD itself:
* Please do not submit problem reports that simply state that a newer version of an application is available. Ports maintainers are automatically notified by portscout when a new version of an application becomes available. Actual patches to update a port to the latest version are welcome.
-* For unmaintained ports (`MAINTAINER` is `ports@FreeBSD.org`), a PR without an included patch is unlikely to get picked up by a committer. To become the maintainer of an unmaintained port, submit a PR with the request (patch preferred but not required).
+* For unmaintained ports (`MAINTAINER` is `ports@FreeBSD.org`), a report without an included patch is unlikely to get picked up by a committer. To become the maintainer of an unmaintained port, submit a report with the request (patch preferred but not required).
* In either case, following the process described in extref:{porters-handbook}upgrading/[Porter's Handbook] will yield the best results. (You might also wish to read extref:{contributing}[Contributing to the FreeBSD Ports Collection, ports-contributing].)
A bug that cannot be reproduced can rarely be fixed.
If the bug only occurred once and you cannot reproduce it, and it does not seem to happen to anybody else, chances are none of the developers will be able to reproduce it or figure out what is wrong.
That does not mean it did not happen, but it does mean that the chances of your problem report ever leading to a bug fix are very slim.
-To make matters worse, often these kinds of bugs are actually caused by failing hard drives or overheating processors—you should always try to rule out these causes, whenever possible, before submitting a PR.
+To make matters worse, often these kinds of bugs are actually caused by failing hard drives or overheating processors—you should always try to rule out these causes, whenever possible, before submitting a report.
Next, to decide to whom you should file your problem report, you need to understand that the software that makes up FreeBSD is composed of several different elements:
@@ -112,7 +117,7 @@
* The FreeBSD extref:{faq}[Frequently Asked Questions] (FAQ) list. The FAQ attempts to provide answers for a wide range of questions, such as those concerning extref:{faq}[hardware compatibility, hardware], extref:{faq}[user applications, applications], and extref:{faq}[kernel configuration, kernelconfig].
* The extref:{handbook}eresources/[mailing lists, eresources-mail]. If you are not subscribed, use https://www.FreeBSD.org/search/#mailinglists[the searchable archives] on the FreeBSD web site. If the problem has not been discussed on the lists, you might try posting a message about it and waiting a few days to see if someone can spot something that has been overlooked.
* Optionally, the entire web-use your favorite search engine to locate any references to the problem. You may even get hits from archived mailing lists or newsgroups you did not know of or had not thought to search through.
-* Next, the searchable https://bugs.freebsd.org/bugzilla/query.cgi[FreeBSD PR database] (Bugzilla). Unless the problem is recent or obscure, there is a fair chance it has already been reported.
+* Next, the searchable https://bugs.freebsd.org/bugzilla/query.cgi[FreeBSD Bugzilla database]. Unless the problem is recent or obscure, there is a fair chance it has already been reported.
* Most importantly, attempt to see if existing documentation in the source base addresses your problem.
+
For the base FreeBSD code, you should carefully study the contents of [.filename]#/usr/src/UPDATING# on your system or the latest version at https://cgit.freebsd.org/src/tree/UPDATING[https://cgit.freebsd.org/src/tree/UPDATING].
@@ -125,12 +130,12 @@
== Writing the Problem Report
Now that you have decided that your issue merits a problem report, and that it is a FreeBSD problem, it is time to write the actual problem report.
-Before we get into the mechanics of the program used to generate and submit PRs, here are some tips and tricks to help make sure that your PR will be most effective.
+Before we get into the mechanics of the program used to generate and submit Bugzilla PRs, here are some tips and tricks to help make sure that your report will be most effective.
[[pr-writing-tips]]
-== Tips and Tricks for Writing a Good Problem Report
+== Tips and Tricks for Writing a Good Problem Report With Bugzilla
-* _Do not leave the "Summary" line empty._ The PRs go both onto a mailing list that goes all over the world (where the "Summary" is used for the `Subject:` line), but also into a database. Anyone who comes along later and browses the database by synopsis, and finds a PR with a blank subject line, tends just to skip over it. Remember that PRs stay in this database until they are closed by someone; an anonymous one will usually just disappear in the noise.
+* _Do not leave the "Summary" line empty._ The reports go both onto a mailing list that goes all over the world (where the "Summary" is used for the `Subject:` line), but also into a database. Anyone who comes along later and browses the database by synopsis, and finds a PR with a blank subject line, tends just to skip over it. Remember that PRs stay in this database until they are closed by someone; an anonymous one will usually just disappear in the noise.
* _Avoid using a weak "Summary" line._ You should not assume that anyone reading your PR has any context for your submission, so the more you provide, the better. For instance, what part of the system does the problem apply to? Do you only see the problem while installing, or while running? To illustrate, instead of `Summary: portupgrade is broken`, see how much more informative this seems: `Summary: port ports-mgmt/portupgrade coredumps on -current`. (In the case of ports, it is especially helpful to have both the category and portname in the "Summary" line.)
* _If you have a patch, say so._
The presence of a patch makes it much easier to progress a report.
@@ -156,7 +161,7 @@
*** any environment variables that override the defaults in [.filename]#bsd.port.mk#, such as `PORTSDIR`
*** the fact that you have read [.filename]#ports/UPDATING# and that your problem is not listed there (someone is guaranteed to ask)
-* _Avoid vague requests for features._ PRs of the form "someone should really implement something that does so-and-so" are less likely to get results than very specific requests. Remember, the source is available to everyone, so if you want a feature, the best way to ensure it being included is to get to work! Also consider the fact that many things like this would make a better topic for discussion on `freebsd-questions` than an entry in the PR database, as discussed above.
+* _Avoid vague requests for features._ Problem Reports of the form "someone should really implement something that does so-and-so" are less likely to get results than very specific requests. Remember, the source is available to everyone, so if you want a feature, the best way to ensure it being included is to get to work! Also consider the fact that many things like this would make a better topic for discussion on `freebsd-questions` than an entry in the PR database, as discussed above.
* _Make sure no one else has already submitted a similar PR._ Although this has already been mentioned above, it bears repeating here. It only take a minute or two to use the web-based search engine at https://bugs.freebsd.org/bugzilla/query.cgi[https://bugs.freebsd.org/bugzilla/query.cgi]. (Of course, everyone is guilty of forgetting to do this now and then.)
* _Report only one issue per Problem Report._ Avoid including two or more problems within the same report unless they are related. When submitting patches, avoid adding multiple features or fixing multiple bugs in the same PR unless they are closely related-such PRs often take longer to resolve.
* _Avoid controversial requests._ If your PR addresses an area that has been controversial in the past, you should probably be prepared to not only offer patches, but also justification for why the patches are "The Right Thing To Do". As noted above, a careful search of the mailing lists using the archives at https://www.FreeBSD.org/search/#mailinglists[https://www.FreeBSD.org/search/#mailinglists] is always good preparation.
@@ -165,7 +170,7 @@
[[pr-writing-before-beginning]]
== Before Beginning
-Similar considerations apply to use of the https://bugs.freebsd.org/bugzilla/enter_bug.cgi[web-based PR submission form].
+The following considerations apply to use of the https://bugs.freebsd.org/bugzilla/enter_bug.cgi[Bugzilla web-based PR submission form].
Be careful of cut-and-paste operations that might change whitespace or other text formatting.
Finally, if the submission is lengthy, prepare the work offline so that nothing will be lost if there is a problem submitting it.
@@ -173,6 +178,8 @@
[[pr-writing-attaching-patches]]
== Attaching Patches or Files
+The following instructions apply not only to submissions via Bugzilla, but also via Phabricator or the FreeBSD Github instance.
+
In general, we recommend using `git format-patch` to generate one or a series of unified diff against the base
branch (e.g. `origin/main`).
Patches generated this way would include the Git hashes and will include your name and email address, making it
@@ -188,21 +195,21 @@
Do not send patches as attachments using `Content-Transfer-Encoding: quoted-printable`.
These will perform character escaping and the entire patch will be useless.
-Also note that while including small patches in a PR is generally all right—particularly when they fix the problem described in the PR-large patches and especially new code which may require substantial review before committing should be placed on a web or ftp server, and the URL should be included in the PR instead of the patch.
+Also note that while including small patches in a Pull Request is generally all right—particularly when they fix the problem described in the Pull Request-large patches and especially new code which may require substantial review before committing should be placed on a web or ftp server, and the URL should be included in the Pull Request instead of the patch.
Patches in email tend to get mangled, and the larger the patch, the harder it will be for interested parties to unmangle it.
-Also, posting a patch on the web allows you to modify it without having to resubmit the entire patch in a followup to the original PR.
-Finally, large patches simply increase the size of the database, since closed PRs are not actually deleted but instead kept and simply marked as complete.
+Also, posting a patch on the web allows you to modify it without having to resubmit the entire patch in a followup.
+Finally, large patches simply increase the size of the database, since closed reports are not actually deleted but instead kept and simply marked as complete.
-You should also take note that unless you explicitly specify otherwise in your PR or in the patch itself, any patches you submit will be assumed to be licensed under the same terms as the original file you modified.
+You should also take note that unless you explicitly specify otherwise in your request or in the patch itself, any patches you submit will be assumed to be licensed under the same terms as the original file you modified.
[[pr-writing-filling-template]]
-== Filling out the Form
+== Filling out the Bugzilla Form
[NOTE]
====
The email address you use will become public information and may become available to spammers.
You should either have spam handling procedures in place, or use a temporary email account.
-However, please note that if you do not use a valid email account at all, we will not be able to ask you questions about your PR.
+However, please note that if you do not use a valid email account at all, we will not be able to ask you questions about your submission.
====
When you file a bug, you will find the following fields:
@@ -264,7 +271,7 @@
If someone requests additional information from you, or you remember or discover something you did not mention in the initial report, please submit a follow up.
The number one reason for a bug not getting fixed is lack of communication with the originator.
-The easiest way is to use the comment option on the individual PR's web page, which you can reach from the https://bugs.freebsd.org/bugzilla/query.cgi[PR search page].
+The easiest way is to use the comment option on the individual Bugzilla PR's web page, which you can reach from the https://bugs.freebsd.org/bugzilla/query.cgi[Bugzilla PR search page].
If the problem report remains open after the problem has gone away, just add a comment saying that the problem report can be closed, and, if possible, explaining how or when the problem was fixed.

File Metadata

Mime Type
text/plain
Expires
Wed, Nov 12, 11:33 PM (1 h, 16 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
25215907
Default Alt Text
D53644.id.diff (14 KB)

Event Timeline