apt-listbugs - Lists critical bugs before each APT installation/upgrade
apt-listbugs [
-s severities] [
-T tags] [
-S states] [
-B bug#] [
-D] [
-H
hostname] [
-p port] [
-P priority] [
-E title] [
-q] [
-C apt.conf] [
-F] [
-N] [
-y] [
-n] [
-d]
command [
argument
...]
apt-listbugs -h
apt-listbugs -v
apt-listbugs is a tool which retrieves bug reports from the Debian Bug
Tracking System and lists them. In particular, it is intended to be invoked
before each installation or upgrade by APT, or other compatible package
managers, in order to check whether the installation/upgrade is safe.
In the typical use case, the user is installing or upgrading a number of
packages with APT or some other compatible package manager. Before the package
installation or upgrade is actually performed,
apt-listbugs is
automatically invoked: it queries the Debian Bug Tracking System for bugs (of
certain configured severities) that would be introduced into the system by the
installation or upgrade; if any such bug is found,
apt-listbugs warns
the user and asks how to proceed. Among other things, the user has the
opportunity to continue, to abort the installation or upgrade, or to pin some
packages (so that the unsafe installation or upgrade is deferred). However,
pinning is not effective immediately, and requires restarting the APT session
(by aborting and then re-running the same APT command).
Each package pin is automatically removed by a daily cron job (or by an
equivalent systemd timer), as soon as the corresponding bug is fixed in (or no
longer affects) the package version available for installation or upgrade.
When the pin is removed, the installation or upgrade of the package becomes
possible again.
In order for the automatic pin removal to work correctly, the daily cron job or
systemd timer has to be actually executed: if systemd is used as init system,
this should be taken care of automatically; otherwise, if the system is up and
running almost 24/7, then
cron should suffice; in all other cases, the
installation of
anacron is recommended. Moreover the Internet link must
be working, while the daily job is run. Finally, the APT package lists should
be kept up-to-date.
-
-s severities , --severity severities
- Filter (and sort) bugs by severity, showing only the bugs
matching specified values. List the bug severities that you want to see,
separated by commas and in the desired order. Possible values are
critical, grave, serious, important,
normal, minor, wishlist, or the special value
all to disable filtering. Default: critical,grave,serious.
The default list may be changed by setting the
AptListbugs::Severities configuration option.
-
-T tags , --tag tags
- Filter bugs by tags, showing only the bugs matching all
specified values. List the tags that you want to see, separated by commas.
Default: no filter. Possible values include confirmed,l10n to show
only bugs that have both these tags.
-
-S states , --stats states
- Filter (and sort) bugs by pending-state, showing only the
bugs matching specified values. List the pending-state categories that you
want to see, separated by commas and in the desired order. Default:
pending,forwarded,pending-fixed,fixed,done. Possible values are:
pending (open bug), forwarded (marked as
"forwarded"), pending-fixed (tagged as
"pending"), fixed (tagged as "fixed"),
absent (not found in this distribution/architecture), done
(resolved in some version for this distribution/architecture). Note that a
bug can only match one such state (when multiple conditions on this list
match, the later one takes priority), and that pending does not
mean "tagged as pending".
-
-B bug# , --bugs bug#
- Filter bugs by number, showing only the bugs directly
specified. List the bug numbers that you want to see, separated by commas
(e.g. 123456,567890,135792). Default: no filter.
-
-D, --show-downgrade
- Show bugs of downgraded packages. (apt mode only)
-
-H hostname , --hostname hostname
- Specifies the hostname of the Debian Bug Tracking System.
Default: bugs.debian.org .
-
-p port , --port port
- Specifies the port number of the web interface of the
Debian Bug Tracking System. Default: 80.
-
-P priority , --pin-priority priority
- Specifies Pin-Priority value. Default: 30000.
-
-E title , --title title
- Specifies the title of RSS output.
-
-q, --quiet
- Don't display progress bar. This option is assumed if
stdout is not a terminal.
-
-C apt.conf , --aptconf apt.conf
- Specifies an additional APT configuration file to use. This
file will be read after the default APT configuration files.
-
-F, --force-pin
- When in apt mode, assumes that you want to automatically
pin all buggy packages without any prompt. This option is assumed if
stdout is not a terminal, unless the -N command-line option is
used.
-
-N, --force-no-pin
- When in apt mode, never automatically pin any package
without prompt. This is the default behavior, as long as stdout is a
terminal.
-
-y, --force-yes
- Assumes that you select yes for all questions. When in apt
mode, this implies that you accept to continue with the
installation/upgrade, even when bugs are found or errors occur.
-
-n, --force-no
- Assumes that you select no for all questions. When in apt
mode, this implies that you want to abort the installation/upgrade, as
soon as bugs are found or errors occur. This option is assumed if stdout
is not a terminal, unless the -y command-line option is used.
-
-a, --force-default
- Assumes that you select the default (automatic) reply for
all questions. When in apt mode, this implies that you accept to continue
with the installation/upgrade, even when bugs are found, but not when
errors occur.
-
-d, --debug
- Give extra debug output, important for debugging problems.
Please include -d when reporting problems.
-
-h, --help
- Print usage help and exit.
-
-v, --version
- Print version number and exit.
-
apt
- Reads package actions from a file descriptor specified in
the $ APT_HOOK_INFO_FD environment variable (typically provided by
APT or other compatible package manager; Pre-Install-Pkgs hook info
protocol version 3 is expected - see apt.conf(5) for more
details).
-
list [ package [: arch ][/ version ] ...]
- Reads package names from the arguments and simply lists
bugs of these packages. Package versions may be specified with a slash, as
in apt/1.0 for example. Package architectures may be specified with
a colon, as in apt:amd64 or apt:amd64/1.0 (but please note
that the Debian Bug Tracking System does not distinguish the
architectures, hence the same bugs will be listed, regardless of the
specified architecture).
-
rss [ package [: arch ][/ version ] ...]
- Reads package names from the arguments and lists bugs of
these packages in RSS format. Again, package versions may be specified
with a slash and architectures with a colon.
-
APT_LISTBUGS_FRONTEND
- If this variable is set to "none",
apt-listbugs will not execute at all; this might be useful if you
would like to script the use of a program that calls
apt-listbugs.
-
http_proxy
- If $http_proxy is set, the value is used for HTTP
Proxy, unless proxy settings are found in APT configuration (see
below).
-
APT_HOOK_INFO_FD
- File descriptor from which package actions will be read
(APT or other compatible package managers are expected to write
information to this file descriptor and to properly set this environment
variable).
apt-listbugs reads the APT configuration (see
apt.conf(5) for more
details). The following configuration options are recognized:
-
Acquire::http::Proxy
- Default HTTP Proxy setting (overrides any
$http_proxy environment variable value). An empty string or the
special keyword "DIRECT" will disable proxy.
-
Acquire::http::Proxy-Auto-Detect
- Automatic HTTP Proxy discovery (overrides the default HTTP
Proxy setting and any $ http_proxy environment variable value). It
can be used to specify an external command that is expected to output the
proxy on stdout.
-
Acquire::http::Proxy::bugs.debian.org
- Specific HTTP Proxy setting (overrides any other proxy
setting). Useful for setting HTTP proxy for apt-listbugs. The
special keyword "DIRECT" will disable proxy.
-
AptListbugs::Severities
- Default (comma-separated) list of bug severities to be
shown. When this option is not set, the list is
"critical,grave,serious", unless explicitly altered by using the
-s command-line option. On the other hand, when this option is set,
the list of severities is its value, unless explicitly altered by using
the -s command-line option.
-
AptListbugs::IgnoreRegexp
- Bugs to ignore when in apt mode. This is evaluated using
Ruby regular expressions: if the bug title matches, the bug is ignored.
Default: nothing. A possible suggested value is "FTBFS", since
those bugs tend to not affect the user.
-
AptListbugs::QueryStep
- Maximum number of packages to be queried (on the Debian Bug
Tracking System) in a single batch. Default value is 200. The query
operation is performed in batches of at most QueryStep packages,
for performance reasons; setting a lower value may slow down
apt-listbugs, but may increase reliability on poor network
links.
-
AptListbugs::ParseStep
- Maximum number of bug reports to be queried (on the Debian
Bug Tracking System) and parsed in a single batch. Default value is 200.
The query and parse operation is performed in batches of at most
ParseStep bugs, for performance reasons; setting a lower value may
slow down apt-listbugs, but may increase reliability on poor
network links.
[bug severity] bugs of [package] ([current version] -> [package version to be installed]) <[state of bug report]>
[bN] - [#bug] - [bug title] [(Fixed: fixed version, if it's fixed in a future version)]
Summary:
[package]([number of] bugs)
e.g.:
important bugs of apt-listbugs (0.0.47 -> 0.0.49) <Outstanding>
b1 - #332442 - apt-listbugs: Apt-listbugs doesn't actually download any bug reports
b2 - #389903 - apt-listbugs: Does not offer to exit if timeout occurs fetching reports
Summary:
apt-listbugs(2 bugs)
-
0
- If the program ran successfully and (when in apt mode) you
decided to continue with the installation/upgrade. Or otherwise, if a
SIGUSR1 was received (for instance because you issued the command
killall -USR1 apt-listbugs).
-
1
- If an error occurred.
-
10
- If the program ran successfully in apt mode, but you
decided to abort the installation/upgrade.
-
130
- If a SIGINT was received (for instance because you pressed
[Ctrl+C]).
N.B.: When the program is invoked by APT, any non-zero exit status will cause
the installation/upgrade to be aborted.
-
/etc/apt/preferences.d/apt-listbugs
- Version preferences file fragment for APT managed by
apt-listbugs: this is where the package pins are added by the
apt-listbugs program and removed by its daily cron job or systemd
timer. This file is managed automatically and there's normally no need to
modify it by hand.
-
/var/lib/apt-listbugs/ignore_bugs
- Automatic list of bug numbers to be ignored by
apt-listbugs: this is where the program saves the bug numbers that
the user decided to ignore. This file is managed automatically and there's
normally no need to modify it by hand.
-
/etc/apt/listbugs/ignore_bugs
- User list of bug numbers and packages to be ignored by
apt-listbugs: this is where the (root) user may manually add bug
numbers or package names that apt-listbugs will ignore. This file
is only read by apt-listbugs, but never modified: the (root) user
has to edit it by hand. The format is: one bug number or package name per
line; lines whose first non-blank character is '#' are treated as comments
and skipped entirely.
-
/etc/apt/apt.conf and /etc/apt/apt.conf.d/*
- Default APT configuration files (see apt.conf(5) for
more details).
-
/etc/apt/apt.conf.d/10apt-listbugs
- Configuration file fragment for APT containing options
related to apt-listbugs: this is the recommended place where the
(root) user may tweak the behavior of apt-listbugs, but usually no
customization is required.
2002 - 2004:
apt-listbugs was originally written by Masato Taruishi
<
[email protected]>.
2006 - 2008: Junichi Uekawa <
[email protected]> rewrote it to handle BTS
Versioning features and the SOAP interface. The
--bugs option was added
by Francesco Poli in 2008.
2009 - 2010:
apt-listbugs was maintained by Francesco Poli
<
[email protected]> and Ryan Niebur <
[email protected]>
2011 - 2012: maintenance was carried on by Francesco Poli and Thomas Mueller
<
[email protected]>.
2013 - present day:
apt-listbugs has been maintained by Francesco Poli.
The latest source code is available from
https://salsa.debian.org/frx-guest/apt-listbugs
apt.conf(5),
sensible-browser(1),
xdg-open(1),
www-browser(1),
querybts(1)