From 83da2be8f32510d139c52283acd22915242d0f5f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?kleines=20Filmr=C3=B6llchen?= Date: Mon, 29 Aug 2022 14:06:23 +0200 Subject: [PATCH] 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. --- Userland/Utilities/uname.cpp | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/Userland/Utilities/uname.cpp b/Userland/Utilities/uname.cpp index b6197d02404..d0e6e016a7d 100644 --- a/Userland/Utilities/uname.cpp +++ b/Userland/Utilities/uname.cpp @@ -20,6 +20,7 @@ ErrorOr 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 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 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;