[arch-dev-public] [signoff] man-db 2.5.6-1

Andreas Radke a.radke at arcor.de
Wed Sep 2 14:27:34 EDT 2009


new upstream release. please test it and signoff.

-Andy

About this release
------------------

This is largely a bug-fix release, but also includes a new 'man -K'
option to search the full text of all manual pages, as well as support
for interpreting pairs of manual page names given on the command line as
equivalent to a single manual page name containing a hyphen (e.g. 'man
foo bar' => foo-bar(1)) suggested by various posters to the git mailing
list.

For full details of these and of the other improvements in this release,
please see the files docs/NEWS and docs/ChangeLog in the source
distribution.


man-db 2.5.6 (26 August 2009)
=============================

Major changes since man-db 2.5.5:

	Fixes:
	------

	o Exact-section database lookups were incorrectly returning all
	  database entries whose section names were prefixes of the
	  requested section name. In some cases this could confuse mandb
	  into never believing that the database was up to date.

	o Fix handling of pages with comma-separated names ("foo, bar,
	  baz") in their NAME sections, broken by a change in 2.5.0 (!)
	  to ignore manual page names containing spaces.

	o Fixed a buffer overflow in the pipeline library's line-reading
	  functions. I don't believe this to be exploitable: at worst we
	  might believe that there's some garbage at the end of manual pages
	  (whose contents are untrusted anyway) and this bug typically
	  resulted in a failed assertion the next time anything tried to
	  read a line.

	o Plugged two substantial memory leaks in the pipeline library.

	o whatis and apropos only display any given manual page, or pointers
	  to it, once.

	o man now sets less(1)'s environment up correctly for manual pages
	  encoded in CP1251.

	o manconv no longer confuses situations such as "this UTF-8
	  character is not representable in the target encoding" with "this
	  text is not in UTF-8".

	Improvements:
	-------------

	o The default configuration file now includes section 0, used on
	  some systems to document C library header files.

	o 'make check' now passes in the presence of a UTF-8-aware col, such
	  as that in util-linux-ng.

	o The 'man -K' option is now supported to search the full text of
	  all manual pages. This was inspired by a similar option in the
	  other man package (currently at version 1.6f) currently maintained
	  by Federico Lucifredi and formerly by Andries Brouwer, but I took
	  advantage of man-db's pipeline library to implement it entirely
	  in-process, without having to start a separate grep process for
	  every manual page. In my tests with fairly typical searches across
	  variously all manual pages or just one section, man-db's
	  implementation ran between 3 and 10 times faster.

	o Database directories are now only created when there are
	  corresponding manual page directories, not just because they're
	  mentioned in the configuration file.

	o By default, man will now try to interpret pairs of manual page
	  names given on the command line as equivalent to a single manual
	  page name containing a hyphen (e.g. 'man foo bar' => foo-bar(1)).
	  This supports the common pattern of programs that implement a
	  number of subcommands, allowing them to provide manual pages for
	  each that can be accessed using similar syntax as would be used to
	  invoke the subcommands themselves. Suggested by H. Peter Anvin,
	  Federico Lucifredi, and others on the git mailing list.

	o The build process is now quieter by default. Use './configure
	  --disable-silent-rules' or 'make V=0' if you don't like this or
	  your make(1) doesn't support the non-standard extension required.

	o 'make install' now installs the manual.

	o manconv understands a wider range of Emacs-style coding tags.

	o Recommendations to change MAN_DB_CREATES, MAN_DB_UPDATES, and
	  MAN_CATS #define options in manconfig.h have been replaced by new
	  configure options --enable-automatic-create,
	  --disable-automatic-update, and --disable-cats respectively. Note
	  that automatic user database creation is now off by default, as it
	  is often too slow for the usefulness it adds; use
	  --enable-automatic-create to enable it.


More information about the arch-dev-public mailing list