summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJason McIntyre <jmc@cvs.openbsd.org>2007-05-15 21:45:20 +0000
committerJason McIntyre <jmc@cvs.openbsd.org>2007-05-15 21:45:20 +0000
commit463e83d906496d852454a1e6f6ea2457949a061e (patch)
treeea6835be7778a51f00c5ae7a3b245b1a0d02c2c5
parent9b07a5dce5267f0aa733cdc711da304e9937153e (diff)
nothing uses catman, so kill it; ok millert deraadt
-rw-r--r--usr.sbin/catman/Makefile6
-rw-r--r--usr.sbin/catman/TODO2
-rw-r--r--usr.sbin/catman/catman.8104
-rw-r--r--usr.sbin/catman/catman.c270
-rw-r--r--usr.sbin/catman/pathnames.h36
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"