summaryrefslogtreecommitdiff
path: root/configure.ac
Commit message (Collapse)AuthorAge
...
* * Version: 2.8.5.Colin Watson2019-01-05
|
* Upgrade to Gnulib 20190105Colin Watson2019-01-05
| | | | | | | | | | | | | | In line with Gnulib, we now require Autoconf 2.63 and Automake 1.11.2. * bootstrap: Sync to Gnulib d271f868a8df9bbec29049d01e056481b7a1a263. * bootstrap.conf (GNULIB_REVISION): Set to d271f868a8df9bbec29049d01e056481b7a1a263. (buildreq): Bump required autoconf version to 2.63 and required automake version to 1.11.2. * configure.ac (AM_SILENT_RULES, AM_PROG_AR): Remove conditionals, which were there for Automake 1.10 support. (AC_PREREQ): Bump to 2.63. * NEWS: Document this.
* Use tar --sort=name if availableColin Watson2019-01-05
| | | | | * m4/man-tar-sort-name.m4: New file. * configure.ac: Call MAN_TAR_SORT_NAME.
* Ship a systemd timer for daily DB maintenanceColin Watson2018-12-06
| | | | | | | | | | | | | | | Thanks to Christian Göttsche. Fixes Debian bug #858022. * m4/man-arg-systemdsystemunitdir.m4: New file. * configure.ac: Accept --with-systemdsystemunitdir option. * init/systemd/Makefile.am (EXTRA_DIST): Add man-db.service.in. (CLEANFILES): Add man-db.service. (systemdsystemunit_DATA): Install man-db.timer. (nodist_systemdsystemunit_DATA): Install man-db.service. (man-db.service): New rule. * init/systemd/man-db.service.in, init/systemd/man-db.timer: New files. * .gitignore: Add init/systemd/man-db.service. * NEWS: Document this.
* Add Portuguese manual page translationColin Watson2018-10-21
| | | | | | | | | | | | | * man/po4a/po/pt.po: New from Translation Project (thanks, Pedro Albuquerque). * configure.ac (AC_CONFIG_FILES): Add man/pt/Makefile. * man/LINGUAS.po4a: Add pt. * man/Makefile.am (DIST_SUBDIRS): Add pt. * man/pt/Makefile.am, man/pt/translator.add: New files. * man/po4a/Makefile.am (POFILES): Add po/pt.po. * man/po4a/po4a.cfg (po4a_langs): Add pt. * man/THANKS: Add translator credit. * .gitignore: Add man/pt/man1, man/pt/man5, and man/pt/man8.
* Fail to configure if flex is needed but missingColin Watson2018-08-20
| | | | | | | | | Fixes Savannah bug #54541. * configure.ac: Issue an error if AC_PROG_LEX didn't find a lexer generator and either src/lexgrog.c or src/zsoelim.c is missing (as may be the case when building from a git clone rather than a released tarball).
* * Version: 2.8.4.Colin Watson2018-07-27
|
* Upgrade to Gnulib 20180527Colin Watson2018-05-29
| | | | | | | | | | | | | | | | * bootstrap.conf (GNULIB_URL): Remove. (GNULIB_REVISION): Set to 90f289f249a266b1afb9c63e182f5d979d17df5f. (gnulib_modules): Replace gettext with gettext-h. (gnulib_tool_option_extras): Remove --no-cache-modules (accidental leftover from earlier testing). (local_gl_dir): Set to 'gnulib-local' to avoid confusion with 'gl' as the local output directory. Remove 'rm -rf gl' hack, now superseded. (buildreq): Bump minimum autopoint and gettext versions to 0.18.3, matching previous change to configure.ac. * configure.ac (AM_PROG_AR, LT_INIT): Move below gl_EARLY. * patches/argp-domain.patch: Rebase. * src/tests/Makefile.am (TESTS_ENVIRONMENT): Remove use of @LOCALCHARSET_TESTS_ENVIRONMENT@, which is no longer needed by Gnulib.
* Switch to bootstrapColin Watson2018-05-28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* * Version: 2.8.3.Colin Watson2018-04-05
|
* * Version: 2.8.2.Colin Watson2018-02-28
|
* * Version: 2.8.1.Colin Watson2018-02-09
|
* * Version: 2.8.0.Colin Watson2018-02-04
|
* * Version: 2.8.0-pre2.Colin Watson2018-01-22
|
* * Version: 2.8.0-pre1.Colin Watson2018-01-21
|
* 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.
* Improve --with-systemdtmpfilesdir defaultColin Watson2017-07-16
| | | | | | | * m4/man-arg-systemdtmpfilesdir.m4: Get tmpfiles directory location from pkg-config. * configure.ac: Call PKG_PROG_PKG_CONFIG early to avoid problems with conditional use of PKG_* macros.
* Add Turkish manual page translationColin Watson2017-07-11
| | | | | | | | | | | | | * man/po4a/po/tr.po: New from Translation Project (thanks, Volkan Gezer and Mesutcan Kurt). * configure.ac (AC_CONFIG_FILES): Add man/tr/Makefile. * man/LINGUAS.po4a: Add tr. * man/Makefile.am (DIST_SUBDIRS): Add tr. * man/tr/Makefile.am, man/tr/translator.add: New files. * man/po4a/Makefile.am (POFILES): Add po/tr.po. * man/po4a/po4a.cfg (po4a_langs): Add tr. * man/THANKS: Add translator credit. * .gitignore: Add man/tr/man1, man/tr/man5, and man/tr/man8.
* Add Brazilian Portuguese manual page translationColin Watson2017-01-04
| | | | | | | | | | | | | * man/po4a/po/pt_BR.po: New from Translation Project (thanks, Rafael Fontenelle). * configure.ac (AC_CONFIG_FILES): Add man/pt_BR/Makefile. * man/LINGUAS.po4a: Add pt_BR. * man/Makefile.am (DIST_SUBDIRS): Add pt_BR. * man/pt_BR/Makefile.am, man/pt_BR/translator.add: New files. * man/po4a/Makefile.am (POFILES): Add po/pt_BR.po. * man/po4a/po4a.cfg (po4a_langs): Add pt_BR. * man/THANKS: Add translator credit. * .gitignore: Add man/pt_BR/man1, man/pt_BR/man5, and man/pt_BR/man8.
* Add Serbian manual page translationColin Watson2016-12-19
| | | | | | | | | | | | | * man/po4a/po/sr.po: New from Translation Project (thanks, Мирослав Николић). * configure.ac (AC_CONFIG_FILES): Add man/sr/Makefile. * man/LINGUAS.po4a: Add sr. * man/Makefile.am (DIST_SUBDIRS): Add sr. * man/sr/Makefile.am, man/sr/translator.add: New files. * man/po4a/Makefile.am (POFILES): Add po/sr.po. * man/po4a/po4a.cfg (po4a_langs): Add sr. * man/THANKS: Add translator credit. * .gitignore: Add man/sr/man1, man/sr/man5, and man/sr/man8.
* * Version: 2.7.6.1.Colin Watson2016-12-12
|
* * Version: 2.7.6.Colin Watson2016-12-11
|
* Eliminate dangerous setgid-root directoriesColin Watson2016-12-10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | man-db has created its cache directories as setgid root for nearly 20 years. This seems to have originated in https://bugs.debian.org/26002. However, this has some dangerous consequences, such as: http://www.halfdog.net/Security/2015/SetgidDirectoryPrivilegeEscalation/ It seems best to arrange for cache files and directories to be man:man rather than man:root. To do this reliably, as well as adjusting various chown and chmod calls, we make man and mandb be setgid man as well as setuid man (except in the --disable-setuid case). This is a much simpler and safer solution to the original problem, and doesn't introduce any interesting new privilege since the man group's only real purpose is to be the man user's primary group and nothing in cache directories is group-writeable. * configure.ac (AC_CHECK_FUNCS): Add lchown. * lib/security.c (init_security): Record initial real and effective group IDs as well as user IDs. (drop_effective_privs, regain_effective_privs): Update gid. * lib/xchown.c (xlchown) [HAVE_LCHOWN]: New function. * lib/xchown.c (xlchown) [HAVE_LCHOWN]: Add prototype. * m4/man-arg-setuid.m4: Set man_mode to 6755 rather than 4755 in the --enable-setuid case. * src/Makefile.am (install-exec-hook): Check for man_mode being 6755 rather than 4755. Set the group of man and mandb as well as their owner. * src/check_mandirs.c (chown_if_possible): New function. This is somewhat more careful than previous implementations, changes the group as well as the user if possible, and prefers lchown if it is available. (mkcatdirs): Drop S_ISGID from cat directories. Use chown_if_possible. (fix_permissions, fix_permissions_tree): New functions to remove setgid bit from existing cat directories. (testmandirs): Call fix_permissions_tree. * src/check_mandirs.h (chown_if_possible): Add prototype. * src/man.c (commit_tmp_cat): Set cat file group as well as owner. * src/mandb.c (check_chown): Remove. (do_chown): Stop taking a uid parameter. Use chown_if_possible. (mandb): Use chown_if_possible for CACHEDIR.TAG. Set ownership and permissions of CACHEDIR.TAG even if it already exists. (process_manpath): Set ownership of database files even if they have not been changed.
* 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).
* Add Swedish manual page translationColin Watson2016-01-02
| | | | | | | | | | | | | * man/po4a/po/sv.po: New from Translation Project (thanks, Sebastian Rasmussen). * configure.ac (AC_CONFIG_FILES): Add man/sv/Makefile. * man/LINGUAS.po4a: Add sv. * man/Makefile.am (DIST_SUBDIRS): Add sv. * man/sv/Makefile.am, man/sv/translator.add: New files. * man/po4a/Makefile.am (POFILES): Add po/sv.po. * man/po4a/po4a.cfg (po4a_langs): Add sv. * man/THANKS: Add translator credit. * .gitignore: Add man/sv/man1, man/sv/man5, and man/sv/man8.
* * Version: 2.7.5.Colin Watson2015-11-06
|
* * Version: 2.7.4.Colin Watson2015-10-08
|
* * Version: 2.7.3.Colin Watson2015-09-09
|
* Squeeze blank lines internally instead of pager -sRafael Kitover2015-08-30
| | | | | | | | | | | | | Add a pipecmd in make_display_command to combine multiple blank lines in the output into one, which is what e.g. less -s does. Stop automatically appending -s to pager command in configure. Fixes Debian bug #796584. * configure.ac: Stop automatically appending -s to pager command. * src/man.c (squeeze_blank_lines): New function. (make_display_command): Add squeeze_blank_lines to display pipeline.
* * Version: 2.7.2.Colin Watson2015-08-16
|
* Allow using GDBM's NDBM compatibility layerColin Watson2015-04-08
| | | | | | | This isn't very useful in practice since anyone using this could just use GDBM directly instead, but it's helpful for testing. * configure.ac: Check for gdbm-ndbm.h and libgdbm_compat.
* Allow building from git without gnulib-toolColin Watson2014-11-16
| | | | | | | | | | | | | | | | Since we don't want to keep Gnulib translations in revision control, we need gnulib-tool on $PATH when generating the build system in order to fetch them, but it's unnecessarily awkward to require everyone to have this just in order to build man-db from git. Allow building without this, although it is still required for "make dist". * configure.ac: No longer issue an error if gnulib/po/Makefile.in.in is missing. Instead, set the Automake conditional HAVE_GNULIB_PO to true if and only if gnulib/po/POTFILES.in exists, and only create gnulib/po/Makefile.in if gnulib/po/Makefile.in.in exists. * Makefile.am (SUBDIRS): Only include gnulib/po if HAVE_GNULIB_PO is true.
* * Version: 2.7.1.Colin Watson2014-11-07
|
* Make man run correctly from a deleted directoryColin Watson2014-10-27
| | | | | | | | | | | | | | | | | | | | | | | | | 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.
* * 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
|
* * Version: 2.7.0-pre1.Colin Watson2014-09-16
|
* 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.
* Simplify <dirent.h> handling using GnulibColin Watson2014-09-13
| | | | | | | | | * 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.
* 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".
* 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
|
* Run the pager in man's original working directoryColin Watson2014-03-26
| | | | | | | | | Reported by Peng Yu. * src/man.c (make_display_command): Set pager_cmd's working directory to man's original working directory. * configure.ac: Require libpipeline >= 1.3.0. * NEWS: Document this.
* Move Autotools auxiliary build files from tools to build-aux.Colin Watson2014-02-20
| | | | | This keeps man-db's own tools separate, reducing confusion, and "build-aux" is a more conventional location for the Autotools files.
* * 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.