| Commit message (Collapse) | Author | Age |
| |
|
|
|
|
|
|
|
|
|
|
| |
Thanks to Ferenc Wágner. Fixes https://bugs.debian.org/1052221.
* init/systemd/man-db.service.in: Remove call to `find`; this is already
handled equivalently by `init/systemd/man-db.conf.in`, and having both
can result in error messages due to the two cleanups running
concurrently.
* NEWS.md: Document this.
|
|
|
|
|
|
|
| |
* NEWS.md, docs/INSTALL.quick: Update libpipeline URLs to
<https://libpipeline.gitlab.io/libpipeline/>.
* docs/INSTALL.quick: Update flex URL to
<https://github.com/westes/flex>.
|
|
|
|
|
|
|
|
|
| |
Fixes https://gitlab.com/man-db/man-db/-/issues/18.
* man/man1/man.man1: Without `-l`, we only fall back to interpreting
arguments as local file names if they contain a slash. Explain this
more accurately.
* NEWS.md: Document this.
|
| |
|
| |
|
|
|
|
|
|
| |
* man/po4a/po/*.pot, man/po4a/po/*.po, po/man-db.pot, po/*.po: Update.
* NEWS.md: Bump next version to 2.12.0.
* configure.ac: Update version and date.
|
|
|
|
|
|
|
|
| |
Fixes https://bugs.debian.org/1041704.
* src/man.c (get_roff_line_length): Remove `line_length != 80`
condition.
* NEWS.md: Document this.
|
|
|
|
|
| |
* bootstrap.conf (gnulib_modules): Add `year2038-recommended`.
* NEWS.md: Document this.
|
|
|
|
|
|
|
|
|
|
|
| |
Fixes https://gitlab.com/man-db/man-db/-/issues/13.
* src/man.c (do_extern): Pass `-r` or `-w` options to the external
program if necessary.
* man/man1/man.man1 (Main modes of operation): Document that `-f` and
`-k` are still only approximately equivalent to `whatis` and `apropos`
respectively (since `man` accepts slightly different options).
* NEWS.md: Document this.
|
|
|
|
|
|
|
|
|
| |
* bootstrap: Sync to Gnulib b7f7ed06961454cdf77b93c6c00c3e3f26202663.
* bootstrap.conf (GNULIB_REVISION): Set to
b7f7ed06961454cdf77b93c6c00c3e3f26202663.
* src/tests/Makefile.am (fspause_LDADD): Link with `$(NANOSLEEP_LIB)`
instead of `$(LIB_NANOSLEEP)`.
* NEWS.md: Document this.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Fixes https://gitlab.com/man-db/man-db/-/issues/23. Thanks to G.
Branden Robinson for assistance.
* src/man.c (make_roff_command) [TROFF_IS_GROFF]: Implement
`--no-hyphenation` using `-rHY=0`. This requires groff >= 1.19,
released in 2003.
(disable_hyphenation): Only define if `TROFF_IS_GROFF` is not defined.
(display): Only use the more complex hyphenation-control mechanism if
`TROFF_IS_GROFF` is not defined.
* src/man.c (disable_justification): Implement using `.ds AD l` if groff
is at least version 1.23.0.
(display): Adjust debugging output to reflect this (more or less).
* NEWS.md: Document this.
|
|
|
|
|
|
|
|
| |
Fixes https://gitlab.com/man-db/man-db/-/issues/14.
* man/man1/man.man1 (Main modes of operation): Document false negatives
due to things like `\-`.
* NEWS.md: Document this.
|
|
|
|
|
|
|
| |
Fixes https://gitlab.com/man-db/man-db/-/issues/20.
* man/man1/man.man1 (STANDARDS): New section.
* NEWS.md: Document this.
|
|
|
|
|
|
|
|
|
|
| |
This is in line with `man-pages(7)`.
See https://gitlab.com/man-db/man-db/-/issues/20.
* man/man1/man.man1 (DESCRIPTION): Recommend `STANDARDS` rather than
`CONFORMING TO`.
* NEWS.md: Document this.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Part of https://gitlab.com/man-db/man-db/-/issues/25.
* configure.ac: Substitute `HAVE_ICONV`.
* src/tests/Makefile.am (TESTS_ENVIRONMENT): Export `HAVE_ICONV`.
* src/tests/testlib.sh (report_skip): New function to skip an individual
test out of several in a file.
(skip): Refactor slightly to call `report_skip`.
* src/tests/man-recode-in-place, src/tests/man-recode-suffix,
src/tests/manconv-coding-tags, src/tests/manconv-guess-from-encoding,
src/tests/manconv-incomplete-char-at-eof,
src/tests/manconv-odd-combinations: Skip several tests if `HAVE_ICONV`
is not `yes`.
* NEWS.md: Document this.
|
| |
|
|
|
|
|
|
|
|
|
| |
Fixes https://gitlab.com/man-db/man-db/-/issues/17.
* src/mandb.c (main): If effective user ID doesn't match the configured
cache owner (if any), and the `--quiet` option wasn't used, then issue a
warning.
* NEWS.md: Document this.
|
|
|
|
|
|
|
|
|
| |
Reported by Alejandro Colomar.
* src/man.c (do_global_apropos_section): Skip entries whose ultimate
source path have already been seen.
(do_global_apropos): Create/free set used to track seen entries.
* NEWS.md: Document this.
|
|
|
|
|
|
|
|
| |
Fixes https://gitlab.com/man-db/man-db/-/issues/15.
* lib/sandbox.c (make_seccomp_filter): Allow some socket-related system
calls if libfirebuild.so is preloaded.
* NEWS.md: Document this.
|
|
|
|
|
|
|
| |
* bootstrap: Sync to Gnulib 32a72f45374c9a36afa574d1a08bb98090270012.
* bootstrap.conf (GNULIB_REVISION): Set to
32a72f45374c9a36afa574d1a08bb98090270012.
* NEWS.md: Document this.
|
|
|
|
|
|
|
|
|
|
|
| |
* lib/sandbox.c (make_seccomp_filter): Add `cacheflush`,
`clock_getres_time64`, `clock_nanosleep_time64`, `close_range`,
`clone3`, `epoll_pwait2`, `faccessat2`, `futex_time64`, `pidfd_open`,
`pidfd_send_signal`, `ppoll_time64`, `pselect6_time64`,
`riscv_flush_icache`, `rt_sigtimedwait_time64`, and `utimensat_time64`.
Reorganize positions of some other syscalls according to their positions
in systemd's sets.
* NEWS.md: Document this.
|
| |
|
|
|
|
|
|
|
|
| |
* src/mandb.c (mandb): Require the database file to be open before
calling `straycats`, but don't require `create_db` or
`update_db_wrapper` to have made any changes to it.
* src/tests/mandb-whatis-broken-link-changes: Update expected output.
* NEWS.md: Document this.
|
|
|
|
|
|
|
|
|
| |
Regression introduced in man-db 2.11.0. Fixes Debian bug #1027487.
* src/straycats.c (check_for_stray): Pass a basic trace list to
`store_descriptions`, since that's required as of commit
d3e4b5522ae8152f10db0bb98e6873c9cc17ed59.
* NEWS.md: Document this.
|
|
|
|
|
|
|
| |
* src/man.c (try_section): Only free the `names` list if it is non-NULL
due to `NROFF_MISSING` being defined, and return early if options are
set such that cat files cannot be used either.
* NEWS.md: Document this.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Fixes https://gitlab.com/man-db/man-db/-/issues/12.
* src/man.c (ONLY_TROFF_IS_GROFF): Only define if `HAS_TROFF` is
defined.
(init_html_pager): Only define if `TROFF_IS_GROFF` is defined.
(format_display): Mark `man_file` as unused if `TROFF_IS_GROFF` is not
defined.
* configure.ac: Substitute `troff_is_groff`.
* src/tests/Makefile.am (TESTS_ENVIRONMENT): Export `troff_is_groff`.
* src/tests/man-language-specific-requests: Adjust expected
language-specific requests if `troff_is_groff` is not `yes`.
* NEWS.md: Document this.
|
| |
|
|
|
|
|
|
|
|
|
|
| |
* README.md, docs/HACKING.md, man/man1/apropos.man1,
man/man1/lexgrog.man1, man/man1/man-recode.man1, man/man1/man.man1,
man/man1/manconv.man1, man/man1/manpath.man1, man/man1/whatis.man1,
man/man1/zsoelim.man1, man/man5/manpath.man5, man/man8/accessdb.man8,
man/man8/catman.man8, man/man8/mandb.man8: Change GitLab URL to
https://gitlab.com/man-db/man-db.
* NEWS.md: Document this.
|
|
|
|
|
|
|
|
|
|
|
| |
Jakub Wilk points out in Debian bug #1021951 that attempting to use the
`--use-backslash` option has a number of complications. Just replace
dollar signs with question marks instead.
* include/manconfig.h (LESS_OPTS): Revert addition of `--use-backslash`.
* src/man.c: Replace `$` characters with `?` rather than trying to
escape them.
* NEWS.md: Document this.
|
|
|
|
|
|
| |
* src/lexgrog.l (hu_name): Handle the case where "É" or "é" is written
as "\('E" or "\('e".
* NEWS.md: Document this.
|
|
|
|
|
|
|
|
|
|
| |
I think this makes more sense in most cases, and it definitely fixes
some observed odd behaviour.
Fixes Debian bug #780235.
* src/man.c (compare_candidates): Compare IDs before comparing sections.
* NEWS.md: Document this.
|
|
|
|
|
|
|
|
|
|
| |
Fixes https://gitlab.com/cjwatson/man-db/-/issues/8.
* src/check_mandirs.c (ensure_db_open): Don't call `gripe_rwopen_failed`
before returning false (since it only makes sense for one of the two
callers).
(testmandirs): Call `gripe_rwopen_failed` if `ensure_db_open` returns
false.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This is used by the Linux man-pages package, and should be lower
priority than section 2. Suggested by Alejandro Colomar.
Fixes https://gitlab.com/cjwatson/man-db/-/issues/5.
* include/manconfig.h (STD_SECTIONS): Add `3type` between sections `2`
and `5`.
* m4/man-arg-sections.m4 (MAN_ARG_SECTIONS): Likewise.
* man/man5/manpath.man5 (FORMAT): Update documentation of SECTION.
* src/tests/man-exact-section-matches: Update default section order.
* src/man_db.conf.in (SECTION): Update documentation.
* NEWS.md: Document this.
|
|
|
|
|
|
|
|
| |
Fixes Debian bug #1021951.
* include/manconfig.h (LESS_OPTS): Add `--use-backslash`.
* src/man.c (escape_less): Also escape `$` characters.
* NEWS.md: Document this.
|
| |
|
|
|
|
|
|
| |
* src/Makefile.am (install-exec-hook): Add `$(EXEEXT)` to
`chown`/`chmod` calls.
* NEWS.md: Document MinGW portability work.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
We have no particular reason to trust the order of filters in a
preprocessor string specified in a page; it's easy for authors to get
this wrong by accident. Do as groff(1) does and run them in a
canonicalized order.
Fixes Debian bug #1012078.
* src/man.c (add_filter): New function, split out from
`make_roff_command`.
(make_roff_command): Iterate through possible preprocessors and add each
one depending on whether it's present in the preprocessor string, rather
than iterating through the preprocessor string and acting on each of its
characters. Turn several `int` variables into `bool` variables in
passing.
* NEWS.md: Document this.
|
|
|
|
|
|
|
| |
There are quite a few substantial changes here that I think justify an
updated minor number.
* NEWS.md: Bump to 2.11.0.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This allows us to produce bitwise-identical databases regardless of the
order in which pages were scanned (at least with GDBM).
`gdbm_reorganize` isn't enough for this, probably because entries end up
in different positions in hash buckets depending on insertion order; but
reading in the entire database and writing it back out in sorted order
seems to do the job with negligible cost.
Fixes Debian bug #1010957.
* src/mandb.c (reorganize): New function: read all the items from a
database in sorted order and write them back out.
(mandb): Stop calling `MYDBM_REORG`, which saved space after deletions
but didn't help with reproducibility.
(process_manpath): Call `reorganize` if any changes were made to a
database.
* libdb/mydbm.h (MYDBM_REORG): Remove macro.
* NEWS.md: Document this.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This produced inconsistent results in some unusual cases. For example,
if `/usr/share/man/man5/inetd.conf.5.gz` was a symlink to
`/usr/share/man/man8/inetd.8.gz` and had `NAME` entries for both `inetd`
and `inetd.conf`, then if `inetd.8.gz` was scanned first we would
include a `WHATIS_MAN` entry in section 8 for `inetd.conf`, while if
`inetd.conf.5.gz` was scanned first we'd skip that due to hitting the
already-exists check when scanning `inetd.8.gz`.
This was originally a performance optimization. Now that we cache the
results of `ult_src` and `find_name`, this optimization no longer helps
us much, so it can go.
* src/check_mandirs.c (test_manfile): Don't return early if the page
already exists with matching details.
* NEWS.md: Document this.
|
|
|
|
|
|
|
|
|
|
|
| |
An existing `SO_MAN` entry shouldn't stop us considering a page for
insertion into the database, because until we run `ult_src` we don't yet
know whether that page will be `ULT_MAN` (which should replace the
existing entry) or `SO_MAN` (which shouldn't).
* src/check_mandirs.c (test_manfile): Don't return early due to an
existing matching `SO_MAN` entry, but only due to an `ULT_MAN` entry.
* NEWS.md: Document this.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
These rules were previously ambiguous such that the targets of whatis
entries depended on the order in which files were scanned.
* libdb/db_store.c (enum replace_action): Add.
(replace_if_necessary): Extend rules for greater stability. We now also
take mtimes and pointers into account, as well as including a case for
when the new ID is weaker than the old one (there was already a case for
when it was stronger).
(dbstore): Use `replace_if_necessary` when considering replacing multi
keys.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
In some cases this resulted in spurious database entries. For example,
if `man5/inetd.conf.5` was a symlink to `man8/inetd.8` and that page had
a `NAME` entry for `inetd`, then as well as entries for `inetd` in
section 8 and `inetd.conf` in section 5, we would also store a spurious
entry for `inetd` in section 5. We no longer do that.
* src/descriptions_store.c (store_descriptions): For names corresponding
to entries in the ultimate source trace and not to the base name of the
file, use the section and extension of the trace entry rather than of
the ultimate source.
|
|
|
|
|
|
|
|
|
|
|
| |
We don't want the targets of whatis entries in the database to depend on
the order in which files were scanned. Prefer the first name in the
trace out of those that have the best ID.
* src/descriptions_store.c (store_descriptions): Defer adding names that
don't appear in the ultimate source trace (i.e. whatis entries) until we
know the best name to use as the target, and use that best name as the
pointer for each of them.
|
|
|
|
|
|
|
|
|
|
|
|
| |
Database entries for links were often incorrectly stored as `ULT_MAN`,
depending on the exact order in which pages were scanned. They are now
stored more consistently as `SO_MAN`.
* src/descriptions_store.c (store_descriptions): Override the ID from
`ULT_MAN` to `SO_MAN` if the name is not the last entry in the trace.
(Previously we overrode from `SO_MAN` to `ULT_MAN` if the name was the
last entry in the trace, but not the converse.)
* NEWS.md: Document this.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This is a step towards being able to reproduce the same database given
the same manual page tree.
* bootstrap.conf (gnulib_modules): Add stpcpy.
* libdb/db_lookup.c (name_ext_equals): Remove static; add pure
attribute.
(name_ext_compare): New function.
(list_extensions): Add entries in sorted order.
* libdb/db_storage.h (name_ext_equals, name_ext_compare): Add
prototypes.
* libdb/db_store.c (make_extensions_reference): New function.
(dbstore): When building or updating multi key references, maintain them
in sorted order.
* NEWS.md: Document this.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Otherwise setting `CATWIDTH` to something larger than 80 confusingly
doesn't work unless you also set `MAXCATWIDTH`.
Fixes https://gitlab.com/cjwatson/man-db/-/issues/9.
* src/man.c (add_roff_line_length): Skip terminal width range check if
`cat_width` is set.
* man/man5/manpath.man5 (FORMAT): Remove note that `CATWIDTH` should be
within the range set by `MINCATWIDTH` and `MAXCATWIDTH`, and instead say
that it overrides them.
* NEWS.md: Document this.
|
|
|
|
|
|
| |
* src/lexgrog.l (bg_name, lt_name, ru_name, sr_name, srlatin_name,
tr_name, uk_name, vi_name): Add more case variants.
* NEWS.md: Document this.
|
|
|
|
|
|
|
|
|
| |
Fixes https://gitlab.com/cjwatson/man-db/-/issues/6.
* bootstrap: Sync to Gnulib df336dc1ae60d8ad9f452f2234951133fe617bb0.
* bootstrap.conf (GNULIB_REVISION): Set to
df336dc1ae60d8ad9f452f2234951133fe617bb0.
* NEWS.md: Document build fix.
|