From c4d64d2903f9181cab55c2b83626039642312c24 Mon Sep 17 00:00:00 2001 From: Franco Fichtner Date: Sat, 5 Oct 2013 03:27:24 +0200 Subject: [PATCH] man(1): fix build and adapt for DragonFly swildner suggested to get rid of the cat* magic, so let's try this out for mandoc(1). Still not hooked up to the build, but ready for testing. Don't forget to manually install etc/man.conf to your system. --- etc/man.conf | 31 ++++++++++--------------------- usr.bin/man/Makefile | 4 ---- usr.bin/man/man.1 | 4 +--- usr.bin/man/man.c | 16 ++++++---------- usr.bin/man/man.conf.5 | 2 +- 5 files changed, 18 insertions(+), 39 deletions(-) diff --git a/etc/man.conf b/etc/man.conf index 8c8ab92768..00bb27a4d4 100644 --- a/etc/man.conf +++ b/etc/man.conf @@ -7,7 +7,7 @@ _version BSD.2 _mandb /var/db/man.db # Subdirectories for paths ending in '/', IN SEARCH ORDER. -_subdir cat1 man1 cat8 man8 cat6 man6 cat2 man2 cat3 man3 cat4 man4 cat5 man5 cat7 man7 man3f cat9 man9 catn mann catl manl +_subdir man1 man8 man6 man2 man3 man4 man5 man7 man9 # Files typed by suffix and their commands. # Note the order, .Z must come after .[1-9].Z, or it will match first. @@ -27,8 +27,6 @@ _build .tbl.bz2 /usr/bin/bzcat %s | /usr/bin/mandoc _build .tbl.gz /usr/bin/zcat %s | /usr/bin/mandoc _build .tbl.xz /usr/bin/xzcat %s | /usr/bin/mandoc -_build .me /usr/bin/nroff -msafer -me %s 2>/dev/null | cat -s - _crunch .Z /usr/bin/zcat > %s _crunch .bz2 /usr/bin/bzcat > %s _crunch .gz /usr/bin/zcat > %s @@ -48,21 +46,12 @@ packages /usr/pkg/man/ local /usr/local/man/ # Specific section/directory combinations. -1 {cat,man}1 -2 {cat,man}2 -3 {cat,man}3 -3F {cat,man}3f -3f {cat,man}3f -4 {cat,man}4 -5 {cat,man}5 -6 {cat,man}6 -7 {cat,man}7 -8 {cat,man}8 -9 {cat,man}9 -l {cat,man}l -n {cat,man}n - -# machine classes per machine -_i386 x86 -_amd64 x86 -_sparc64 sparc +1 man1 +2 man2 +3 man3 +4 man4 +5 man5 +6 man6 +7 man7 +8 man8 +9 man9 diff --git a/usr.bin/man/Makefile b/usr.bin/man/Makefile index 8219957c91..05c76389ed 100644 --- a/usr.bin/man/Makefile +++ b/usr.bin/man/Makefile @@ -1,14 +1,10 @@ # $NetBSD: Makefile,v 1.14 2013/07/19 04:17:02 uwe Exp $ # @(#)Makefile 8.1 (Berkeley) 6/6/93 -WARNS?= 6 - PROG= man SRCS= man.c manconf.c MAN= man.1 man.conf.5 -COPTS.man.c += -Wno-format-nonliteral - DPADD+= ${LIBUTIL} LDADD+= -lutil diff --git a/usr.bin/man/man.1 b/usr.bin/man/man.1 index 3433fede52..ef1a8f781e 100644 --- a/usr.bin/man/man.1 +++ b/usr.bin/man/man.1 @@ -29,7 +29,7 @@ .\" .\" @(#)man.1 8.2 (Berkeley) 1/2/94 .\" -.Dd October 7, 2011 +.Dd October 5, 2013 .Dt MAN 1 .Os .Sh NAME @@ -235,8 +235,6 @@ default man configuration file. .Nm conforms to .St -xcu5 . -.\"and is expected to conform to -.\".St -p1003.2-?? . .Sh BUGS The on-line man pages are, by necessity, forgiving toward stupid display devices, causing a few man pages to be not as nicely formatted diff --git a/usr.bin/man/man.c b/usr.bin/man/man.c index bc83a0b368..7e5343c565 100644 --- a/usr.bin/man/man.c +++ b/usr.bin/man/man.c @@ -114,10 +114,10 @@ static void cat(const char *); static const char *check_pager(const char *); static int cleanup(void); static void how(const char *); -static void jump(char **, const char *, const char *) __dead; +static void jump(char **, const char *, const char *) __dead2; static int manual(char *, struct manstate *, glob_t *); -static void onsig(int) __dead; -static void usage(void) __dead; +static void onsig(int); +static void usage(void) __dead2; static void addpath(struct manstate *, const char *, size_t, const char *); static const char *getclass(const char *); static void printmanpath(struct manstate *); @@ -905,7 +905,7 @@ jump(char **argv, const char *flag, const char *name) { char **arg; - argv[0] = __UNCONST(name); + argv[0] = __DECONST(char *, name); for (arg = argv + 1; *arg; ++arg) if (!strcmp(*arg, flag)) break; @@ -922,13 +922,9 @@ jump(char **argv, const char *flag, const char *name) static void onsig(int signo) { - (void)cleanup(); - - (void)raise_default_signal(signo); - - /* NOTREACHED */ - exit(EXIT_FAILURE); + signal(signo, SIG_DFL); + raise(signo); } /* diff --git a/usr.bin/man/man.conf.5 b/usr.bin/man/man.conf.5 index 4d5f8032de..0a2827543c 100644 --- a/usr.bin/man/man.conf.5 +++ b/usr.bin/man/man.conf.5 @@ -29,7 +29,7 @@ .\" .\" @(#)man.conf.5 8.5 (Berkeley) 1/2/94 .\" -.Dd April 28, 2012 +.Dd October 5, 2013 .Dt MAN.CONF 5 .Os .Sh NAME -- 2.41.0