uname: Report system revision version aka git commit hash

This can be done with -v and makes uname fully POSIX compliant as far as
I can tell.
This commit is contained in:
kleines Filmröllchen 2022-08-29 14:06:23 +02:00 committed by Linus Groh
parent 4c7eef874d
commit 83da2be8f3
Notes: sideshowbarker 2024-07-17 05:49:14 +09:00

View File

@ -20,6 +20,7 @@ ErrorOr<int> serenity_main(Main::Arguments arguments)
bool flag_system = false;
bool flag_node = false;
bool flag_release = false;
bool flag_version = false;
bool flag_machine = false;
bool flag_all = false;
@ -27,14 +28,15 @@ ErrorOr<int> serenity_main(Main::Arguments arguments)
args_parser.add_option(flag_system, "Print the system name (default)", nullptr, 's');
args_parser.add_option(flag_node, "Print the node name", nullptr, 'n');
args_parser.add_option(flag_release, "Print the system release", nullptr, 'r');
args_parser.add_option(flag_version, "Print the version of the release", nullptr, 'v');
args_parser.add_option(flag_machine, "Print the machine hardware name", nullptr, 'm');
args_parser.add_option(flag_all, "Print all information (same as -snrm)", nullptr, 'a');
args_parser.parse(arguments);
if (flag_all)
flag_system = flag_node = flag_release = flag_machine = true;
flag_system = flag_node = flag_release = flag_machine = flag_version = true;
if (!flag_system && !flag_node && !flag_release && !flag_machine)
if (!flag_system && !flag_node && !flag_release && !flag_machine && !flag_version)
flag_system = true;
utsname uts = TRY(Core::System::uname());
@ -46,6 +48,8 @@ ErrorOr<int> serenity_main(Main::Arguments arguments)
parts.append(uts.nodename);
if (flag_release)
parts.append(uts.release);
if (flag_version)
parts.append(uts.version);
if (flag_machine)
parts.append(uts.machine);
StringBuilder builder;