reportbug(1)

๐Ÿ“ฆ
version 13.2.0ubuntu1 ยท 3 versions
, in debian trixie, ubuntu noble, ubuntu resolute, ubuntu stonking

๐Ÿ’– reportbug(1) โ€” General Commands Manual ๐Ÿ’–

okay bestie, gather round, we're learning reportbug today and honestly? it's iconic. this is from the General Commands Manual section of the manual, and i'm about to make it make sense. ๐Ÿฆ‹

โœจ NAME โœจ

reportbug โ€” reports a bug to a debbugs server ๐Ÿ›


๐ŸŒธ SYNOPSIS ๐ŸŒธ

reportbug [options] <package | pseudo-package | absolute-pathname>

๐ŸŽ€ DESCRIPTION ๐ŸŽ€

so reportbug is primarily built to report bugs in the Debian distribution. by default it whips up an email to the Debian bug tracking system at submit@bugs.debian.org with all the deets about the bug you found, and it also makes a carbon copy of the report for you. thoughtful queen behavior. ๐Ÿ’…

using the --bts option, you can also report bugs to other servers that use the Debian bug tracking system, debbugs.

you can specify either a package name or a filename. if you go the filename route, it has to be an absolute filename (so, starting with a /), or โ€” if you want reportbug to go search the system for a filename โ€” check out the --filename and --path options below. and if it's installed, dlocate gets used too, to figure out where that filename lives and thus which package contains it. no cap. ๐Ÿ”

you can also specify a pseudo-package. these are used in the Debian bug tracking system to track issues that aren't tied to one specific package. run reportbug with zero arguments, then type other at the package prompt, and boom โ€” you get a list of the most commonly-used pseudo-packages. ๐ŸŒˆ


โœจ OPTIONS โœจ

the program follows the usual GNU command line syntax, with long options starting with two dashes (--). a summary of options is included below. ๐Ÿซถ

  • -h, --help โ€” show a summary of the options.
  • --version โ€” show the version of reportbug and exit. bye! ๐Ÿ‘‹
  • -A FILENAME, --attach=FILENAME โ€” attach a file to the bug report. both text and binary files are acceptable, and you can specify this option multiple times to attach several files. this routine creates a MIME attachment with the file included; in some cases (usually text files) it's probably better to use the -i/--include option. (heads up bestie: Debian's bug tracking system has limited support for MIME attachments. ๐Ÿ˜ญ)

this option also supports globbing (i.e. names with wildcards, like file.*) but remember to wrap them in single quotes (so the previous example becomes 'file.*') โ€” otherwise the shell expands it before it ever calls reportbug, which leads to an error. ๐Ÿ’€

also be aware that when you use an external MUA to send the message (such as mutt), the attachment feature is not reliable and no file might get attached at all. instead, use the MUA's own feature to attach files (so, from within the MUA). ๐Ÿ™ˆ

  • --archive โ€” also show archived bugs when browsing bugs.
  • -b, --no-query-bts โ€” don't check the Debian bug tracking system to see if this problem has already been reported. useful for offline use, or if you're really sure it's a bug. confident main character energy. โœจ
  • --query-bts โ€” check the Debian bug tracking system to see if this problem has already been reported (this is the default).
  • -B SYSTEM, --bts=SYSTEM โ€” instead of the Debian bug server (or the bug server specified in /etc/reportbug.conf), use the server specified by SYSTEM. use --bts=help to get the list of valid values. note that if your $HOME/.reportbugrc or /etc/reportbug.conf includes an smtphost setting that's specific to your default bug server and not a generic smarthost, you may need to override this using --smtphost=<host> to be able to report a bug directly to SYSTEM. ๐Ÿ˜Œ
  • --body=BODY โ€” use the specified BODY string as the body of the message. the body text gets wrapped at 70 columns, and the normal reportbug headers and footers get added as appropriate. the editor prompt and any "special" prompting get bypassed. ๐ŸŽ€
  • --body-file=BODYFILE, --bodyfile=BODYFILE โ€” the contents of the (assumed to be) text file BODYFILE get used as the message body. this file is assumed to be properly formatted (i.e. reasonable line lengths, etc.). the usual headers and footers get added, and the editor step and "special" prompts get skipped. (BODYFILE may also be a named pipe; using a device special file may lead to unusual results. ๐Ÿซ )
  • -c, --no-config-files โ€” omit configuration files from the bug report without asking. by default you get asked if you want to include them; in some cases, doing so may cause sensitive information to be sent via email. โš ๏ธ
  • -C CLASS, --class=CLASS โ€” specify the report class for GNATS BTSes.
  • --configure โ€” rerun the reportbug first time configuration routine, and write a new $HOME/.reportbugrc file. this erases any pre-existing settings in the file; however, a backup gets written as $HOME/.reportbugrc~. reportbug exits after rewriting its configuration file, hence this option cannot usefully be combined with many other options. ๐Ÿ’…
  • --check-available โ€” check for newer releases of the package in Debian package lists (default). in advanced and expert mode, check https://ftp-master.debian.org/new.html too.
  • --no-check-available โ€” do not check for newer releases of the package at packages.debian.org.
  • --debconf โ€” include debconf settings in your report.
  • --no-debconf โ€” do not include debconf settings from your report.
  • -d, --debug โ€” don't send a real bug report to Debian; send it to yourself instead. this is primarily used for testing by the maintainer.
  • --test โ€” operate in test mode (maintainer use only).
  • --draftpath=DRAFTPATH โ€” save the draft (for example, when exiting and saving the report without reporting it) into the DRAFTPATH directory (default /tmp).
  • -e EDITOR, --editor=EDITOR โ€” specify the editor to use, overriding any EDITOR or VISUAL environment variable setting. โœ๏ธ
  • --email=ADDRESS โ€” set the email address your report should appear to be sent from (i.e. the address that appears in the From header). this should be the actual Internet email address on its own (i.e. without a real name or comment part, like foo@example.com). this setting overrides the EMAIL and DEBEMAIL environment variables, but not REPORTBUGEMAIL. ๐Ÿ“ง
  • --envelope-from โ€” specify the Envelope From mail header (also known as Return-path); by default it's the From address, but a different one can be selected in case the MTA doesn't canonicalize local users to public addresses. this can be set to the empty string if the MTA does not allow setting the Envelope From.
  • --mbox-reader-cmd=MBOX_READER_CMD โ€” specify a command to open the bug reports mbox file. you can use %s to substitute the mbox file to be used, and %% to insert a literal percent sign. if no %s is specified, the mbox file name is supplied at the end of the argument list.
  • -f FILENAME, --filename=FILENAME โ€” report a bug in the package containing FILENAME, so you don't have to figure out what package the file belongs to. the path gets searched for an exact path for FILENAME before attempting to broaden the search to all files. if dlocate is installed, FILENAME is actually a regular expression. ๐Ÿ”Ž
  • --from-buildd=BUILDD_FORMAT โ€” this option is a shortcut for buildd admins to report bugs from a buildd log; the option expects a value in the format of $source_$version where $source is the source package the bug will be reported against and $version is its version.
  • --path โ€” if the -f/--filename option is also specified, only search the path for the specified FILENAME. specifying an absolute path with the -f/--filename option (i.e. one beginning with a /) overrides this behavior.
  • -g, --gnupg, --gpg โ€” attach a digital signature to the bug report using GnuPG (the GNU Privacy Guard). (this argument gets ignored if you're using an MUA to edit and send your report.) ๐Ÿ”
  • -G, --gnus โ€” use the Gnus mail and news reader to send your report, rather than using the editor.
  • -H HEADER, --header=HEADER โ€” add a custom RFC2822 header to your email. do not use this option if you want to submit the report using your MUA, because custom headers cannot be passed from reportbug to the MUA reliably. to send a carbon copy of the report to another recipient using X-Debbugs-CC, please see the --list-cc option instead. ๐Ÿซถ
  • -i FILE, --include=FILE โ€” include the specified FILE as part of the body of the message to be edited. can be used multiple times to add multiple files; text-only please! from a suggestion by Michael Alan Dorman in the bug mailing list. (see also the -A/--attach option.) ๐Ÿ“Ž
  • -I, --no-check-installed โ€” do not check whether the package is installed before filing a report. this is generally only useful when filing a report on a package you know is not installed on your system.
  • --check-installed โ€” check if the specified package is installed when filing reports. (this is the default behavior of reportbug.)
  • -j JUSTIFICATION, --justification=JUSTIFICATION โ€” bugs in Debian that have serious, grave, or critical severities must meet certain criteria to be classified as such. this option lets you specify the justification for a release-critical bug, instead of being prompted for it. ๐Ÿ’…
  • -k, --kudos โ€” send appreciative email to the recorded maintainer address, rather than filing a bug report. (you can also send kudos to packagename@packages.debian.org, for packages in the Debian archive; however, this option uses the Maintainer address from the control file, so it works with other package sources too.) giving credit where it's due, we love to see it. ๐Ÿ‘‘
  • -K KEYID, --keyid=KEYID โ€” private key to use for PGP/GnuPG signatures. if not specified, the first key in the secret keyring that matches your email address gets used. ๐Ÿ”‘
  • --latest-first โ€” display the bug reports list sorted and with the latest reports at the top.
  • --license โ€” show reportbug's copyright and license information on standard output.
  • --list-cc=ADDRESS โ€” send a carbon copy of the report to the specified list after a report number is assigned; this is the equivalent to the option -P 'X-Debbugs-CC: ADDRESS'. this option will only work as intended with debbugs systems. โœจ
  • --list-cc-me โ€” bestie, this one sends a carbon copy of the report to your automatically detected email address after a report number is assigned. It sets an X-Debbugs-CC pseudo-header specifying that address. This option will only work as intended with debbugs systems. See the documentation for the --email option and the ENVIRONMENT section for info on how reportbug detects your email address. ๐Ÿ’Œ
  • -m, --maintonly โ€” Only sends the bug to the package maintainer; the bug tracking system will not send a copy to the bug report distribution lists. ๐Ÿ›‘
  • --max-attachment-size=MAX_ATTACHMENT_SIZE โ€” Sets the maximum size any attachment file can have (this also includes the file for the --body-file option). If an attachment file is too big, there could be problems delivering the email (and composing it too), so there's a limit. By default this is 10 megabytes. ๐Ÿ“Ž
  • --mirror=MIRRORS โ€” Add a BTS mirror. ๐Ÿชž
  • --mode=MODE โ€” Set the operating mode for reportbug. reportbug currently has four operating modes: novice (the default), standard, advanced, and expert. โœจ
    • novice mode โ€” designed to minimize prompting about things that "ordinary users" would be unlikely to know or care about, shifting the triage burden onto the maintainer. Checking for new versions is only done for the stable distribution in this mode. It is currently the default mode. ๐Ÿผ
    • standard mode โ€” includes a relatively large number of prompts and tries to encourage users to not file frivolous or duplicate bug reports. ๐Ÿ“
    • advanced mode โ€” like standard mode, but may include shortcuts suitable for more advanced users of Debian, without being as close to the metal (and potential flamage) as expert mode. (Currently, the only differences from standard mode are that it assumes familiarity with the "new" queue; it allows the reporting of bugs on "dependency" packages; and it does not prompt where to insert the report text in the editor.) โš™๏ธ
    • expert mode โ€” designed to minimize prompts that are designed to discourage frivolous or unnecessary bug reports, "severity inflation," and the like. In expert mode, reportbug assumes the user is thoroughly familiar with Debian policies. In practice, this means reporters are no longer required to justify setting a high severity on a bug report, and certain automated cleanups of the message are bypassed. Individuals who do not regularly contribute to the Debian project are highly discouraged from using expert mode, as it can lead to flamage from maintainers when used improperly. ๐Ÿ”ฅ
  • -M, --mutt โ€” Instead of spawning an editor to revise the bug report, use the mutt mail reader to edit and send it. ๐Ÿ•
  • --mta=MTA โ€” Specify an alternate MTA, instead of /usr/sbin/sendmail (the default). Any smtphost setting will override this one. ๐Ÿ“ฌ
  • --mua=MUA โ€” Instead of spawning an editor to revise the bug report, use the specified MUA (mail user agent) to edit and send it. --mutt and --nmh options are processed. ๐Ÿ“จ
  • -n, --mh, --nmh โ€” Instead of spawning an editor to revise the bug report, use the comp command (part of the nmh and mh mail systems) to edit and send it. ๐Ÿ“ง
  • -N BUGNUMBER, --bugnumber BUGNUMBER โ€” Run reportbug against the specified bug report, useful when following-up a bug and its number is already known. ๐Ÿ”ข
  • --no-bug-script โ€” Do not execute the bug script (if present); this option can be useful together with --template to suppress every interactive action, since some bug scripts can ask questions. ๐Ÿ™…โ€โ™€๏ธ
  • --no-cc-menu โ€” Don't display the menu to enter additional addresses (CC). ๐Ÿšซ
  • --no-tags-menu โ€” Don't display the menu to enter additional tags. ๐Ÿท๏ธ
  • -o FILE, --output=FILE โ€” Instead of sending an email, redirect it to the specified filename. The output file is a full dump of the email message, so it contains both headers and mail body. If you want to use it as a template to create a new bug report, see the --resume-saved option. ๐Ÿ’พ
  • -O, --offline โ€” Disable all external queries. Currently has the same effect as --no-check-available --no-query-bts. โœˆ๏ธ
  • -p, --print โ€” Instead of sending an email, print the bug report to standard output, so you can redirect it to a file or pipe it to another program. This option only outputs a template for a bug report (but, differently from --template it's more interactive); you will need to fill in the long description. ๐Ÿ–จ๏ธ
  • --paranoid โ€” Show the contents of the message before it is sent, including all headers. Automatically disabled if in template mode. ๐Ÿ‘€
  • --no-paranoid โ€” Don't show the full contents of the message before it is sent (default). ๐Ÿ™ˆ
  • --pgp โ€” Attach a digital signature to the bug report using PGP (Pretty Good Privacy). Please note, however, that the Debian project is phasing out the use of PGP in favor of GnuPG. (This argument will be ignored if using an MUA to edit and send your report.) ๐Ÿ”
  • --proxy=PROXY, --http_proxy=PROXY โ€” Specify the WWW proxy server to use to handle the query of the bug tracking system. You should only need this parameter if you are behind a firewall. The PROXY argument should be formatted as a valid HTTP URL, including (if necessary) a port number; for example, http://192.168.1.1:3128/. ๐ŸŒ
  • -P PSEUDO-HEADER, --pseudo-header=PSEUDO-HEADER โ€” Add a custom pseudo-header to your report; for example, to add the mytag usertag for the user humberto@example.com to the bug, you could use -P 'User: humberto@example.com' -P 'Usertags: mytag'. ๐Ÿท๏ธ
  • -q, --quiet โ€” Suppress diagnostic messages to standard error. ๐Ÿคซ
  • -Q, --query-only โ€” Do not submit a bug report; just query the BTS. Option ignored if you specify --no-bts-query. ๐Ÿ”
  • --query-source โ€” Query on all binary packages built by the same source, not just the binary package specified. ๐ŸŒณ
  • --no-query-source โ€” Only query on the binary package specified on the command line. ๐ŸŽฏ
  • --realname=NAME โ€” Set the real name (human-readable name) to use for your report. ๐Ÿชช
  • --report-quiet โ€” Register the bug in the bug tracking system, but don't send a report to the package maintainer or anyone else.
โš ๏ธ Don't do this unless you're the maintainer of the package in question, or you really know what you are doing. ๐Ÿ’€
  • --reply-to=ADDRESS, --replyto=ADDRESS โ€” Set the Reply-To address header in your report. โ†ฉ๏ธ
  • -r TEMPFILE, --resume-saved=TEMPFILE โ€” Use this to resume an unsent report previously saved by reportbug. Note that attachments stored in TEMPFILE are ignored; if you want to attach any files you need to do that again. ๐Ÿ”„
  • -s SUBJECT, --subject=SUBJECT โ€” Set the subject of the bug report (i.e. a brief explanation of the problem, less than 60 characters). If you do not specify this switch, you will be prompted for a subject. โœ๏ธ
  • --security-team โ€” If the 'security' tag is set, this option will explicitly specify to send the report only to the Debian Security Team, as this is an undisclosed vulnerability. ๐Ÿ›ก๏ธ
  • --no-security-team โ€” If the 'security' tag is set, this option will explicitly specify to not send the report only to the Debian Security Team, as this is not an undisclosed vulnerability. ๐Ÿšซ
  • -S SEVERITY, --severity=SEVERITY โ€” Specify a severity level, from critical, grave, serious, important, normal, minor, and wishlist. ๐ŸŒก๏ธ
  • --smtphost=HOST[:PORT] โ€” Use the mail transport agent (MTA) at HOST to send your report, instead of your local /usr/sbin/sendmail program. This should generally be your ISP's outgoing mail server; you can also use 'localhost' if you have a working mail server running on your machine. If the PORT is omitted, the standard port for SMTP, port 25, is used. ๐Ÿ“ฎ
  • --timeout=SECONDS โ€” Specify the network timeout, the number of seconds to wait for a resource to respond. If nothing is specified, a default timeout of 1 minute is selected.

In case of a network error, there are chances it's due to a too low timeout: try passing the --timeout option with a higher value than default. โณ

  • --tls โ€” If using SMTP, use Transport Layer Security (TLS) encryption to secure the connection to the mail server. Some SMTP servers may require this option. Note that this option is ignored if you connect to your SMTP server via port 465, which already implies using SSL/TLS. ๐Ÿ”’
  • --smtpuser=USERNAME โ€” If using SMTP, use the specified USERNAME for authentication. ๐Ÿ‘ค
  • --smtppasswd=PASSWORD โ€” If using SMTP, use the specified PASSWORD for authentication. If the password isn't specified on the command line or in the configuration file, a prompt will be displayed asking for it.
โš ๏ธ Use of this option is insecure on multiuser systems. Instead, you should set this option in $HOME/.reportbugrc and ensure it is only readable by your user (e.g. with chmod 600 $HOME/.reportbugrc). ๐Ÿ”“
  • --src, --source โ€” Specify to report the bug against the source package, and not the binary package (default behaviour). In order for this option to work, you have to populate the relevant 'deb-src' lines in /etc/apt/sources.list so that apt cache will know about source packages too.

You can also specify the package name with a 'src:' prefix instead of using this option if you already know the name of the source package. ๐Ÿ“ฆ

  • -t TYPE, --type=TYPE โ€” Specify the type of report to be submitted; currently accepts either gnats or debbugs. ๐Ÿ“‹
  • -T TAG, --tag=TAG โ€” Specify a tag to be filed on this report, for example --tag=patch. Multiple tags can be specified using multiple -T/--tag arguments.

Alternatively, you can specify the 'tag' none to bypass the tags prompt without specifying any tags; this will also ignore any tags specified on the command line. ๐Ÿท๏ธ

  • --template โ€” spits out a template report to standard output. โœจ lowkey different from -p/--print tho, because it tries to be not interactive and just hands you a template with zero user input. if you wanna dodge all user interaction, you might need to pair it with --no-bug-script. ๐Ÿ’…
  • -u INTERFACE, --interface=INTERFACE, --ui=INTERFACE โ€” pick which user interface to use. the valid options are text, urwid, and gtk; the default is taken from the reportbug configuration files.
  • -v, --verify โ€” verify the integrity of the package (if it's installed) using debsums before reporting. ๐Ÿ”
  • --no-verify โ€” don't verify the integrity of the package with debsums.
  • -V VERSION, --package-version=VERSION โ€” tell it which version of the package you found the problem in. honestly this is probably most useful if you're reporting a bug in a package that's not installable, or is installed on a whole different system.
  • -x, --no-cc โ€” don't send a blind carbon copy (BCC) of the bug report to the submitter (i.e. you, bestie ๐Ÿซถ).
  • -z, --no-compress โ€” don't compress configuration files by removing comments and blank lines.

๐ŸŒˆ EXAMPLES ๐ŸŒˆ

okay so like, here's the vibe:

reportbug lynx-ssl

โ†’ report a bug in the lynx-ssl package. iconic, simple, done. โœจ

reportbug --path --filename=ls

โ†’ report a bug in the installed package that includes a program in your path called ls. the way that it hunts it down for you?? ๐Ÿ’–


๐ŸŽ€ CONFIGURATION FILES ๐ŸŽ€

from version 0.22 on, reportbug has supported a simple run control file syntax. commands get read from /etc/reportbug.conf and $HOME/.reportbugrc, and commands in the latter override the ones in the former. (yes bestie, your personal file wins. main character energy. ๐Ÿ‘‘)

commands are not case sensitive, and currently take 0 or 1 argument; arguments that contain whitespace must be enclosed in quotes. ๐ŸŽ€

any line starting with # is taken to be a comment and gets ignored, periodt.

generally, options corresponding to the long options for reportbug are supported, without the leading -- sequences. see reportbug.conf(5) for all the acceptable options and the detailed info. ๐Ÿ’œ


๐ŸŒธ ENVIRONMENT ๐ŸŒธ

  • VISUAL โ€” editor to use for editing your bug report.
  • EDITOR โ€” editor to use for editing the bug report (overridden by VISUAL). so like, VISUAL is the one calling the shots here. ๐Ÿ’…
  • REPORTBUGEMAIL, DEBEMAIL, EMAIL โ€” email address to use as your from address (in this order). if no environment variable exists, the default is taken from your user name and /etc/mailname.
  • DEBFULLNAME, DEBNAME, NAME โ€” real name to use; default is taken from /etc/passwd.
  • REPLYTO โ€” address for the Reply-To header in outgoing mail.
  • MAILCC โ€” use the specified CC address on your email. note you can also use the -H option for this (and for Bcc's too ๐Ÿ‘€).
  • MAILBCC โ€” use the specified BCC address, instead of your email address. (CC and BCC based on suggestions from Herbert Thielen in the bug wishlist. shoutout ๐Ÿซถ)
  • http_proxy โ€” provides the address of a proxy server to handle the BTS query. this should be a valid http URL for a proxy server, including any required port number.
๐Ÿšจ bestie, listen carefully: simply specifying a hostname, or omitting a port other than 80, WILL NOT WORK. like, it will not work. no cap. ๐Ÿ’€

๐Ÿ’€ NOTES ๐Ÿ’€

reportbug should probably be compatible with other bug tracking systems, like bugzilla (used by the GNOME and Mozilla projects) and jitterbug (used by Samba, AbiSource and FreeCiv) โ€” but it isn't. ๐Ÿ™ˆ that's it. that's the note. ๐Ÿ˜ญ


๐Ÿ‘‘ SEE ALSO ๐Ÿ‘‘

reportbug.conf(5), https://www.debian.org/Bugs/Developer#tags for available tags, querybts(1)


๐Ÿฆ‹ AUTHOR ๐Ÿฆ‹

Chris Lawrence <lawrencc@debian.org>, Sandro Tosi <morph@debian.org>.


and that's the whole reportbug(1) page bestie, footer and all โ€” mwah, go file that bug, you're gonna eat ๐Ÿ’…๐Ÿ’–โœจ

๐Ÿ“ฆ where this page comes from