summaryrefslogtreecommitdiff
path: root/docs
Commit message (Collapse)AuthorAge
* Use more conventional bullets in documentationColin Watson2017-12-03
| | | | | * docs/INSTALL.quick, NEWS, README: Use "*" for bullet points instead of "o".
* Confine most untrusted data handling using seccompColin Watson2017-12-03
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fixes Debian bug #877199. * configure.ac: Require libpipeline >= 1.5.0. Call MAN_LIBSECCOMP. * docs/INSTALL.quick: Bump minimum libpipeline version to 1.5.0. List libseccomp as recommended. * lib/Makefile.am (libman_la_CPPFLAGS): Add $(libseccomp_CFLAGS). (libman_la_SOURCES): Add sandbox.c and sandbox.h. (libman_la_LDFLAGS): Add $(libseccomp_LIBS). * lib/sandbox.c: New file. * lib/sandbox.h: New file. * m4/man-libseccomp.m4: New file. * src/man.c (set_term): Check that process ID matches original before calling tcsetattr. (get_term): Record original process ID to work around an arguable bug in pipecmd_exec. * src/lexgrog_test.c (main), src/man.c (main), src/manconv_main.c (main), src/mandb.c (main), src/zsoelim_main.c (main): Initialise sandbox. * lib/decompress.c (decompress_open, decompress_fdopen): Attach sandbox to decompression commands. * src/lexgrog.l (find_name): Attach sandbox to 'col'. * src/man.c (add_col): Attach sandbox to 'col'. (make_roff_command): Attach sandbox to 'zsoelim' and to groff-related programs. (add_output_iconv): Attach sandbox to 'iconv'. (make_display_command): Attach sandbox to 'tr'. (open_cat_stream, display_catman): Attach sandbox to compression commands. * src/manconv_client.c (add_manconv): Attach sandbox to manconv_stdin. * src/straycats.c (check_for_stray): Attach sandbox to 'col'. * src/whatis.c (use_grep): Attach sandbox to 'grep'. * src/accessdb.c, src/catman.c, src/globbing_test.c, src/manpath.c: Define stub sandbox variable. * docs/NEWS: Document this.
* Document more installation requirementsColin Watson2017-12-02
| | | | | * docs/INSTALL.quick: List a database library as required, and zlib as recommended.
* Fix docs for minimum libpipeline requirementColin Watson2017-11-13
| | | | * docs/INSTALL.quick: Bump minimum libpipeline version to 1.4.0.
* gnulib: Import memmem moduleColin Watson2017-07-10
| | | | Needed to make the previous commit portable.
* Upgrade to Automake 1.15.1.Colin Watson2017-07-10
|
* * Version: 2.7.6.1.Colin Watson2016-12-12
|
* * Version: 2.7.6.Colin Watson2016-12-11
|
* Separate cache owner from --enable-setuid optionColin Watson2016-12-09
| | | | | | | | | | | | | | It's useful to have a notion of the cache owner even when man is not installed setuid. --enable-setuid no longer takes an argument, and the owner is now set by the --enable-cache-owner option instead. * m4/man-arg-cache-owner.m4: New file. * m4/man-arg-setuid.m4: Stop accepting an argument. Only set man_mode, not man_owner. * configure.ac: Call MAN_ARG_CACHE_OWNER. * src/Makefile.am (install-exec-hook): Only chown man and mandb if man_mode is 4755 (as well as the existing test for man_owner being non-empty).
* Upgrade to Libtool 2.4.6-2 (from Debian)Colin Watson2016-11-21
|
* * Version: 2.7.5.Colin Watson2015-11-06
|
* * Version: 2.7.4.Colin Watson2015-10-08
|
* * Version: 2.7.3.Colin Watson2015-09-09
|
* * Version: 2.7.2.Colin Watson2015-08-16
|
* Upgrade to Automake 1.15.Colin Watson2015-08-02
|
* * Version: 2.7.1.Colin Watson2014-11-07
|
* gnulib: Import strcasestr module.Colin Watson2014-10-23
| | | | Suggested by Peter Bray.
* * Version: 2.7.0.2.Colin Watson2014-09-28
|
* * Version: 2.7.0.1.Colin Watson2014-09-24
|
* Fix tests when build fs does not support high-precision timestampsColin Watson2014-09-24
| | | | | | | | | | | | | | | * gnulib: Import nanosleep module. * configure.ac: Remove STAT_HAS_NSEC substitution. * src/tests/Makefile.am (TESTS_ENVIRONMENT): Stop exporting STAT_HAS_NSEC. (AM_CPPFLAGS, AM_CFLAGS, check_PROGRAMS, fspause_SOURCES, fspause_LDADD): Add. * src/tests/fspause.c: New file. * src/tests/mandb-2, src/tests/mandb-3, src/tests/mandb-4, src/tests/mandb-5: Call ./fspause rather than next_second. * src/tests/testlib.sh (next_second): Remove. * .gitignore: Add src/tests/.deps and src/tests/fspause. * NEWS: Document this.
* * Version: 2.7.0.Colin Watson2014-09-22
|
* Order files by first physical extent before readingColin Watson2014-09-16
| | | | | | | | | | | | | | | | | | | | | Inspired by a similar change in dpkg. This takes 'mandb -c' from 104 to 32 seconds in a test installation, and 'man -K' from 74 to 38 seconds. On non-Linux systems where FIEMAP is not available, use posix_fadvise instead to preload files. Fixes Debian bug #574410. * gnulib: Import nonblocking and openat modules. * configure.ac: Check for <linux/fiemap.h> and posix_fadvise. * lib/orderfiles.c: New file. * lib/orderfiles.h: New file. * lib/Makefile.am (libman_la_SOURCES): Add orderfiles.c and orderfiles.h. * src/check_mandirs.c (add_dir_entries): Order files before reading them. * src/man.c (try_section, do_global_apropos_section): Likewise. * src/straycats.c (check_for_stray): Likewise. * NEWS: Document this.
* Move argument handling out of configure to new MAN_ARG_* macrosColin Watson2014-09-15
| | | | | | | | | | | * m4/man-arg-automatic-create.m4, m4/man-arg-automatic-update.m4, m4/man-arg-cats.m4, m4/man-arg-config-file.m4, m4/man-arg-db.m4, m4/man-arg-device.m4, m4/man-arg-mandirs.m4, m4/man-arg-override-dir.m4, m4/man-arg-sections.m4, m4/man-arg-setuid.m4, m4/man-arg-systemdtmpfilesdir.m4, m4/man-arg-undoc.m4: New files. * configure.ac: Call new macros rather than inlining argument handling.
* Speed up the test suite if we have high-precision file timestampsColin Watson2014-09-11
| | | | | | | | | * configure.ac: Substitute STAT_HAS_NSEC as "yes" or "no" depending on whether high-precision file timestamps are available. * src/tests/Makefile.am (TESTS_ENVIRONMENT): Export STAT_HAS_NSEC to tests. * src/tests/testlib.sh (next_second): Do nothing if STAT_HAS_NSEC is "yes".
* Move database mtime out of the database into file metadataColin Watson2014-09-10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This makes the database reproducible between installations, as long as the underlying database has predictable behaviour and the set of installed manual pages (including their timestamps) remains identical. As a bonus, we now use high-precision times in several places. Fixes Debian bug #760895. * gnulib: Import futimens and timespec modules. * libdb/db_btree.c (btree_get_time, btree_set_time): New functions. * libdb/db_gdbm.c (man_gdbm_get_time, man_gdbm_set_time): New functions. * libdb/db_ndbm.c (ndbm_get_time, ndbm_set_time): New functions. * libdb/mydbm.h (man_gdbm_get_time, man_gdbm_set_time, ndbm_get_time, ndbm_set_time, btree_get_time, btree_set_time): Add prototypes. (MYDBM_GET_TIME, MYDBM_SET_TIME): New macros. * src/check_mandirs.c (testmandirs, create_db, count_glob_matches, purge_normal, purge_whatis, purge_missing): Use high-precision times. (update_db_time): Set file modification times rather than updating a database row. (create_db, purge_missing): Get database file modification times rather than fetching a database row. (purge_missing): If the new will_run_mandb argument is true, reset the database mtime to its value before purging; this ensures that mandb will still run as expected afterwards. * src/check_mandirs.h (purge_missing): Update prototype. * src/mandb.c (xcopy): Copy access and modification times. (process_manpath): Work out in advance of purging whether we will need to run mandb, and pass that to purge_missing. * include/manconfig.h.in (VER_ID): Bump to 2.5.0. (KEY): Remove. * man/man8/accessdb.man8 (DESCRIPTION), man/it/man8/accessdb.man8 (DESCRIZIONE): Remove sample output, as it is of limited usefulness compared to how awkward it is to maintain, especially in text intended for translation. * man/po4a/po/man-db-manpages.pot, man/po4a/po/*.po: Update. * manual/db.me (Contents of an index database): Remove mention of $mtime$. (Example database): Remove $mtime$. Update $version. * NEWS: Document this. Bump version to 2.7.0 to correspond to the database version change.
* Switch away from obsolescent utime functionColin Watson2014-09-09
| | | | | | | | | | | | POSIX.1-2008 marks utime as obsolescent. Switch to variants of the futimens/utimensat family instead, via Gnulib. Use higher-precision times for cat pages. * gnulib: Import stat-time and utimens modules. * src/man.c (man_modtime): Change type to struct timespec. (commit_tmp_cat): Use utimens rather than utime. (display): Store a higher-precision modification timestamp for man_file.
* Add systemd tmpfiles snippet to clean up old cat files after a weekColin Watson2014-06-17
| | | | | | | | | | | | Fixes Fedora bug #1110274. * configure.ac: Accept --with-systemdtmpfilesdir option. (AC_CONFIG_FILES): Add init/Makefile and init/systemd/Makefile. * Makefile.am (SUBDIRS): Add init. * init/Makefile.am: New file. * init/systemd/Makefile.am: New file. * init/systemd/man-db.conf: New file. * .gitignore: Add init/Makefile and init/systemd/Makefile.
* * Version: 2.6.7.1.Colin Watson2014-04-10
|
* * Version: 2.6.7.Colin Watson2014-04-10
|
* Upgrade to Gnulib 20140202 and Libtool 2.4.2-1.7 (from Debian).Colin Watson2014-02-18
|
* * Version: 2.6.6.Colin Watson2014-01-23
|
* Add support for override directory in search pathPeter Schiffer2014-01-23
| | | | | | | | | | | | * configure.ac: Add --with-override-dir option. * include/manconfig.h.in (OVERRIDE_DIR): New definition. * src/manp.c (insert_override_dir): New function. (get_manpath_from_path): Call it before add_dir_to_list. * src/tests/man-9: New file. * src/tests/Makefile.am (TESTS_ENVIRONMENT): Set and export OVERRIDE_DIR. (ALL_TESTS): Add man-9. * NEWS: Document this.
* Upgrade to Automake 1.14.1 and Libtool 2.4.2-1.6 (from Debian).Colin Watson2014-01-23
|
* Update documentation for git.Colin Watson2013-12-09
| | | | | | | * docs/HACKING (Sending patches): Suggest 'git diff'. (Revision control): Update for git. Remove comment about ChangeLog handling for branches. * NEWS: Document switch to git.
* Upgrade to Automake 1.14 and Gnulib 20130805.Colin Watson2013-11-27
|
* * Version: 2.6.5.Colin Watson2013-06-27
|
* * docs/HACKING: Mention that xasprintf may be more readable thanColin Watson2013-06-27
| | | | | | | | | | | | | | | | | | | | | | | | | appendstr. * include/manconfig.h.in (mkdbname): Rephrase using xasprintf. * lib/decompress.c (decompress_open): Likewise. * lib/pathsearch.c (pathsearch): Likewise. * lib/tempfile.c (create_tempdir): Likewise. * lib/util.c (remove_directory): Likewise. * src/check_mandirs.c (add_dir_entries, mkcatdirs): Likewise. * src/compression.c (comp_file): Likewise. * src/convert_name.c (convert_name): Likewise. * src/globbing.c (make_pattern, match_in_directory, look_for_file): Likewise. * src/man.c (parse_opt, display_filesystem, display_database, do_global_apropos_section): Likewise. * src/manconv_client.c (add_manconv): Likewise. * src/mandb.c (mandb, process_manpath, purge_catsubdirs, purge_catdirs, main): Likewise. * src/manp.c (pathappend, get_nls_manpath, get_manpath, read_config_file, has_mandir): Likewise. * src/ult_src.c (ult_hardlink): Likewise. * src/whatis.c (simple_convert, use_grep, display, main): Likewise. * src/zsoelim.l (zsoelim_open_file): Likewise. * src/accessdb.c (parse_opt): Use mkdbname to construct default database path.
* * Version: 2.6.4.Colin Watson2013-06-23
|
* Upgrade to Automake 1.13.3.Colin Watson2013-06-23
|
* * configure.ac: Check whether tbl supports the 'x' format characterColin Watson2013-06-06
| | | | | | (e.g. versions of groff before 1.20), and substitute TBL_X_FORMAT accordingly. * man/replace.sin.in: Replace "l lx." with "l l." if tbl does not support the 'x' format character.
* * configure.ac: Set MANDIR_LAYOUT using AC_SUBST as well asColin Watson2013-06-06
| | | | | | AC_DEFINE/AC_DEFINE_UNQUOTED. * src/tests/Makefile.am (TESTS_ENVIRONMENT): Export MANDIR_LAYOUT. * src/tests/testlib.sh (skip): New function. * src/tests/man-3: Skip unless the GNU layout is in use.
* * docs/INSTALL.quick: Reformat external package requirements as aColin Watson2013-06-06
| | | bullet list. Add flex >= 2.5.30.
* Quieten most warnings from compiling Gnulib (Debian bug #668429).Colin Watson2013-06-03
| | | | | | | | * configure.ac: Add gl_WARN_ADD results to WARN_CFLAGS rather than CFLAGS. * lib/Makefile.am (AM_CFLAGS): Add $(WARN_CFLAGS). * libdb/Makefile.am (AM_CFLAGS): Likewise. * src/Makefile.am (AM_CFLAGS): Likewise. Move $(libpipeline_CFLAGS) here from AM_CPPFLAGS.
* Upgrade to Automake 1.13.2 and Gnulib 20130529.Colin Watson2013-05-30
| | | | | | | | | | | | | * .bzrignore: Add gnulib/lib/locale.h, man/**/*.log, man/**/*.trs, src/tests/*.log, and src/tests/*.trs. * autogen.sh: Drop gnulib/gets.patch backport. * gnulib/gets.patch: Remove. * configure.ac (AM_INIT_AUTOMAKE): Set minimum Automake version to 1.11. Add parallel-tests option for compatibility with 1.11. * man/Rules.man (TESTS_ENVIRONMENT): Move to ... (LOG_COMPILER): ... this. * src/tests/Makefile.am (TESTS_ENVIRONMENT): Rewrite as a list of variable exports rather than as a command prefix, for compatibility with parallel-tests.
* * Version: 2.6.3.Colin Watson2012-09-17
|
* Stop distributing .tar.gz, as promised in the release notes forColin Watson2012-09-17
| | | | | 2.6.2. * configure.ac (AM_INIT_AUTOMAKE): Add no-dist-gzip. * docs/man-db.lsm (Primary-site): Drop .tar.gz size.
* Backport Gnulib commit 66712c23388e93e5c518ebc8515140fa0c807348 toColin Watson2012-09-17
| | | | | | stop assuming gets. * gnulib/gets.patch: New file. * autogen.sh: Apply gnulib/gets.patch. * NEWS: Document this.
* Upgrade to Automake 1.11.6.Colin Watson2012-09-17
|
* * Version: 2.6.2.Colin Watson2012-06-18
| | | * man/po4a/po/man-db-manpages.pot, po/man-db.pot, po/*.po: Update.
* Upgrade to Autoconf 2.69, Automake 1.11.5, and GnulibColin Watson2012-06-18
| | | 20120404-stable.