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 isnormal. 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 bug123456represents 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%sin 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--sendmailcommand line option. โจ
๐ COPYRIGHT ๐
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
- ubuntu stonking: devscripts 2.26.11ubuntu1 ยท GPL-2.0-or-later
- ๐ girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms