| Commit message (Collapse) | Author | Age |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
We no longer keep autogenerated files in git.
* .gitignore: Add **/Makefile, **/Makefile.in, /ABOUT-NLS, /aclocal.m4,
/build-aux, /config.h.in, /configure, /gl, /gnulib,
docs/INSTALL.autoconf, po/Makefile.in.in, po/Makevars, po/Rules-quot,
po/boldquot.sed, po/en@boldquot.header, po/en@quot.header,
po/insert-header.sin, po/quot.sed, and po/remove-potcdate.sin. Remove
docs/Makefile, gnulib/*, init/Makefile, init/systemd/Makefile,
lib/Makefile, libdb/Makefile, man/Makefile, man/*/Makefile,
manual/Makefile, po/Makefile, po/Makefile.in, src/Makefile,
src/tests/Makefile, and tools/Makefile.
* ABOUT-NLS, Makefile.in, aclocal.m4, autogen.sh, build-aux,
config.h.in, configure, docs/INSTALL.autoconf, docs/Makefile.in, gnulib,
init/Makefile.in, init/systemd/Makefile.in, lib/Makefile.in,
libdb/Makefile.in, man/Makefile.in, man/da/Makefile.in,
man/de/Makefile.in, man/es/Makefile.in, man/fr/Makefile.in,
man/id/Makefile.in, man/it/Makefile.in, man/ja/Makefile.in,
man/nl/Makefile.in, man/pl/Makefile.in, man/po4a/Makefile.in,
man/pt_BR/Makefile.in, man/ru/Makefile.in, man/sr/Makefile.in,
man/sv/Makefile.in, man/tr/Makefile.in, man/zh_CN/Makefile.in,
manual/Makefile.in, po/Makefile.in.in, po/Makevars, po/Rules-quot,
po/boldquot.sed, po/en@boldquot.header, po/en@quot.header,
po/insert-header.sin, po/quot.sed, po/remove-potcdate.sin,
src/Makefile.in, src/tests/Makefile.in, tools/Makefile.in: Remove.
* bootstrap, bootstrap.conf: New files.
* Makefile.am (GNULIB_PO, SUBDIRS, EXTRA_DIST, ACLOCAL_AMFLAGS): Refer
to gl/ rather than gnulib/ (gnulib/ now contains pristine source).
(EXTRA_DIST): Replace autogen.sh with bootstrap and bootstrap.conf.
Replace gnulib/argp-domain.patch with patches/argp-domain.patch. Add
patches/fdutimens-hurd.patch. Remove gnulib/m4/gnulib-cache.m4 and
gnulib/m4/gnulib-tool.m4.
* gnulib/argp-domain.patch: Rename to ...
* patches/argp-domain.patch: ... this. Update target paths.
* gnulib/fdutimens-hurd.patch: Rename to ...
* patches/fdutimens-hurd.patch: ... this. Update target paths.
* configure.ac (AM_GNU_GETTEXT_VERSION): Upgrade to 0.18.3, for
compatibility with current Automake.
(HAVE_GNULIB_PO, AC_CONFIG_FILES): Refer to gl/ rather than gnulib/.
* lib/Makefile.am (libman_la_CPPFLAGS, libman_la_LIBADD): Likewise.
* libdb/Makefile.am (libmandb_la_CPPFLAGS): Likewise.
* src/Makefile.am (AM_CPPFLAGS, LIBMAN): Likewise.
* src/tests/Makefile.am (AM_CPPFLAGS, fspause_LDADD): Likewise.
* docs/HACKING: Describe new policy.
* release.sh: Call ./bootstrap rather than ./autogen.sh.
|
|
|
|
|
|
|
|
|
|
| |
Fixes Savannah bug #53575.
* m4/man-arg-cache-owner.m4: Set and substitute cache_top_owner.
* init/systemd/man-db.conf.in: Substitute cache_top_owner rather than
man_owner.
* init/systemd/Makefile.am (man-db.conf): Likewise.
* NEWS: Document this.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This avoids failures due to being unable to change back to the original
working directory.
Fixes Debian bug #894792.
* gnulib/m4/gnulib-cache.m4 (gl_MODULES): Remove save-cwd.
* src/man.c (make_display_command): Remove now-unnecessary code to run
the pager in the original working directory.
(chdir_commands): New function.
(format_display): Change directory just for format_cmd and disp_cmd
rather than in-process.
(display): Change directory just for format_cmd rather than in-process.
(main): Remove now-unnecessary code to save and restore the current
working directory.
* NEWS: Document this.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
| |
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).
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Fixes Debian bug #764384.
* gnulib: Import save-cwd module.
* src/man.c (make_display_command): Use pipecmd_fchdir rather than
pipecmd_chdir if the working directory was saved using a file
descriptor.
(format_display, main): Save current working directory using
save_cwd rather than xgetcwd.
(format_display, local_man_loop, main): Restore previous working
directory using restore_cwd rather than chdir.
* src/tests/man-10: New file.
* src/tests/Makefile.am (TESTS_ENVIRONMENT): Insert the parent
directory into $PATH using an absolute path rather than a relative
one. Export abs_top_builddir rather than top_builddir.
(ALL_TESTS): Add man-10.
* src/tests/testlib.sh (init): Set abstmpdir. Adjust tests to use
this where applicable.
(run): Call libtool using an absolute path.
(skip): Remove abstmpdir.
(finish): Remove abstmpdir rather than tmpdir.
* configure.ac: Require libpipeline >= 1.4.0.
* NEWS: Document this.
|
|
|
|
| |
Suggested by Peter Bray.
|
|
|
|
|
|
| |
* gnulib/fdutimens-hurd.patch: New file.
* autogen.sh: Apply gnulib/fdutimens-hurd.patch.
* NEWS: Document this.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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.
|
|
|
|
|
|
|
|
|
| |
* gnulib: Import dirent module.
* configure.ac: Remove obsolescent AC_HEADER_DIRENT macro.
* src/check_mandirs.c: Simplify a large conditional block to
"#include <dirent.h>".
* src/straycats.c: Likewise.
* src/ult_src.c: Likewise.
|
|
|
|
|
|
|
|
|
| |
* 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.
|
|
|
|
|
| |
This keeps man-db's own tools separate, reducing confusion, and
"build-aux" is a more conventional location for the Autotools files.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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.
|
| |
|
|
|
|
|
|
| |
* gnulib/argp-domain.patch: New file.
* autogen.sh: Apply gnulib/argp-domain.patch.
* NEWS: Document this.
|
| |
|
|
|
|
|
|
|
|
|
| |
* ChangeLog: Move to ...
* ChangeLog-2013: ... here.
* Makefile.am (EXTRA_DIST): Add ChangeLog-2013.
(dist-hook): Add gen-ChangeLog.
(gen-ChangeLog): New rule, based on that in coreutils.
* gnulib: Import gitlog-to-changelog module.
|
|
|
|
|
|
|
| |
* .gitignore: ... here, adjusting for differences between bzr and
git.
* Makefile.am (EXTRA_DIST): Replace .bzrignore with .gitignore.
* gnulib: Add --no-vc-files.
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
(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.
|
|
|
|
|
|
|
|
| |
* 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.
|
|
|
|
|
|
| |
stop assuming gets.
* gnulib/gets.patch: New file.
* autogen.sh: Apply gnulib/gets.patch.
* NEWS: Document this.
|
| |
|
|
|
| |
20120404-stable.
|
| |
|
|
|
|
|
|
|
| |
* configure.ac: Check for lzip. Don't test for lzma if lzip is
present, as was already the case for xz.
* include/comp_src.h.in (comp_list): Add lzip.
* include/manconfig.h.in: Define UNLZIP.
* NEWS: Document this.
|
|
|
| |
* gnulib: Import closedir, fstat, and opendir modules.
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
| |
* lib/Makefile.am (libman_la_SOURCES): Remove flock.h.
* lib/README: Remove flock.*.
* lib/flock.c, lib/flock.h: Remove.
|
|
|
|
| |
* gnulib: Import warnings module.
* configure.ac: Replace MAN_GCC_WARNING with gl_WARN_ADD.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* lib/security.c (do_system_drop_privs_child): New function.
(do_system_drop_privs): Rewrite using libpipeline.
* src/catman.c (post_fork): New function.
(catman): Rewrite using libpipeline.
(add_arg): Rewrite as a wrapper around pipecmd_arg.
(do_catman): Remove.
(reset_cursor): Remove.
(parse_for_sec): Use libpipeline for subprocess handling.
(main): Install custom post-fork handler.
* src/man.c (gripe_no_man) [_AIX || __sgi]: Rewrite vendor fallback
using libpipeline.
* src/Makefile.am (catman_LDADD): Add $(libpipeline_LIBS).
* src/catman.c (main): Duplicate the output of setlocale if
non-NULL.
* configure.ac (AC_FUNC_VFORK): Remove.
(AC_REPLACE_FUNCS): Remove waitpid.
* gnulib: Remove waitpid module.
* lib/README: Remove waitpid.c.
* lib/waitpid.c: Remove.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* lib/encodings.c (get_locale_charset): Check return value of
setlocale before passing to xstrdup.
(find_charset_locale): Likewise.
* lib/pathsearch.c (pathsearch): Check return value of getenv before
passing to xstrdup.
(pathsearch_executable): Likewise.
* lib/tempfile.c (create_tempdir): Adjust appendstr call to avoid
needing to pass return value of path_search to xstrdup.
* src/check_mandirs.c (test_manfile): Don't pass NULL lg.whatis to
xstrdup.
* src/descriptions.c (parse_descriptions): Don't pass NULL
head->whatis to xstrdup.
* src/man.c (main): Check return value of setlocale before passing
to xstrdup.
(add_col): Only call find_charset_locale if locale_charset is
non-NULL.
(add_candidate): Don't pass NULL ult to xstrdup.
* src/manp.c (read_config_file): Adjust appendstr call to avoid
needing to pass return value of getenv to xstrdup.
* src/whatis.c (do_apropos): Don't pass NULL info.whatis to xstrdup.
(main): Check return value of setlocale before passing to xstrdup.
* src/zsoelim.l (zsoelim_stdin_data_new): Don't pass NULL path to
xstrdup.
* Makefile.am (EXTRA_DIST): Remove gnulib/lib/xmalloc.c.orig and
gnulib/lib/xmalloc.patch.
* autogen.sh: Stop applying gnulib/lib/xmalloc.patch.
* gnulib/lib/xmalloc.c.orig, gnulib/lib/xmalloc.patch: Remove.
|