[openssl-commits] [web] master update

Richard Levitte levitte at openssl.org
Sat Feb 28 22:25:40 UTC 2015


The branch master has been updated
       via  57e533a64bb709e57ab1b08ec3acfb6947760b4a (commit)
      from  c6e4b80f3c965a3d1e8e4d36b8227b22358611bc (commit)


- Log -----------------------------------------------------------------
commit 57e533a64bb709e57ab1b08ec3acfb6947760b4a
Author: Richard Levitte <richard at levitte.org>
Date:   Sat Feb 28 23:25:24 2015 +0100

    It seems that pod2html in more modern perl releases don't do title.
    
    The pod2html that comes with perl 5.14 will extract the title from the
    NAME section of the .pod file.  In perl 5.18, this is no longer the
    case, and pod2html has a new argument --title where this can be given
    manually.
    
    The solution here is to test the behavior of pod2html, and if it
    doesn't produce a title automatically, we extract it ourselves (simple
    sed does it) and provide the resulting string to pod2html.

-----------------------------------------------------------------------

Summary of changes:
 run-pod2html.sh |   27 ++++++++++++++++++++++++++-
 1 file changed, 26 insertions(+), 1 deletion(-)

diff --git a/run-pod2html.sh b/run-pod2html.sh
index b0e081e..0f96a4f 100755
--- a/run-pod2html.sh
+++ b/run-pod2html.sh
@@ -3,15 +3,40 @@ SRC=$1
 DEST=docs
 HERE=`/bin/pwd`
 
+# Somewhere between perl version 5.15 and 5.18, pod2html stopped extracting the
+# title from the pod file's NAME section.  When that's the case, we need to do
+# that work ourselves and give pod2html the extracted title with --title.  --title
+# isn't available in earlier perl verions, so we need to test the behaviour to
+# decide how to act.
+#
+extract_title=false
+pod2html_testtext="=cut
+
+=head1 NAME
+
+foo - bar
+
+=head1 SYNOPSIS
+"
+if echo "$pod2html_testtext" | pod2html | grep -q '^<title></title>$'; then
+    extract_title=true
+fi
+#
+# Test done.
+
 for SUB in apps crypto ssl; do
     DIR=$DEST/$SUB
     rm -rf $DIR
     mkdir -p $DIR
     for IN in $SRC/$SUB/*.pod; do
 	FN=`basename $IN .pod`
+	title_arg=''
+	if $extract_title; then
+	    title_arg="--title=`cat $IN | sed -e '1,/^=head1 NAME/d' -e '/^=/,$d' -e '/^\s*$/d'`"
+	fi
 	cat $IN \
 	| sed -r 's/L<([^)]*)(\([0-9]\))?\|([^)]*)(\([0-9]\))?>/L<\1|\3>/g' \
-	| pod2html --podroot=$SRC --css=/manpage.css --htmlroot=/docs --podpath=$SUB:apps:crypto:ssl \
+	| pod2html --podroot=$SRC --css=/manpage.css --htmlroot=/docs --podpath=$SUB:apps:crypto:ssl "$title_arg" \
 	| sed -r 's/<!DOCTYPE.*//g' > $DIR/$FN.html
 	for L in `perl $HERE/getnames.pl $IN` ; do
 	    ln $DIR/$FN.html $DIR/$L.html || echo FAIL $DIR/$FN.html $DIR/$L.html


More information about the openssl-commits mailing list