diff options
author | Richard Levitte <levitte@openssl.org> | 2021-09-19 11:05:35 +0200 |
---|---|---|
committer | Richard Levitte <levitte@openssl.org> | 2021-09-21 11:05:53 +0200 |
commit | dc18f036f161e1e49e1d001046716c77d1699e70 (patch) | |
tree | 4957da68dba6d9763676eaa057c0912a4692655f /util/mkpod2html.pl | |
parent | 08d8c2d87ec782e95c28ff795e096c2f6f590d63 (diff) | |
download | openssl-new-dc18f036f161e1e49e1d001046716c77d1699e70.tar.gz |
Fix util/mkpod2html.pl to call pod2html with absolute paths
It turns out that on VMS, pod2html only recognises VMS directory
specifications if they contain a device name, which is accomplished by
making them absolute. Otherwise, a VMS build that includes building
the document HTML files ends up with an error like this:
$ perl [---.downloads.openssl-3_0-snap-20210916.util]mkpod2html.pl -i [---.downloads.openssl-3_0-snap-20210916.doc.man1]CA.pl.pod -o [.DOC.HTML.MAN1]CA.PL.HTML -t "CA.pl" -r "[---.downloads.openssl-3_0-snap-20210916.doc]"
[---.downloads.openssl-3_0-snap-20210916.util]mkpod2html.pl: error changing to directory -/-/-/downloads/openssl-3_0-snap-20210916/doc/: no such file or directory
%SYSTEM-F-ABORT, abort
Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/16626)
Diffstat (limited to 'util/mkpod2html.pl')
-rwxr-xr-x | util/mkpod2html.pl | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/util/mkpod2html.pl b/util/mkpod2html.pl index 2df4b22b41..ea1164d597 100755 --- a/util/mkpod2html.pl +++ b/util/mkpod2html.pl @@ -12,6 +12,7 @@ use warnings; use lib "."; use Getopt::Std; use Pod::Html; +use File::Spec::Functions qw(:DEFAULT rel2abs); # Options. our($opt_i); # -i INFILE @@ -25,6 +26,14 @@ die "-o flag missing" unless $opt_o; die "-t flag missing" unless $opt_t; die "-r flag missing" unless $opt_r; +# We originally used realpath() here, but the Windows implementation appears +# to require that the directory or file exist to be able to process the input, +# so we use rel2abs() instead, which only processes the string without +# looking further. +$opt_i = rel2abs($opt_i) or die "Can't convert to real path: $!"; +$opt_o = rel2abs($opt_o) or die "Can't convert to real path: $!"; +$opt_r = rel2abs($opt_r) or die "Can't convert to real path: $!"; + pod2html "--infile=$opt_i", "--outfile=$opt_o", |