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>