File:  [ELWIX - Embedded LightWeight unIX -] / embedaddon / sudo / doc / fixman.sh
Revision 1.1.1.1 (vendor branch): download - view: text, annotated - select for diffs - revision graph
Tue Oct 9 09:29:52 2012 UTC (11 years, 9 months ago) by misho
Branches: sudo, MAIN
CVS tags: v1_8_6p3, HEAD
sudo

    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
  144: 

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>