APT-LISTCHANGES(1) | Debian | APT-LISTCHANGES(1) |
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
-v, --verbose
-f, --frontend
pager
browser
xterm-pager
xterm-browser
text
syslog
log
gtk
none
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
--email-address=address
--email-format={text|html}
-c, --confirm
-a, --show-all
-n, --no-network
--save-seen=file
--dump-seen
--since=version
--latest=N
--which={news|changelogs|both}
--help
-h, --headers
--debug
--profile=name
--log=file
--filter=command
--reverse
--ignore-apt-assume, --ignore-debian-frontend
--titled, --untitled
--select-frontend
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:
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
APT_LISTCHANGES_USER, SUDO_USER, USERNAME
DEBIAN_FRONTEND
BROWSER
PAGER
APT_HOOK_INFO_FD
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
/etc/apt/listchanges.conf.d/*.conf
/etc/apt/apt.conf.d/20listchanges
/var/lib/apt/listchanges
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)
2017-07-08 | apt-listchanges |