#! /bin/sh set -e # Check command line. if test ! -d "$1" || test $# != 1; then cat <&2 "$0: $1 not found in \$PATH, please install and try again" exit 1 } search_path man search_path ps2pdf # Create dist-docs directory. distdir=dist-docs abs_distdir=`pwd`/dist-docs rm -rf $distdir mkdir $distdir # Install manpages. ${MAKE-make} install-man install-man-rst mandir="$abs_distdir"/man (cd $distdir && mv `find man -type f` . && rm -rf man) manpages=`cd $distdir && echo *` # Start writing index.html. exec 3>$distdir/index.html cat >&3 < Open vSwitch $VERSION Documentation

Open vSwitch $VERSION Manpages

EOF # Add manpages to index.html, translating them into PDF, HTML, and plain text. # The HTML is just slightly marked up from the plain text version; although # groff supports better HTML output, on my system some of the OVS manpages # cause the groff HTML output engine to segfault (!). (cd $distdir for manpage in $manpages; do man -l -Tps $manpage | ps2pdf - > $manpage.pdf GROFF_NO_SGR=1 man -l -Tutf8 $manpage | sed 's/.//g' > $manpage.txt (echo '
'
      GROFF_NO_SGR=1 man -l -Tutf8 $manpage | sed '
# Change bold and underline via backspacing into bracketing with control
# characters.  We cannot directly translate them to HTML because <> need
# to be escaped later.  (We cannot escape <> first because bold or
# underlined escaped characters would be mis-processed.)
s,\(.\)\1,\1,g
s,_\(.\),\1,g

# Drop redundant font changes, to keep from having every character have
# a separate tag pair.
s,,,g
s,,,g

# Escape special characters.
s,&,\&,g
s,<,\<,g
s,>,\>,g

# Translate control characters to HTML.
s,,,g
s,,,g
s,,,g
s,,,g
'
      echo '
' ) > $manpage.html name=`echo $manpage | sed 's/\.\([0-9]\)$/(\1)/'` echo " " done ) >&3 cat >&3 < EOF # Create CSS style file. cat >$distdir/style.css <<'EOF' div { vertical-align:top; } p { vertical-align:baseline; } a { text-decoration: none; font-weight: 700; } a:hover { color:#444; } a:visited { color:#447099; } a:link { color:#447099; } body { font-family: Arial,Helvetica,sans-serif; font-size: 14px; line-height: 1.5em; color: #444; background-color:#f5f5f5; } EOF
$namePDF, HTML, plain text