Up to [cvsweb.bsd.lv] / mandoc
Request diff between arbitrary revisions
Default branch: MAIN
Revision 1.28 / (download) - annotate - [select for diffs], Mon Jun 30 11:24:30 2025 UTC (46 minutes, 41 seconds ago) by schwarze
Branch: MAIN
CVS Tags: HEAD
Changes since 1.27: +64 -6 lines
Diff to previous 1.27 (colored) to selected 1.26 (colored)
Reuse the existing socket pair as a backchannel from mandocd(8) to catman(8). This is needed because catman(8) can pass messages to mandocd(8) much faster than mandocd(8) can process them: to file a new message, catman(8) does not need to do much more than one call to fts_read(3), wheres mandocd(8) needs to read, parse, and format the whole file in response. So unprocessed messages pile up in the kernel, each of them containing three file descriptors in flight, ultimately resulting in catman(8) dying with: catman: FATAL: sendmsg: Too many open files The catman(8) program cannot find out on its own how far mandocd(8) has progressed, so mandocd(8) has to tell it. Each time mandocd(8) accepts a message from catman(8), it now sends a one-byte message back. When catman(8) has the number of files in flight that it considers acceptable, it does a blocking recv(3), such that no more files get sent until at least one has been accepted. As soon as it gets one message back, catman(8) then does further non-blocking recv(3)s until they no longer succeed, to reduce the count of files in flight as much as possible before returning to sending more files. When processing is complete or aborted, catman(8) waits for the remaining files to be accepted before exiting. Debugging output related to this feature is available with -vv.
Revision 1.27 / (download) - annotate - [select for diffs], Mon Jun 30 01:44:28 2025 UTC (10 hours, 26 minutes ago) by schwarze
Branch: MAIN
Changes since 1.26: +44 -3 lines
Diff to previous 1.26 (colored)
Signal handling for catman(8). This is useful for doing a clean shutdown, including printing the summary messages at the end, when we get SIGHUP, SIGINT, SIGPIPE, or SIGTERM. Besides, when we catch SIGCHLD, we no longer need to try sendmsg(3), which avoids SIGPIPE in some cases. Since the child may die between the time we check whether we got a signal and time we issue the next sendmsg(3), it does not always prevent SIGPIPE, so SIGPIPE handling is still necessary.
Revision 1.26 / (download) - annotate - [selected], Sun Jun 29 23:51:40 2025 UTC (12 hours, 19 minutes ago) by schwarze
Branch: MAIN
Changes since 1.25: +11 -3 lines
Diff to previous 1.25 (colored)
implement and document verbose mode
Revision 1.25 / (download) - annotate - [select for diffs], Sun Jun 29 23:21:07 2025 UTC (12 hours, 50 minutes ago) by schwarze
Branch: MAIN
Changes since 1.24: +15 -3 lines
Diff to previous 1.24 (colored) to selected 1.26 (colored)
more detailed error reporting about wrong numbers of arguments
Revision 1.24 / (download) - annotate - [select for diffs], Sun Jun 29 20:47:01 2025 UTC (15 hours, 24 minutes ago) by schwarze
Branch: MAIN
Changes since 1.23: +71 -20 lines
Diff to previous 1.23 (colored) to selected 1.26 (colored)
Improve error reporting: * After starting the iteration, print "FATAL" on fatal errors. * Report the numbers of failed files and directories. * Specific messages about some additional FTS_* types. * During the iteration, flush stderr after non-fatal errors. * More rigourously check the snprintf(3) return value. * Improve the wording of some messages.
Revision 1.23 / (download) - annotate - [select for diffs], Fri Oct 15 15:04:02 2021 UTC (3 years, 8 months ago) by schwarze
Branch: MAIN
Changes since 1.22: +2 -2 lines
Diff to previous 1.22 (colored) to selected 1.26 (colored)
better error message if mandocd is not found
Revision 1.22 / (download) - annotate - [select for diffs], Sun Jun 14 23:40:31 2020 UTC (5 years ago) by schwarze
Branch: MAIN
CVS Tags: VERSION_1_14_6
Changes since 1.21: +2 -2 lines
Diff to previous 1.21 (colored) to selected 1.26 (colored)
Make the ./configure script simpler, more robust, and 23 lines shorter: * three rather than four arguments for singletest() * let runtest() support testing two variants of compiler flags * always report a failed test, even when another test follows * run all tests before detecting fatal conditions * rename HAVE_CMSG_XPG42 to NEED_XPG4_2 for consistency * consistently use braces for shell variable interpolation * drop archaic "X${" syntax and unusual "==" in string comparisons
Revision 1.21 / (download) - annotate - [select for diffs], Sat Feb 18 12:24:24 2017 UTC (8 years, 4 months ago) by schwarze
Branch: MAIN
CVS Tags: VERSION_1_14_5,
VERSION_1_14_4,
VERSION_1_14_3,
VERSION_1_14_2,
VERSION_1_14_1
Changes since 1.20: +1 -5 lines
Diff to previous 1.20 (colored) to selected 1.26 (colored)
proper test for O_DIRECTORY
Revision 1.20 / (download) - annotate - [select for diffs], Fri Feb 17 14:31:52 2017 UTC (8 years, 4 months ago) by schwarze
Branch: MAIN
Changes since 1.19: +3 -3 lines
Diff to previous 1.19 (colored) to selected 1.26 (colored)
Be consistent in protecting __attribute__ attributes with __; from Christos Zoulas <christos @ NetBSD>.
Revision 1.19 / (download) - annotate - [select for diffs], Thu Feb 16 15:12:32 2017 UTC (8 years, 4 months ago) by schwarze
Branch: MAIN
Changes since 1.18: +3 -3 lines
Diff to previous 1.18 (colored) to selected 1.26 (colored)
Provide a variable BINM_CATMAN. Suggested by Michael <Stapelberg@debian.org>.
Revision 1.18 / (download) - annotate - [select for diffs], Thu Feb 9 20:53:33 2017 UTC (8 years, 4 months ago) by schwarze
Branch: MAIN
Changes since 1.17: +4 -3 lines
Diff to previous 1.17 (colored) to selected 1.26 (colored)
same as mandocdb.c rev. 1.196: for portability, use (char *)NULL in execlp(3) as discussed on tech@ OpenBSD (didn't blow up anywhere yet, but better safe than sorry)
Revision 1.17 / (download) - annotate - [select for diffs], Thu Feb 9 18:46:44 2017 UTC (8 years, 4 months ago) by schwarze
Branch: MAIN
Changes since 1.16: +5 -1 lines
Diff to previous 1.16 (colored) to selected 1.26 (colored)
Illumos doesn't have O_DIRECTORY. Work around that for now, may fix it better after the 1.14.1 release. Portability issue reported by Sevan Janiyan <venture37 at geeklan dot co dot uk>.
Revision 1.16 / (download) - annotate - [select for diffs], Wed Feb 8 16:11:40 2017 UTC (8 years, 4 months ago) by schwarze
Branch: MAIN
Changes since 1.15: +5 -1 lines
Diff to previous 1.15 (colored) to selected 1.26 (colored)
config glue for recvmsg(2) and CMSG_FIRSTHDR(3); needed for Solaris 11
Revision 1.15 / (download) - annotate - [select for diffs], Wed Feb 8 14:50:53 2017 UTC (8 years, 4 months ago) by schwarze
Branch: MAIN
Changes since 1.14: +19 -2 lines
Diff to previous 1.14 (colored) to selected 1.26 (colored)
sendmsg(3) may block, so retry
Revision 1.14 / (download) - annotate - [select for diffs], Mon Feb 6 19:02:37 2017 UTC (8 years, 4 months ago) by schwarze
Branch: MAIN
Changes since 1.13: +41 -16 lines
Diff to previous 1.13 (colored) to selected 1.26 (colored)
Polishing: * support -Ios= * create missing directories * fix output file permissions * error out on comminication failures I now consider this good enough for a first release. Bugs and missing features are still likely, though.
Revision 1.13 / (download) - annotate - [select for diffs], Sat Feb 4 12:03:07 2017 UTC (8 years, 4 months ago) by schwarze
Branch: MAIN
Changes since 1.12: +156 -455 lines
Diff to previous 1.12 (colored) to selected 1.26 (colored)
experimental mandocd(8) and catman(8) for development in the tree, not yet ready for production
Revision 1.11.2.3, Tue Aug 5 00:42:53 2014 UTC (10 years, 10 months ago) by schwarze
Branch: VERSION_1_12
Changes since 1.11.2.2: +1 -1 lines
FILE REMOVED
Remove the old man.cgi. Running that would not be a responsible thing to do, nowadays.
Revision 1.11.2.2 / (download) - annotate - [select for diffs], Fri Oct 11 00:06:48 2013 UTC (11 years, 8 months ago) by schwarze
Branch: VERSION_1_12
CVS Tags: VERSION_1_12_3
Changes since 1.11.2.1: +2 -2 lines
Diff to previous 1.11.2.1 (colored) to branchpoint 1.11 (colored) to selected 1.26 (colored)
Thomas Klausner <wiz at NetBSD dot org> finally succeeded to build on SmartOS and sent these additional patches, thanks!
Revision 1.11.2.1 / (download) - annotate - [select for diffs], Sat Oct 5 20:30:05 2013 UTC (11 years, 8 months ago) by schwarze
Branch: VERSION_1_12
Changes since 1.11: +1 -4 lines
Diff to previous 1.11 (colored) to selected 1.26 (colored)
Cleanup suggested by gcc-4.8.1, following hints by Christos Zoulas: - avoid bad qualifier casting in roff.c, roff_parsetext() by changing the mandoc_escape arguments to "const char const **" - avoid bad qualifier casting in mandocdb.c, index_merge() - do not complain about unused variables in test-*.c - garbage collect a few unused variables elsewhere
Revision 1.12, Sat Jun 9 11:27:38 2012 UTC (13 years ago) by kristaps
Branch: MAIN
Changes since 1.11: +1 -1 lines
FILE REMOVED
Remove catman(8): it's superfluous. Users of man.cgi should be able to just copy in their directories and have the CGI fine everything on its own or just suck it up or, in the cases of multiple manroots, have a simple config file. Besides, now that mandocdb(8) is using relative paths for everything, needing a fancy "cp -R" is silly.
Revision 1.11 / (download) - annotate - [select for diffs], Fri Jun 8 10:33:48 2012 UTC (13 years ago) by kristaps
Branch: MAIN
CVS Tags: VERSION_1_12_2
Branch point for: VERSION_1_12
Changes since 1.10: +3 -2 lines
Diff to previous 1.10 (colored) to selected 1.26 (colored)
Use size_t in catman to match manpath.h. Note this file will not be connected to the build for a little while as I get the new sqlite3 stuff in.
Revision 1.10 / (download) - annotate - [select for diffs], Tue Jan 3 15:17:20 2012 UTC (13 years, 5 months ago) by kristaps
Branch: MAIN
CVS Tags: VERSION_1_12_1
Changes since 1.9: +2 -2 lines
Diff to previous 1.9 (colored) to selected 1.26 (colored)
Local variable initialisation.
Revision 1.9 / (download) - annotate - [select for diffs], Sun Dec 25 17:49:52 2011 UTC (13 years, 6 months ago) by kristaps
Branch: MAIN
Changes since 1.8: +24 -10 lines
Diff to previous 1.8 (colored) to selected 1.26 (colored)
Continue changing mandoc.{index,db} into whatis.{index,db}. Use mandocdb.h to do so.
Revision 1.8 / (download) - annotate - [select for diffs], Sun Dec 18 18:51:01 2011 UTC (13 years, 6 months ago) by kristaps
Branch: MAIN
Changes since 1.7: +8 -4 lines
Diff to previous 1.7 (colored) to selected 1.26 (colored)
Give catman(8) the -C flag (like apropos and friends) and merge in some documentation from apropos(1) to be consistent.
Revision 1.7 / (download) - annotate - [select for diffs], Fri Dec 16 12:06:35 2011 UTC (13 years, 6 months ago) by kristaps
Branch: MAIN
Changes since 1.6: +9 -8 lines
Diff to previous 1.6 (colored) to selected 1.26 (colored)
Make the stored "cat"/"mdoc"/"man" strings just be c/d/a single-character bytes. This cuts down a little in index size and allows for cleaner extraction of information.
Revision 1.6 / (download) - annotate - [select for diffs], Fri Dec 16 08:04:34 2011 UTC (13 years, 6 months ago) by kristaps
Branch: MAIN
Changes since 1.5: +25 -24 lines
Diff to previous 1.5 (colored) to selected 1.26 (colored)
Make paths in the mandocdb(8) index relative to the databases' path prefix. This means that an index in, say, /usr/share/man will point to man1/foo.1 instead of /usr/share/man/man1/foo.1. Not only does this save a lot of space, it also allows manual trees to be moved around without any side effects to the mandocdb(8) databases.
Revision 1.5 / (download) - annotate - [select for diffs], Mon Dec 12 02:00:49 2011 UTC (13 years, 6 months ago) by schwarze
Branch: MAIN
Changes since 1.4: +2 -2 lines
Diff to previous 1.4 (colored) to selected 1.26 (colored)
implement -C (alternative config file) for apropos(1) and mandocdb(8), including various tweaks to the whatis(8) manual; ok kristaps@
Revision 1.4 / (download) - annotate - [select for diffs], Thu Dec 8 00:20:52 2011 UTC (13 years, 6 months ago) by kristaps
Branch: MAIN
Changes since 1.3: +34 -114 lines
Diff to previous 1.3 (colored) to selected 1.26 (colored)
First, remove the catman(8) jobstart() stuff. It only copies files. Second, when creating the destination filename, append the index's file (which is an absolute path) to the cache directory, not to the index's directory name.
Revision 1.3 / (download) - annotate - [select for diffs], Sun Dec 4 22:52:50 2011 UTC (13 years, 6 months ago) by kristaps
Branch: MAIN
Changes since 1.2: +28 -16 lines
Diff to previous 1.2 (colored) to selected 1.26 (colored)
Make catman and man.cgi understand the index type-field. Also make catman's man.conf be generated as catman.conf to avoid clobbering a real man.conf file. Finally, add a placeholder catman() function to man.cgi for preformatted manuals in the cache.
Revision 1.2 / (download) - annotate - [select for diffs], Sun Nov 27 11:46:44 2011 UTC (13 years, 7 months ago) by kristaps
Branch: MAIN
Changes since 1.1: +13 -5 lines
Diff to previous 1.1 (colored) to selected 1.26 (colored)
Removing INSECURE mode. This is a work in progress! Logic for formatting manpages is now linked into man.cgi.
Revision 1.1 / (download) - annotate - [select for diffs], Sat Nov 26 19:54:13 2011 UTC (13 years, 7 months ago) by kristaps
Branch: MAIN
Diff to selected 1.26 (colored)
Rename manup(8) to catman(8), which Linux already uses for a similar tool.