Files
Ed Santiago 3a9a7dcdcd Man pages: refactor common options: --volume
This one is a nightmare, because --volume has been edited
in four different files throughout the years (five if you
count podman-build, which I am not including in this PR).
Those edits have not always been done in sync.

The list of options was reordered 2022-06-28 by Giuseppe in #14734,
but only in podman-create and -run (not in podman-pod-*). No
explanation of why, but I'll assume he knew what he was doing,
and have accepted that for the reference copy.

There was also a big edit in #8519.

The "Propagation property...bind mounted" sentence first appeared
in pod-clone, in #14299 by cdoern, with no obvious source of where
it came from. I choose to include it in the reference copy.

The "**copy**" option seems to work in pod-create, so I'm including
it in the reference copy. Someone please yell loudly if this is
not the case.

The "disables SELinux separation for containers used in the build",
no idea, changed that to just "for the container/pod"

The "advanced users / overlay / upperdir / workdir" paragraph
makes zero sense to me, but hey, I assume it applies to all
the commands, so I put it in the reference copy.

Finally, there's still a mishmash of backticks, asterisks, underscores,
and even quotation marks. Someone is gonna have to perform major
cleanup on this one day, but at least it'll be in only one place.

Signed-off-by: Ed Santiago <santiago@redhat.com>
2022-09-09 08:20:31 -06:00

1.8 KiB

Common Man Page Options

This subdirectory contains option (flag) names and descriptions common to multiple podman man pages. Each file is one option. The filename does not necessarily need to be identical to the option name: for instance, hostname.container.md and hostname.pod.md exist because the --hostname option is sufficiently different between podman-{create,run} and podman-pod-{create,run} to warrant living separately.

How

The files here are included in podman-*.md.in files using the @@option mechanism:

@@option foo           ! will include options/foo.md

The tool that does this is hack/markdown-preprocess. It is a python script because it needs to run on readthedocs.io. From a given .md.in file, this script will create a .md file that can then be read by go-md2man, sphinx, anything that groks markdown. This runs as part of make docs.

Special Substitutions

Some options are almost identical except for 'pod' vs 'container' differences. For those, use <<text for pods|text for containers>>. Order is immaterial: the important thing is the presence of the string "pod" in one half but not the other. The correct string will be chosen based on the filename: if the file contains -pod, such as podman-pod-create, the string with pod (case-insensitive) in it will be chosen.

The string <<subcommand>> will be replaced with the podman subcommand as determined from the filename, e.g., create for podman-create.1.md.in. This allows the shared use of examples in the option file:

    Example: podman <<subcommand>> --foo --bar

As a special case, podman-pod-X becomes just X (the "pod" is removed). This makes the pod-id-file man page more useful. To get the full subcommand including 'pod', use <<fullsubcommand>>.