From 8552ab0f6699553a519a8f96d4356ac17f031230 Mon Sep 17 00:00:00 2001 From: ddomingo Date: Mon, 16 Mar 2009 18:32:11 +1000 Subject: almost done, script generates man pages of stapprobes based on what we add to Tapset_Reference_Guide --- doc/Tapset_Reference_Guide/manpager.sh | 103 +++++++++++++++++++++++++++++++++ 1 file changed, 103 insertions(+) create mode 100644 doc/Tapset_Reference_Guide/manpager.sh (limited to 'doc/Tapset_Reference_Guide/manpager.sh') diff --git a/doc/Tapset_Reference_Guide/manpager.sh b/doc/Tapset_Reference_Guide/manpager.sh new file mode 100644 index 00000000..9aede5c4 --- /dev/null +++ b/doc/Tapset_Reference_Guide/manpager.sh @@ -0,0 +1,103 @@ +#!/bin/bash +# This script builds the man pages from comments in tapsets. As such, the man page content +# generated herein should be in sync with Tapset Reference Guide + +# cleanup +rm -rf manpages + +# create working directory +mkdir manpages ; + +# create list of man pages to generate; should be in sync with Tapset Reference Guide +cat ../SystemTap_Tapset_Reference/tapsets.tmpl | grep ^\!Itapset > manpageus ; +sed -i -e 's/\!Itapset\///g' manpageus ; + +# copy list of man pages into working directory +for i in `cat manpageus` ; do cp ../../tapset/$i manpages ; done ; + +# enter workdir +# rm manpageus ; +cd manpages ; + +# copy tapsetdescriptions, then clean +for i in `ls`; do sed -n '/\/\/ /,/\/\/ <\/tapsetdescription>/ s/.*/&/w temp' < $i ; +mv temp $i.tapsetdescription ; +sed -i -e 's/\/\/ //g' $i.tapsetdescription ; +sed -i -e 's/\/\/ <\/tapsetdescription>//g' $i.tapsetdescription ; +sed -i -e 's/\/\///g' $i.tapsetdescription ; +done + +# strip all tapset files to just comments; but first, make sure all comments are exactly 1 space before * +for i in `ls | grep -v tapsetdescription` ; do sed -i -e 's/^ \*/ \*/g' $i; done ; +for i in `ls | grep -v tapsetdescription` ; do sed -i -e '/^ \*/!d' $i; done ; +# rename all tapsets (remove .stp filename suffix), create templates +for i in `ls | grep -v tapsetdescription` ; do echo $i > tempname ; sed -i -e 's/.stp//g' tempname ; mv $i `cat tempname` ; mv tempname $i ; done ; +# clean all tapsetdescriptions (remove excess spaces) +# for i in `ls | grep tapsetdescription` ; do perl -p -i -e 's|^\n||g' $i ; done ; + +for i in `ls | grep -v .stp | grep -v tapsetdescription` ; +do echo ".\" -*- nroff -*-" >> $i.template ; +echo ".TH STAPPROBES.manpagename 5 @DATE@ "IBM"" >> $i.template ; +echo ".SH NAME" >> $i.template ; +echo "stapprobes."`cat $i.stp`" \- systemtap "`cat $i.stp`" probe points" >> $i.template ; +echo " " >> $i.template ; +echo ".\" macros" >> $i.template ; +echo ".de SAMPLE" >> $i.template ; +echo ".br" >> $i.template ; +echo ".RS" >> $i.template ; +echo ".nf" >> $i.template ; +echo ".nh" >> $i.template ; +echo ".." >> $i.template ; +echo ".de ESAMPLE" >> $i.template ; +echo ".hy" >> $i.template ; +echo ".fi" >> $i.template ; +echo ".RE" >> $i.template ; +echo ".." >> $i.template ; +echo " " >> $i.template ; +echo ".SH DESCRIPTION" >> $i.template ; +cat $i.stp.tapsetdescription >> $i.template ; +echo ".P" >> $i.template ; +echo ".TP" >> $i.template ; +done + +for i in `ls | grep -v .stp | grep -v tapsetdescription | grep -v template` ; +do cp $i $i.manpagebody ; +perl -p -i -e 's| \* sfunction|.B|g' $i.manpagebody ; +perl -p -i -e 's| \* probe|.B|g' $i.manpagebody ; +perl -p -i -e 's| -|\n\t|g' $i.manpagebody ; +perl -p -i -e 's|(^\t[^\n]*)\n|$1\n\n.B Arguments:|g' $i.manpagebody ; +perl -p -i -e 's| \* @([^:]*):|.I $1 \n|g' $i.manpagebody ; +perl -p -i -e 's| \* ([^:]*):|.B $1 \n|g' $i.manpagebody ; +perl -p -i -e 's| \* ||g' $i.manpagebody ; +perl -p -i -e 's|.B Arguments: \*|.B No Arguments:\n\n.B Description:|g' $i.manpagebody ; +perl -p -i -e 's|.B Arguments:.I|.B Arguments:\n.I|g' $i.manpagebody ; +perl -p -i -e 's|^ \*/|\n.P\n.TP|g' $i.manpagebody ; +perl -p -i -e 's|\.I|\n\n.I|g' $i.manpagebody ; +perl -p -i -e 's|.B Context|\n.B Context|g' $i.manpagebody ; +#perl -p -i -e 's|^[^*]*\*|.P|g' $i.manpagebody ; +done + +# generate footer template +mv ../manpageus . +sed -i -e 's/.stp//g' manpageus +echo ".SH SEE ALSO" >> footer +echo ".IR stap (1)," >> footer +echo ".IR stapprobes (5)," >> footer +for i in `cat manpageus`; do echo ".IR stapprobes."$i" (5)," >> footer ; done + +# assemble parts +for i in `cat manpageus`; do +cat $i.template >> stapprobes.$i.5.in ; +cat $i.manpagebody >> stapprobes.$i.5.in ; +cat footer >> stapprobes.$i.5.in ; +done + +# cleanup +for i in `cat manpageus`; do +perl -p -i -e 's|.B Description:/|\n.P\n.TP|g' stapprobes.$i.5.in ; +done + + +# perl -p -i -e 's|||g' $i.manpagebody +# use to move marked strings. +# sed -n '/\/\/ /,/\/\/ <\/tapsetdescription>/ s/.*/&/w bleh' < ioscheduler \ No newline at end of file -- cgit From 983449d2c555c85825041fe3bbf7fd2478531a0b Mon Sep 17 00:00:00 2001 From: ddomingo Date: Tue, 17 Mar 2009 13:41:40 +1000 Subject: almost done, output clean, just a few more improvements --- doc/Tapset_Reference_Guide/manpager.sh | 106 +++++++++++++++++++-------------- 1 file changed, 62 insertions(+), 44 deletions(-) (limited to 'doc/Tapset_Reference_Guide/manpager.sh') diff --git a/doc/Tapset_Reference_Guide/manpager.sh b/doc/Tapset_Reference_Guide/manpager.sh index 9aede5c4..16ee441f 100644 --- a/doc/Tapset_Reference_Guide/manpager.sh +++ b/doc/Tapset_Reference_Guide/manpager.sh @@ -3,78 +3,79 @@ # generated herein should be in sync with Tapset Reference Guide # cleanup -rm -rf manpages +rm -rf workingdir # create working directory -mkdir manpages ; +mkdir workingdir ; # create list of man pages to generate; should be in sync with Tapset Reference Guide cat ../SystemTap_Tapset_Reference/tapsets.tmpl | grep ^\!Itapset > manpageus ; sed -i -e 's/\!Itapset\///g' manpageus ; # copy list of man pages into working directory -for i in `cat manpageus` ; do cp ../../tapset/$i manpages ; done ; +for i in `cat manpageus` ; do cp ../../tapset/$i workingdir ; done ; # enter workdir -# rm manpageus ; -cd manpages ; +cd workingdir ; # copy tapsetdescriptions, then clean -for i in `ls`; do sed -n '/\/\/ /,/\/\/ <\/tapsetdescription>/ s/.*/&/w temp' < $i ; +for i in `cat ../manpageus`; do +sed -n '/\/\/ /,/\/\/ <\/tapsetdescription>/ s/.*/&/w temp' < $i ; mv temp $i.tapsetdescription ; sed -i -e 's/\/\/ //g' $i.tapsetdescription ; sed -i -e 's/\/\/ <\/tapsetdescription>//g' $i.tapsetdescription ; sed -i -e 's/\/\///g' $i.tapsetdescription ; done -# strip all tapset files to just comments; but first, make sure all comments are exactly 1 space before * -for i in `ls | grep -v tapsetdescription` ; do sed -i -e 's/^ \*/ \*/g' $i; done ; -for i in `ls | grep -v tapsetdescription` ; do sed -i -e '/^ \*/!d' $i; done ; +# strip all tapset files to just comments; but all comments must be exactly 1 space before and after "*" +for i in `cat ../manpageus` ; do sed -i -e 's/^ \*/ \*/g' $i; +sed -i -e 's/^ \* / \* /g' $i; +# mark the start of each probe entry (sub "/**") +perl -p -i -e 's|^/\*\*| *probestart|g' $i; +sed -i -e '/^ \*/!d' $i; # rename all tapsets (remove .stp filename suffix), create templates -for i in `ls | grep -v tapsetdescription` ; do echo $i > tempname ; sed -i -e 's/.stp//g' tempname ; mv $i `cat tempname` ; mv tempname $i ; done ; +echo $i > tempname ; +sed -i -e 's/.stp//g' tempname ; +mv $i `cat tempname` ; mv tempname $i ; +done ; # clean all tapsetdescriptions (remove excess spaces) # for i in `ls | grep tapsetdescription` ; do perl -p -i -e 's|^\n||g' $i ; done ; -for i in `ls | grep -v .stp | grep -v tapsetdescription` ; -do echo ".\" -*- nroff -*-" >> $i.template ; +# create man page headers +for i in `ls | grep -v .stp | grep -v tapsetdescription` ; do +#echo ".\" -*- nroff -*-" >> $i.template ; echo ".TH STAPPROBES.manpagename 5 @DATE@ "IBM"" >> $i.template ; echo ".SH NAME" >> $i.template ; echo "stapprobes."`cat $i.stp`" \- systemtap "`cat $i.stp`" probe points" >> $i.template ; echo " " >> $i.template ; -echo ".\" macros" >> $i.template ; -echo ".de SAMPLE" >> $i.template ; -echo ".br" >> $i.template ; -echo ".RS" >> $i.template ; -echo ".nf" >> $i.template ; -echo ".nh" >> $i.template ; -echo ".." >> $i.template ; -echo ".de ESAMPLE" >> $i.template ; -echo ".hy" >> $i.template ; -echo ".fi" >> $i.template ; -echo ".RE" >> $i.template ; -echo ".." >> $i.template ; -echo " " >> $i.template ; echo ".SH DESCRIPTION" >> $i.template ; cat $i.stp.tapsetdescription >> $i.template ; +echo " " >> $i.template ; +#echo " " >> $i.template ; +echo ".SH PROBES" >> $i.template ; +echo ".br" >> $i.template ; echo ".P" >> $i.template ; echo ".TP" >> $i.template ; done +# MOST IMPORTANT: clean man page body! for i in `ls | grep -v .stp | grep -v tapsetdescription | grep -v template` ; -do cp $i $i.manpagebody ; -perl -p -i -e 's| \* sfunction|.B|g' $i.manpagebody ; -perl -p -i -e 's| \* probe|.B|g' $i.manpagebody ; -perl -p -i -e 's| -|\n\t|g' $i.manpagebody ; -perl -p -i -e 's|(^\t[^\n]*)\n|$1\n\n.B Arguments:|g' $i.manpagebody ; -perl -p -i -e 's| \* @([^:]*):|.I $1 \n|g' $i.manpagebody ; -perl -p -i -e 's| \* ([^:]*):|.B $1 \n|g' $i.manpagebody ; -perl -p -i -e 's| \* ||g' $i.manpagebody ; -perl -p -i -e 's|.B Arguments: \*|.B No Arguments:\n\n.B Description:|g' $i.manpagebody ; -perl -p -i -e 's|.B Arguments:.I|.B Arguments:\n.I|g' $i.manpagebody ; -perl -p -i -e 's|^ \*/|\n.P\n.TP|g' $i.manpagebody ; -perl -p -i -e 's|\.I|\n\n.I|g' $i.manpagebody ; -perl -p -i -e 's|.B Context|\n.B Context|g' $i.manpagebody ; -#perl -p -i -e 's|^[^*]*\*|.P|g' $i.manpagebody ; +do cp $i $i.tmp ; +perl -p -i -e 's| \* sfunction|.BR|g' $i.tmp ; +perl -p -i -e 's| \* probe|.BR|g' $i.tmp ; +perl -p -i -e 's| -|\ninitlinehere|g' $i.tmp ; +perl -p -i -e 's|^initlinehere([^\n]*)\n|\n.br\n$1\n\n.B Arguments:|g' $i.tmp ; +perl -p -i -e 's| \* @([^:]*):|\n.I $1\n.br\n|g' $i.tmp ; +perl -p -i -e 's| \* ([^:]*):|\n.BR $1:\n.br\n|g' $i.tmp ; +perl -p -i -e 's|\*probestart|\n.P\n.TP|g' $i.tmp ; +perl -p -i -e 's|\.I|\n\n.I|g' $i.tmp ; +# special formatting for Arguments header +perl -p -i -e 's|.B Arguments: \*\/||g' $i.tmp ; +perl -p -i -e 's|.B Arguments: \*|.B Description:|g' $i.tmp ; + +cat $i.tmp | +perl -p -e 'undef $/;s|.B Arguments:\n.B|.B|msg' | +perl -p -e 'undef $/;s|\n\n\n|\n\n|msg' > $i.manpagebody ; done # generate footer template @@ -87,17 +88,34 @@ for i in `cat manpageus`; do echo ".IR stapprobes."$i" (5)," >> footer ; done # assemble parts for i in `cat manpageus`; do -cat $i.template >> stapprobes.$i.5.in ; -cat $i.manpagebody >> stapprobes.$i.5.in ; -cat footer >> stapprobes.$i.5.in ; +cat $i.template >> $i.5 ; +cat $i.manpagebody >> $i.5 ; +cat footer >> $i.5 ; done # cleanup for i in `cat manpageus`; do -perl -p -i -e 's|.B Description:/|\n.P\n.TP|g' stapprobes.$i.5.in ; +# context.stp +perl -p -i -e 's|.B Description:/|\n.P\n.TP|g' $i.5 ; +perl -p -i -e 's|.B Description:|.B Description:\n\n |g' $i.5 ; +cat $i.5 | perl -p -e 'undef $/;s|\.B Arguments:\n\n\.B |.B|msg' | +perl -p -e 'undef $/;s|\n \* ||msg' > stapprobes.$i.5.in ; +# cleanup all remaining stars, excess initial whitespace, and trailing "/" per line +perl -p -i -e 's|^ \*||g' stapprobes.$i.5.in; +perl -p -i -e 's|^ ||g' stapprobes.$i.5.in; +perl -p -i -e 's|^/||g' stapprobes.$i.5.in; done +# file cleanup +rm `ls | grep -v stapprobes` + +# perl -p -i -e 's|||g' stapprobes.$i.5.in ; # perl -p -i -e 's|||g' $i.manpagebody # use to move marked strings. -# sed -n '/\/\/ /,/\/\/ <\/tapsetdescription>/ s/.*/&/w bleh' < ioscheduler \ No newline at end of file +# sed -n '/\/\/ /,/\/\/ <\/tapsetdescription>/ s/.*/&/w bleh' < ioscheduler +# remove excess initial whitespace for each line +# perl -p -i -e 's|^ ||g' stapprobes.$i.5.in; +# convert tags +# perl -p -i -e 's|]*>|\n|g' stapprobes.$i.5.in ; +# perl -p -i -e 's|<[^>]*>|\n.B |g' stapprobes.$i.5.in ; \ No newline at end of file -- cgit From 11f44635b6964dd7a7753da6722fa4750573d0ca Mon Sep 17 00:00:00 2001 From: ddomingo Date: Tue, 17 Mar 2009 14:43:19 +1000 Subject: working copy --- doc/Tapset_Reference_Guide/manpager.sh | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) (limited to 'doc/Tapset_Reference_Guide/manpager.sh') diff --git a/doc/Tapset_Reference_Guide/manpager.sh b/doc/Tapset_Reference_Guide/manpager.sh index 16ee441f..0876121a 100644 --- a/doc/Tapset_Reference_Guide/manpager.sh +++ b/doc/Tapset_Reference_Guide/manpager.sh @@ -99,11 +99,19 @@ for i in `cat manpageus`; do perl -p -i -e 's|.B Description:/|\n.P\n.TP|g' $i.5 ; perl -p -i -e 's|.B Description:|.B Description:\n\n |g' $i.5 ; cat $i.5 | perl -p -e 'undef $/;s|\.B Arguments:\n\n\.B |.B|msg' | -perl -p -e 'undef $/;s|\n \* ||msg' > stapprobes.$i.5.in ; +perl -p -e 'undef $/;s|\n \* | |msg' > stapprobes.$i.5.in ; # cleanup all remaining stars, excess initial whitespace, and trailing "/" per line perl -p -i -e 's|^ \*||g' stapprobes.$i.5.in; perl -p -i -e 's|^ ||g' stapprobes.$i.5.in; perl -p -i -e 's|^/||g' stapprobes.$i.5.in; +# convert tags +perl -p -i -e 's|]*>|\n|g' stapprobes.$i.5.in ; +perl -p -i -e 's|<[^>]*>|\n.B |g' stapprobes.$i.5.in ; +# cleanup remaining excess whitespace +perl -p -i -e 's|\t\t| |g' stapprobes.$i.5.in; +perl -p -i -e 's|^ ||g' stapprobes.$i.5.in; +#sed -i -e 's/$/ /g' stapprobes.$i.5.in; +#sed -i -e 's|$ | |g' stapprobes.$i.5.in; done # file cleanup -- cgit From 701a5a1c9f8c815830d5e91b62cce7098f29f549 Mon Sep 17 00:00:00 2001 From: ddomingo Date: Tue, 17 Mar 2009 15:28:38 +1000 Subject: working copy, still existing issues with Description headers, will work on it tom --- doc/Tapset_Reference_Guide/manpager.sh | 20 +++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) (limited to 'doc/Tapset_Reference_Guide/manpager.sh') diff --git a/doc/Tapset_Reference_Guide/manpager.sh b/doc/Tapset_Reference_Guide/manpager.sh index 0876121a..2b9873b7 100644 --- a/doc/Tapset_Reference_Guide/manpager.sh +++ b/doc/Tapset_Reference_Guide/manpager.sh @@ -44,7 +44,7 @@ done ; # create man page headers for i in `ls | grep -v .stp | grep -v tapsetdescription` ; do #echo ".\" -*- nroff -*-" >> $i.template ; -echo ".TH STAPPROBES.manpagename 5 @DATE@ "IBM"" >> $i.template ; +echo ".TH STAPPROBES."$i" 5 @DATE@ "IBM"" >> $i.template ; echo ".SH NAME" >> $i.template ; echo "stapprobes."`cat $i.stp`" \- systemtap "`cat $i.stp`" probe points" >> $i.template ; echo " " >> $i.template ; @@ -98,25 +98,27 @@ for i in `cat manpageus`; do # context.stp perl -p -i -e 's|.B Description:/|\n.P\n.TP|g' $i.5 ; perl -p -i -e 's|.B Description:|.B Description:\n\n |g' $i.5 ; -cat $i.5 | perl -p -e 'undef $/;s|\.B Arguments:\n\n\.B |.B|msg' | +# convert tags +perl -p -i -e 's|]*>([^.])|$1\n|g' $i.5 ; +perl -p -i -e 's|<[^>]*>|\n.B |g' $i.5 ; +cat $i.5 | +perl -p -e 'undef $/;s|\.B Arguments:\n\n\.B |.B|msg' | +# for tagged commands followed by periods +perl -p -e 'undef $/;s|\n\.B \.|.\n|msg' | perl -p -e 'undef $/;s|\n \* | |msg' > stapprobes.$i.5.in ; # cleanup all remaining stars, excess initial whitespace, and trailing "/" per line perl -p -i -e 's|^ \*||g' stapprobes.$i.5.in; -perl -p -i -e 's|^ ||g' stapprobes.$i.5.in; +perl -p -i -e 's|^[ ]*||g' stapprobes.$i.5.in; perl -p -i -e 's|^/||g' stapprobes.$i.5.in; -# convert tags -perl -p -i -e 's|]*>|\n|g' stapprobes.$i.5.in ; -perl -p -i -e 's|<[^>]*>|\n.B |g' stapprobes.$i.5.in ; # cleanup remaining excess whitespace perl -p -i -e 's|\t\t| |g' stapprobes.$i.5.in; perl -p -i -e 's|^ ||g' stapprobes.$i.5.in; -#sed -i -e 's/$/ /g' stapprobes.$i.5.in; -#sed -i -e 's|$ | |g' stapprobes.$i.5.in; +sed -i -e 's/ / /g' stapprobes.$i.5.in; done # file cleanup rm `ls | grep -v stapprobes` - +#mv workingdir final_manpages # perl -p -i -e 's|||g' stapprobes.$i.5.in ; # perl -p -i -e 's|||g' $i.manpagebody -- cgit From 98b35fa37e2d00fae488f37ccf124c0899fcdcbf Mon Sep 17 00:00:00 2001 From: ddomingo Date: Wed, 18 Mar 2009 15:29:03 +1000 Subject: final copy, for review --- doc/Tapset_Reference_Guide/manpager.sh | 102 +++++++++++++++------------------ 1 file changed, 46 insertions(+), 56 deletions(-) (limited to 'doc/Tapset_Reference_Guide/manpager.sh') diff --git a/doc/Tapset_Reference_Guide/manpager.sh b/doc/Tapset_Reference_Guide/manpager.sh index 2b9873b7..6c2d204e 100644 --- a/doc/Tapset_Reference_Guide/manpager.sh +++ b/doc/Tapset_Reference_Guide/manpager.sh @@ -3,7 +3,7 @@ # generated herein should be in sync with Tapset Reference Guide # cleanup -rm -rf workingdir +rm -rf man_pages # create working directory mkdir workingdir ; @@ -38,8 +38,6 @@ echo $i > tempname ; sed -i -e 's/.stp//g' tempname ; mv $i `cat tempname` ; mv tempname $i ; done ; -# clean all tapsetdescriptions (remove excess spaces) -# for i in `ls | grep tapsetdescription` ; do perl -p -i -e 's|^\n||g' $i ; done ; # create man page headers for i in `ls | grep -v .stp | grep -v tapsetdescription` ; do @@ -59,73 +57,65 @@ echo ".TP" >> $i.template ; done # MOST IMPORTANT: clean man page body! -for i in `ls | grep -v .stp | grep -v tapsetdescription | grep -v template` ; -do cp $i $i.tmp ; +sed -i -e 's/\.stp$//g' ../manpageus ; +for i in `cat ../manpageus` ; +do mv $i $i.tmp ; perl -p -i -e 's| \* sfunction|.BR|g' $i.tmp ; perl -p -i -e 's| \* probe|.BR|g' $i.tmp ; perl -p -i -e 's| -|\ninitlinehere|g' $i.tmp ; -perl -p -i -e 's|^initlinehere([^\n]*)\n|\n.br\n$1\n\n.B Arguments:|g' $i.tmp ; -perl -p -i -e 's| \* @([^:]*):|\n.I $1\n.br\n|g' $i.tmp ; -perl -p -i -e 's| \* ([^:]*):|\n.BR $1:\n.br\n|g' $i.tmp ; +perl -p -i -e 's|^initlinehere([^\n]*)\n|$1\n |g' $i.tmp ; +perl -p -i -e 's| \* @([^:]*):|\n.I $1:\n|g' $i.tmp ; +perl -p -i -e 's| \* ([^:]*):|\n.BR $1:\n|g' $i.tmp ; +perl -p -i -e 's| \* ||g' $i.tmp perl -p -i -e 's|\*probestart|\n.P\n.TP|g' $i.tmp ; -perl -p -i -e 's|\.I|\n\n.I|g' $i.tmp ; -# special formatting for Arguments header -perl -p -i -e 's|.B Arguments: \*\/||g' $i.tmp ; -perl -p -i -e 's|.B Arguments: \*|.B Description:|g' $i.tmp ; - -cat $i.tmp | -perl -p -e 'undef $/;s|.B Arguments:\n.B|.B|msg' | -perl -p -e 'undef $/;s|\n\n\n|\n\n|msg' > $i.manpagebody ; +perl -p -i -e 's|\.I|\n.I|g' $i.tmp ; +# remove empty lines +sed -i -e '/^$/d' $i.tmp ; +sed -i -e '/^$/d' $i.tmp ; +sed -i -e 's/^[ \t]*//g' $i.tmp ; +# process Description headers +perl -p -i -e 's|^\*[^/]|\n.BR Description:\n|g' $i.tmp ; +perl -p -i -e 'undef $/;s|\.BR Description:\n\.BR|.BR|g' $i.tmp ; +perl -p -i -e 'undef $/;s|\.BR Description:\n\*\/||g' $i.tmp ; +# process Argument headers +perl -p -i -e 'undef $/;s|\n\n.I|\n.br\n.BR Arguments:\n.I|g' $i.tmp ; +# clean up formatting of arguments +perl -p -i -e 's|^.I([^:]*:)|\n.br\n.br\n.IR$1\n.br\n\t|g' $i.tmp ; done +# make tags work +for i in `cat ../manpageus` ; do +perl -p -i -e 's|]*>([^.])|$1\n|g' $i.tmp ; +perl -p -i -e 's|<[^>]*>|\n.B |g' $i.tmp ; +# the previous two statements create excess empty lines, remove some of them +sed -i -e '/^$/d' $i.tmp ; +# increase whitespace between some headers +perl -p -i -e 's|^\.BR ([^:]*:)|\n.br\n.BR $1\n.br\n|g' $i.tmp +done + # generate footer template -mv ../manpageus . -sed -i -e 's/.stp//g' manpageus echo ".SH SEE ALSO" >> footer echo ".IR stap (1)," >> footer echo ".IR stapprobes (5)," >> footer -for i in `cat manpageus`; do echo ".IR stapprobes."$i" (5)," >> footer ; done +for i in `cat ../manpageus`; do echo ".IR stapprobes."$i" (5)," >> footer ; done # assemble parts -for i in `cat manpageus`; do -cat $i.template >> $i.5 ; -cat $i.manpagebody >> $i.5 ; -cat footer >> $i.5 ; +for i in `cat ../manpageus`; do +cat $i.template >> stapprobes.$i.5 ; +cat $i.tmp >> stapprobes.$i.5 ; +cat footer >> stapprobes.$i.5 ; +# final polish +sed -i -e 's/\*\/$//g' stapprobes.$i.5 ; done # cleanup -for i in `cat manpageus`; do -# context.stp -perl -p -i -e 's|.B Description:/|\n.P\n.TP|g' $i.5 ; -perl -p -i -e 's|.B Description:|.B Description:\n\n |g' $i.5 ; -# convert tags -perl -p -i -e 's|]*>([^.])|$1\n|g' $i.5 ; -perl -p -i -e 's|<[^>]*>|\n.B |g' $i.5 ; -cat $i.5 | -perl -p -e 'undef $/;s|\.B Arguments:\n\n\.B |.B|msg' | -# for tagged commands followed by periods -perl -p -e 'undef $/;s|\n\.B \.|.\n|msg' | -perl -p -e 'undef $/;s|\n \* | |msg' > stapprobes.$i.5.in ; -# cleanup all remaining stars, excess initial whitespace, and trailing "/" per line -perl -p -i -e 's|^ \*||g' stapprobes.$i.5.in; -perl -p -i -e 's|^[ ]*||g' stapprobes.$i.5.in; -perl -p -i -e 's|^/||g' stapprobes.$i.5.in; -# cleanup remaining excess whitespace -perl -p -i -e 's|\t\t| |g' stapprobes.$i.5.in; -perl -p -i -e 's|^ ||g' stapprobes.$i.5.in; -sed -i -e 's/ / /g' stapprobes.$i.5.in; +for i in `ls | grep -v 'stapprobes.*.5'` ; do +rm $i ; done -# file cleanup -rm `ls | grep -v stapprobes` -#mv workingdir final_manpages -# perl -p -i -e 's|||g' stapprobes.$i.5.in ; - -# perl -p -i -e 's|||g' $i.manpagebody -# use to move marked strings. -# sed -n '/\/\/ /,/\/\/ <\/tapsetdescription>/ s/.*/&/w bleh' < ioscheduler -# remove excess initial whitespace for each line -# perl -p -i -e 's|^ ||g' stapprobes.$i.5.in; -# convert tags -# perl -p -i -e 's|]*>|\n|g' stapprobes.$i.5.in ; -# perl -p -i -e 's|<[^>]*>|\n.B |g' stapprobes.$i.5.in ; \ No newline at end of file +rm ../manpageus ; +cd .. +mv workingdir man_pages +echo " " +echo "Finished! man pages generated in ./man_pages." +echo " " \ No newline at end of file -- cgit From 715bb1ea4a7823580a4f6641c5a03d66735b57a1 Mon Sep 17 00:00:00 2001 From: ddomingo Date: Wed, 18 Mar 2009 15:45:23 +1000 Subject: minor edit --- doc/Tapset_Reference_Guide/manpager.sh | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) (limited to 'doc/Tapset_Reference_Guide/manpager.sh') diff --git a/doc/Tapset_Reference_Guide/manpager.sh b/doc/Tapset_Reference_Guide/manpager.sh index 6c2d204e..0051d208 100644 --- a/doc/Tapset_Reference_Guide/manpager.sh +++ b/doc/Tapset_Reference_Guide/manpager.sh @@ -8,7 +8,7 @@ rm -rf man_pages # create working directory mkdir workingdir ; -# create list of man pages to generate; should be in sync with Tapset Reference Guide +# create list of man pages to generate cat ../SystemTap_Tapset_Reference/tapsets.tmpl | grep ^\!Itapset > manpageus ; sed -i -e 's/\!Itapset\///g' manpageus ; @@ -49,7 +49,6 @@ echo " " >> $i.template ; echo ".SH DESCRIPTION" >> $i.template ; cat $i.stp.tapsetdescription >> $i.template ; echo " " >> $i.template ; -#echo " " >> $i.template ; echo ".SH PROBES" >> $i.template ; echo ".br" >> $i.template ; echo ".P" >> $i.template ; -- cgit From bd1b2d37ccaa09c2516a2874f2eba90a2c61c432 Mon Sep 17 00:00:00 2001 From: William Cohen Date: Wed, 18 Mar 2009 14:47:36 -0400 Subject: Make manpager.sh executable. --- doc/Tapset_Reference_Guide/manpager.sh | 0 1 file changed, 0 insertions(+), 0 deletions(-) mode change 100644 => 100755 doc/Tapset_Reference_Guide/manpager.sh (limited to 'doc/Tapset_Reference_Guide/manpager.sh') diff --git a/doc/Tapset_Reference_Guide/manpager.sh b/doc/Tapset_Reference_Guide/manpager.sh old mode 100644 new mode 100755 -- cgit