| Commit message (Collapse) | Author | Age |
|
|
|
|
| |
* docs/INSTALL.quick, NEWS, README: Use "*" for bullet points instead of
"o".
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
| |
* docs/INSTALL.quick: List a database library as required, and zlib as
recommended.
|
|
|
|
| |
* docs/INSTALL.quick: Bump minimum libpipeline version to 1.4.0.
|
|
|
|
| |
Needed to make the previous commit portable.
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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).
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
Suggested by Peter Bray.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
|
| |
* 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.
|
|
|
|
|
|
|
|
|
| |
* 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".
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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.
|
| |
|
|
|
|
|
|
|
| |
* docs/HACKING (Sending patches): Suggest 'git diff'.
(Revision control): Update for git. Remove comment about
ChangeLog handling for branches.
* NEWS: Document switch to git.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
| |
|
|
|
|
|
|
| |
(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.
|
|
|
|
|
|
| |
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.
|
|
|
| |
bullet list. Add flex >= 2.5.30.
|
|
|
|
|
|
|
|
| |
* 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.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* .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.
|
| |
|
|
|
|
|
| |
2.6.2.
* configure.ac (AM_INIT_AUTOMAKE): Add no-dist-gzip.
* docs/man-db.lsm (Primary-site): Drop .tar.gz size.
|
|
|
|
|
|
| |
stop assuming gets.
* gnulib/gets.patch: New file.
* autogen.sh: Apply gnulib/gets.patch.
* NEWS: Document this.
|
| |
|
|
|
| |
* man/po4a/po/man-db-manpages.pot, po/man-db.pot, po/*.po: Update.
|
|
|
| |
20120404-stable.
|