apt-listchanges.sgml 22 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605
  1. <!doctype refentry PUBLIC "-//Davenport//DTD DocBook V3.0//EN" [
  2. <!ENTITY debian "<productname>Debian GNU/Linux</productname>">
  3. <!ENTITY docbook "<productname>DocBook</productname>">
  4. ]>
  5. <!-- vim:set fileencoding=utf-8 et ts=4 sts=4 sw=4: -->
  6. <!-- Manual page for debchanges, DocBook source file
  7. (C) 2000 Matt Zimmerman <mdz@debian.org>
  8. Based on the example page docbook-to-man.sgml from docbook-to-man
  9. -->
  10. <refentry>
  11. <docinfo>
  12. <address><email>mdz@debian.org</email></address>
  13. <author>
  14. <firstname>Matt</firstname>
  15. <surname>Zimmerman</surname>
  16. </author>
  17. <date>2016-04-23</date>
  18. </docinfo>
  19. <refmeta>
  20. <refentrytitle>apt-listchanges</refentrytitle>
  21. <manvolnum>1</manvolnum>
  22. </refmeta>
  23. <refnamediv>
  24. <refname>apt-listchanges</refname>
  25. <refpurpose>Show new changelog entries from Debian package archives</refpurpose>
  26. </refnamediv>
  27. <refsynopsisdiv>
  28. <cmdsynopsis>
  29. <command>apt-listchanges</command>
  30. <group choice=opt>
  31. <arg rep=repeat><replaceable>options</replaceable></arg>
  32. </group>
  33. <group choice=req>
  34. <arg><option>--apt</option></arg>
  35. <arg rep=repeat><replaceable>package.deb</replaceable></arg>
  36. </group>
  37. </cmdsynopsis>
  38. </refsynopsisdiv>
  39. <refsect1>
  40. <title>DESCRIPTION</title>
  41. <para><command>apt-listchanges</command> is a tool to show what
  42. has been changed in a new version of a Debian package, as
  43. compared to the version currently installed on the
  44. system.</para>
  45. <para>It does this by extracting the relevant entries from both the
  46. NEWS.Debian and changelog<optional>.Debian</optional> files, usually found in
  47. <filename>/usr/share/doc/</filename><replaceable>package</replaceable>,
  48. from Debian package archives.
  49. </para>
  50. <para>
  51. Given a set of filenames as arguments (or read from apt when
  52. using <option>--apt</option>),
  53. <command>apt-listchanges</command> will scan the files (assumed
  54. to be Debian package archives) for the relevant changelog
  55. entries, and display them all in a summary grouped by source package.
  56. The groups are sorted by the urgency of the most urgent change,
  57. and than by the package name. Changes within each package group are
  58. displayed in the order of their apperance in the changelog files, i.e.
  59. starting from the latest to the oldest; the
  60. <option>--reverse</option> option can be used to alter this order.
  61. </para>
  62. </refsect1>
  63. <refsect1>
  64. <title>OPTIONS</title>
  65. <VARIABLELIST>
  66. <VARLISTENTRY>
  67. <TERM><option>--apt</option></TERM>
  68. <LISTITEM>
  69. <PARA>Read filenames from a specially-formatted pipeline (as
  70. provided by apt), rather than from command line arguments,
  71. and honor certain apt-specific options in the config
  72. file. This pipeline must be in "version 2" format,
  73. specified in the apt configuration.
  74. </PARA>
  75. </LISTITEM>
  76. </VARLISTENTRY>
  77. <VARLISTENTRY>
  78. <TERM><option>-v, --verbose</option></TERM>
  79. <LISTITEM>
  80. <PARA>Display additional (usually unwanted) information.
  81. For instance, print a message when a package of the same
  82. or older version is to be installed, or when a package is
  83. to be newly installed.
  84. </PARA>
  85. </LISTITEM>
  86. </VARLISTENTRY>
  87. <VARLISTENTRY>
  88. <TERM><option>-f, --frontend</option></TERM>
  89. <LISTITEM>
  90. <PARA>
  91. Select which frontend to use to display information to the
  92. user. Current frontends include:
  93. </PARA>
  94. <VARIABLELIST>
  95. <VARLISTENTRY>
  96. <TERM>pager</TERM>
  97. <LISTITEM>
  98. <PARA>
  99. Uses <citerefentry><refentrytitle>sensible-pager</refentrytitle>
  100. <manvolnum>1</manvolnum></citerefentry> command to
  101. display output. The command uses PAGER environment
  102. variable to choose your favourite pager. The "pager" option
  103. may be specified in the configuration file to select a specific pager for
  104. use with apt-listchanges.
  105. </PARA>
  106. </LISTITEM>
  107. </VARLISTENTRY>
  108. <varlistentry>
  109. <term>browser</term>
  110. <listitem>
  111. <para>
  112. Displays an HTML-formatted changelog with hyperlinks for bugs
  113. and email addresses using the <citerefentry>
  114. <refentrytitle>sensible-browser</refentrytitle><manvolnum>1</manvolnum>
  115. </citerefentry> command that examines BROWSER environment variable
  116. to choose your favourite browser. The "browser" option may be
  117. specified in the configuration file to select a specific browser for
  118. use with apt-listchanges.
  119. </para>
  120. </listitem>
  121. </varlistentry>
  122. <VARLISTENTRY>
  123. <TERM>xterm-pager</TERM>
  124. <LISTITEM>
  125. <PARA>
  126. Uses your favorite pager to display output, but does
  127. so in an xterm (using the x-terminal-emulator
  128. alternative) in the background. This allows you
  129. to go on with the upgrade if you like, and continue
  130. to browse the changelogs. You can override the
  131. terminal emulator to be used with the "xterm"
  132. configuration option.
  133. </PARA>
  134. </LISTITEM>
  135. </VARLISTENTRY>
  136. <varlistentry>
  137. <term>xterm-browser</term>
  138. <listitem>
  139. <para>
  140. The logical combination of xterm-pager and browser.
  141. Only appropriate for text-mode browsers.
  142. </para>
  143. </listitem>
  144. </varlistentry>
  145. <VARLISTENTRY>
  146. <TERM>text</TERM>
  147. <LISTITEM>
  148. <PARA>
  149. Dumps output to stdout, with no pauses.
  150. </PARA>
  151. </LISTITEM>
  152. </VARLISTENTRY>
  153. <VARLISTENTRY>
  154. <TERM>mail</TERM>
  155. <LISTITEM>
  156. <PARA>
  157. Sends mail to the address specified with
  158. --email-address, and does not display changelogs.
  159. </PARA>
  160. </LISTITEM>
  161. </VARLISTENTRY>
  162. <VARLISTENTRY>
  163. <TERM>gtk</TERM>
  164. <LISTITEM>
  165. <PARA>
  166. Spawns a gtk window to display the changelogs. Needs
  167. python3-gi to be installed.
  168. </PARA>
  169. </LISTITEM>
  170. </VARLISTENTRY>
  171. <VARLISTENTRY>
  172. <TERM>none</TERM>
  173. <LISTITEM>
  174. <PARA>
  175. Does nothing. Can be used to prevent
  176. apt-listchanges from running when configured to run
  177. automatically from apt.
  178. </PARA>
  179. </LISTITEM>
  180. </VARLISTENTRY>
  181. </VARIABLELIST>
  182. <para>
  183. Please note that apt-listchanges will try to switch to an unprivileged
  184. user before spawning commands in "browser", "xterm-browser",
  185. and "xterm-pager" frontends. However this currently does not apply
  186. to the "pager" frontend. See also "ENVIRONMENT VARIABLES" below.
  187. </para>
  188. </LISTITEM>
  189. </VARLISTENTRY>
  190. <VARLISTENTRY>
  191. <TERM><OPTION>--email-address=<replaceable>address</replaceable></OPTION></TERM>
  192. <LISTITEM>
  193. <PARA>
  194. In addition to displaying it, mail a copy of the changelog
  195. data to the specified address. To only mail changelog
  196. entries, use this option with the special frontend 'mail'.
  197. </PARA>
  198. </LISTITEM>
  199. </VARLISTENTRY>
  200. <VARLISTENTRY>
  201. <TERM><OPTION>--email-format={text|html}</OPTION></TERM>
  202. <LISTITEM>
  203. <PARA>
  204. If sending mail copies is enabled (see <option>--email-address</option> above),
  205. this option selects whether the mail should be sent
  206. as an old good plain text data (which is the default behavior),
  207. or as html data with clickable links, which might be more
  208. convenient for people using graphical mail clients.
  209. </PARA>
  210. </LISTITEM>
  211. </VARLISTENTRY>
  212. <VARLISTENTRY>
  213. <TERM><OPTION>-c, --confirm</OPTION></TERM>
  214. <LISTITEM>
  215. <PARA>
  216. Once changelogs have been displayed, ask the user whether
  217. or not to proceed. If the user chooses not to proceed, a
  218. nonzero exit status will be returned, and apt will abort.
  219. </PARA>
  220. </LISTITEM>
  221. </VARLISTENTRY>
  222. <VARLISTENTRY>
  223. <TERM><OPTION>-a, --show-all</OPTION></TERM>
  224. <LISTITEM>
  225. <PARA>
  226. Rather than trying to display changelog entries that are
  227. newer than the currently installed version of the package,
  228. simply display all changelog entries for all packages.
  229. This is useful for viewing the entire changelog of a .deb
  230. before extracting it.
  231. </PARA>
  232. </LISTITEM>
  233. </VARLISTENTRY>
  234. <VARLISTENTRY>
  235. <TERM><OPTION>--save-seen=<replaceable>file</replaceable></OPTION></TERM>
  236. <LISTITEM>
  237. <PARA>
  238. This option will cause apt-listchanges to keep track of
  239. the last version of a package for which changelogs have
  240. been displayed, to avoid redisplaying the same changelogs
  241. in a future invocation. The database is stored in the
  242. named file. Specify 'none' to disable this feature.
  243. </PARA>
  244. </LISTITEM>
  245. </VARLISTENTRY>
  246. <VARLISTENTRY>
  247. <TERM><OPTION>--dump-seen</OPTION></TERM>
  248. <LISTITEM>
  249. <PARA>
  250. Display the contents of the seen database to standard output
  251. as a list of lines consising of source package name and its
  252. latest seen version, separated by space. This option requires
  253. the path to the seen database to be known: please either specify
  254. it using <option>--save-seen</option> option or pass
  255. <option>--profile=apt</option> option to have it read from the
  256. configuration file.
  257. </PARA>
  258. </LISTITEM>
  259. </VARLISTENTRY>
  260. <VARLISTENTRY>
  261. <TERM><OPTION>--since=<replaceable>version</replaceable></OPTION></TERM>
  262. <LISTITEM>
  263. <PARA>
  264. This option will cause apt-listchanges to show the entries later
  265. than the specified version. With this option, the only other
  266. argument you can pass is the path to a .deb file.
  267. </PARA>
  268. </LISTITEM>
  269. </VARLISTENTRY>
  270. <VARLISTENTRY>
  271. <TERM><OPTION>--which={news|changelogs|both}</OPTION></TERM>
  272. <LISTITEM>
  273. <PARA>
  274. This option selects whether news (from NEWS.Debian et
  275. al.), changelogs (from changelog.Debian et al.) or both
  276. should be displayed. The default is to display only news.
  277. </PARA>
  278. </LISTITEM>
  279. </VARLISTENTRY>
  280. <VARLISTENTRY>
  281. <TERM><OPTION>--help</OPTION></TERM>
  282. <LISTITEM>
  283. <PARA>
  284. Displays syntax information.
  285. </PARA>
  286. </LISTITEM>
  287. </VARLISTENTRY>
  288. <VARLISTENTRY>
  289. <TERM><OPTION>-h, --headers</OPTION></TERM>
  290. <LISTITEM>
  291. <PARA>
  292. These options will cause apt-listchanges to insert a
  293. header before each package's changelog showing the name of
  294. the package, and the names of the binary packages which
  295. are being upgraded (if there is more than one, or it
  296. differs from the source package name).
  297. </PARA>
  298. </LISTITEM>
  299. </VARLISTENTRY>
  300. <varlistentry>
  301. <term><option>--debug</option></term>
  302. <listitem>
  303. <para>Display some debugging information
  304. </para>
  305. </listitem>
  306. </varlistentry>
  307. <varlistentry>
  308. <term><option>--profile=<replaceable>name</replaceable></option></term>
  309. <listitem>
  310. <para>Select an option profile.
  311. <replaceable>name</replaceable> corresponds to a section in
  312. <filename>/etc/apt/listchanges.conf</filename>. The default
  313. when invoked from apt is "apt", and "cmdline" otherwise.
  314. </para>
  315. </listitem>
  316. </varlistentry>
  317. <varlistentry>
  318. <term><option>--reverse</option></term>
  319. <listitem>
  320. <para>
  321. Show the changelog entries in reverse order.
  322. </para>
  323. </listitem>
  324. </varlistentry>
  325. <varlistentry>
  326. <term><option>--ignore-apt-assume</option>, <option>--ignore-debian-frontend</option></term>
  327. <listitem>
  328. <para>
  329. Disable forcing non-interactive frontend in some of the cases described in the
  330. "AUTOMATIC FRONTEND OVERRIDE" section below.
  331. </para>
  332. </listitem>
  333. </varlistentry>
  334. <varlistentry>
  335. <term><option>--select-frontend</option></term>
  336. <listitem>
  337. <para>
  338. Choose frontend interactively. This option is mainly for testing purposes,
  339. please do not use it.
  340. </para>
  341. </listitem>
  342. </varlistentry>
  343. </VARIABLELIST>
  344. </refsect1>
  345. <refsect1>
  346. <title>AUTOMATIC FRONTEND OVERRIDE</title>
  347. <para>
  348. For a better integration with existing package management tools,
  349. <command>apt-listchanges</command> tries to detect if package upgrades
  350. are done in a non-interactive way, and automatically switches its frontend
  351. to 'text' when <emphasis>any</emphasis> of the following conditions is satisfied:
  352. <itemizedlist mark='opencircle'>
  353. <listitem>
  354. <para>the standard output is not connected to terminal;</para>
  355. </listitem>
  356. <listitem>
  357. <para>the <option>--quiet</option> (<option>-q</option>) option is given
  358. to <citerefentry><refentrytitle>apt-get</refentrytitle><manvolnum>8</manvolnum>
  359. </citerefentry> (or <citerefentry><refentrytitle>aptitude</refentrytitle>
  360. <manvolnum>8</manvolnum></citerefentry>); note however that when the option
  361. is used more than once, apt-listchanges switches the frontend to 'mail';</para>
  362. </listitem>
  363. <listitem>
  364. <para>the <option>--assume-yes</option> (<option>-y</option>) option is given
  365. to <citerefentry><refentrytitle>apt-get</refentrytitle>
  366. <manvolnum>8</manvolnum></citerefentry>);</para>
  367. </listitem>
  368. <listitem>
  369. <para>the <envar>DEBIAN_FRONTEND</envar> environment variable is set to
  370. "noninteractive", and <envar>APT_LISTCHANGES_FRONTED</envar> is not set.</para>
  371. </listitem>
  372. </itemizedlist>
  373. </para>
  374. <para>
  375. For backward compatibility purposes the last two of the above checks can be disabled
  376. either with "ignore_apt_assume=true" or "ignore_debian_frontend=true" configuration file
  377. entries (see "CONFIGURATION FILE" below) or by using the command line
  378. options: <option>--ignore-apt-assume</option> or <option>--ignore-debian-frontend</option>.
  379. </para>
  380. <para>
  381. Please also note that the "mail" frontend is already non-interactive one, so it is never
  382. switched to the "text" frontend.
  383. </para>
  384. <para>
  385. Additionally <command>apt-listchanges</command> overrides X11-based frontends
  386. ("gtk", "xterm-pager", "xterm-browser") with "pager" (or "browser" in case
  387. of "xterm-browser") when the environment variable <envar>DISPLAY</envar>
  388. is not set.
  389. </para>
  390. </refsect1>
  391. <refsect1>
  392. <title>CONFIGURATION FILE</title>
  393. <para>
  394. <command>apt-listchanges</command> reads its configuration from the
  395. <filename>/etc/apt/listchanges.conf</filename>. The file consists of
  396. <replaceable>sections</replaceable> with names enclosed in the square
  397. brackets. Each section should contain lines in the
  398. <replaceable>key</replaceable>=<replaceable>value</replaceable> format.
  399. Lines starting with the "#" sign are treated as comments and ignored.
  400. </para>
  401. <para>
  402. <replaceable>Section</replaceable> is a name of profile that can be
  403. used as parameter of the <option>--profile</option> option.
  404. </para>
  405. <para>
  406. <replaceable>Key</replaceable> is a name of some command-line option
  407. (except for <option>--apt</option>, <option>--profile</option>,
  408. <option>--help</option>) with the initial hyphens removed, and the
  409. remaining hyphens translated to underscores, for example: "email_format"
  410. or "save_seen".
  411. </para>
  412. <para>
  413. <replaceable>Value</replaceable> represents the value of the corresponding
  414. option. For command-line options that do not take argument, like "confirm"
  415. or "header", the <replaceable>value</replaceable> should be set either to
  416. "1", "yes", "true", and "on" in order to enable the option, or to "0",
  417. "no", "false", and "off" to disable it.
  418. </para>
  419. <para>
  420. Additionally <replaceable>key</replaceable> can be one of the following
  421. keywords: "browser", "pager" or "xterm". The <replaceable>value</replaceable>
  422. of such configuration entry should be the name of an appropriate command,
  423. eventually followed by its arguments, for example: "pager=less -R".
  424. </para>
  425. <example>
  426. <title>Example configuration file</title>
  427. <programlisting>
  428. [cmdline]
  429. frontend=pager
  430. [apt]
  431. frontend=xterm-pager
  432. email_address=root
  433. confirm=1
  434. [custom]
  435. frontend=browser
  436. browser=mozilla
  437. </programlisting>
  438. </example>
  439. <para>The above configuration file specifies that in
  440. command-line mode, the default frontend should be "pager".
  441. In apt mode, the xterm-pager frontend is default, a copy
  442. of the changelogs (if any) should be emailed to root, and
  443. apt-listchanges should ask for confirmation. If
  444. apt-listchanges is invoked with --profile=custom, the
  445. browser frontend will be used, and invoke mozilla.</para>
  446. </refsect1>
  447. <refsect1>
  448. <title>ENVIRONMENT</title>
  449. <variablelist>
  450. <varlistentry>
  451. <term>APT_LISTCHANGES_FRONTEND</term>
  452. <listitem><para>Frontend to use</para></listitem>
  453. </varlistentry>
  454. </variablelist>
  455. <variablelist>
  456. <varlistentry>
  457. <term>APT_LISTCHANGES_USER, SUDO_USER, USERNAME</term>
  458. <listitem><para>The value of the first existing of the above variables
  459. will be used as the name of user to switch to when running
  460. commands spawned by the "browser", "xterm-browser",
  461. and "xterm-pager" frontends if <command>apt-listchanges</command> is
  462. started by a privileged user</para></listitem>
  463. </varlistentry>
  464. </variablelist>
  465. <variablelist>
  466. <varlistentry>
  467. <term>DEBIAN_FRONTEND</term>
  468. <listitem><para>If set to "noninteractive", then it can force
  469. <command>apt-listchanges</command> to use non-interactive frontend,
  470. see the "AUTOMATIC FRONTEND OVERRIDE" section for details.</para>
  471. </listitem>
  472. </varlistentry>
  473. </variablelist>
  474. <variablelist>
  475. <varlistentry>
  476. <term>BROWSER</term>
  477. <listitem><para>Used by
  478. the browser frontend, should be set to a command expecting a
  479. file: URL for an HTML file to display.</para>
  480. </listitem>
  481. </varlistentry>
  482. </variablelist>
  483. <variablelist>
  484. <varlistentry>
  485. <term>PAGER</term>
  486. <listitem><para>Used by the pager frontend</para></listitem>
  487. </varlistentry>
  488. </variablelist>
  489. <variablelist>
  490. <varlistentry>
  491. <term>APT_HOOK_INFO_FD</term>
  492. <listitem><para>File descriptor to read package names from in
  493. the <option>--apt</option> mode. (Apt is expected to set
  494. this variable to a proper file descriptor numer).</para></listitem>
  495. </varlistentry>
  496. </variablelist>
  497. </refsect1>
  498. <refsect1>
  499. <title>FILES</title>
  500. <variablelist>
  501. <varlistentry>
  502. <term>/etc/apt/listchanges.conf</term>
  503. <listitem><para>Configuration file</para></listitem>
  504. </varlistentry>
  505. <varlistentry>
  506. <term>/etc/apt/apt.conf.d/20listchanges</term>
  507. <listitem><para>File used for registering apt-listchanges into apt system</para></listitem>
  508. </varlistentry>
  509. <varlistentry>
  510. <term>/var/lib/apt/listchanges.db</term>
  511. <listitem><para>Database used for save-seen</para></listitem>
  512. </varlistentry>
  513. </variablelist>
  514. </refsect1>
  515. <refsect1>
  516. <title>AUTHOR</title>
  517. <PARA>
  518. apt-listchanges was written by Matt Zimmerman
  519. &lt;mdz@debian.org&gt;
  520. </PARA>
  521. </refsect1>
  522. <refsect1>
  523. <title>SEE ALSO</title>
  524. <para>
  525. <citerefentry><refentrytitle>sensible-pager</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
  526. <citerefentry><refentrytitle>sensible-browser</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
  527. <citerefentry><refentrytitle>apt-get</refentrytitle><manvolnum>8</manvolnum></citerefentry>,
  528. <citerefentry><refentrytitle>aptitude</refentrytitle><manvolnum>8</manvolnum></citerefentry>
  529. </para>
  530. </refsect1>
  531. </refentry>
  532. <!-- Keep this comment at the end of the file
  533. Local variables:
  534. mode: sgml
  535. sgml-omittag:t
  536. sgml-shorttag:t
  537. sgml-minimize-attributes:nil
  538. sgml-always-quote-attributes:t
  539. sgml-indent-step:2
  540. sgml-indent-data:t
  541. sgml-parent-document:nil
  542. sgml-default-dtd-file:nil
  543. sgml-exposed-tags:nil
  544. sgml-local-catalogs:nil
  545. sgml-local-ecat-files:nil
  546. End:
  547. -->