tools: bpftool: Include common options from separate file
authorQuentin Monnet <quentin@isovalent.com>
Wed, 9 Sep 2020 16:24:59 +0000 (17:24 +0100)
committerAlexei Starovoitov <ast@kernel.org>
Thu, 10 Sep 2020 18:16:46 +0000 (11:16 -0700)
Nearly all man pages for bpftool have the same common set of option
flags (--help, --version, --json, --pretty, --debug). The description is
duplicated across all the pages, which is more difficult to maintain if
the description of an option changes. It may also be confusing to sort
out what options are not "common" and should not be copied when creating
new manual pages.

Let's move the description for those common options to a separate file,
which is included with a RST directive when generating the man pages.

Signed-off-by: Quentin Monnet <quentin@isovalent.com>
Signed-off-by: Alexei Starovoitov <ast@kernel.org>
Acked-by: Andrii Nakryiko <andriin@fb.com>
Link: https://lore.kernel.org/bpf/20200909162500.17010-3-quentin@isovalent.com
14 files changed:
tools/bpf/bpftool/Documentation/Makefile
tools/bpf/bpftool/Documentation/bpftool-btf.rst
tools/bpf/bpftool/Documentation/bpftool-cgroup.rst
tools/bpf/bpftool/Documentation/bpftool-feature.rst
tools/bpf/bpftool/Documentation/bpftool-gen.rst
tools/bpf/bpftool/Documentation/bpftool-iter.rst
tools/bpf/bpftool/Documentation/bpftool-link.rst
tools/bpf/bpftool/Documentation/bpftool-map.rst
tools/bpf/bpftool/Documentation/bpftool-net.rst
tools/bpf/bpftool/Documentation/bpftool-perf.rst
tools/bpf/bpftool/Documentation/bpftool-prog.rst
tools/bpf/bpftool/Documentation/bpftool-struct_ops.rst
tools/bpf/bpftool/Documentation/bpftool.rst
tools/bpf/bpftool/Documentation/common_options.rst [new file with mode: 0644]

index a45b51d..5e38153 100644 (file)
@@ -19,7 +19,7 @@ man8dir = $(mandir)/man8
 # Load targets for building eBPF helpers man page.
 include ../../Makefile.helpers
 
-MAN8_RST = $(filter-out $(HELPERS_RST),$(wildcard *.rst))
+MAN8_RST = $(wildcard bpftool*.rst)
 
 _DOC_MAN8 = $(patsubst %.rst,%.8,$(MAN8_RST))
 DOC_MAN8 = $(addprefix $(OUTPUT),$(_DOC_MAN8))
index 864553e..52a7b2f 100644 (file)
@@ -71,22 +71,7 @@ DESCRIPTION
 
 OPTIONS
 =======
-       -h, --help
-                 Print short generic help message (similar to **bpftool help**).
-
-       -V, --version
-                 Print version number (similar to **bpftool version**).
-
-       -j, --json
-                 Generate JSON output. For commands that cannot produce JSON, this
-                 option has no effect.
-
-       -p, --pretty
-                 Generate human-readable JSON output. Implies **-j**.
-
-       -d, --debug
-                 Print all logs available from libbpf, including debug-level
-                 information.
+       .. include:: common_options.rst
 
 EXAMPLES
 ========
index a226aee..3dba89d 100644 (file)
@@ -116,26 +116,11 @@ DESCRIPTION
 
 OPTIONS
 =======
-       -h, --help
-                 Print short generic help message (similar to **bpftool help**).
-
-       -V, --version
-                 Print version number (similar to **bpftool version**).
-
-       -j, --json
-                 Generate JSON output. For commands that cannot produce JSON, this
-                 option has no effect.
-
-       -p, --pretty
-                 Generate human-readable JSON output. Implies **-j**.
+       .. include:: common_options.rst
 
        -f, --bpffs
                  Show file names of pinned programs.
 
-       -d, --debug
-                 Print all logs available from libbpf, including debug-level
-                 information.
-
 EXAMPLES
 ========
 |
index 8609f06..f1aae56 100644 (file)
@@ -71,22 +71,7 @@ DESCRIPTION
 
 OPTIONS
 =======
-       -h, --help
-                 Print short generic help message (similar to **bpftool help**).
-
-       -V, --version
-                 Print version number (similar to **bpftool version**).
-
-       -j, --json
-                 Generate JSON output. For commands that cannot produce JSON, this
-                 option has no effect.
-
-       -p, --pretty
-                 Generate human-readable JSON output. Implies **-j**.
-
-       -d, --debug
-                 Print all logs available from libbpf, including debug-level
-                 information.
+       .. include:: common_options.rst
 
 SEE ALSO
 ========
index d52b03a..29d4cf4 100644 (file)
@@ -126,22 +126,7 @@ DESCRIPTION
 
 OPTIONS
 =======
-       -h, --help
-                 Print short generic help message (similar to **bpftool help**).
-
-       -V, --version
-                 Print version number (similar to **bpftool version**).
-
-       -j, --json
-                 Generate JSON output. For commands that cannot produce JSON,
-                 this option has no effect.
-
-       -p, --pretty
-                 Generate human-readable JSON output. Implies **-j**.
-
-       -d, --debug
-                 Print all logs available from libbpf, including debug-level
-                 information.
+       .. include:: common_options.rst
 
 EXAMPLES
 ========
index 070ffac..b688cf1 100644 (file)
@@ -51,16 +51,7 @@ DESCRIPTION
 
 OPTIONS
 =======
-       -h, --help
-                 Print short generic help message (similar to **bpftool help**).
-
-       -V, --version
-                 Print version number (similar to **bpftool version**).
-
-       -d, --debug
-                 Print all logs available, even debug-level information. This
-                 includes logs from libbpf as well as from the verifier, when
-                 attempting to load programs.
+       .. include:: common_options.rst
 
 EXAMPLES
 ========
index dc7693b..ce122be 100644 (file)
@@ -62,18 +62,7 @@ DESCRIPTION
 
 OPTIONS
 =======
-       -h, --help
-                 Print short generic help message (similar to **bpftool help**).
-
-       -V, --version
-                 Print version number (similar to **bpftool version**).
-
-       -j, --json
-                 Generate JSON output. For commands that cannot produce JSON, this
-                 option has no effect.
-
-       -p, --pretty
-                 Generate human-readable JSON output. Implies **-j**.
+       .. include:: common_options.rst
 
        -f, --bpffs
                  When showing BPF links, show file names of pinned
@@ -83,10 +72,6 @@ OPTIONS
                  Do not automatically attempt to mount any virtual file system
                  (such as tracefs or BPF virtual file system) when necessary.
 
-       -d, --debug
-                 Print all logs available, even debug-level information. This
-                 includes logs from libbpf.
-
 EXAMPLES
 ========
 **# bpftool link show**
index 8f187c6..4b42629 100644 (file)
@@ -155,18 +155,7 @@ DESCRIPTION
 
 OPTIONS
 =======
-       -h, --help
-                 Print short generic help message (similar to **bpftool help**).
-
-       -V, --version
-                 Print version number (similar to **bpftool version**).
-
-       -j, --json
-                 Generate JSON output. For commands that cannot produce JSON, this
-                 option has no effect.
-
-       -p, --pretty
-                 Generate human-readable JSON output. Implies **-j**.
+       .. include:: common_options.rst
 
        -f, --bpffs
                  Show file names of pinned maps.
@@ -175,10 +164,6 @@ OPTIONS
                  Do not automatically attempt to mount any virtual file system
                  (such as tracefs or BPF virtual file system) when necessary.
 
-       -d, --debug
-                 Print all logs available from libbpf, including debug-level
-                 information.
-
 EXAMPLES
 ========
 **# bpftool map show**
index aa74507..56439c3 100644 (file)
@@ -75,22 +75,7 @@ DESCRIPTION
 
 OPTIONS
 =======
-       -h, --help
-                 Print short generic help message (similar to **bpftool help**).
-
-       -V, --version
-                 Print version number (similar to **bpftool version**).
-
-       -j, --json
-                 Generate JSON output. For commands that cannot produce JSON, this
-                 option has no effect.
-
-       -p, --pretty
-                 Generate human-readable JSON output. Implies **-j**.
-
-       -d, --debug
-                 Print all logs available from libbpf, including debug-level
-                 information.
+       .. include:: common_options.rst
 
 EXAMPLES
 ========
index 9c592b7..36d257a 100644 (file)
@@ -40,22 +40,7 @@ DESCRIPTION
 
 OPTIONS
 =======
-       -h, --help
-                 Print short generic help message (similar to **bpftool help**).
-
-       -V, --version
-                 Print version number (similar to **bpftool version**).
-
-       -j, --json
-                 Generate JSON output. For commands that cannot produce JSON, this
-                 option has no effect.
-
-       -p, --pretty
-                 Generate human-readable JSON output. Implies **-j**.
-
-       -d, --debug
-                 Print all logs available from libbpf, including debug-level
-                 information.
+       .. include:: common_options.rst
 
 EXAMPLES
 ========
index 82e356b..9b2b18e 100644 (file)
@@ -210,18 +210,7 @@ DESCRIPTION
 
 OPTIONS
 =======
-       -h, --help
-                 Print short generic help message (similar to **bpftool help**).
-
-       -V, --version
-                 Print version number (similar to **bpftool version**).
-
-       -j, --json
-                 Generate JSON output. For commands that cannot produce JSON, this
-                 option has no effect.
-
-       -p, --pretty
-                 Generate human-readable JSON output. Implies **-j**.
+       .. include:: common_options.rst
 
        -f, --bpffs
                  When showing BPF programs, show file names of pinned
@@ -234,11 +223,6 @@ OPTIONS
                  Do not automatically attempt to mount any virtual file system
                  (such as tracefs or BPF virtual file system) when necessary.
 
-       -d, --debug
-                 Print all logs available, even debug-level information. This
-                 includes logs from libbpf as well as from the verifier, when
-                 attempting to load programs.
-
 EXAMPLES
 ========
 **# bpftool prog show**
index d93cd1c..315f1f2 100644 (file)
@@ -60,23 +60,7 @@ DESCRIPTION
 
 OPTIONS
 =======
-       -h, --help
-                 Print short generic help message (similar to **bpftool help**).
-
-       -V, --version
-                 Print version number (similar to **bpftool version**).
-
-       -j, --json
-                 Generate JSON output. For commands that cannot produce JSON, this
-                 option has no effect.
-
-       -p, --pretty
-                 Generate human-readable JSON output. Implies **-j**.
-
-       -d, --debug
-                 Print all logs available, even debug-level information. This
-                 includes logs from libbpf as well as from the verifier, when
-                 attempting to load programs.
+       .. include:: common_options.rst
 
 EXAMPLES
 ========
index a3629a3..b87f8c2 100644 (file)
@@ -46,24 +46,7 @@ DESCRIPTION
 
 OPTIONS
 =======
-       -h, --help
-                 Print short help message (similar to **bpftool help**).
-
-       -V, --version
-                 Print version number (similar to **bpftool version**), and
-                 optional features that were included when bpftool was
-                 compiled. Optional features include linking against libbfd to
-                 provide the disassembler for JIT-ted programs (**bpftool prog
-                 dump jited**) and usage of BPF skeletons (some features like
-                 **bpftool prog profile** or showing pids associated to BPF
-                 objects may rely on it).
-
-       -j, --json
-                 Generate JSON output. For commands that cannot produce JSON, this
-                 option has no effect.
-
-       -p, --pretty
-                 Generate human-readable JSON output. Implies **-j**.
+       .. include:: common_options.rst
 
        -m, --mapcompat
                  Allow loading maps with unknown map definitions.
@@ -72,11 +55,6 @@ OPTIONS
                  Do not automatically attempt to mount any virtual file system
                  (such as tracefs or BPF virtual file system) when necessary.
 
-       -d, --debug
-                 Print all logs available, even debug-level information. This
-                 includes logs from libbpf as well as from the verifier, when
-                 attempting to load programs.
-
 SEE ALSO
 ========
        **bpf**\ (2),
diff --git a/tools/bpf/bpftool/Documentation/common_options.rst b/tools/bpf/bpftool/Documentation/common_options.rst
new file mode 100644 (file)
index 0000000..05d06c7
--- /dev/null
@@ -0,0 +1,22 @@
+-h, --help
+         Print short help message (similar to **bpftool help**).
+
+-V, --version
+         Print version number (similar to **bpftool version**), and optional
+         features that were included when bpftool was compiled. Optional
+         features include linking against libbfd to provide the disassembler
+         for JIT-ted programs (**bpftool prog dump jited**) and usage of BPF
+         skeletons (some features like **bpftool prog profile** or showing
+         pids associated to BPF objects may rely on it).
+
+-j, --json
+         Generate JSON output. For commands that cannot produce JSON, this
+         option has no effect.
+
+-p, --pretty
+         Generate human-readable JSON output. Implies **-j**.
+
+-d, --debug
+         Print all logs available, even debug-level information. This includes
+         logs from libbpf as well as from the verifier, when attempting to
+         load programs.