Provided by: apt-listchanges_4.8_all 

NAME
apt-listchanges - Show new changelog entries from Debian package archives
SYNOPSIS
apt-listchanges [[options...]] {[--apt] | [package.deb...]}
DESCRIPTION
apt-listchanges is a tool to show what has been changed in a new version of a Debian package, as compared
to the version currently installed on the system.
It does this by extracting the relevant entries from both the NEWS.Debian and changelog[.Debian] files,
usually found in /usr/share/doc/package, from Debian package archives.
Please note that in the default installation if apt-listchanges is run during upgrades as an APT plugin,
it displays NEWS.Debian entries only. This can be changed with the --which option.
If changelog entries are displayed and the package does not contain changelog[.Debian] file,
apt-listchanges calls apt-get changelog command to download the changelog from network. This behavior can
be disabled with the --no-network option.
Given a set of filenames as arguments (or read from apt when using --apt), apt-listchanges will scan the
files (assumed to be Debian package archives) for the relevant changelog entries, and display them all in
a summary grouped by source package. The groups are sorted by the urgency of the most urgent change, and
then by the package name. Changes within each package group are displayed in the order of their
appearance in the changelog files, i.e. starting from the latest to the oldest; the --reverse option can
be used to alter this order.
OPTIONS
apt-listchanges provides the following options to control its behavior. Most of them have their
equivalent entries in the configuration file, see the "CONFIGURATION FILE" below for details.
--apt
Read filenames from a specially-formatted pipeline (as provided by apt), rather than from command
line arguments, and honor certain apt-specific options in the config file. This pipeline must be in
"version 2" format, specified in the apt configuration.
-v, --verbose
Display additional (usually unwanted) information. For instance, print a message when a package of
the same or older version is to be installed, or when a package is to be newly installed.
-f, --frontend
Select which frontend to use to display information to the user. Current frontends include:
pager
Uses sensible-pager(1) command to display output. The command uses PAGER environment variable to
choose your favourite pager. The "pager" option may be specified in the configuration file to
select a specific pager for use with apt-listchanges.
browser
Displays an HTML-formatted changelog with hyperlinks for bugs and email addresses using the
sensible-browser(1) command that examines BROWSER environment variable to choose your favourite
browser. The "browser" option may be specified in the configuration file to select a specific
browser for use with apt-listchanges.
xterm-pager
Uses your favorite pager to display output, but does so in an xterm (using the
x-terminal-emulator alternative) in the background. This allows you to go on with the upgrade if
you like, and continue to browse the changelogs. You can override the terminal emulator to be
used with the "xterm" configuration option.
xterm-browser
The logical combination of xterm-pager and browser. Only appropriate for text-mode browsers.
text
Dumps output to stdout, with no pauses.
syslog
Dumps output to syslog. Disabling the titled option is recommended.
log
Appends output to a log file, with an optional filter process. Disabling the titled option is
recommended.
mail
Sends mail to the address specified with --email-address, and does not display changelogs.
gtk
Spawns a gtk window to display the changelogs. Needs python3-gi to be installed.
none
Does nothing. Can be used to prevent apt-listchanges from running when configured to run
automatically from apt.
Please note that apt-listchanges will try to switch to an unprivileged user before spawning commands
in "browser", "xterm-browser", and "xterm-pager" frontends. However this currently does not apply to
the "pager" frontend. See also "ENVIRONMENT VARIABLES" below.
--hide
For frontends which support it (currently only gtk), hide the window by default.
--email-address=address
In addition to displaying it, mail a copy of the changelog data to the specified address. To only
mail changelog entries, use this option with the special frontend 'mail'.
--email-format={text|html}
If sending mail copies is enabled (see --email-address above), this option selects whether the mail
should be sent as an old good plain text data (which is the default behavior), or as html data with
clickable links, which might be more convenient for people using graphical mail clients.
-c, --confirm
Once changelogs have been displayed, ask the user whether or not to proceed. If the user chooses not
to proceed, a nonzero exit status will be returned, and apt will abort.
-a, --show-all
Rather than trying to display changelog entries that are newer than the currently installed version
of the package, simply display all changelog entries for all packages. This is useful for viewing the
entire changelog of a .deb before extracting it.
-n, --no-network
In rare cases when a binary package (or to be more precise: none of the binary packages built from
the same source package that are processed together as a group) does not contain a changelog file,
apt-listchanges by default executes apt-get changelog to download changelogs from the network servers
usually provided by your operating system distribution. This option will disable this behavior, what
might be useful for example for systems behind a firewall.
--save-seen=file
This option will cause apt-listchanges to keep track of the last version of a package for which
changelogs have been displayed, to avoid redisplaying the same changelogs in a future invocation. The
database is stored in the named file. Specify 'none' to disable this feature.
--dump-seen
Display the contents of the seen database to standard output as a list of lines consisting of source
package name and its latest seen version, separated by space. This option requires the path to the
seen database to be known: please either specify it using --save-seen option or pass --profile=apt
option to have it read from the configuration file.
--since=version
This option will cause apt-listchanges to show the entries later than the specified version. With
this option, the only other argument you can pass is the path to a .deb file.
--latest=N
This option will cause apt-listchanges to show only the latest N entries.
--which={news|changelogs|both}
This option selects whether news (from NEWS.Debian et al.), changelogs (from changelog.Debian et al.)
or both should be displayed. The default is to display news when running as an APT plugin, or both
otherwise.
--help
Displays syntax information.
-h, --headers
These options will cause apt-listchanges to insert a header before each package's changelog showing
the name of the package, and the names of the binary packages which are being upgraded (if there is
more than one, or it differs from the source package name).
--debug
Display some debugging information.
--profile=name
Select an option profile. name corresponds to a section in /etc/apt/listchanges.conf. The default
when invoked from apt is "apt", and "cmdline" otherwise.
--log=file
Select the file appended to by the log frontend. The default is /var/log/apt/listchanges.log. The
filter command option can be used to modify the output before it is appended to the log file. Please
ensure that you setup log rotation for this file.
--filter=command
Select the command used to filter output before it is appended to the log file by the log frontend.
stdin will receive the apt-listchanges output and stdout will be appended to the log file. Separate
arguments with spaces and quote arguments containing spaces. The command will not be run using the
shell unless the shell is included in the command: sh -c 'date ; cat'
--reverse
Show the changelog entries in reverse order.
--ignore-apt-assume, --ignore-debian-frontend
Disable forcing non-interactive frontend in some of the cases described in the "AUTOMATIC FRONTEND
OVERRIDE" section below.
--titled, --untitled
Enable or disable the title at the beginning of the output.
--select-frontend
Choose frontend interactively. This option is mainly for testing purposes, please do not use it.
AUTOMATIC FRONTEND OVERRIDE
For a better integration with existing package management tools, apt-listchanges tries to detect if
package upgrades are done in a non-interactive way, and automatically switches its frontend to 'text'
when any of the following conditions is satisfied:
• the standard output is not connected to terminal;
• the --quiet (-q) option is given to apt-get(8) (or aptitude(8)); note however that when the option is
used more than once, apt-listchanges switches the frontend to 'mail';
• the --assume-yes (-y) option is given to apt-get(8);
• the DEBIAN_FRONTEND environment variable is set to "noninteractive", and APT_LISTCHANGES_FRONTEND is
not set.
For backward compatibility purposes the last two of the above checks can be disabled either with
"ignore_apt_assume=true" or "ignore_debian_frontend=true" configuration file entries (see "CONFIGURATION
FILE" below) or by using the command line options: --ignore-apt-assume or --ignore-debian-frontend.
Please also note that the "mail" frontend is already non-interactive one, so it is never switched to the
"text" frontend.
Additionally apt-listchanges overrides X11-based frontends ("gtk", "xterm-pager", "xterm-browser") with
"pager" (or "browser" in case of "xterm-browser") when the environment variable DISPLAY is not set.
Please note that these silent frontends are not subject to the overrides: syslog, log.
CONFIGURATION FILE
apt-listchanges reads its configuration from /etc/apt/listchanges.conf. The file consists of sections
with names enclosed in square brackets. Each section should contain lines in the key=value format. Lines
starting with the "#" sign are treated as comments and ignored. Files named name.conf in the
/etc/apt/listchanges.conf.d directory are also read in the same way and override values set in the main
configuration file.
Section is a name of profile that can be used as parameter of the --profile option.
The configuration of the "apt" section can be managed by debconf(7), and most of the settings there can
be changed with the help of the dpkg-reconfigure apt-listchanges command.
Key is a name of some command-line option (except for --apt, --profile, --help) with the initial hyphens
removed, and the remaining hyphens translated to underscores, for example: "email_format" or "save_seen".
Value represents the value of the corresponding option. For command-line options that do not take
argument, like "confirm" or "headers", the value should be set either to "1", "yes", "true", and "on" in
order to enable the option, or to "0", "no", "false", and "off" to disable it.
Additionally key can be one of the following keywords: "browser", "pager" or "xterm". The value of such
configuration entry should be the name of an appropriate command, eventually followed by its arguments,
for example: "pager=less -R".
Example 1. Example configuration file
[cmdline]
frontend=pager
[apt]
frontend=xterm-pager
email_address=root
confirm=1
[custom]
frontend=browser
browser=mozilla
The above configuration file specifies that in command-line mode, the default frontend is "pager". In apt
mode, the xterm-pager frontend is default, a copy of the changelogs (if any) should be emailed to root,
and apt-listchanges should ask for confirmation. If apt-listchanges is invoked with --profile=custom, the
browser frontend will be used, and invoke mozilla.
ENVIRONMENT
APT_LISTCHANGES_FRONTEND
Frontend to use.
APT_LISTCHANGES_USER, SUDO_USER, USERNAME
The value of the first existing of the above variables will be used as the name of user to switch to
when running commands spawned by the "browser", "xterm-browser", and "xterm-pager" frontends if
apt-listchanges is started by a privileged user.
DEBIAN_FRONTEND
If set to "noninteractive", then it can force apt-listchanges to use non-interactive frontend, see
the "AUTOMATIC FRONTEND OVERRIDE" section for details.
BROWSER
Used by the browser frontend, should be set to a command expecting a file: URL for an HTML file to
display.
PAGER
Used by the pager frontend.
APT_HOOK_INFO_FD
File descriptor to read package names from in the --apt mode. (Apt is expected to set this variable
to a proper file descriptor number).
SEEN DATABASE INITIALIZATION
When apt-listchanges is installed for the first time or upgraded from an old version that did not use the
current seen database format, it enables a systemd timer, apt-listchanges.timer, which attempts hourly to
activate apt-listchanges.service, which scans the changelog and NEWS files of all installed packages and
uses their contents to populate the seen database.
Pre-populating the database like this makes apt-listchanges run faster because it then doesn't have to
parse the changelog and NEWS files of currently installed packages during upgrades when determining which
new entries to display.
Pre-populating the database should only need to be done once on any given host, since from that point
forward apt-listchanges updates the database automatically during upgrades. Therefore, after the service
runs successfully to completion, the timer is automatically disabled.
If for some reason you believe the apt-listchanges seen database is incomplete or inaccurate, you can
rebuild it by removing /var/lib/apt/listchanges and then executing systemctl start
apt-listchanges.service. Note that this runs to completion in the foreground.
FILES
/etc/apt/listchanges.conf
Configuration file.
/etc/apt/listchanges.conf.d/*.conf
Configuration file override files.
/etc/apt/apt.conf.d/20listchanges
File used for registering apt-listchanges into apt system.
/var/lib/apt/listchanges
Database used for save-seen.
AUTHOR
apt-listchanges was written by Matt Zimmerman <mdz@debian.org>
The current maintainer is Jonathan Kamens <jik@kamens.us>
SEE ALSO
sensible-pager(1), sensible-browser(1), apt-get(8), aptitude(8)
apt-listchanges 2017-07-08 APT-LISTCHANGES(1)