diff options
-rw-r--r-- | usr.sbin/catman/Makefile | 6 | ||||
-rw-r--r-- | usr.sbin/catman/TODO | 2 | ||||
-rw-r--r-- | usr.sbin/catman/catman.8 | 104 | ||||
-rw-r--r-- | usr.sbin/catman/catman.c | 270 | ||||
-rw-r--r-- | usr.sbin/catman/pathnames.h | 36 |
5 files changed, 0 insertions, 418 deletions
diff --git a/usr.sbin/catman/Makefile b/usr.sbin/catman/Makefile deleted file mode 100644 index dc5dbb686ca..00000000000 --- a/usr.sbin/catman/Makefile +++ /dev/null @@ -1,6 +0,0 @@ -# $OpenBSD: Makefile,v 1.3 2001/07/20 20:12:04 mickey Exp $ - -PROG= catman -MAN= catman.8 - -.include <bsd.prog.mk> diff --git a/usr.sbin/catman/TODO b/usr.sbin/catman/TODO deleted file mode 100644 index 3b498a27c5d..00000000000 --- a/usr.sbin/catman/TODO +++ /dev/null @@ -1,2 +0,0 @@ -Use man.conf -Handle hard-linked manpages. diff --git a/usr.sbin/catman/catman.8 b/usr.sbin/catman/catman.8 deleted file mode 100644 index f683c8aa398..00000000000 --- a/usr.sbin/catman/catman.8 +++ /dev/null @@ -1,104 +0,0 @@ -.\" $OpenBSD: catman.8,v 1.6 2003/06/12 12:59:50 jmc Exp $ -.\" -.\" Copyright (c) 1993 Winning Strategies, Inc. -.\" All rights reserved. -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in the -.\" documentation and/or other materials provided with the distribution. -.\" 3. All advertising materials mentioning features or use of this software -.\" must display the following acknowledgement: -.\" This product includes software developed by Winning Strategies, Inc. -.\" 4. The name of the author may not be used to endorse or promote products -.\" derived from this software without specific prior written permission -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR -.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES -.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. -.\" IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, -.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT -.\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -.\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF -.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -.\" -.Dd July 30, 1993 -.Dt CATMAN 8 -.Os -.Sh NAME -.Nm catman -.Nd format cat pages from man pages -.Sh SYNOPSIS -.Nm catman -.Op Fl knpsw -.Op Fl M Ar directory -.Op Ar sections -.Sh DESCRIPTION -.Nm -creates formatted versions of the on-line manual pages from their -.Xr nroff 1 -source. -Manual pages whose formatted versions are missing or out of date are -regenerated. -If manual pages are regenerated, -.Nm -also regenerates the -.Xr whatis 1 -database. -.Pp -The optional -.Ar sections -argument is one word, and contains the section numbers of all the -sections to be checked. -For example, if -.Ar sections -is -.Dq 138 , -the -manual pages in sections 1, 3, and 8 will be checked and regenerated. -If no -.Ar sections -argument is provided, -.Nm -will try to operate on all of the known manual sections. -.Pp -The options are as follows: -.Bl -tag -width Ds -.It Fl k -Ignore errors from -.Xr nroff 1 -when building man pages. -.It Fl n -Do not create the -.Xr whatis 1 -database. -.It Fl p -Display the commands that would have been executed, but do not actually -execute them. -.It Fl s -Perform work silently; do not echo commands as they are executed. -This flag is ignored if -.Fl p -is also specified. -.It Fl w -Only create the -.Xr whatis 1 -database. -.It Fl M Ar directory -Update manual pages in -.Ar directory . -.El -.Sh SEE ALSO -.Xr apropos 1 , -.Xr man 1 , -.Xr whatis 1 -.Sh BUGS -Currently knows nothing about -.Pa /etc/man.conf -and machine specific man pages. diff --git a/usr.sbin/catman/catman.c b/usr.sbin/catman/catman.c deleted file mode 100644 index a73cd478c6f..00000000000 --- a/usr.sbin/catman/catman.c +++ /dev/null @@ -1,270 +0,0 @@ -/* $OpenBSD: catman.c,v 1.8 2007/03/20 04:00:32 tedu Exp $ */ -/* - * Copyright (c) 1993 Winning Strategies, Inc. - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by Winning Strategies, Inc. - * 4. The name of the author may not be used to endorse or promote products - * derived from this software without specific prior written permission - * - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES - * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. - * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF - * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -#ifndef lint -static char rcsid[] = "$Id: catman.c,v 1.8 2007/03/20 04:00:32 tedu Exp $"; -#endif /* not lint */ - -#include <sys/types.h> -#include <sys/stat.h> -#include <sys/wait.h> -#include <dirent.h> -#include <err.h> -#include <errno.h> -#include <limits.h> -#include <stdio.h> -#include <stdlib.h> -#include <string.h> -#include <unistd.h> -#include <paths.h> - -#include "pathnames.h" - -int f_nowhatis; -int f_noaction; -int f_noformat; -int f_ignerr; -int f_noprint; - -int dowhatis; - -char *mp = _PATH_MAN; -char *sp = _MAN_SECTIONS; - -void usage(void); -void catman(const char *, char *); -void makewhatis(const char *); -void dosystem(const char *); - -int -main(int argc, char **argv) -{ - int c; - - while ((c = getopt(argc, argv, "knpswM:")) != -1) { - switch (c) { - case 'k': - f_ignerr = 1; - break; - case 'n': - f_nowhatis = 1; - break; - case 'p': - f_noaction = 1; - break; - case 's': - f_noprint = 1; - break; - case 'w': - f_noformat = 1; - break; - case 'M': - mp = optarg; - break; - - case '?': - default: - usage(); - } - } - - argc -= optind; - argv += optind; - - if (f_noprint && f_noaction) - f_noprint = 0; - - if (argc > 1) - usage(); - if (argc == 1) - sp = *argv; - - if (f_noformat == 0 || f_nowhatis == 0) - catman(mp, sp); - if (f_nowhatis == 0 && dowhatis) - makewhatis(mp); - - exit(0); -} - - -void -catman(const char *path, char *section) -{ - char mandir[PATH_MAX]; - char catdir[PATH_MAX]; - char manpage[PATH_MAX]; - char catpage[PATH_MAX]; - char sysbuf[1024]; - struct stat manstat; - struct stat catstat; - struct dirent *dp; - DIR *dirp; - char *s, *tmp; - int sectlen, error; - - for (s = section; *s; s += sectlen) { -#ifdef notdef - tmp = s; - sectlen = 0; - if (isdigit(*tmp)) { - sectlen++; - tmp++; - while (isdigit(*tmp) == 0) { - sectlen++; - tmp++; - } - } -#else - sectlen = 1; -#endif - if (sectlen == 0) - errx(1, "malformed section string"); - - snprintf(mandir, sizeof mandir, "%s/%s%.*s", path, - _PATH_MANPAGES, sectlen, s); - snprintf(catdir, sizeof catdir, "%s/%s%.*s", path, - _PATH_CATPAGES, sectlen, s); - - if ((dirp = opendir(mandir)) == 0) { - warn("can't open %s", mandir); - continue; - } - - if (stat(catdir, &catstat) < 0) { - if (errno != ENOENT) { - warn("can't stat %s", catdir); - closedir(dirp); - continue; - } - if (f_noprint == 0) - printf("mkdir %s\n", catdir); - if (f_noaction == 0 && mkdir(catdir, 0755) < 0) { - warn("can't create %s", catdir); - closedir(dirp); - return; - } - - } - - while ((dp = readdir(dirp)) != NULL) { - if (strcmp(dp->d_name, ".") == 0 || - strcmp(dp->d_name, "..") == 0) - continue; - - snprintf(manpage, sizeof manpage, "%s/%s", - mandir, dp->d_name); - snprintf(catpage, sizeof catpage, "%s/%s", - catdir, dp->d_name); - if ((tmp = strrchr(catpage, '.')) != NULL) - strlcpy(tmp, ".0", catpage + sizeof catpage - tmp); - else - continue; - - if (stat(manpage, &manstat) < 0) { - warn("can't stat %s", manpage); - continue; - } - - if (!S_ISREG(manstat.st_mode)) { - warnx("not a regular file %s", manpage); - continue; - } - if ((error = stat(catpage, &catstat)) && - errno != ENOENT) { - warn("can't stat %s", catpage); - continue; - } - - if ((error && errno == ENOENT) || - manstat.st_mtime >= catstat.st_mtime) { - if (f_noformat) - dowhatis = 1; - else { - /* - * manpage is out of date, - * reformat - */ - snprintf(sysbuf, sizeof sysbuf, - "nroff -mandoc %s > %s", - manpage, catpage); - if (f_noprint == 0) - printf("%s\n", sysbuf); - if (f_noaction == 0) - dosystem(sysbuf); - dowhatis = 1; - } - } - } - closedir(dirp); - } -} - -void -makewhatis(const char *path) -{ - char sysbuf[1024]; - - snprintf(sysbuf, sizeof sysbuf, "%s %s", _PATH_MAKEWHATIS, path); - if (f_noprint == 0) - printf("%s\n", sysbuf); - if (f_noaction == 0) - dosystem(sysbuf); -} - -void -dosystem(const char *cmd) -{ - int status; - - if ((status = system(cmd)) == 0) - return; - - if (status == -1) - err(1, "cannot execute action"); - if (WIFSIGNALED(status)) - errx(1, "child was signaled to quit. aborting"); - if (WIFSTOPPED(status)) - errx(1, "child was stopped. aborting"); - if (f_ignerr == 0) - errx(1,"*** Exited %d", status); - warnx("*** Exited %d (continuing)", status); -} - -void -usage(void) -{ - extern char *__progname; - - (void)fprintf(stderr, - "usage: %s [-knpsw] [-M manpath] [sections]\n", __progname); - exit(1); -} diff --git a/usr.sbin/catman/pathnames.h b/usr.sbin/catman/pathnames.h deleted file mode 100644 index c0e15939b75..00000000000 --- a/usr.sbin/catman/pathnames.h +++ /dev/null @@ -1,36 +0,0 @@ -/* - * Copyright (c) 1994 Christopher G. Demetriou - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by Christopher G. Demetriou. - * 4. The name of the author may not be used to endorse or promote products - * derived from this software without specific prior written permission - * - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES - * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. - * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF - * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * $Id: pathnames.h,v 1.1 1995/10/18 08:47:29 deraadt Exp $ - */ - -#define _MAN_SECTIONS "12345678" /* l, n, o, and p, too? */ -#define _PATH_MAKEWHATIS "/usr/libexec/makewhatis" -#define _PATH_MANPAGES "man" -#define _PATH_CATPAGES "cat" |