From d13ec6508ef181bdb294a955fe0e52e8df667b91 Mon Sep 17 00:00:00 2001 From: ShreyasMahangade <139431044+ShreyasMahangade@users.noreply.github.com> Date: Sat, 20 Jul 2024 22:37:30 +0530 Subject: [PATCH] timedatectl: setting set_local_rtc to 1 will throw Warning as well, use log_warning() (#33489) Previously only running `timedatectl` it was showing warning regarding the dangers of setting RTC to local TZ. Now similar warning is also flashed when `set-local-rtc 1`. (cherry picked from commit db708fc9ba551325e000cc12bd3490a5de0715ba) Resolves: RHEL-45020 --- src/timedate/timedatectl.c | 24 ++++++++++++++++-------- 1 file changed, 16 insertions(+), 8 deletions(-) diff --git a/src/timedate/timedatectl.c b/src/timedate/timedatectl.c index ac4d3dc3ed..1283f129e1 100644 --- a/src/timedate/timedatectl.c +++ b/src/timedate/timedatectl.c @@ -152,14 +152,15 @@ static int print_status_info(const StatusInfo *i) { if (r < 0) return table_log_print_error(r); - if (i->rtc_local) - printf("\n%s" - "Warning: The system is configured to read the RTC time in the local time zone.\n" - " This mode cannot be fully supported. It will create various problems\n" - " with time zone changes and daylight saving time adjustments. The RTC\n" - " time is never updated, it relies on external facilities to maintain it.\n" - " If at all possible, use RTC in UTC by calling\n" - " 'timedatectl set-local-rtc 0'.%s\n", ansi_highlight(), ansi_normal()); + if (i->rtc_local) { + fflush(stdout); + log_warning(" \nWarning: The system is configured to read the RTC time in the local time zone.\n" + " This mode cannot be fully supported. It will create various problems\n" + " with time zone changes and daylight saving time adjustments. The RTC\n" + " time is never updated, it relies on external facilities to maintain it.\n" + " If at all possible, use RTC in UTC by calling\n" + " 'timedatectl set-local-rtc 0'.\n"); + } return 0; } @@ -264,6 +265,13 @@ static int set_local_rtc(int argc, char **argv, void *userdata) { if (b < 0) return log_error_errno(b, "Failed to parse local RTC setting '%s': %m", argv[1]); + if (b == 1) + log_warning("Warning: The system is now being configured to read the RTC time in the local time zone\n" + " This mode cannot be fully supported. It will create various problems\n" + " with time zone changes and daylight saving time adjustments. The RTC\n" + " time is never updated, it relies on external facilities to maintain it.\n" + " If at all possible, use RTC in UTC"); + r = bus_call_method( bus, bus_timedate,