[openssl-commits] [web] master update
Richard Levitte
levitte at openssl.org
Wed Jan 30 13:48:56 UTC 2019
The branch master has been updated
via 1763c4db685b43c58b33d2ace0435da1a067ba24 (commit)
via 8e80d7699c38ef890cc62da9fd713bcfc49152db (commit)
via 98d1be0a1bcd7ae582753e54b523faf6b4bd1360 (commit)
from 04c0cb565a81ed4357722dcce70c50b3575e2863 (commit)
- Log -----------------------------------------------------------------
commit 1763c4db685b43c58b33d2ace0435da1a067ba24
Author: Richard Levitte <levitte at openssl.org>
Date: Tue Jan 29 22:21:39 2019 +0100
bin/mk-mancross: new manpage cross reference script
Reviewed-by: Matt Caswell <matt at openssl.org>
(Merged from https://github.com/openssl/web/pull/107)
commit 8e80d7699c38ef890cc62da9fd713bcfc49152db
Author: Richard Levitte <levitte at openssl.org>
Date: Tue Jan 29 21:33:30 2019 +0100
bin/mk-manpages: refactor to allow cross references between releases
So far, we created one HTML file for each POD file, and then made hard
links to it for other names that are in the POD file's NAMES section.
However, this came with the assumption that cross referencing between
releases would work simply be linking to the same name on other
releases. This, however, did not take into account that manuals in
newer releases don't necessarily exist in older releases, or that some
files may have changed names.
Names in NAMES sections are, however, fairly constant, and are
therefore much safer to link to. At the same time, it's safe to say
that if a particular name doesn't exist in some other releases, there
should simply not be a link. A conclusion to draw from is that cross
referencing must be made on a per NAMES section name basis, rather
than on POD file name basis.
To allow this to happen and still not have to rewrite the same
Pod2Html result for every name in a specific POD file's NAMES section,
the structure of the rendered man pages are changed to this:
- POD files are rendered into a .inc file with the exact same
basename as the POD file.
- For every name in the NAMES section, am HTML file is created. It
contains the standard header and footer stuff, and includes the
generated .inc file in the middle. It also includes a .cross file
with the same basename as the HTML file as part of the sidebar.
In another commit, there will be a script for cross referencing, which
will generate the .cross files mentioned above.
Reviewed-by: Matt Caswell <matt at openssl.org>
(Merged from https://github.com/openssl/web/pull/107)
commit 98d1be0a1bcd7ae582753e54b523faf6b4bd1360
Author: Richard Levitte <levitte at openssl.org>
Date: Thu Jan 3 16:37:24 2019 +0100
Handle document sectioning correctly
Gone are the apps/, crypto/ and ssl/ directories. We move to a Unix
manpage structure for older releases as well as new ones.
With that, there's no more need for a separate bin/mk-newmanpages,
bin/mk-manpages can handle both the old and the new POD directory
structure.
For a document tree that previously had apps/, crypto/ and ssl/, we
provide a .htaccess that accepts the old URLs and maps them correctly
to man1/ or man3/.
Reviewed-by: Matt Caswell <matt at openssl.org>
(Merged from https://github.com/openssl/web/pull/107)
-----------------------------------------------------------------------
Summary of changes:
.gitignore | 1 +
Makefile | 26 +-
bin/mk-mancross | 54 ++++
bin/mk-manmap | 27 ++
bin/mk-manpages | 300 ++++++++++-----------
bin/mk-newmanpages | 315 -----------------------
docs/man1.0.2/crypto/index.html | 43 ----
docs/man1.0.2/index.html | 7 +-
docs/{man1.1.0/apps => man1.0.2/man1}/index.html | 5 +-
docs/{man1.1.0/ssl => man1.0.2/man3}/index.html | 17 +-
docs/{man1.1.1/man7 => man1.0.2/man5}/index.html | 8 +-
docs/{man1.1.1 => man1.0.2}/man7/index.html | 8 +-
docs/man1.1.0/crypto/index.html | 43 ----
docs/man1.1.0/index.html | 7 +-
docs/{man1.0.2/apps => man1.1.0/man1}/index.html | 4 +-
docs/{man1.0.2/ssl => man1.1.0/man3}/index.html | 16 +-
docs/{man1.1.1/man7 => man1.1.0/man5}/index.html | 8 +-
docs/{man1.1.1/man1 => man1.1.0/man7}/index.html | 5 +-
docs/man1.1.1/man3/index.html | 6 +
docs/manmaster/man3/index.html | 6 +
20 files changed, 306 insertions(+), 600 deletions(-)
create mode 100755 bin/mk-mancross
create mode 100755 bin/mk-manmap
delete mode 100755 bin/mk-newmanpages
delete mode 100644 docs/man1.0.2/crypto/index.html
rename docs/{man1.1.0/apps => man1.0.2/man1}/index.html (91%)
rename docs/{man1.1.0/ssl => man1.0.2/man3}/index.html (68%)
copy docs/{man1.1.1/man7 => man1.0.2/man5}/index.html (83%)
copy docs/{man1.1.1 => man1.0.2}/man7/index.html (83%)
delete mode 100644 docs/man1.1.0/crypto/index.html
rename docs/{man1.0.2/apps => man1.1.0/man1}/index.html (91%)
rename docs/{man1.0.2/ssl => man1.1.0/man3}/index.html (70%)
copy docs/{man1.1.1/man7 => man1.1.0/man5}/index.html (83%)
copy docs/{man1.1.1/man1 => man1.1.0/man7}/index.html (91%)
diff --git a/.gitignore b/.gitignore
index 86cadae..51ee8fc 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,5 +1,6 @@
*~
*.swp
+*.cross
blog
sitemap.txt
docs/*/apps/*
diff --git a/Makefile b/Makefile
index 2418e5e..d1a8651 100644
--- a/Makefile
+++ b/Makefile
@@ -41,11 +41,11 @@ SRCLISTS = \
source/old/fips/index.inc \
-all: suball
+all: suball manmaster mancross
-suball: $(SIMPLE) $(SRCLISTS) manmaster
+suball: $(SIMPLE) $(SRCLISTS)
-relupd: suball manpages
+relupd: suball manpages mancross
clean:
rm -f $(SIMPLE) $(SRCLISTS)
@@ -57,25 +57,27 @@ generated: all
rebuild: all
define makemanpages
- ./bin/mk-manpages $(1) $(2) docs
- ./bin/mk-apropos docs/man$(2)/apps > docs/man$(2)/apps/index.inc
- ./bin/mk-apropos docs/man$(2)/crypto > docs/man$(2)/crypto/index.inc
- ./bin/mk-apropos docs/man$(2)/ssl > docs/man$(2)/ssl/index.inc
-endef
-define newmakemanpages
- ./bin/mk-newmanpages $(1) $(2) docs
+ ./bin/mk-manpages $(1)/doc $(2) docs/man$(2)
./bin/mk-apropos docs/man$(2)/man1 > docs/man$(2)/man1/index.inc
./bin/mk-apropos docs/man$(2)/man3 > docs/man$(2)/man3/index.inc
./bin/mk-apropos docs/man$(2)/man5 > docs/man$(2)/man5/index.inc
./bin/mk-apropos docs/man$(2)/man7 > docs/man$(2)/man7/index.inc
endef
+define makemanmap
+ ./bin/mk-manmap docs/man$(1) > docs/man$(1)/.htaccess
+endef
manpages: manmaster
- $(call newmakemanpages,$(CHECKOUTS)/openssl-1.1.1-stable,1.1.1)
+ $(call makemanpages,$(CHECKOUTS)/openssl-1.1.1-stable,1.1.1)
$(call makemanpages,$(CHECKOUTS)/openssl-1.1.0-stable,1.1.0)
+ $(call makemanmap,1.1.0)
$(call makemanpages,$(CHECKOUTS)/openssl-1.0.2-stable,1.0.2)
+ $(call makemanmap,1.0.2)
manmaster:
- $(call newmakemanpages,$(CHECKOUTS)/openssl,master)
+ $(call makemanpages,$(CHECKOUTS)/openssl,master)
+
+mancross:
+ ./bin/mk-mancross
## $(SIMPLE) -- SIMPLE GENERATED FILES
.PHONY: sitemap community/committers.inc community/omc.inc community/omc-alumni.inc
diff --git a/bin/mk-mancross b/bin/mk-mancross
new file mode 100755
index 0000000..e197b06
--- /dev/null
+++ b/bin/mk-mancross
@@ -0,0 +1,54 @@
+#! /bin/sh
+
+releases="master 1.1.1 1.1.0 1.0.2"
+
+log () {
+ echo >&2 "$@"
+}
+
+debug=:
+if [ "$DEBUG" != "" ]; then
+ debug=log
+fi
+
+for r in $releases; do
+ echo >&2 -n "$r : "
+ for s in 1 3 5 7; do
+ echo >&2 -n $s
+ for f in docs/man$r/man$s/*.html; do
+ $debug -n '.'
+ # Check that it's a rendered manpage
+ if grep -F '<!-- OSSL: description:' $f > /dev/null; then
+ existsin=''
+ b=`basename $f .html`
+ for x in $releases; do
+ if [ "$x" = "$r" ]; then
+ continue
+ fi
+ if [ -f "docs/man$x/man$s/$b.html" ]; then
+ existsin="$existsin $x"
+ fi
+ done
+ (
+ if [ "$existsin" != "" ]; then
+ cat <<EOF
+ <section>
+ <h1>This manpage</h1>
+ <ul>
+EOF
+ for x in $existsin; do
+ cat <<EOF
+ <li><a href="/docs/man$x/man$s/$b.html">$x version</a></li>
+EOF
+ done
+ cat <<EOF
+ </ul>
+ </section>
+EOF
+ fi
+ ) > docs/man$r/man$s/$b.cross
+ fi
+ done
+ done
+ echo >&2
+done
diff --git a/bin/mk-manmap b/bin/mk-manmap
new file mode 100755
index 0000000..7bde661
--- /dev/null
+++ b/bin/mk-manmap
@@ -0,0 +1,27 @@
+#! /bin/sh
+# $1 is the top of the manual page tree to look through
+
+dir=$1
+cd $dir
+
+for m in `find . -name '*.html'`; do
+ origsubdir=`grep -F '<!-- OSSL: original subdir:' $m | cut -f3 -d: | sed -e 's| *-->||' -e 's| ||g'`
+ subdir=`grep -F '<!-- OSSL: subdir:' $m | cut -f3 -d: | sed -e 's| *-->||' -e 's| ||g'`
+ # If no subdir information is present, this is not a rendered manpage,
+ # but something else, like index.html
+ if [ "$origsubdir$subdir" = "" ]; then
+ continue
+ fi
+ manfile=`echo $m | sed -e 's|\./||'`
+ origmanfile=`echo $manfile | sed -e "s|^$subdir|$origsubdir|"`
+ case ${origsubdir}:${subdir} in
+ apps:man1 | crypto:man3 | ssl:man3 ) ;;
+ * ) echo Redirect permanent /$dir/$origmanfile /$dir/$manfile ;;
+ esac
+done
+
+cat <<EOF
+Redirect permanent /$dir/apps /$dir/man1
+Redirect permanent /$dir/crypto /$dir/man3
+Redirect permanent /$dir/ssl /$dir/man3
+EOF
diff --git a/bin/mk-manpages b/bin/mk-manpages
index 0096ec2..3b1d32a 100755
--- a/bin/mk-manpages
+++ b/bin/mk-manpages
@@ -1,21 +1,5 @@
#! /usr/bin/perl
-{
- package Local::PSX;
- use Pod::Simple::XHTML;
- use parent qw(Pod::Simple::XHTML);
-
- sub resolve_man_page_link {
- my ( $self, $to, $section ) = @_;
- return undef unless defined $to;
- my ( $page, $part ) = $to =~ /^([^(]+)(?:[(](\d+)[)])?$/;
- return undef unless $page;
-
- return ( $self->man_url_prefix || '' )
- . $self->encode_entities($page) . ( $self->man_url_postfix || '' );
- }
-}
-
package Local::MkManPages;
use strict;
@@ -24,11 +8,14 @@ use File::Basename qw(basename);
use File::Spec ();
use Getopt::Long qw(GetOptionsFromArray);
use Pod::Usage qw(pod2usage);
+use Pod::Simple::XHTML;
__PACKAGE__->run(@ARGV);
-sub Releases { return (qw(master 1.1.0 1.0.2)); }
-sub Sections { return (qw(apps crypto ssl)); }
+sub Releases { return (qw(master 1.1.1 1.1.0 1.0.2)) }
+sub Dirs { return (qw(apps crypto ssl
+ man1 man3 man5 man7)) }
+sub Dir2Section { return ( apps => "man1", crypto => "man3", ssl => "man3" ) }
sub getRelease {
my ( $class, $ver ) = @_;
@@ -46,47 +33,123 @@ sub run {
sub main {
my ( $class, $srcdir, $wwwdir, $release ) = @_;
- foreach my $sect ( $class->Sections ) {
- my $dir = File::Spec->catfile( $srcdir, "doc", $sect );
- opendir( my $dh, $dir ) or $class->die("opendir '$dir': $!");
- while ( my $ent = readdir($dh) ) {
- next if $ent =~ /^\./;
- next if $ent !~ /\.pod$/;
-
- my $filename = File::Spec->catfile( $dir, $ent );
- my $basename = basename( $ent, ".pod" );
- my $title = $basename;
- my %data = $class->getdata( $filename );
- my $out =
- $class->genhtml( $release, $sect, $filename, $title, $basename,
- $data{description});
- my $outfile = File::Spec->catfile( $wwwdir, "man$release", $sect,
- "$basename.html" );
- open( my $fh, ">", $outfile )
- or $class->die("Can't open $outfile: $!");
- print $fh $out or $class->die("Can't print $outfile: $!");
- close($fh) or $class->die("Can't close $outfile: $!");
-
- foreach my $alt (grep { $_ ne $basename } @{$data{names}}) {
- my $target = File::Spec->catfile( $wwwdir, "man$release", $sect,
- "$alt.html" );
- if ( ! -f $target ) {
- link( $outfile, $target )
- or $class->die("Can't link $outfile to $target: $!");
- }
+ foreach my $subdir ( $class->Dirs ) {
+ my $dir = File::Spec->catfile( $srcdir, $subdir );
+ if ( opendir( my $dh, $dir ) ) {
+ while ( my $ent = readdir($dh) ) {
+ next if $ent =~ /^\./;
+ next if $ent !~ /\.pod$/;
+
+ my $origbase = basename( $ent, ".pod" );
+ my $title = $origbase;
+ my $tmp_sect = { $class->Dir2Section }->{$subdir} // $subdir;
+ (my $tmp_sectnum = $tmp_sect) =~ s|^man||;
+ # In addition to what getdata() gives us, we add a few
+ # defaults of our own:
+ #
+ # release => "..." #
+ # subdir => "..." # The original subdir
+ # sect => "..." # Output section subdir
+ # sectnum => n # Default section number
+ #
+ my %data = (
+ subdir => $subdir,
+ sect => $tmp_sect,
+ sectnum => $tmp_sectnum,
+ $class->getdata( File::Spec->catfile ( $dir, $ent ) )
+ );
+ # These are for display
+ my $podfile = File::Spec->catfile( $subdir, $ent );
+ my $incfile = File::Spec->catfile( $data{sect},
+ "$origbase.inc" );
+ # These are files we're actually manipulating
+ my $inpod = File::Spec->catfile( $srcdir, $podfile );
+ my $outinc = File::Spec->catfile( $wwwdir, $incfile );
+
+ # Get main HTML output
+ my $out = $class->geninc( $release, $inpod, %data );
+ open( my $fh, ">", $outinc )
+ or $class->die("Can't open $outinc: $!");
+ print $fh $out or $class->die("Can't print $outinc: $!");
+ close($fh) or $class->die("Can't close $outinc: $!");
+
+ foreach my $htmlname (@{$data{names}}) {
+ my $htmlfile = File::Spec->catdir( $data{sect},
+ "$htmlname.html" );
+ my $outhtml = File::Spec->catfile( $wwwdir, $htmlfile );
+ $out = $class->genhtml( $release, $title, $origbase,
+ $htmlname, %data );
+ open( $fh, ">", $outhtml )
+ or $class->die("Can't open $outhtml: $!");
+ print $fh $out or $class->die("Can't print $outhtml: $!");
+ close($fh) or $class->die("Can't close $outhtml: $!");
+ }
}
}
}
}
-# Generate a manpage
+# Generate manpag HTML wrapper
sub genhtml {
- my ( $class, $release, $section, $filename, $title, $file, $desc ) = @_;
- my $header = $class->htmlHeader( $title, $desc );
- my $footer = $class->htmlFooter( $release, $section, $file );
+ my ( $class, $release, $title, $origbase, $htmlbase, %data ) = @_;
+ return <<EOH;
+<!DOCTYPE html>
+<html lang="en">
+<!-- OSSL: original subdir: $data{subdir} -->
+<!-- OSSL: subdir: $data{sect} -->
+<!-- OSSL: section: $data{sectnum} -->
+<!-- OSSL: description: $data{description} -->
+<!--#include virtual="/inc/head.shtml" -->
+<body>
+<!--#include virtual="/inc/banner.shtml" -->
+ <div id="main">
+ <div id="content">
+ <div class="blog-index">
+ <article>
+ <header><h2>$title</h2></header>
+ <div class="entry-content">
+ <p>
+<!--#include virtual="$origbase.inc" -->
+ </p>
+ </div>
+ <footer>
+ You are here: <a href="/">Home</a>
+ : <a href="/docs">Docs</a>
+ : <a href="/docs/manpages.html">Manpages</a>
+ : <a href="/docs/man$release/">$release</a>
+ : <a href="/docs/man$release/$data{sect}">$data{sect}</a>
+ : <a href="/docs/man$release/$data{sect}/$htmlbase.html">$htmlbase</a>
+ <br/><a href="/sitemap.txt">Sitemap</a>
+ </footer>
+ </article>
+ </div>
+ <aside class="sidebar">
+ <section>
+ <h1><a href="/docs/man$release/">$release manpages</a></h1>
+ <ul>
+ <li><a href="../man1">Commands</a></li>
+ <li><a href="../man3">Libraries</a></li>
+ <li><a href="../man5">File Formats</a></li>
+ <li><a href="../man7">Overviews</a></li>
+ </ul>
+ </section>
+<!--#include virtual="$htmlbase.cross" -->
+ </aside>
+ </div>
+ </div>
+<!--#include virtual="/inc/footer.shtml" -->
+</body>
+</html>
+EOH
+}
+
+# Generate manpage content
+sub geninc {
+ my ( $class, $release, $filename, %data ) = @_;
- open( my $fh, $filename ) || $class->die("Can't open $filename: $!");
+ open( my $fh, $filename ) or $class->die("Can't open $filename: $!");
my $infile = do { local $/; <$fh>; };
+ close( $fh );
# L<asdf...|qwer...> ==> L<qwer>
$infile =~ s/L<[^|>]*\|([^>]+)>/L<$1>/g;
@@ -95,14 +158,14 @@ sub genhtml {
$infile =~ s/L<([^>]+)\(\d\)>/L<$1>/g;
my $out;
- my $pod = Local::PSX->new;
+ my $pod = Pod::Simple::XHTML->new;
$pod->html_h_level(3);
- $pod->perldoc_url_prefix("/docs/man$release/$section/");
+ $pod->perldoc_url_prefix("/docs/man$release/$data{sect}/");
$pod->perldoc_url_postfix(".html");
- $pod->man_url_prefix("/docs/man$release/$section/");
+ $pod->man_url_prefix("/docs/man$release/$data{sect}/");
$pod->man_url_postfix(".html");
- $pod->html_header($header);
- $pod->html_footer($footer);
+ $pod->html_header('');
+ $pod->html_footer('');
$pod->output_string( \$out );
$pod->parse_string_document($infile);
return $out;
@@ -112,6 +175,7 @@ sub genhtml {
# {
# names => [ ... ] # list of all OTHER names
# description => "text" # the short description from NAME
+# section => n # the section number
# }
sub getdata {
my ( $class, $infile ) = @_;
@@ -123,7 +187,11 @@ sub getdata {
while (<$fh>) {
chop;
s/\n/ /gm;
- if (/^=head1 /) {
+ if (/^=for comment openssl_manual_section:\s*(\d+)/) {
+ $data{sectnum} = "$1";
+ $data{sect} = "man$1";
+ }
+ elsif (/^=head1\s/) {
$foundname = 0;
}
elsif ($foundname) {
@@ -162,28 +230,36 @@ sub error {
# the index and the section subdirs.
sub cleanup {
my ( $class, $wwwdir, $release ) = @_;
- my $dir = File::Spec->catfile( $wwwdir, "man$release" );
- my $idx = File::Spec->catfile( $dir, "index.html" );
+ my $idx = File::Spec->catfile( $wwwdir, "index.html" );
- if ( !-d $dir ) {
- mkdir($dir) or $class->die("mkdir '$dir': $!");
+ if ( !-d $wwwdir ) {
+ mkdir($wwwdir) or $class->die("mkdir '$wwwdir': $!");
}
# TBD: was $class->die
$class->error("No $idx") unless ( -f $idx );
- foreach my $sect ( $class->Sections ) {
- my $sdir = File::Spec->catfile( $dir, $sect );
- if ( !-d $sdir ) {
- mkdir($sdir) or $class->die("mkdir '$sdir': $!");
+ foreach my $subdir ( $class->Dirs ) {
+ my $realsubdir = { $class->Dir2Section }->{$subdir} // $subdir;
+ my $realsdir = File::Spec->catfile( $wwwdir, $realsubdir );
+ if ( !-d $realsdir ) {
+ mkdir($realsdir) or $class->die("mkdir '$realsdir': $!");
next;
}
- opendir( my $dh, $sdir ) or $class->die("opendir '$sdir': $!");
- while ( my $ent = readdir($dh) ) {
- next if $ent =~ /^\./;
- next if $ent =~ /^index.(?:html|inc)$/;
- my $f = File::Spec->catfile( $sdir, $ent );
- unlink($f) or $class->error("Can't unlink '$f': $!");
+ my $sdir = File::Spec->catfile( $wwwdir, $subdir );
+ if ( -d $sdir ) {
+ opendir( my $dh, $sdir ) or $class->die("opendir '$sdir': $!");
+ while ( my $ent = readdir($dh) ) {
+ next if $ent =~ /^\./;
+ next if $realsdir eq $sdir && $ent =~ /^index.(?:html|inc)$/;
+ my $f = File::Spec->catfile( $sdir, $ent );
+ unlink($f) or $class->error("Can't unlink '$f': $!");
+ }
+ closedir( $dh );
+
+ if ( $realsubdir ne $subdir ) {
+ rmdir $sdir;
+ }
}
}
}
@@ -213,10 +289,14 @@ sub process_options {
$class->die(@err) if @err;
# each source dir has a set of subdirs with documentation
- foreach my $sect ( $class->Sections ) {
- my $dir = File::Spec->catfile( $opt{SrcDir}, "doc", $sect );
- push( @err, "No directory '$dir'" ) unless ( -d $dir );
+ my @found_dirs = ();
+ my $docdir = File::Spec->catfile( $opt{SrcDir} );
+ foreach my $subdir ( $class->Dirs ) {
+ my $dir = File::Spec->catfile( $docdir, $subdir );
+ push @found_dirs, $dir if -d $dir;
}
+ push( @err, "No documentation directories in $docdir" )
+ unless ( @found_dirs );
# verify release
push( @err, "Unknown release '$opt{RelVer}'" )
@@ -226,76 +306,6 @@ sub process_options {
return \%opt;
}
-sub htmlHeader {
- my ( $class, $title, $desc ) = @_;
- return <<EOFH;
-<!DOCTYPE html>
-<html lang="en">
-<!-- OSSL: description: $desc -->
-<!--#include virtual="/inc/head.shtml" -->
-<body>
- <!--#include virtual="/inc/banner.shtml" -->
- <div id="main">
- <div id="content">
- <div class="blog-index">
- <article>
- <header><h2>$title</h2></header>
- <div class="entry-content">
- <p>
-
-EOFH
-}
-
-# note: links could be bogus if file DNE in one of the other releases
-sub htmlSidebar {
- my ( $class, $release, $section, $file ) = @_;
-
- my $lirel = "";
- foreach my $v ( grep { $release ne $_ } $class->Releases ) {
- $lirel .=
-"\n<li><a href=\"/docs/man$v/$section/$file.html\">$v version</a></li>";
- }
-
- return <<EOS;
-<aside class="sidebar">
- <section>
- <h1><a href="/docs/manpages.html">$release manpages</a></h1>
- <ul>
- <li><a href="../apps/openssl.html">The openssl command</a></li>
- <li><a href="../ssl/ssl.html">The ssl library</a></li>
- <li><a href="../crypto/crypto.html">The crypto library</a></li>$lirel
- </ul>
- </section>
-</aside>
-EOS
-}
-
-sub htmlFooter {
- my ( $class, $release, $section, $file ) = @_;
- my $sidebar = $class->htmlSidebar( $release, $section, $file );
- return <<EOFT;
- </p>
- </div>
- <footer>
- You are here: <a href="/">Home</a>
- : <a href="/docs">Docs</a>
- : <a href="/docs/manpages.html">Manpages</a>
- : <a href="/docs/man$release">$release</a>
- : <a href="/docs/man$release/$section">$section</a>
- : <a href="/docs/man$release/$section/$file.html">$file</a>
- <br/><a href="/sitemap.txt">Sitemap</a>
- </footer>
- </article>
- </div>
- $sidebar
- </div>
- </div>
- <!--#include virtual="/inc/footer.shtml" -->
-</body>
-</html>
-EOFT
-}
-
__END__
=pod
@@ -308,7 +318,7 @@ mk-manpages - htmlize man pages from POD for the OpenSSL website
mk-manpages [options] <SrcDir> <RelVer> <WwwDir>
- <SrcDir> top level directory of release <RelVer>, example 'OpenSSL_1_0_2-stable'
+ <SrcDir> doc directory of release <RelVer>, example 'OpenSSL_1_0_2-stable/doc'
<RelVer> version number associated with <SrcDir>, example '1.0.2'
<WwwDir> top level directory beneath which generated html is stored, example 'web'
diff --git a/bin/mk-newmanpages b/bin/mk-newmanpages
deleted file mode 100755
index f8a3ffd..0000000
--- a/bin/mk-newmanpages
+++ /dev/null
@@ -1,315 +0,0 @@
-#! /usr/bin/perl
-
-package Local::MkManPages;
-
-use strict;
-use warnings;
-use File::Basename qw(basename);
-use File::Spec ();
-use Getopt::Long qw(GetOptionsFromArray);
-use Pod::Usage qw(pod2usage);
-use Pod::Simple::XHTML;
-
-__PACKAGE__->run(@ARGV);
-
-sub Releases { return (qw(1.1.1 master)); }
-sub Sections { return (qw(man1 man3 man5 man7)); }
-
-sub getRelease {
- my ( $class, $ver ) = @_;
- my %known = map { $_ => 1 } $class->Releases;
- return @_ != 2 ? %known : defined $known{$ver} ? $ver : undef;
-}
-
-sub run {
- my ( $class, @argv ) = @_;
- my $opt = $class->process_options(@argv);
- $class->cleanup( $opt->{WwwDir}, $opt->{RelVer} );
- exit $class->main( $opt->{SrcDir}, $opt->{WwwDir}, $opt->{RelVer} );
-}
-
-sub main {
- my ( $class, $srcdir, $wwwdir, $release ) = @_;
-
- foreach my $sect ( $class->Sections ) {
- my $dir = File::Spec->catfile( $srcdir, "doc", $sect );
- opendir( my $dh, $dir ) or $class->die("opendir '$dir': $!");
- while ( my $ent = readdir($dh) ) {
- next if $ent =~ /^\./;
- next if $ent !~ /\.pod$/;
-
- my $filename = File::Spec->catfile( $dir, $ent );
- my $basename = basename( $ent, ".pod" );
- my $title = $basename;
- my %data = $class->getdata( $filename );
- my $out =
- $class->genhtml( $release, $sect, $filename, $title, $basename,
- $data{description});
- my $outfile = File::Spec->catfile( $wwwdir, "man$release", $sect,
- "$basename.html" );
- open( my $fh, ">", $outfile )
- or $class->die("Can't open $outfile: $!");
- print $fh $out or $class->die("Can't print $outfile: $!");
- close($fh) or $class->die("Can't close $outfile: $!");
-
- foreach my $alt (grep { $_ ne $basename } @{$data{names}}) {
- my $target = File::Spec->catfile( $wwwdir, "man$release", $sect,
- "$alt.html" );
- if ( ! -f $target ) {
- link( $outfile, $target )
- or $class->die("Can't link $outfile to $target: $!");
- }
- }
- }
- }
-}
-
-# Generate a manpage
-sub genhtml {
- my ( $class, $release, $section, $filename, $title, $file, $desc ) = @_;
- my $header = $class->htmlHeader( $title, $desc );
- my $footer = $class->htmlFooter( $release, $section, $file );
-
- open( my $fh, $filename ) || $class->die("Can't open $filename: $!");
- my $infile = do { local $/; <$fh>; };
-
- my $out;
- my $pod = Pod::Simple::XHTML->new;
- $pod->html_h_level(3);
- $pod->perldoc_url_prefix("/docs/man$release/man");
- $pod->perldoc_url_postfix(".html");
- $pod->man_url_prefix("/docs/man$release/man");
- $pod->man_url_postfix(".html");
- $pod->html_header($header);
- $pod->html_footer($footer);
- $pod->output_string( \$out );
- $pod->parse_string_document($infile);
- return $out;
-}
-
-# Return diverse data from a manpage if available, currently:
-# {
-# names => [ ... ] # list of all OTHER names
-# description => "text" # the short description from NAME
-# }
-sub getdata {
- my ( $class, $infile ) = @_;
- my %data = ();
- open( my $fh, "<", $infile ) or $class->die("Can't open $infile: $!");
- {
- local $/ = "";
- my $foundname = 0;
- while (<$fh>) {
- chop;
- s/\n/ /gm;
- if (/^=head1 /) {
- $foundname = 0;
- }
- elsif ($foundname) {
- if (/ - /) {
- $data{description} = $';
- $_ = $`;
- s/,\s+/,/g;
- s/\s+,/,/g;
- s/^\s+//g;
- s/\s+$//g;
- s/\s/_/g;
- push @{$data{names}}, split ',';
- }
- }
- if (/^=head1\s+NAME\s*$/) {
- $foundname = 1;
- }
- }
- }
- return %data;
-}
-
-sub die {
- my $class = shift;
- $class->error(@_);
- exit(2);
-}
-
-sub error {
- my $class = shift;
- my $prog = basename($0);
- warn("$prog: $_\n") for @_;
-}
-
-# Remove all files from a manpage subtree, and leave only
-# the index and the section subdirs.
-sub cleanup {
- my ( $class, $wwwdir, $release ) = @_;
- my $dir = File::Spec->catfile( $wwwdir, "man$release" );
- my $idx = File::Spec->catfile( $dir, "index.html" );
-
- if ( !-d $dir ) {
- mkdir($dir) or $class->die("mkdir '$dir': $!");
- }
-
- # TBD: was $class->die
- $class->error("No $idx") unless ( -f $idx );
- foreach my $sect ( $class->Sections ) {
- my $sdir = File::Spec->catfile( $dir, $sect );
- if ( !-d $sdir ) {
- mkdir($sdir) or $class->die("mkdir '$sdir': $!");
- next;
- }
-
- opendir( my $dh, $sdir ) or $class->die("opendir '$sdir': $!");
- while ( my $ent = readdir($dh) ) {
- next if $ent =~ /^\./;
- next if $ent =~ /^index.(?:html|inc)$/;
- my $f = File::Spec->catfile( $sdir, $ent );
- unlink($f) or $class->error("Can't unlink '$f': $!");
- }
- }
-}
-
-sub process_options {
- my ( $class, @argv ) = @_;
- my %opt;
-
- GetOptionsFromArray( \@argv, \%opt, "help", "man" )
- or pod2usage( -verbose => 0 );
-
- pod2usage( -verbose => 1 ) if ( $opt{help} or @argv != 3 );
- pod2usage( -verbose => 2 ) if ( $opt{man} );
-
- # <src/dir> <rel.ver> <www/dir>
- my @argkeys = qw(SrcDir RelVer WwwDir);
- @opt{@argkeys} = @argv;
-
- # no empty values, directories must exist
- my @err;
- foreach my $key (@argkeys) {
- push( @err, "Invalid $key argument '$opt{$key}'" )
- if ( $opt{$key} =~ /^\s*$/ );
- push( @err, "Directory '$opt{$key}': $!" )
- if ( $key =~ /Dir$/ and !-d $opt{$key} );
- }
- $class->die(@err) if @err;
-
- # each source dir has a set of subdirs with documentation
- foreach my $sect ( $class->Sections ) {
- my $dir = File::Spec->catfile( $opt{SrcDir}, "doc", $sect );
- push( @err, "No directory '$dir'" ) unless ( -d $dir );
- }
-
- # verify release
- push( @err, "Unknown release '$opt{RelVer}'" )
- unless ( $class->getRelease( $opt{RelVer} ) );
- $class->die(@err) if @err;
-
- return \%opt;
-}
-
-sub htmlHeader {
- my ( $class, $title, $desc ) = @_;
- return <<EOFH;
-<!DOCTYPE html>
-<html lang="en">
-<!-- OSSL: description: $desc -->
-<!--#include virtual="/inc/head.shtml" -->
-<body>
- <!--#include virtual="/inc/banner.shtml" -->
- <div id="main">
- <div id="content">
- <div class="blog-index">
- <article>
- <header><h2>$title</h2></header>
- <div class="entry-content">
- <p>
-
-EOFH
-}
-
-# note: links could be bogus if file DNE in one of the other releases
-sub htmlSidebar {
- my ( $class, $release, $section, $file ) = @_;
-
- my $lirel = "";
- foreach my $v ( grep { $release ne $_ } $class->Releases ) {
- $lirel .=
-"\n<li><a href=\"/docs/man$v/$section/$file.html\">$v version</a></li>";
- }
-
- return <<EOS;
-<aside class="sidebar">
- <section>
- <h1><a href="/docs/manpages.html">$release manpages</a></h1>
- <ul>
- <li><a href="../man1">Commands</a></li>
- <li><a href="../man3">Libraries</a></li>
- <li><a href="../man5">File Formats</a></li>
- <li><a href="../man7">Overviews</a></li>
- </ul>
- </section>
-</aside>
-EOS
-}
-
-sub htmlFooter {
- my ( $class, $release, $section, $file ) = @_;
- my $sidebar = $class->htmlSidebar( $release, $section, $file );
- return <<EOFT;
- </p>
- </div>
- <footer>
- You are here: <a href="/">Home</a>
- : <a href="/docs">Docs</a>
- : <a href="/docs/manpages.html">Manpages</a>
- : <a href="/docs/man$release">$release</a>
- : <a href="/docs/man$release/$section">$section</a>
- : <a href="/docs/man$release/$section/$file.html">$file</a>
- <br/><a href="/sitemap.txt">Sitemap</a>
- </footer>
- </article>
- </div>
- $sidebar
- </div>
- </div>
- <!--#include virtual="/inc/footer.shtml" -->
-</body>
-</html>
-EOFT
-}
-
-__END__
-
-=pod
-
-=head1 NAME
-
-mk-manpages - htmlize man pages from POD for the OpenSSL website
-
-=head1 SYNOPSIS
-
-mk-manpages [options] <SrcDir> <RelVer> <WwwDir>
-
- <SrcDir> top level directory of release <RelVer>, example 'OpenSSL_1_0_2-stable'
- <RelVer> version number associated with <SrcDir>, example '1.0.2'
- <WwwDir> top level directory beneath which generated html is stored, example 'web'
-
- --help display a brief help message
- --man display full documentation
-
-=head1 DESCRIPTION
-
-This utility is run on a web server generate the htmlized version of
-OpenSSL documentation from the original POD. The resultant directory
-structure may look something like the following (where the contents of
-index.html do not come from this tool):
-
- $ ls some/path/to/web
- man1.0.2 man1.1.0 manmaster
- $ ls some/path/to/web/man1.0.2
- apps crypto index.html ssl
- $ ls some/path/to/web/man1.0.2/apps
- CA.pl.html
- asn1parse.html
- c_rehash.html
- ...
-
-=cut
diff --git a/docs/man1.0.2/crypto/index.html b/docs/man1.0.2/crypto/index.html
deleted file mode 100644
index 0791e21..0000000
--- a/docs/man1.0.2/crypto/index.html
+++ /dev/null
@@ -1,43 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-<!--#include virtual="/inc/head.shtml" -->
-<body>
- <!--#include virtual="/inc/banner.shtml" -->
- <div id="main">
- <div id="content">
- <div class="blog-index">
- <article>
- <header><h2>crypto library</h2></header>
- <div class="entry-content">
- <p>
- The <a href="crypto.html">crypto</a> manpage provides a
- general overview of the crypto library.
- The detailed list is here:
- </p>
-
- <table style="border-spacing: 10px 0;">
- <tr>
- <td>NAME</td>
- <td>Description</td>
- </tr>
- <!--#include virtual="index.inc" -->
- </table>
- <p> </p>
-
- </div>
- <footer>
- You are here: <a href="/">Home</a>
- : <a href="/docs">Documentation</a>
- : <a href="/docs/manpages.html">Manpages</a>
- : <a href="/docs/man1.0.2">master</a>
- : <a href="/docs/man1.0.2/crypto">crypto</a>
- <br/><a href="/sitemap.txt">Sitemap</a>
- </footer>
- </article>
- </div>
- <!--#include virtual="/inc/mansidebar.shtml" -->
- </div>
- </div>
-<!--#include virtual="/inc/footer.shtml" -->
-</body>
-</html>
diff --git a/docs/man1.0.2/index.html b/docs/man1.0.2/index.html
index c789469..c937ef0 100644
--- a/docs/man1.0.2/index.html
+++ b/docs/man1.0.2/index.html
@@ -16,9 +16,10 @@
parts:
</p>
<ul>
- <li><a href="apps">The commands</a></li>
- <li><a href="ssl">The ssl library</a></li>
- <li><a href="crypto">The crypto library</a></li>
+ <li><a href="man1">Commands</a></li>
+ <li><a href="man3">Libraries</a></li>
+ <li><a href="man5">File Formats</a></li>
+ <li><a href="man7">Overviews</a></li>
</ul>
</div>
<footer>
diff --git a/docs/man1.1.0/apps/index.html b/docs/man1.0.2/man1/index.html
similarity index 91%
rename from docs/man1.1.0/apps/index.html
rename to docs/man1.0.2/man1/index.html
index 6e7076b..485bdc3 100644
--- a/docs/man1.1.0/apps/index.html
+++ b/docs/man1.0.2/man1/index.html
@@ -29,8 +29,8 @@
You are here: <a href="/">Home</a>
: <a href="/docs">Documentation</a>
: <a href="/docs/manpages.html">Manpages</a>
- : <a href="/docs/man1.1.0">master</a>
- : <a href="/docs/man1.1.0/apps">commands</a>
+ : <a href="/docs/man1.0.2">1.0.2</a>
+ : <a href="/docs/man1.0.2/man1">commands</a>
<br/><a href="/sitemap.txt">Sitemap</a>
</footer>
</article>
@@ -41,4 +41,3 @@
<!--#include virtual="/inc/footer.shtml" -->
</body>
</html>
-
diff --git a/docs/man1.1.0/ssl/index.html b/docs/man1.0.2/man3/index.html
similarity index 68%
rename from docs/man1.1.0/ssl/index.html
rename to docs/man1.0.2/man3/index.html
index 031132b..d5690f6 100644
--- a/docs/man1.1.0/ssl/index.html
+++ b/docs/man1.0.2/man3/index.html
@@ -7,12 +7,16 @@
<div id="content">
<div class="blog-index">
<article>
- <header><h2>ssl library</h2></header>
+ <header><h2>libraries</h2></header>
<div class="entry-content">
<p>
- The <a href="ssl.html">ssl</a> manpage provides a
- general overview of the ssl library.
- The detailed list is here:
+ This is the OpenSSL API for the SSL and Crypto libraries.
+ The <a href="ssl.html">ssl</a> and <a href="crypto.html">crypto</a>
+ manpages are general overviews of those libraries.
+ </p>
+
+ <p>
+ The detailed list is here:
</p>
<table style="border-spacing: 10px 0;">
@@ -29,8 +33,8 @@
You are here: <a href="/">Home</a>
: <a href="/docs">Documentation</a>
: <a href="/docs/manpages.html">Manpages</a>
- : <a href="/docs/man1.1.0">master</a>
- : <a href="/docs/man1.1.0/ssl">ssl</a>
+ : <a href="/docs/man1.0.2">1.0.2</a>
+ : <a href="/docs/man1.0.2/man3">libraries</a>
<br/><a href="/sitemap.txt">Sitemap</a>
</footer>
</article>
@@ -41,4 +45,3 @@
<!--#include virtual="/inc/footer.shtml" -->
</body>
</html>
-
diff --git a/docs/man1.1.1/man7/index.html b/docs/man1.0.2/man5/index.html
similarity index 83%
copy from docs/man1.1.1/man7/index.html
copy to docs/man1.0.2/man5/index.html
index 7223213..651592f 100644
--- a/docs/man1.1.1/man7/index.html
+++ b/docs/man1.0.2/man5/index.html
@@ -7,10 +7,9 @@
<div id="content">
<div class="blog-index">
<article>
- <header><h2>crypto library</h2></header>
+ <header><h2>file formats</h2></header>
<div class="entry-content">
<p>
- OpenSSL overviews.
The detailed list is here:
</p>
@@ -28,8 +27,8 @@
You are here: <a href="/">Home</a>
: <a href="/docs">Documentation</a>
: <a href="/docs/manpages.html">Manpages</a>
- : <a href="/docs/man1.1.1">1.1.1</a>
- : <a href="/docs/man1.1.1/man7">overviews</a>
+ : <a href="/docs/man1.0.2">1.0.2</a>
+ : <a href="/docs/man1.0.2/man5">file formats</a>
<br/><a href="/sitemap.txt">Sitemap</a>
</footer>
</article>
@@ -40,4 +39,3 @@
<!--#include virtual="/inc/footer.shtml" -->
</body>
</html>
-
diff --git a/docs/man1.1.1/man7/index.html b/docs/man1.0.2/man7/index.html
similarity index 83%
copy from docs/man1.1.1/man7/index.html
copy to docs/man1.0.2/man7/index.html
index 7223213..0b6ebc4 100644
--- a/docs/man1.1.1/man7/index.html
+++ b/docs/man1.0.2/man7/index.html
@@ -7,10 +7,9 @@
<div id="content">
<div class="blog-index">
<article>
- <header><h2>crypto library</h2></header>
+ <header><h2>overviews</h2></header>
<div class="entry-content">
<p>
- OpenSSL overviews.
The detailed list is here:
</p>
@@ -28,8 +27,8 @@
You are here: <a href="/">Home</a>
: <a href="/docs">Documentation</a>
: <a href="/docs/manpages.html">Manpages</a>
- : <a href="/docs/man1.1.1">1.1.1</a>
- : <a href="/docs/man1.1.1/man7">overviews</a>
+ : <a href="/docs/man1.0.2">1.0.2</a>
+ : <a href="/docs/man1.0.2/man7">overviews</a>
<br/><a href="/sitemap.txt">Sitemap</a>
</footer>
</article>
@@ -40,4 +39,3 @@
<!--#include virtual="/inc/footer.shtml" -->
</body>
</html>
-
diff --git a/docs/man1.1.0/crypto/index.html b/docs/man1.1.0/crypto/index.html
deleted file mode 100644
index 1b3545e..0000000
--- a/docs/man1.1.0/crypto/index.html
+++ /dev/null
@@ -1,43 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-<!--#include virtual="/inc/head.shtml" -->
-<body>
- <!--#include virtual="/inc/banner.shtml" -->
- <div id="main">
- <div id="content">
- <div class="blog-index">
- <article>
- <header><h2>crypto library</h2></header>
- <div class="entry-content">
- <p>
- The <a href="crypto.html">crypto</a> manpage provides a
- general overview of the crypto library.
- The detailed list is here:
- </p>
-
- <table style="border-spacing: 10px 0;">
- <tr>
- <td>NAME</td>
- <td>Description</td>
- </tr>
- <!--#include virtual="index.inc" -->
- </table>
- <p> </p>
-
- </div>
- <footer>
- You are here: <a href="/">Home</a>
- : <a href="/docs">Documentation</a>
- : <a href="/docs/manpages.html">Manpages</a>
- : <a href="/docs/man1.1.0">master</a>
- : <a href="/docs/man1.1.0/crypto">crypto</a>
- <br/><a href="/sitemap.txt">Sitemap</a>
- </footer>
- </article>
- </div>
- <!--#include virtual="/inc/mansidebar.shtml" -->
- </div>
- </div>
-<!--#include virtual="/inc/footer.shtml" -->
-</body>
-</html>
diff --git a/docs/man1.1.0/index.html b/docs/man1.1.0/index.html
index 3d41a80..de57e64 100644
--- a/docs/man1.1.0/index.html
+++ b/docs/man1.1.0/index.html
@@ -16,9 +16,10 @@
parts:
</p>
<ul>
- <li><a href="apps">The commands</a></li>
- <li><a href="ssl">The ssl library</a></li>
- <li><a href="crypto">The crypto library</a></li>
+ <li><a href="man1">Commands</a></li>
+ <li><a href="man3">Libraries</a></li>
+ <li><a href="man5">File Formats</a></li>
+ <li><a href="man7">Overviews</a></li>
</ul>
</div>
<footer>
diff --git a/docs/man1.0.2/apps/index.html b/docs/man1.1.0/man1/index.html
similarity index 91%
rename from docs/man1.0.2/apps/index.html
rename to docs/man1.1.0/man1/index.html
index 5c5e77e..c8562a0 100644
--- a/docs/man1.0.2/apps/index.html
+++ b/docs/man1.1.0/man1/index.html
@@ -29,8 +29,8 @@
You are here: <a href="/">Home</a>
: <a href="/docs">Documentation</a>
: <a href="/docs/manpages.html">Manpages</a>
- : <a href="/docs/man1.0.2">master</a>
- : <a href="/docs/man1.0.2/apps">commands</a>
+ : <a href="/docs/man1.1.0">1.1.0</a>
+ : <a href="/docs/man1.1.0/man1">commands</a>
<br/><a href="/sitemap.txt">Sitemap</a>
</footer>
</article>
diff --git a/docs/man1.0.2/ssl/index.html b/docs/man1.1.0/man3/index.html
similarity index 70%
rename from docs/man1.0.2/ssl/index.html
rename to docs/man1.1.0/man3/index.html
index 5cd9454..388816a 100644
--- a/docs/man1.0.2/ssl/index.html
+++ b/docs/man1.1.0/man3/index.html
@@ -7,11 +7,16 @@
<div id="content">
<div class="blog-index">
<article>
- <header><h2>ssl library</h2></header>
+ <header><h2>libraries</h2></header>
<div class="entry-content">
<p>
- The <a href="ssl.html">ssl</a> manpage provides a
- general overview of the ssl library.
+ This is the OpenSSL API for the SSL and Crypto libraries.
+ The <a href="../man7/ssl.html">ssl</a> and
+ <a href="../man7/crypto.html">crypto</a> manpages are
+ general overviews of those libraries.
+ </p>
+
+ <p>
The detailed list is here:
</p>
@@ -29,8 +34,8 @@
You are here: <a href="/">Home</a>
: <a href="/docs">Documentation</a>
: <a href="/docs/manpages.html">Manpages</a>
- : <a href="/docs/man1.0.2">master</a>
- : <a href="/docs/man1.0.2/ssl">ssl</a>
+ : <a href="/docs/man1.1.0">1.1.0</a>
+ : <a href="/docs/man1.1.0/man3">libraries</a>
<br/><a href="/sitemap.txt">Sitemap</a>
</footer>
</article>
@@ -41,4 +46,3 @@
<!--#include virtual="/inc/footer.shtml" -->
</body>
</html>
-
diff --git a/docs/man1.1.1/man7/index.html b/docs/man1.1.0/man5/index.html
similarity index 83%
copy from docs/man1.1.1/man7/index.html
copy to docs/man1.1.0/man5/index.html
index 7223213..8b39715 100644
--- a/docs/man1.1.1/man7/index.html
+++ b/docs/man1.1.0/man5/index.html
@@ -7,10 +7,9 @@
<div id="content">
<div class="blog-index">
<article>
- <header><h2>crypto library</h2></header>
+ <header><h2>overviews</h2></header>
<div class="entry-content">
<p>
- OpenSSL overviews.
The detailed list is here:
</p>
@@ -28,8 +27,8 @@
You are here: <a href="/">Home</a>
: <a href="/docs">Documentation</a>
: <a href="/docs/manpages.html">Manpages</a>
- : <a href="/docs/man1.1.1">1.1.1</a>
- : <a href="/docs/man1.1.1/man7">overviews</a>
+ : <a href="/docs/man1.1.0">1.1.0</a>
+ : <a href="/docs/man1.1.0/man5">file formats</a>
<br/><a href="/sitemap.txt">Sitemap</a>
</footer>
</article>
@@ -40,4 +39,3 @@
<!--#include virtual="/inc/footer.shtml" -->
</body>
</html>
-
diff --git a/docs/man1.1.1/man1/index.html b/docs/man1.1.0/man7/index.html
similarity index 91%
copy from docs/man1.1.1/man1/index.html
copy to docs/man1.1.0/man7/index.html
index b008c2b..d6c8b64 100644
--- a/docs/man1.1.1/man1/index.html
+++ b/docs/man1.1.0/man7/index.html
@@ -29,8 +29,8 @@
You are here: <a href="/">Home</a>
: <a href="/docs">Documentation</a>
: <a href="/docs/manpages.html">Manpages</a>
- : <a href="/docs/man1.1.1">1.1.1</a>
- : <a href="/docs/man1.1.1/man1">commands</a>
+ : <a href="/docs/man1.1.0">1.1.0</a>
+ : <a href="/docs/man1.1.0/man7">overviews</a>
<br/><a href="/sitemap.txt">Sitemap</a>
</footer>
</article>
@@ -41,4 +41,3 @@
<!--#include virtual="/inc/footer.shtml" -->
</body>
</html>
-
diff --git a/docs/man1.1.1/man3/index.html b/docs/man1.1.1/man3/index.html
index b7adf3d..afe7dd6 100644
--- a/docs/man1.1.1/man3/index.html
+++ b/docs/man1.1.1/man3/index.html
@@ -11,6 +11,12 @@
<div class="entry-content">
<p>
This is the OpenSSL API for the SSL and Crypto libraries.
+ The <a href="../man7/ssl.html">ssl</a> and
+ <a href="../man7/crypto.html">crypto</a> manpages are
+ general overviews of those libraries.
+ </p>
+
+ <p>
The detailed list is here:
</p>
diff --git a/docs/manmaster/man3/index.html b/docs/manmaster/man3/index.html
index 9de91ae..79ddc60 100644
--- a/docs/manmaster/man3/index.html
+++ b/docs/manmaster/man3/index.html
@@ -11,6 +11,12 @@
<div class="entry-content">
<p>
This is the OpenSSL API for the SSL and Crypto libraries.
+ The <a href="../man7/ssl.html">ssl</a> and
+ <a href="../man7/crypto.html">crypto</a> manpages are
+ general overviews of those libraries.
+ </p>
+
+ <p>
The detailed list is here:
</p>
More information about the openssl-commits
mailing list