MASS-BUG(1)

๐Ÿ’… mass-bug โ€” the manual, but make it make sense

okay bestie, so this is mass-bug, and it lives in section 1 of the manual (that's the "type this at a shell" section, iykyk). It's from Debian Utilities, and it is literally a power tool, so buckle up ๐ŸŽ€

โœจ NAME โœจ

mass-bug โ€” mass-file a bug report against a list of packages. Yes, mass. Like, a whole bunch at once. Not one. A LIST. ๐Ÿ‘‘


๐ŸŒธ SYNOPSIS ๐ŸŒธ

mass-bug [options] --subject="bug subject" template package-list

That's the shape of it, babes. Options, then a subject in quotes, then your template file, then your package list. Boom. โœจ


๐Ÿฆ‹ DESCRIPTION ๐Ÿฆ‹

so mass-bug helps you file a mass bug report in the Debian BTS against a whole set of packages. Here's the tea: for each package in the package-list file โ€” and that file should have one package per line, with an optional version number glued on separated from the package name by an underscore (_) โ€” it fills out your template, adds the BTS pseudo-headers, and then either displays or sends the bug report. ur choice ๐Ÿ’…

โš ๏ธ Warning, and I mean it: some care has been taken to avoid unpleasant and common mistakes, but this is still a power tool that can generate massive amounts of bug report mails. Use it with care, and please please please read the documentation in the Developer's Reference about mass filing of bug reports first. Not me being dramatic. It's in the actual manpage. ๐Ÿ’€

๐Ÿงš TEMPLATE ๐Ÿงš

the template file is the body of the message that gets sent for each bug report, and it does not include the BTS pseudo-headers. Keep those out of your template, bestie.

Inside the template:

  • #PACKAGE# gets replaced with the name of the package ๐ŸŒˆ
  • if a version was specified for the package, #VERSION# gets replaced by that version

You can also break the version number into its components with #EPOCH#, #UPSTREAM_VERSION# and #REVISION#. And here's the cute part โ€” #EPOCH# includes the trailing colon and #REVISION# includes the leading dash, so that

#EPOCH#UPSTREAM_VERSION##REVISION#

is always the same as #VERSION#. slay, consistent formatting ๐Ÿซถ

If --include has been passed, #INCLUDE# is replaced by the contents of the named file. And yes, that contents is also subject to text wrapping, as described below.

Also, heads up: text in the template will be automatically word-wrapped to 70 columns, up to the start of a signature (which is indicated by -- at the start of a line on its own). This is another reason to avoid including BTS pseudo-headers in your template. That's the second reason now. We love an abundance of reasons. ๐Ÿ˜Œ


๐Ÿ’– OPTIONS ๐Ÿ’–

mass-bug examines the devscripts configuration files as described below. Command line options override the configuration file settings, though. Options win. Always. periodt.

  • --severity=(wishlist|minor|normal|important|serious|grave|critical) โ€” specify the severity with which bugs should be filed. Default is normal. Pick your fighter, but choose wisely ๐Ÿ”ฅ
  • --display โ€” fill out the templates for each package and display them all for verification. This is the default behavior, so if you don't say anything, you're just looking, not sending ๐Ÿ‘€
  • --send โ€” actually send the bug reports. This is the "okay we're doing this for real" button. ๐Ÿ˜ญ
  • --subject="bug subject" โ€” specify the subject of the bug report. The subject will be automatically prefixed with the name of the package that the bug is filed against. So you write the subject once, it gets personalised per package. iconic โœจ
  • --tags โ€” set the BTS pseudo-header for tags. ๐Ÿท๏ธ
  • --user โ€” set the BTS pseudo-header for a usertags' user. ๐Ÿ‘ค
  • --usertags โ€” set the BTS pseudo-header for usertags. ๐Ÿท๏ธ
  • --control=COMMAND โ€” add a BTS control command. This option may be repeated to add multiple control commands. For example, if you are mass-bug-filing "please stop depending on this deprecated package", and bug 123456 represents removal of the deprecated package, you could use:
mass-bug --control='block 123456 by -1' ...
  • --source โ€” specify that package names refer to source packages rather than binary packages. ๐Ÿงฌ
  • --sendmail=SENDMAILCMD โ€” specify the sendmail command. The command will be split on white space and will not be passed to a shell. Default is /usr/sbin/sendmail. ๐Ÿ“ฎ
  • --no-wrap โ€” do not wrap the template to lines of 70 characters. Fight the wrap. ๐Ÿšซ
  • --no-conf, --noconf โ€” do not read any configuration files. This can only be used as the first option given on the command-line. First. Not second. First. ๐Ÿ’€
  • --include=FILENAME โ€” include the contents of FILENAME in the template, replacing the #INCLUDE# placeholder. A %s in FILENAME gets replaced by the current package name. Cute and dynamic ๐ŸŒธ
  • --help โ€” provide a usage message. Everyone needs a little help sometimes ๐Ÿซถ
  • --version โ€” display version information. Number go brrr ๐ŸŽ€

๐ŸŒˆ ENVIRONMENT ๐ŸŒˆ

DEBEMAIL and EMAIL can be set in the environment to control the email address that the bugs are sent from. Set them. Future you will thank you. ๐Ÿ’œ


โญ CONFIGURATION VARIABLES โญ

The two configuration files /etc/devscripts.conf and ~/.devscripts are sourced by a shell in that order to set configuration variables. Command line options can be used to override configuration file settings. Environment variable settings are ignored for this purpose โ€” yes, ignored. Don't come for me, that's what it says. ๐Ÿ™ˆ

The currently recognised variables are:

  • BTS_SENDMAIL_COMMAND โ€” if this is set, specifies a sendmail command to use instead of /usr/sbin/sendmail. Same as the --sendmail command line option. โœจ

This program is Copyright (C) 2006 by Joey Hess <joeyh@debian.org>.

It is licensed under the terms of the GPL, either version 2 of the License, or (at your option) any later version. ๐Ÿ“œ


๐Ÿ’œ AUTHOR ๐Ÿ’œ

Joey Hess <joeyh@debian.org> โ€” the icon who built this. We stan. ๐Ÿซถ


okay that's the whole page, bestie, you're fully briefed ๐Ÿ’–

Debian Utilities โ€ข 2026-09-21 โ€” and that's the date and the source, so you know this info is fresh-ish. go file some bugs responsibly, and remember: read the Developer's Reference first. no cap. ๐Ÿ’…โœจ

๐Ÿ“ฆ where this page comes from