aboutsummaryrefslogtreecommitdiff
path: root/hack
diff options
context:
space:
mode:
authoropenshift-ci[bot] <75433959+openshift-ci[bot]@users.noreply.github.com>2022-07-14 13:14:41 +0000
committerGitHub <noreply@github.com>2022-07-14 13:14:41 +0000
commit35e637daf894a8c2e01fe52a6a8768166ba38e7f (patch)
treece293d7a147d0095642ade3167f0992aab5cdb4b /hack
parent23a266b2e76ba06041743aae3f5984cf937dda53 (diff)
parentad7c54e13a17eed8efb7b1367a17859d6f7e3032 (diff)
downloadpodman-35e637daf894a8c2e01fe52a6a8768166ba38e7f.tar.gz
podman-35e637daf894a8c2e01fe52a6a8768166ba38e7f.tar.bz2
podman-35e637daf894a8c2e01fe52a6a8768166ba38e7f.zip
Merge pull request #14914 from edsantiago/xref_manpages_stricter
[CI:DOCS] man page checker: enforce stricter options format
Diffstat (limited to 'hack')
-rwxr-xr-xhack/xref-helpmsgs-manpages47
1 files changed, 43 insertions, 4 deletions
diff --git a/hack/xref-helpmsgs-manpages b/hack/xref-helpmsgs-manpages
index 7c07a4f01..de9ef8630 100755
--- a/hack/xref-helpmsgs-manpages
+++ b/hack/xref-helpmsgs-manpages
@@ -350,7 +350,7 @@ sub podman_man {
# This is a while-loop because there may be multiple long
# option names, e.g. --net/--network
my $is_first = 1;
- while ($line =~ s/^\*\*(--[a-z0-9-]+)\*\*(=\*[a-zA-Z0-9-]+\*)?(,\s+)?//g) {
+ while ($line =~ s/^\*\*(--[a-z0-9-]+)\*\*(,\s+)?//g) {
my $flag = $1;
$man{$flag} = 1;
if ($flag lt $previous_flag && $is_first) {
@@ -365,11 +365,50 @@ sub podman_man {
$is_first = 0;
}
# Short form
- if ($line =~ s/^\*\*(-[a-zA-Z0-9])\*\*(=\*[a-zA-Z0-9-]+\*)?//g) {
- $man{$1} = 1;
+ if ($line =~ s/^\*\*(-[a-zA-Z0-9])\*\*//) {
+ my $flag = $1;
+ $man{$flag} = 1;
# Keep track of them, in case we see 'Not implemented' below
- push @most_recent_flags, $1;
+ push @most_recent_flags, $flag;
+ }
+
+ # Options with no '=whatever'
+ next if !$line;
+
+ # Anything remaining *must* be of the form '=<possibilities>'
+ if ($line !~ /^=/) {
+ warn "$ME: $subpath:$.: could not parse '$line' in option description\n";
+ ++$Errs;
+ }
+
+ # For some years it was traditional, albeit wrong, to write
+ # **--foo**=*bar*, **-f**
+ # The correct way is to add =*bar* at the end.
+ if ($line =~ s/,\s\*\*(-[a-zA-Z])\*\*//) {
+ $man{$1} = 1;
+ warn "$ME: $subpath:$.: please rewrite as ', **$1**$line'\n";
+ ++$Errs;
+ }
+
+ # List of possibilities ('=*a* | *b*') must be space-separated
+ if ($line =~ /\|/) {
+ if ($line =~ /[^\s]\|[^\s]/) {
+ # Sigh, except for this one special case
+ if ($line !~ /SOURCE-VOLUME.*HOST-DIR.*CONTAINER-DIR/) {
+ warn "$ME: $subpath:$.: values must be space-separated: '$line'\n";
+ ++$Errs;
+ }
+ }
+ my $copy = $line;
+ if ($copy =~ s/\**true\**//) {
+ if ($copy =~ s/\**false\**//) {
+ if ($copy !~ /[a-z]/) {
+ warn "$ME: $subpath:$.: Do not enumerate true/false for boolean-only options\n";
+ ++$Errs;
+ }
+ }
+ }
}
}
}