1#!/bin/sh
2
3OUTFILE="$1"
4rm -f "$OUTFILE"
5> "$OUTFILE"
6
7# HP-UX friendly header/footer for all man pages
8if [ X"`uname 2>&1`" = X"HP-UX" ]; then
9    cat >>"$OUTFILE" <<-'EOF'
10	s/^\.TH \("[^"]*"\) \("[^"]*"\) "\([^"]*\)" "\([^"]*\)" \("[^"]*"\)/.TH \1 \2\
11	.ds )H \4\
12	.ds ]W \3/
13EOF
14fi
15
16# Page specific hacks
17case "$OUTFILE" in
18    sudo.man.sed)
19	# Replace "0 minutes" with "unlimited"
20	cat >>"$OUTFILE" <<-'EOF'
21		/^\\fR0\\fR$/ {
22			N
23			s/^\\fR0\\fR\nminutes\.$/unlimited./
24		}
25	EOF
26
27	# BSD auth
28	if [ X"$BAMAN" != X"1" ]; then
29	cat >>"$OUTFILE" <<-'EOF'
30		/^\[\\fB\\-a\\fR\\ \\fIauth_type\\fR/d
31		/^\\fB\\-a\\fR \\fItype\\fR$/,/^\.TP 12n$/ {
32			/^\.PD$/!d
33		}
34	EOF
35	fi
36
37	# BSD login class
38	if [ X"$LCMAN" != X"1" ]; then
39	cat >>"$OUTFILE" <<-'EOF'
40		/^\[\\fB\\-c\\fR\\ \\fIclass\\fR/d
41		/^\\fB\\-c\\fR \\fIclass\\fR$/,/^\.TP 12n$/ {
42			/^\.PD$/!d
43		}
44		/^login_cap(3),$/d
45		/^BSD login class$/ {
46			N
47			N
48			/^BSD login class\n\.TP 4n\n\\fBo\\fR$/d
49		}
50	EOF
51	fi
52
53	# SELinux
54	if [ X"$SEMAN" != X"1" ]; then
55	cat >>"$OUTFILE" <<-'EOF'
56		/^\[\\fB\\-[rt]\\fR\\ \\fI[rt][oy][lp]e\\fR/d
57		/^\\fB\\-[rt]\\fR \\fI[rt][oy][lp]e\\fR$/,/^\.TP 12n$/ {
58			/^\.PD$/!d
59		}
60		/^SELinux role and type$/ {
61			N
62			N
63			/^SELinux role and type\n\.TP 4n\n\\fBo\\fR$/d
64		}
65	EOF
66	fi
67
68	# Solaris privileges
69	if [ X"$PSMAN" != X"1" ]; then
70	cat >>"$OUTFILE" <<-'EOF'
71		/^Solaris project$/ {
72			N
73			N
74			N
75			N
76			N
77			/^Solaris project\n\.TP 4n\n\\fBo\\fR\nSolaris privileges\n\.TP 4n\n\\fBo\\fR$/d
78		}
79	EOF
80	fi
81		;;
82    sudoers.man.sed)
83	# BSD login class
84	if [ X"$LCMAN" != X"1" ]; then
85		cat >>"$OUTFILE" <<-EOF
86			/^On BSD systems/,/\.$/ {
87				d
88			}
89			/^use_loginclass$/,/^\.TP 18n$/ {
90				/^\.PD$/!d
91			}
92		EOF
93	fi
94
95	# SELinux
96	if [ X"$SEMAN" != X"1" ]; then
97		cat >>"$OUTFILE" <<-EOF
98			s/SELinux_Spec? //
99			/^SELinux_Spec ::=/ {
100				N
101				d
102			}
103			/^\.SS "SELinux_Spec"/,/^\.SS/{;/^\.SS "[^S][^E][^L]/!d;};
104			/^[rt][oy][lp]e$/,/^\.TP 18n$/ {
105				/^\.PD$/!d
106			}
107		EOF
108	fi
109	;;
110esac
111