OSDN Git Service

bpftool: Set binary name to "bpftool" in help and version output
authorQuentin Monnet <quentin@isovalent.com>
Thu, 20 Oct 2022 10:03:00 +0000 (11:03 +0100)
committerAndrii Nakryiko <andrii@kernel.org>
Fri, 21 Oct 2022 21:37:46 +0000 (14:37 -0700)
commit7e5eb725cf0a0a8f85e6b96e062bbd0d5d90c94e
tree89d916139ff328c3b087f4ced8182bffa7edf7f1
parentd9740535b857650bd6211a67ac0c0d574cba1dce
bpftool: Set binary name to "bpftool" in help and version output

Commands "bpftool help" or "bpftool version" use argv[0] to display the
name of the binary. While it is a convenient way to retrieve the string,
it does not always produce the most readable output. For example,
because of the way bpftool is currently packaged on Ubuntu (using a
wrapper script), the command displays the absolute path for the binary:

    $ bpftool version | head -n 1
    /usr/lib/linux-tools/5.15.0-50-generic/bpftool v5.15.60

More generally, there is no apparent reason for keeping the whole path
and exact binary name in this output. If the user wants to understand
what binary is being called, there are other ways to do so. This commit
replaces argv[0] with "bpftool", to simply reflect what the tool is
called. This is aligned on what "ip" or "tc" do, for example.

As an additional benefit, this seems to help with integration with
Meson for packaging [0].

[0] https://github.com/NixOS/nixpkgs/pull/195934

Suggested-by: Vladimír Čunát <vladimir.cunat@nic.cz>
Signed-off-by: Quentin Monnet <quentin@isovalent.com>
Signed-off-by: Andrii Nakryiko <andrii@kernel.org>
Link: https://lore.kernel.org/bpf/20221020100300.69328-1-quentin@isovalent.com
tools/bpf/bpftool/main.c