diff --git a/en_US.ISO8859-1/articles/contributing/article.sgml b/en_US.ISO8859-1/articles/contributing/article.sgml
index 08b93faac2..28258d932b 100644
--- a/en_US.ISO8859-1/articles/contributing/article.sgml
+++ b/en_US.ISO8859-1/articles/contributing/article.sgml
@@ -1,554 +1,554 @@
%articles.ent;
]>
Contributing to FreeBSD$FreeBSD$This article describes the different ways in which an
individual or organization may contribute to the FreeBSD
Project.JordanHubbardContributed by
&tm-attrib.freebsd;
&tm-attrib.ieee;
&tm-attrib.general;
contributingSo you want to contribute to FreeBSD? That is great! FreeBSD
relies on the contributions of its user base
to survive. Your contributions are not only appreciated, they are
vital to FreeBSD's continued growth.Contrary to what some people might have you believe, you do
not need to be a hot-shot programmer or a close personal friend of
the FreeBSD core team to have your contributions accepted. A
large and growing number of international contributors, of greatly
varying ages and areas of technical expertise, develop FreeBSD.
There is always more work to be done than there are people
available to do it, and more help is always appreciated.The FreeBSD project is responsible for an entire operating
system environment, rather than just a kernel or a few scattered
utilities. As such, our TODO lists span a
very wide range of tasks: from documentation, beta testing and
presentation, to the system installer and highly specialized types
of kernel development. People of any skill level, in almost any
area, can almost certainly help the project.Commercial entities engaged in FreeBSD-related enterprises are
also encouraged to contact us. Do you need a special extension to
make your product work? You will find us receptive to your
requests, given that they are not too outlandish. Are you working
on a value-added product? Please let us know! We may be able to
work cooperatively on some aspect of it. The free software world
is challenging many existing assumptions about how software is
developed, sold, and maintained, and we urge you to at least give
it a second look.What Is NeededThe following list of tasks and sub-projects represents
something of an amalgam of various TODO
lists and user requests.Ongoing Non-Programmer TasksMany people who are involved in FreeBSD are not
programmers. The Project includes documentation writers, Web
designers, and support people. All that these people need to
contribute is an investment of time and a willingness to
learn.Read through the FAQ and Handbook periodically. If
anything is badly explained, out of date or even just
completely wrong, let us know. Even better, send us a fix
(SGML is not difficult to learn, but there is no objection
to ASCII submissions).Help translate FreeBSD documentation into your native
language. If documentation already exists for your
language, you can help translate additional documents or
verify that the translations are up-to-date. First take a
look at the Translations
FAQ in the FreeBSD Documentation Project Primer.
You are not committing yourself to translating every
single FreeBSD document by doing this — as a
volunteer, you can do as much or as little translation as
you desire. Once someone begins translating, others
almost always join the effort. If you only have the time
or energy to translate one part of the documentation,
please translate the installation instructions.Read the &a.questions; and &ng.misc;
occasionally (or even regularly). It can be very
satisfying to share your expertise and help people solve
their problems; sometimes you may even learn something new
yourself! These forums can also be a source of ideas for
things to work on.Ongoing Programmer TasksMost of the tasks listed here require either a considerable
investment of time, or an in-depth knowledge of the FreeBSD
kernel, or both. However, there are also many useful tasks
which are suitable for weekend hackers.If you run FreeBSD-CURRENT and have a good Internet
connection, there is a machine current.FreeBSD.org which builds a
full release once a day—every now and again, try to
install the latest release from it and report any failures
in the process.Read the &a.bugs;. There might be a
problem you can comment constructively on or with patches
you can test. Or you could even try to fix one of the
problems yourself.If you know of any bug fixes which have been
successfully applied to -CURRENT but have not been merged
into -STABLE after a decent interval (normally a couple of
weeks), send the committer a polite reminder.Move contributed software to
src/contrib in the source
tree.Make sure code in src/contrib is
up to date.Build the source tree (or just part of it) with extra
warnings enabled and clean up the warnings.Fix warnings for ports which do deprecated things like
using gets() or including
malloc.h.If you have contributed any ports, send your patches
back to the original authors (this will make your life
easier when they bring out the next version).Get copies of formal standards like &posix;. You can
get some links about these standards at the FreeBSD
C99 & POSIX Standards Conformance Project web
site. Compare FreeBSD's behavior to that required by the
standard. If the behavior differs, particularly in subtle
or obscure corners of the specification, send in a PR
about it. If you are able, figure out how to fix it and
include a patch in the PR. If you think the standard is
wrong, ask the standards body to consider the
question.Suggest further tasks for this list!Work through the PR Databaseproblem reports databaseThe FreeBSD
PR list shows all the current active problem reports
and requests for enhancement that have been submitted by
FreeBSD users. The PR database includes both programmer and
non-programmer tasks. Look through the open PRs, and see if
anything there takes your interest. Some of these might be
very simple tasks that just need an extra pair of eyes to look
over them and confirm that the fix in the PR is a good one.
Others might be much more complex, or might not even have a
fix included at all.Start with the PRs that have not been assigned to anyone
else. If a PR is assigned to someone else, but it looks like
something you can handle, email the person it is assigned to
and ask if you can work on it—they might already have a
patch ready to be tested, or further ideas that you can
discuss with them.How to ContributeContributions to the system generally fall into one or more
of the following 5 categories:Bug Reports and General CommentaryAn idea or suggestion of general
technical interest should be mailed to the &a.hackers;.
Likewise, people with an interest in such things (and a
tolerance for a high volume of mail!) may
subscribe to the &a.hackers;.
See The
FreeBSD Handbook for more information about this and
other mailing lists.If you find a bug or are submitting a specific change,
please report it using the &man.send-pr.1; program or its
WEB-based
equivalent. Try to fill-in each field of the bug
report. Unless they exceed 65KB, include any patches directly
in the report. If the patch is suitable to be applied to the
source tree put [PATCH] in the synopsis of
the report. When including patches, do
not use cut-and-paste because cut-and-paste turns
tabs into spaces and makes them unusable. Consider
compressing patches and using &man.uuencode.1; if they exceed
20KB.After filing a report, you should receive confirmation
along with a tracking number. Keep this tracking number so
that you can update us with details about the problem by
- sending mail to bug-followup@FreeBSD.org. Use
+ sending mail to &a.bugfollowup;. Use
the number as the message subject, e.g. "Re:
kern/3377". Additional information for any bug
report should be submitted this way.If you do not receive confirmation in a timely fashion (3
days to a week, depending on your email connection) or are,
for some reason, unable to use the &man.send-pr.1; command,
then you may ask someone to file it for you by sending mail to
the &a.bugs;.See also this
article on how to write good problem reports.Changes to the Documentationdocumentation submissionsChanges to the documentation are overseen by the &a.doc;.
Please look at the FreeBSD Documentation
Project Primer for complete instructions. Send
submissions and changes (even small ones are welcome!) using
&man.send-pr.1; as described in Bug Reports and General
Commentary.Changes to Existing Source CodeFreeBSD-CURRENTAn addition or change to the existing source code is a
somewhat trickier affair and depends a lot on how far out of
date you are with the current state of FreeBSD
development. There is a special on-going release of FreeBSD
known as FreeBSD-CURRENT which is made
available in a variety of ways for the convenience of
developers working actively on the system. See The FreeBSD
Handbook for more information about getting and using
FreeBSD-CURRENT.Working from older sources unfortunately means that your
changes may sometimes be too obsolete or too divergent for
easy re-integration into FreeBSD. Chances of this can be
minimized somewhat by subscribing to the &a.announce; and the
&a.current; lists, where discussions on the current state of
the system take place.Assuming that you can manage to secure fairly up-to-date sources
to base your changes on, the next step is to produce a set of diffs to
send to the FreeBSD maintainers. This is done with the &man.diff.1;
command.The preferred &man.diff.1; format for submitting patches
is the unified output format generated by diff
-u. However, for patches that substantially change a
region of code, a context output format diff generated by
diff -c may be more readable and thus
preferable.diffFor example:&prompt.user; diff -c oldfile newfile
or
&prompt.user; diff -c -r olddir newdir
would generate such a set of context diffs for the given
source file or directory hierarchy.Likewise,
&prompt.user; diff -u oldfile newfile
or
&prompt.user; diff -u -r olddir newdir
would do the same, except in the unified diff format.See the manual page for &man.diff.1; for more details.Once you have a set of diffs (which you may test with the
&man.patch.1; command), you should submit them for inclusion
with FreeBSD. Use the &man.send-pr.1; program as described in
Bug Reports and General
Commentary. Do not just send the
diffs to the &a.hackers; or they will get lost! We greatly
appreciate your submission (this is a volunteer project!);
because we are busy, we may not be able to address it
immediately, but it will remain in the PR database until we
do. Indicate your submission by including
[PATCH] in the synopsis of the
report.uuencodeIf you feel it appropriate (e.g. you have added, deleted,
or renamed files), bundle your changes into a
tar file and run the &man.uuencode.1;
program on it. Archives created with &man.shar.1; are also welcome.If your change is of a potentially sensitive nature,
e.g. you are unsure of copyright issues governing its further
distribution or you are simply not ready to release it without
a tighter review first, then you should send it to &a.core;
directly rather than submitting it with &man.send-pr.1;. The
&a.core; reaches a much smaller group of people who
do much of the day-to-day work on FreeBSD. Note that this
group is also very busy and so you should
only send mail to them where it is truly necessary.Please refer to &man.intro.9; and &man.style.9; for
some information on coding style. We would appreciate it if
you were at least aware of this information before submitting
code.New Code or Major Value-Added PackagesIn the case of a significant contribution of a large body
work, or the addition of an important new feature to FreeBSD,
it becomes almost always necessary to either send changes as
uuencoded tar files or upload them to a web or FTP site for
other people to access. If you do not have access to a web or
FTP site, ask on an appropriate FreeBSD mailing list for
someone to host the changes for you.When working with large amounts of code, the touchy
subject of copyrights also invariably comes up. Acceptable
copyrights for code included in FreeBSD are:BSD copyrightThe BSD copyright. This copyright is most preferred
due to its no strings attached nature and
general attractiveness to commercial enterprises. Far
from discouraging such commercial use, the FreeBSD Project
actively encourages such participation by commercial
interests who might eventually be inclined to invest
something of their own into FreeBSD.GPLGNU General Public LicenseGNU General Public LicenseThe GNU General Public License, or GPL.
This license is not quite as popular with us due to the
amount of extra effort demanded of anyone using the code
for commercial purposes, but given the sheer quantity of
GPL'd code we currently require (compiler, assembler, text
formatter, etc) it would be silly to refuse additional
contributions under this license. Code under the GPL also
goes into a different part of the tree, that being
/sys/gnu or
/usr/src/gnu, and is therefore easily
identifiable to anyone for whom the GPL presents a
problem.Contributions coming under any other type of copyright
must be carefully reviewed before their inclusion into FreeBSD
will be considered. Contributions for which particularly
restrictive commercial copyrights apply are generally
rejected, though the authors are always encouraged to make
such changes available through their own channels.To place a BSD-style copyright on your
work, include the following text at the very beginning of
every source code file you wish to protect, replacing the text
between the %% with the appropriate
information:Copyright (c) %%proper_years_here%%
%%your_name_here%%, %%your_state%% %%your_zip%%.
All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions
are met:
1. Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer as
the first lines of this file unmodified.
2. Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in the
documentation and/or other materials provided with the distribution.
THIS SOFTWARE IS PROVIDED BY %%your_name_here%% ``AS IS'' AND ANY EXPRESS OR
IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
IN NO EVENT SHALL %%your_name_here%% BE LIABLE FOR ANY DIRECT, INDIRECT,
INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
$Id$For your convenience, a copy of this text can be found in
/usr/share/examples/etc/bsd-style-copyright.Money, Hardware or Internet AccessWe are always very happy to accept donations to further
the cause of the FreeBSD Project and, in a volunteer effort
like ours, a little can go a long way! Donations of hardware
are also very important to expanding our list of supported
peripherals since we generally lack the funds to buy such
items ourselves.Donating FundsThe FreeBSD Foundation is a non-profit, tax-exempt
foundation established to further the goals of the FreeBSD
Project. As a 501(c)3 entity, the Foundation is generally
exempt from US federal income tax as well as Colorado State
income tax. Donations to a tax-exempt entity are often
deductible from taxable federal income.Donations may be sent in check form to:
The FreeBSD Foundation
7321 Brockway Dr.Boulder, CO80303USAThe FreeBSD Foundation is now able to accept donations
through the web with PayPal. To place a donation, please
visit the Foundation web
site.More information about the FreeBSD Foundation can be
found in The
FreeBSD Foundation -- an Introduction. To contact
the Foundation by email, write to
bod@FreeBSDFoundation.org.Donating HardwaredonationsThe FreeBSD Project happily accepts donations of
hardware that it can find good use for. If you are
interested in donating hardware, please contact the Donations Liaison
Office.Donating Internet AccessWe can always use new mirror sites for FTP, WWW or
cvsup. If you would like to be such a
mirror, please see the Mirroring FreeBSD
article for more information.
diff --git a/en_US.ISO8859-1/articles/pr-guidelines/article.sgml b/en_US.ISO8859-1/articles/pr-guidelines/article.sgml
index fefed0de38..dea936c37f 100644
--- a/en_US.ISO8859-1/articles/pr-guidelines/article.sgml
+++ b/en_US.ISO8859-1/articles/pr-guidelines/article.sgml
@@ -1,771 +1,771 @@
%articles.ent;
]>
Problem Report Handling Guidelines$FreeBSD$
&tm-attrib.freebsd;
&tm-attrib.opengroup;
&tm-attrib.general;
These guidelines describe recommended handling practices
for FreeBSD Problem Reports (PRs). Whilst developed for the
FreeBSD PR Database Maintenance Team
freebsd-bugbusters@FreeBSD.org, these
guidelines should be followed by anyone working with FreeBSD
PRs.Dag-ErlingSmørgravHitenPandyaIntroductionGNATS is a defect management (bug reporting) system used by
the FreeBSD Project. As accurate tracking of outstanding
software defects is important to FreeBSD's quality, the
correct use of GNATS is essential to the forward progress of the
Project.Access to GNATS is available to FreeBSD developers, as well as
to the wider community. In order to maintain consistency within
the database and provide a consistent user experience, guidelines
have been established covering common aspects of bug management
such as presenting followup, handling close requests, and so
forth.Problem Report Life-cycleThe Reporter submits a PR with &man.send-pr.1; and
receives a confirmation message.Joe Random Committer takes interest in the PR and
assigns it to himself, or Jane Random BugBuster decides that
Joe is best suited to handle it and assigns it to
him.Joe has a brief exchange with the originator (making
sure it all goes into the audit trail) and determines the
cause of the problem. He then makes sure the cause is
documented in the audit trail, and sets the PRs state to
analyzed.Joe pulls an all-nighter and whips up a patch that he
thinks fixes the problem, and submits it in a follow-up,
asking the originator to test it. He then sets the PRs
state to feedback.A couple of iterations later, both Joe and the
originator are satisfied with the patch, and Joe commits it
to -CURRENT (or directly to
-STABLE if the problem does not exist in
-CURRENT), making sure to reference the
Problem Report in his commit log (and credit the originator
if he submitted all or part of the patch) and, if
appropriate, start an MFC countdown.If the patch does not need MFCing, Joe then closes the
PR.If the patch needs MFCing, Joe leaves the Problem Report
in patched state until the patch has been
MFCed, then closes it.Many PRs are submitted with very little information about
the problem, and some are either very complex to solve, or
just scratch the surface of a larger problem; in these cases, it
is very important to obtain all the necessary information
needed to solve the problem. If the problem contained within
cannot be solved, or has occurred again, it is necessary to
re-open the PR.The email address used on the PR might not
be able to receive mail. In this case, followup to the PR as
usual and ask the originator (in the followup) to provide a
working email address. This is normally the case when
&man.send-pr.1; is used from a system with the mail system
disabled or not installed.Problem Report StateIt is important to update the state of a PR when certain
actions are taken. The state should accurately reflect the
current state of work on the PR.A small example on when to change PR stateWhen a PR has been worked on and the developer(s)
responsible feel comfortable about the fix, they will submit a
followup to the PR and change its state to
feedback. At this point, the originator should
evaluate the fix in their context and respond indicating
whether the defect has indeed been remedied.A Problem Report may be in one of the following
states:openInitial state; the problem has been pointed out and it
needs reviewing.analyzedThe problem has been reviewed and a
solution is being sought.feedbackFurther work requires additional information from the
originator or the community; possibly information
regarding the proposed solution.patchedA patch has been committed, but something (MFC, or
maybe confirmation from originator) is still pending.suspendedThe problem is not being worked on, due to lack of
information or resources. This is a prime candidate for
somebody who is looking for a project to take on. If the
problem cannot be solved at all, it will be closed, rather
than suspended. The documentation project uses
suspended for wish-list
items that entail a significant amount of work which no one
currently has time for.closedA problem report is closed when any changes have been
integrated, documented, and tested, or when fixing the
problem is abandoned.The patched state is directly related to
feedback, so you may go directly to closed state if
the originator cannot test the patch, and it works in your own testing.Types of Problem ReportsWhile handling problem reports, either as a developer who has
direct access to the GNATS database or as a contributor who
browses the database and submits followups with patches, comments,
suggestions or change requests, you will come across several
different types of PRs.PRs not yet assigned to anyone.PRs already assigned to someone.Duplicates of existing PRs.Stale PRsMisfiled PRsThe following sections describe what each different type of
PRs is used for, when a PR belongs to one of these types, and what
treatment each different type receives.Unassigned PRsWhen PRs arrive, they are initially assigned to a generic
(placeholder) assignee. These are always prepended with
freebsd-. The exact value for this default
depends on the category; in most cases, it corresponds to a
specific &os; mailing list. Here are some examples:
Default AssigneesTypeCategoriesDefault Assigneebase systembin, conf, gnu, kern, miscfreebsd-bugsarchitecture-specificalpha, i386, ia64, powerpc, sparc64freebsd-archports collectionportsfreebsd-ports-bugsdocumentation shipped with the systemdocsfreebsd-doc&os; web pages (not including docs)wwwfreebsd-wwwstandards compliancestandardsfreebsd-standardsJVM problemsjavafreebsd-javaadvocacy effortsadvocacyfreebsd-advocacy
Do not be surprised to find that the submitter of the
PR has assigned it to the wrong category. If you fix the
category, do not forget to fix the assignment as well.
(In particular, our submitters seem to have a hard time
understanding that just because their problem manifested
on an i386 system, that it might be generic to all of &os;,
and thus be more appropriate for kern.
The converse is also true, of course.)Certain PRs may be reassigned away from these generic
assignees by anyone. For assignees which are mailing lists,
please use the long form when making the assignment (e.g.,
freebsd-foo instead of foo);
this will avoid duplicate emails sent to the mailing list.Here is a sample list of such entities; it is probably
not complete. Entries that have the short form are
aliases, not mailing lists.
Common AssigneesTypeSuggested Assigneeproblem with Linux or SVR4 emulationemulationproblem with the networking stackfreebsd-netproblem with PicoBSDfreebsd-smallproblem with the ports framework
(not with an individual port!)portmgrproblem with the SCSI subsystemfreebsd-scsiproblem with the sound subsystemsoundproblem with the threads subsystemfreebsd-threadsproblem with sysinstallfreebsd-qaproblem with the USB subsystemfreebsd-usbport which is maintained by gnome@FreeBSD.orggnomeport which is maintained by haskell@FreeBSD.orghaskellport which is maintained by kde@FreeBSD.orgkdeport which is maintained by
openoffice@FreeBSD.orgfreebsd-openofficeport which is maintained by perl@FreeBSD.orgfreebsd-perlport which is maintained by x11@FreeBSD.orgfreebsd-x11
Ports PRs which have a maintainer who is a ports committer
may be reassigned by anyone (but note that not every &os;
committer is necessarily a ports committer, so you cannot
simply go by the email address alone.)
For other PRs, please do not reassign them to individuals
(other than yourself) unless you are certain that the assignee
really wants to track the PR. This will help to avoid the
case where no one looks at fixing a particular problem
because everyone assumes that the assignee is already working
on it.Assigned PRsIf a PR has the responsible field set
to the username of a FreeBSD developer, it means that the PR
has been handed over to that particular person for further
work.Assigned PRs should not be touched by anyone but the
assignee. If you have comments, submit a followup. If for
some reason you think the PR should change state or be
reassigned, send a message to the assignee. If the assignee
does not respond within two weeks, unassign the PR and do as
you please.Duplicate PRsIf you find more than one PR that describe the same issue,
choose the one that contains the largest amount of useful
information and close the others, stating clearly the number
of the superseding PR. If several PRs contain non-overlapping
useful information, submit all the missing information to one
in a followup, including references to the others; then close
the other PRs (which are now completely superseded).Stale PRsA PR is considered stale if it has not been modified in more
than six months. Apply the following procedure to deal with
stale PRs:If the PR contains sufficient detail, try to reproduce
the problem in -CURRENT and
-STABLE. If you succeed, submit a
followup detailing your findings and try to find someone
to assign it to. Set the state to analyzed
if appropriate.If the PR describes an issue which you know is the
result of a usage error (incorrect configuration or
otherwise), submit a followup explaining what the
originator did wrong, then close the PR with the reason
User error or Configuration
error.If the PR describes an error which you know has been
corrected in both -CURRENT and
-STABLE, close it with a message
stating when it was fixed in each branch.If the PR describes an error which you know has been
corrected in -CURRENT, but not in
-STABLE, try to find out when the person
who corrected it is planning to MFC it, or try to find
someone else (maybe yourself?) to do it. Set the state to
feedback and assign it to whomever will do
the MFC.In other cases, ask the originator to confirm if
the problem still exists in newer versions. If the
originator does not reply within a month, close the PR
with the notation Feedback timeout.Misfiled PRsGNATS is picky about the format of a submitted bug report.
This is why a lot of PRs end up being misfiled if
the submitter forgets to fill in a field or puts the wrong sort of
data in some of the PR fields. This section aims to provide most
of the necessary details for FreeBSD developers that can help them to
close or refile these PRs.When GNATS cannot deduce what to do with a problem report
that reaches the database, it sets the responsible of the PR to
gnats-admin and files it under the
pending category. This is now a
misfiled PR and will not appear in bug report
listings, unless someone explicitly asks for a list of all the
misfiled PRs. If you have access to the FreeBSD cluster
machines, you can use query-pr to view a
listing of PRs that have been misfiled:&prompt.user; query-pr -x -q -r gnats-admin
52458 gnats-ad open serious medium Re: declaration clash f
52510 gnats-ad open serious medium Re: lots of sockets in
52557 gnats-ad open serious medium
52570 gnats-ad open serious medium Jigdo maintainer updateCommonly PRs like the ones shown above are misfiled for one
of the following reasons:A followup to an existing PR, sent through email, has
the wrong format on its Subject:
header.A submitter sent a Cc: to a mailing list and someone
followed up to that post instead of the email issued by
GNATS after processing. The email to the list will not
have the category/PRnumber tracking tag. (This is why we
discourage submitters from doing this exact thing.)When completing the &man.send-pr.1; template, the submitter
forgot to set the category or class of the PR to a proper
value.When completing the &man.send-pr.1; template, the submitter
set Confidential to yes. (Since we allow
anyone to mirror GNATS via cvsup,
our PRs are public information. Security alerts should
therefore not be sent via GNATS but instead via email to
the Security Team.)It is not a real PR, but some random message sent to
bug-followup@FreeBSD.org or
freebsd-gnats-submit@FreeBSD.org.Followups misfiled as new PRsThe first category of misfiled PRs, the one with the wrong
subject header, is actually the one that requires the greatest
amount of work from developers. These are not real PRs,
describing separate problem reports. When a reply is received
for an existing PR at one of the addresses that GNATS
listens to for incoming messages, the subject
of the reply should always be of the form:Subject: Re: category/number: old synopsis textMost mailers will add the
Re: part when you
reply to the original mail message of a PR. The
category/number: part
is a GNATS-specific convention that you have to manually
insert to the subject of your followup reports.Any FreeBSD developer, who has direct access to the GNATS
database, can periodically check for PRs of this sort and move
interesting bits of the misfiled PR into the audit trail of
the original PR (by posting a proper followup to a bug report
- to the address bug-followup@FreeBSD.org). Then
+ to the address &a.bugfollowup;). Then
the misfiled PR can be closed with a message similar
to:Your problem report was misfiled. Please use the format
"Subject: category/number: original text" when following
up to older, existing PRs. I've added the relevant bits
from the body of this PR to kern/12345Searching with query-pr for the
original PR, of which a misfiled followup is a reply, is as
easy as running:&prompt.user; query-pr -q -y "some text"After you locate the original PR and the misfiled
followups, use the option of
query-pr to save the full text of all the
relevant PRs in a &unix; mailbox file, i.e.:&prompt.user; query-pr -F 52458 52474 > mboxNow you can use any mail user agent to view all the PRs
you saved in mbox. Copy the text of all
the misfiled PRs in a followup to the original PR and make
sure you include the proper Subject:
header. Then close the misfiled PRs. When you close the misfiled
PRs remember that the submitter receives a mail notification that
his PR changed state to closed. Make sure you
provide enough details in the log about the reason of this state
change. Typically something like the following is ok:Followup to ports/45364 misfiled as a new PR.
This was misfiled because the subject did not have the format:
Re: ports/45364: ...This way the submitter of the misfiled PR will know what to
avoid the next time a followup to an existing PR is sent.PRs misfiled because of missing fieldsThe second type of misfiled PRs is usually the result of a
submitter forgetting to fill all the necessary fields when
writing the original PR.Missing or bogus category or
class fields can result in a misfiled report.
Developers can use &man.edit-pr.1; to change the category or
class of these misfiled PRs to a more appropriate value and
save the PR.Another common cause of misfiled PRs because of formatting
issues is quoting, changes or removal of the
send-pr template, either by the user who
edits the template or by mailers which do strange things to
plain text messages. This does not happen a lot of the time,
but it can be fixed with edit-pr too; it
does require a bit of work from the developer who refiles the
PR, but it is relatively easy to do most of the time.Misfiled PRs that are not really problem reportsSometimes a user wants to submit a report for a problem
and sends a simple email message to GNATS. The GNATS scripts
will recognize bug reports that are formatted using the
&man.send-pr.1; template. They cannot parse any sort of email
though. This is why submissions of bug reports that are sent
to freebsd-gnats-submit@FreeBSD.org have to
follow the template of send-pr, but email
reports can be sent to &a.bugs;.Developers that come across PRs that look like they should have
been posted to &a.bugs.name; or some other list should close the
PR, informing the submitter in their state-change log why this
is not really a PR and where the message should be posted.The email addresses that GNATS listens to for incoming PRs
have been published as part of the FreeBSD documentation, have
been announced and listed on the web-site. This means that
spammers found them. Spam messages
that reach GNATS are promptly filed
under the pending category until someone looks
at them. Closing one of these with &man.edit-pr.1; is very
annoying though, because GNATS replies to the submitter and
the sender's address of spam mail is never valid these days.
Bounces will come back for each PR that is closed.Currently, with the installation of some antispam filters
that check all submissions to the GNATS database, the amount
of spam that reaches the pending state is very
small.All developers who have access to the FreeBSD.org cluster
machines are encouraged to check for misfiled PRs and immediately
close those that are spam mail. Whenever you close one of
these PRs, please do the following:
Set Category to junk.Set Confidential to no.Set Responsible to yourself (and not, e.g.,
freebsd-bugs, which merely
sends more mail).Set State to closed.Junk PRs are not
backed up, so filing spam mail under this category makes it
obvious that we do not care to keep it around or waste disk
space for it. If you merely close them without changing the
category, they remain both in the master database and in
any copies of the database mirrored through
cvsup.Further ReadingThis is a list of resources relevant to the proper writing
and processing of problem reports. It is by no means complete.How to
Write FreeBSD Problem Reports—guidelines
for PR originators.
diff --git a/en_US.ISO8859-1/articles/problem-reports/article.sgml b/en_US.ISO8859-1/articles/problem-reports/article.sgml
index 78398921cd..3b6b7156b0 100644
--- a/en_US.ISO8859-1/articles/problem-reports/article.sgml
+++ b/en_US.ISO8859-1/articles/problem-reports/article.sgml
@@ -1,903 +1,903 @@
%articles.ent;
]>
Writing &os; Problem Reports$FreeBSD$
&tm-attrib.freebsd;
&tm-attrib.cvsup;
&tm-attrib.ibm;
&tm-attrib.intel;
&tm-attrib.sparc;
&tm-attrib.sun;
&tm-attrib.general;
This article describes how to best formulate and submit a
problem report to the &os; Project.Dag-ErlingSmørgravContributed by problem reportsIntroductionOne 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. 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, you ask, 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 &os;
problem reports, most of it should apply quite well to other
software projects.Note that this article is organized thematically, not
chronologically, so you should read through the entire document
before submitting a problem report, rather than treat it as a
step-by-step tutorial.When to submit a problem reportThere are many types of problems, and not all of them should
engender a problem report. Of course, nobody is perfect, and
there will be times when you are convinced you have found a bug
in a program when in fact you have misunderstood the syntax for
a command or made a typographical error in a configuration file
(though that in
itself may sometimes be indicative of poor documentation or poor
error handling in the application). There are still many cases
where submitting a problem report is clearly
not the right
course of action, and will only serve to frustrate you and the
developers. Conversely, there are cases where it might be
appropriate to submit a problem report about something else than
a bug—an enhancement or a feature request, for
instance.So how do you determine what is a bug and what is not? As a
simple rule of thumb your problem is not a
bug if it can be expressed as a question (usually of the form
How do I do X? or Where can I find
Y?). It is not always quite so black and white, but the
question rule covers a large majority of cases. If you are looking
for an answer, consider posing your question to the
&a.questions;.Some cases where it may be appropriate to submit a problem
report about something that is not a bug are:Requests for feature enhancements. It is generally a
good idea to air these on the mailing lists before
submitting a problem report.Notification of updates to externally maintained
software (mainly ports, but also externally maintained base
system components such as BIND or various GNU
utilities).For unmaintained ports (MAINTAINER contains
ports@FreeBSD.org), such update notifications
might get picked up by an interested
committer, or you might be asked to provide a patch to update
the port; providing it upfront will greatly improve your chances
that the port will get updated in a timely manner.If the port is maintained, PRs announcing new upstream releases
are usually not very useful since they generate supplementary work
for the committers, and the maintainer likely knows already there is
a new version, they have probably worked with the developers on it,
they are probably testing to see there is no regression, etc.In either case, following the process described in Porter's
Handbook will yield the best results.Another thing is that if the system on which you experienced
the bug is not fairly up-to-date, you should seriously consider
upgrading and trying to reproduce the problem on an up-to-date
system before submitting a problem report. There are few things
that will annoy a developer more than receiving a problem report
about a bug she has already fixed.Finally, a bug that can not be reproduced can rarely be
fixed. If the bug only occurred once and you can not 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.PreparationsA good rule to follow is to always do a background search
before submitting a problem report. Maybe your problem has
already been reported; maybe it is being discussed on the
mailing lists, or recently was; it may even already be fixed in
a newer version than what you are running. You should therefore
check all the obvious places before submitting your problem
report. For &os;, this means:The &os;
Frequently Asked
Questions (FAQ) list.
The FAQ attempts to provide answers for a wide range of questions,
such as those concerning
hardware
compatibility,
user
applications,
and kernel
configuration.The
mailing
lists—if you are not subscribed, use
the
searchable archives on the &os; web site. If your
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 you have overlooked.Optionally, the entire web—use your favorite
search engine to locate any references to your 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
&os; PR database (GNATS). Unless your problem
is recent or obscure, there is a fair chance it has already
been reported.Most importantly, you should attempt to see if existing
documentation in the source base addresses your problem.For the base &os; code, you should
carefully study the contents of the
/usr/src/UPDATING file on your system
or its latest version at
.
(This is vital information
if you are upgrading from one version to
another—especially if you are upgrading to the
&os.current; branch).However, if the problem is in something that was installed
as a part of the &os; Ports Collection, you should refer to
/usr/ports/UPDATING (for individual ports)
or /usr/ports/CHANGES (for changes
that affect the entire Ports Collection).
and
are also available via CVSweb.Next, you need to make sure your problem report goes to the
right people.The first catch here is that if the problem is a bug in
third-party software (a port or a package you have installed), you
should report the bug to the original author, not to the &os;
Project. There are two exceptions to this rule: the first is if
the bug does not occur on other platforms, in which case the
problem may lie in how the software was ported to &os;; the
second is if the original author has already fixed the bug and
released a patch or a new version of his software, and the
&os; port has not been updated yet.The second catch is that &os;'s bug tracking system sorts
problem reports according to the category the originator
selected. Therefore, if you select the wrong category when you
submit your problem report, there is a good chance that it will
go unnoticed for a while, until someone re-categorizes it.Writing the problem reportNow that you have decided that your issue merits a problem
report, and that it is a &os; 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.Tips and tricks for writing a good problem reportDo not leave the Synopsis
line empty. The PRs go both onto a mailing list
that goes all over the world (where the Synopsis
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 Synopsis
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 Synopsis: portupgrade is
broken, see how much more informative this
seems: Synopsis: port sysutils/portupgrade
coredumps on -current. (In the case of ports,
it is especially helpful to have both the category and
portname in the Synopsis line.)If you have a patch, say so.
A PR with a patch included is much more likely to be
looked at than one without. If you are including one,
put the string [patch] at the
beginning of the Synopsis. (Although it is
not mandatory to use that exact string, by convention,
that is the one that is used.)If you are a maintainer, say so.
If you are maintaining a part of the source code (for
instance, a port), you might consider adding the string
[maintainer update] at the beginning of
your synopsis line, and you definitely should set the
Class of
your PR to maintainer-update. This way
any committer that handles your PR will not have to check.Be specific.
The more information you supply about what problem you
are having, the better your chance of getting a response.Include the version of &os; you are running (there
is a place to put that, see below) and on which architecture.
You should include whether you are running from a release
(e.g. from a CDROM or download), or from
a system maintained by &man.cvsup.1; (and, if so, how
recently you updated). If you are tracking the
&os.current; branch, that is the very first thing someone
will ask, because fixes (especially for high-profile
problems) tend to get committed very quickly, and
&os.current; users are expected to keep up.Include which global options you have specified in
your make.conf. Note: specifying
-O2 and above to &man.gcc.1; is
known to be buggy in many situations. While the
&os; developers will accept patches, they are
generally unwilling to investigate such issues due
to simple lack of time and volunteers, and may
instead respond that this just is not supported.If this is a kernel problem, then be prepared to
supply the following information. (You do not
have to include these by default, which only tends to
fill up the database, but you should include excerpts
that you think might be relevant):your kernel configuration (including which
hardware devices you have installed)whether or not you have debugging options enabled
(such as WITNESS), and if so,
whether the problem persists when you change the
sense of that optiona backtrace, if one was generatedthe fact that you have read
src/UPDATING and that your problem
is not listed there (someone is guaranteed to ask)whether or not you can run any other kernel as
a fallback (this is to rule out hardware-related
issues such as failing disks and overheating CPUs,
which can masquerade as kernel problems)If this is a ports problem, then be prepared to
supply the following information. (You do not
have to include these by default, which only tends to
fill up the database, but you should include excerpts
that you think might be relevant):which ports you have installedany environment variables that override the
defaults in bsd.port.mk, such
as PORTSDIRthe fact that you have read
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.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
.
(Of course, everyone is guilty of forgetting to do this
now and then.)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
is always good preparation.Be polite.
Almost anyone who would potentially work on your PR is a
volunteer. No one likes to be told that they have to do
something when they are already doing it for some
motivation other than monetary gain. This is a good thing
to keep in mind at all times on Open Source
projects.Before you beginBefore running the &man.send-pr.1; program, make sure your
VISUAL (or EDITOR if
VISUAL is not set) environment variable is set
to something sensible.You should also make sure that mail delivery works fine.
&man.send-pr.1; uses mail messages for the submission and
tracking of problem reports. If you cannot post mail messages
from the machine you're running &man.send-pr.1; on, your
problem report will not reach the GNATS database. For details
on the setup of mail on &os;, see the Electronic
Mail chapter of the &os; Handbook at
.Attaching patches or filesThe &man.send-pr.1; program has provisions for attaching
files to a problem report. You can attach as many files as
you want provided that each has a unique base name (i.e. the
name of the file proper, without the path). Just use the
command-line option to specify the names
of the files you wish to attach:&prompt.user; send-pr -a /var/run/dmesg -a /tmp/errorsDo not worry about binary files, they will be automatically
encoded so as not to upset your mail agent.If you attach a patch, make sure you use the
or option to
&man.diff.1; to create a context or unified diff (unified is
preferred), and make
sure to specify the exact CVS revision numbers of the files
you modified so the developers who read your report will be
able to apply them easily. For problems with the kernel or the
base utilities, a patch against &os.current; (the HEAD
CVS branch) is preferred since all new code should be applied
and tested there first. After appropriate or substantial testing
has been done, the code will be merged/migrated to the &os.stable;
branch.If you attach a patch inline, instead of as an attachment,
note that the most common problem by far is the tendency of some
email programs to render tabs as spaces, which will completely
ruin anything intended to be part of a Makefile.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. Patches in email
tend to get mangled, especially when GNATS is involved, 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.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.Filling out the templateWhen you run &man.send-pr.1;, you are presented with a
template. The template consists of a list of fields, some of
which are pre-filled, and some of which have comments explaining
their purpose or listing acceptable values. Do not worry
about the comments; they will be removed automatically if you
do not modify them or remove them yourself.At the top of the template, below the
SEND-PR: lines, are the email headers. You
do not normally need to modify these, unless you are sending
the problem report from a machine or account that can send but
not receive mail, in which case you will want to set the
From: and Reply-To: to
your real email address. You may also want to send yourself
(or someone else) a carbon copy of the problem report by
adding one or more email addresses to the
Cc: header.Next comes a series of single-line fields:Submitter-Id: Do not change this.
The default value of current-users is
correct, even if you run &os.stable;.Originator: This is normally
prefilled with the gecos field of the
currently logged-in
user. Please specify your real name, optionally followed
by your email address in angle brackets.Organization: Whatever you feel
like. This field is not used for anything
significant.Confidential: This is prefilled
to no. Changing it makes no sense as
there is no such thing as a confidential &os; problem
report—the PR database is distributed worldwide by
CVSup.Synopsis: Fill this out with a
short and accurate description of the problem. The
synopsis is used as the subject of the problem report
email, and is used in problem report listings and
summaries; problem reports with obscure synopses tend to
get ignored.As noted above, if your problem report includes a patch,
please have the synopsis start with [patch];
if you are a maintainer, you may consider adding
[maintainer update] and set the
Class of your PR to
maintainer-update.Severity: One of
non-critical,
serious or
critical. Do not overreact; refrain
from labeling your problem critical
unless it really is (e.g. root exploit, easily
reproducible panic) or serious unless
it is something that will affect many users (problems with
particular device drivers or system utilities). &os;
developers will not neccesarily work on your problem faster
if you inflate its importance since there are so many other
people who have done exactly that — in fact, some
developers pay little attention to this field, and the next,
because of this.Priority: One of
low, medium or
high. high should
be reserved for problems that will affect practically
every user of &os; and medium for
something that will affect many users.Category: Choose one of the
following (taken from
):advocacy: problems relating to
&os;'s public image. Rarely used.alpha: problems specific to the
Alpha platform.amd64: problems specific to the
AMD64 platform.bin: problems with userland
programs in the base system.conf: problems with
configuration files, default values etc.docs: problems with manual pages
or on-line documentation.gnu: problems with GNU software
such as &man.gcc.1; or &man.grep.1;.i386: problems specific to the
&i386; platform.ia64: problems specific to the
ia64 platform.java: problems related to the &java;
Virtual Machine. (Ports that merely depend on &java; to
run should be filed under ports.)
kern: problems with
the kernel or (non-platform-specific) device drivers.misc: anything that does not fit
in any of the other categories. (Note that it is
easy for things to get lost in this category).ports: problems relating to the
ports tree.powerpc: problems specific to the
&powerpc; platform.sparc64: problems specific to the
&sparc64; platform.standards: Standards conformance
issues.threads: problems related to the
&os; threads implementation (especially on &os.current;).usb: problems related to the
&os; USB implementation.www: Changes or enhancements to
the &os; website.Class: Choose one of the
following:sw-bug: software bugs.doc-bug: errors in
documentation.change-request: requests for
additional features or changes in existing
features.update: updates to ports or
other contributed software.maintainer-update: updates to
ports for which you are the maintainer.Release: The version of &os;
that you are running. This is filled out automatically by
&man.send-pr.1; and need only be changed if you are
sending a problem report from a different system than the
one that exhibits the problem.Finally, there is a series of multi-line fields:Environment: This should
describe, as accurately as possible, the environment in
which the problem has been observed. This includes the
operating system version, the version of the specific
program or file that contains the problem, and any other
relevant items such as system configuration, other
installed software that influences the problem,
etc.—quite simply everything a developer needs to
know to reconstruct the environment in which the problem
occurs.Description: A complete and
accurate description of the problem you are experiencing.
Try to avoid speculating about the causes of the problem
unless you are certain that you are on the right track, as
it may mislead a developer into making incorrect
assumptions about the problem.How-To-Repeat: A summary of the
actions you need to take to reproduce the problem.Fix: Preferably a patch, or at
least a workaround (which not only helps other people with
the same problem work around it, but may also help a
developer understand the cause for the problem), but if
you do not have any firm ideas for either, it is better to
leave this field blank than to speculate.Sending off the problem reportOnce you are done filling out the template, have saved it,
and exit your editor, &man.send-pr.1; will prompt you with
s)end, e)dit or a)bort?. You can then hit
s to go ahead and submit the problem report,
e to restart the editor and make
further modifications, or a to abort.
If you choose the latter, your problem report will remain on
disk (&man.send-pr.1; will tell you the filename before it
terminates), so you can edit it at your leisure, or maybe
transfer it to a system with better net connectivity, before
sending it with the to
&man.send-pr.1;:&prompt.user; send-pr -f ~/my-problem-reportThis will read the specified file, validate the contents,
strip comments and send it off.Follow-upOnce your problem report has been filed, you will receive a
confirmation by email which will include the tracking number
that was assigned to your problem report and a URL you can use
to check its status. With a little luck, someone will take an
interest in your problem and try to address it, or, as the case
may be, explain why it is not a problem. You will be
automatically notified of any change of status, and you will
receive copies of any comments or patches someone may attach to
your problem report's audit trail.If someone requests additional information from you, or you
remember or discover something you did not mention in the
initial report, please use one of two methods to submit your
followup:The easiest way is to use the followup link on
the individual PR's web page, which you can reach from the
PR search page. Clicking on this link will bring up an
an email window with the correct To: and Subject: lines filled in
(if your browser is configured to do this).Alternatively, you can just mail it to
- bug-followup@FreeBSD.org, making sure that the
+ &a.bugfollowup;, making sure that the
tracking number is included in the subject so the bug tracking
system will know what problem report to attach it to.If you do not include the tracking
number, GNATS will become confused and create an entirely
new PR which it then assigns to the GNATS administrator,
and then your followup will become lost until someone
comes in to clean up the mess, which could be days or
weeks afterwards.Wrong way: Subject: that PR I sent
Right way: Subject: Re: ports/12345: compilation problem with foo/barIf the problem report remains open after the problem has
gone away, just send a follow-up (in the manner prescribed
above) saying that the problem report can be closed, and, if
possible, explaining how or when the problem was fixed.Further ReadingThis is a list of resources relevant to the proper writing
and processing of problem reports. It is by no means complete.
How to Report Bugs Effectively—an excellent
essay by Simon G. Tatham on composing useful (non-&os;-specific)
problem reports.Problem
Report Handling Guidelines—valuable insight
into how problem reports are handled by the &os;
developers.
diff --git a/en_US.ISO8859-1/share/sgml/mailing-lists.ent b/en_US.ISO8859-1/share/sgml/mailing-lists.ent
index bd50c6fdcd..12230f3a1b 100644
--- a/en_US.ISO8859-1/share/sgml/mailing-lists.ent
+++ b/en_US.ISO8859-1/share/sgml/mailing-lists.ent
@@ -1,415 +1,420 @@
FreeBSD list server">
&a.mailman.listinfo;">
FreeBSD ACPI mailing list">
freebsd-acpi">
FreeBSD advocacy mailing list">
freebsd-advocacy">
FreeBSD AFS porting mailing list">
freebsd-afs">
FreeBSD Adaptec AIC7xxx discussions mailing list">
freebsd-aic7xxx">
FreeBSD Alpha porting mailing list">
freebsd-alpha">
Porting FreeBSD to AMD64 systems">
freebsd-amd64">
FreeBSD announcements mailing list">
freebsd-announce">
FreeBSD Apache mailing list">
freebsd-apache">
FreeBSD architecture and design mailing list">
freebsd-arch">
FreeBSD ARM porting mailing list">
freebsd-arm">
FreeBSD ATM networking mailing list">
freebsd-atm">
FreeBSD source code audit mailing list">
freebsd-audit">
FreeBSD binary update system mailing list">
freebsd-binup">
FreeBSD Bluetooth mailing list">
freebsd-bluetooth">
FreeBSD bugbusters mailing list">
freebsd-bugbusters">
FreeBSD problem reports mailing list">
freebsd-bugs">
FreeBSD chat mailing list">
freebsd-chat">
FreeBSD clustering mailing list">
freebsd-cluster">
&os.current; mailing list">
freebsd-current">
CTM announcements">
ctm-announce">
CTM distribution of CVS files">
ctm-cvs-cur">
CTM 4-STABLE src branch distribution mailing list">
ctm-src-4">
CTM -CURRENT src branch distribution mailing list">
ctm-src-cur">
CTM user discussion mailing list">
ctm-users">
FreeBSD CVS commit message mailing list">
cvs-all">
FreeBSD CVS doc commit list">
cvs-doc">
FreeBSD CVS ports commit list">
cvs-ports">
FreeBSD CVS projects commit list">
cvs-projects">
FreeBSD CVS src commit list">
cvs-src">
FreeBSD CVSweb maintenance mailing list">
freebsd-cvsweb">
FreeBSD based Databases mailing list">
freebsd-database">
FreeBSD documentation project mailing list">
freebsd-doc">
Writing device drivers for FreeBSD">
freebsd-drivers">
FreeBSD-emulation mailing list">
freebsd-emulation">
FreeBSD FireWire (IEEE 1394) discussion mailing list">
freebsd-firewire">
FreeBSD file system project mailing list">
freebsd-fs">
FreeBSD GEOM mailing list">
freebsd-geom">
FreeBSD GNOME and GNOME applications mailing list">
freebsd-gnome">
FreeBSD technical discussions mailing list">
freebsd-hackers">
FreeBSD hardware and equipment mailing list">
freebsd-hardware">
FreeBSD mirror sites mailing lists">
freebsd-hubs">
FreeBSD internationalization mailing list">
freebsd-i18n">
FreeBSD i386-specific issues mailing list">
freebsd-i386">
FreeBSD IA32 porting mailing list">
freebsd-ia32">
FreeBSD IA64 porting mailing list">
freebsd-ia64">
FreeBSD IPFW code mailing list">
freebsd-ipfw">
FreeBSD ISDN mailing list">
freebsd-isdn">
FreeBSD Internet service provider's mailing list">
freebsd-isp">
FreeBSD Java Language mailing list">
freebsd-java">
FreeBSD related employment mailing list">
freebsd-jobs">
FreeBSD KDE/Qt and KDE applications mailing list">
freebsd-kde">
FreeBSD LFS porting mailing list">
freebsd-lfs">
FreeBSD libh installation and packaging system mailing list">
freebsd-libh">
FreeBSD MIPS porting mailing list">
freebsd-mips">
FreeBSD mirror site administrators">
mirror-announce">
FreeBSD laptop computer mailing list">
freebsd-mobile">
FreeBSD port of the Mozilla browser mailing list">
freebsd-mozilla">
FreeBSD multimedia mailing list">
freebsd-multimedia">
FreeBSD networking mailing list">
freebsd-net">
FreeBSD new users mailing list">
freebsd-newbies">
FreeBSD new-bus mailing list">
freebsd-new-bus">
FreeBSD OpenOffice mailing list">
freebsd-openoffice">
FreeBSD performance mailing list">
freebsd-performance">
FreeBSD Perl mailing list">
freebsd-perl">
FreeBSD packet filter mailing list">
freebsd-pf">
FreeBSD non-Intel platforms porting mailing list">
freebsd-platforms">
FreeBSD core team policy decisions mailing list">
freebsd-policy">
FreeBSD ports mailing list">
freebsd-ports">
FreeBSD ports bugs mailing list">
freebsd-ports-bugs">
FreeBSD PowerPC porting mailing list">
freebsd-ppc">
Technical discussion of FreeBSD on HP ProLiant server platforms">
freebsd-proliant">
FreeBSD Python mailing list">
freebsd-python">
FreeBSD Quality Assurance mailing list">
freebsd-qa">
FreeBSD general questions mailing list">
freebsd-questions">
FreeBSD boot script system mailing list">
freebsd-rc">
FreeBSD realtime extensions mailing list">
freebsd-realtime">
FreeBSD SCSI subsystem mailing list">
freebsd-scsi">
FreeBSD security mailing list">
freebsd-security">
FreeBSD security notifications mailing list">
freebsd-security-notifications">
FreeBSD-small mailing list">
freebsd-small">
FreeBSD symmetric multiprocessing mailing list">
freebsd-smp">
FreeBSD SPARC porting mailing list">
freebsd-sparc64">
&os.stable; mailing list">
freebsd-stable">
FreeBSD C99 and POSIX compliance mailing list">
freebsd-standards">
FreeBSD test mailing list">
freebsd-test">
FreeBSD performance and stability testing mailing list">
freebsd-testing">
FreeBSD threads mailing list">
freebsd-threads">
FreeBSD tokenring mailing list">
freebsd-tokenring">
FreeBSD USB mailing list">
freebsd-usb">
FreeBSD user group coordination mailing list">
freebsd-user-groups">
FreeBSD vendors pre-release coordination mailing list">
freebsd-vendors">
Discussion on the VuXML
infrastructure">
freebsd-vuxml">
FreeBSD Webmaster mailing list">
freebsd-www">
FreeBSD X11 mailing list">
freebsd-x11">
+
+
+bug-followup@FreeBSD.org">
+
+
majordomo@FreeBSD.org">