Annotation of embedaddon/sudo/doc/fixman.sh, revision 1.1.1.1
1.1 misho 1: #!/bin/sh
2:
3: OUTFILE="$1"
4: rm -f "$OUTFILE"
5: > "$OUTFILE"
6:
7: # HP-UX friendly header/footer for all man pages
8: if [ 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/
13: EOF
14: fi
15:
16: # Page specific hacks
17: case "$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: # Subsections to remove (SELinux and Solaris are adjacent)
84: RM_SS=
85: if [ X"$PSMAN" != X"1" ]; then
86: if [ X"$SEMAN" != X"1" ]; then
87: RM_SS='/^\.SS "SELinux_Spec"/,/^\.SS "[^S]/{;/^\.SS "[^S][^o][^l]/!d;};'
88: else
89: RM_SS='/^\.SS "Solaris_Priv_Spec"/,/^\.SS/{;/^\.SS "[^S][^o][^l]/!d;};'
90: fi
91: elif [ X"$SEMAN" != X"1" ]; then
92: RM_SS='/^\.SS "SELinux_Spec"/,/^\.SS/{;/^\.SS "[^S][^E][^L]/!d;};'
93: fi
94: if [ -n "$RM_SS" ]; then
95: cat >>"$OUTFILE" <<-EOF
96: $RM_SS
97: EOF
98: fi
99:
100: # BSD login class
101: if [ X"$LCMAN" != X"1" ]; then
102: cat >>"$OUTFILE" <<-EOF
103: /^On BSD systems/,/\.$/ {
104: d
105: }
106: /^use_loginclass$/,/^\.TP 18n$/ {
107: /^\.PD$/!d
108: }
109: EOF
110: fi
111:
112: # Solaris PrivSpec
113: if [ X"$PSMAN" != X"1" ]; then
114: cat >>"$OUTFILE" <<-EOF
115: s/Solaris_Priv_Spec? //
116: /^Solaris_Priv_Spec ::=/ {
117: N
118: d
119: }
120: /^l*i*m*i*t*privs$/,/^\.TP 18n$/ {
121: /^\.PD$/!d
122: }
123: /^On Solaris 10/,/^\.[sP][pP]/ {
124: d
125: }
126: EOF
127: fi
128:
129: # SELinux
130: if [ X"$SEMAN" != X"1" ]; then
131: cat >>"$OUTFILE" <<-EOF
132: s/SELinux_Spec? //
133: /^SELinux_Spec ::=/ {
134: N
135: d
136: }
137: /^[rt][oy][lp]e$/,/^\.TP 18n$/ {
138: /^\.PD$/!d
139: }
140: EOF
141: fi
142: ;;
143: esac
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>