diff options
author | Kay Sievers <kay@vrfy.org> | 2015-03-24 13:52:04 +0100 |
---|---|---|
committer | Kay Sievers <kay@vrfy.org> | 2015-03-24 15:03:36 +0100 |
commit | 16c6ea29348ddac73998f339166f863bee0dfef6 (patch) | |
tree | 03cc2575b9c645eb22a92d09b072dc945cfe16de /src/timedate | |
parent | 3e5e74d5b7f6fcbeff7b6e4e06abd931aab14c48 (diff) | |
download | systemd-16c6ea29348ddac73998f339166f863bee0dfef6.tar.gz systemd-16c6ea29348ddac73998f339166f863bee0dfef6.tar.bz2 systemd-16c6ea29348ddac73998f339166f863bee0dfef6.zip |
timedate: remove daylight saving time handling and tzfile parser
We planned to support (the conceptually broken) daylight saving
time/local time features in the kernel, SCSI, networking, FAT
filesystem, but it turned out to be a race we cannot win and do
not want to get involved. Systemd should not fiddle with daylight
saving time or parse timezone information itself.
Leave everything to glibc or tools like date(1) and do not make any
promises or raise expectations that systemd should handle anything
like this.
Diffstat (limited to 'src/timedate')
-rw-r--r-- | src/timedate/timedatectl.c | 56 |
1 files changed, 0 insertions, 56 deletions
diff --git a/src/timedate/timedatectl.c b/src/timedate/timedatectl.c index 44d329ecc2..ab5c8a1f6a 100644 --- a/src/timedate/timedatectl.c +++ b/src/timedate/timedatectl.c @@ -33,7 +33,6 @@ #include "build.h" #include "strv.h" #include "pager.h" -#include "time-dst.h" static bool arg_no_pager = false; static bool arg_ask_password = true; @@ -73,33 +72,12 @@ typedef struct StatusInfo { bool ntp_synced; } StatusInfo; -static const char *jump_str(int delta_minutes, char *s, size_t size) { - if (delta_minutes == 60) - return "one hour forward"; - if (delta_minutes == -60) - return "one hour backwards"; - if (delta_minutes < 0) { - snprintf(s, size, "%i minutes backwards", -delta_minutes); - return s; - } - if (delta_minutes > 0) { - snprintf(s, size, "%i minutes forward", delta_minutes); - return s; - } - return ""; -} - static void print_status_info(const StatusInfo *i) { char a[FORMAT_TIMESTAMP_MAX]; - char b[FORMAT_TIMESTAMP_MAX]; - char s[32]; struct tm tm; time_t sec; bool have_time = false; _cleanup_free_ char *zc = NULL, *zn = NULL; - time_t t, tc, tn; - int dn = 0; - bool is_dstc = false, is_dstn = false; int r; assert(i); @@ -158,40 +136,6 @@ static void print_status_info(const StatusInfo *i) { yes_no(i->ntp_synced), yes_no(i->rtc_local)); - if (have_time) { - r = time_get_dst(sec, "/etc/localtime", - &tc, &zc, &is_dstc, - &tn, &dn, &zn, &is_dstn); - if (r < 0) - printf(" DST active: %s\n", "n/a"); - else { - printf(" DST active: %s\n", yes_no(is_dstc)); - - t = tc - 1; - xstrftime(a, "%a %Y-%m-%d %H:%M:%S %Z", localtime_r(&t, &tm)); - - xstrftime(b, "%a %Y-%m-%d %H:%M:%S %Z", localtime_r(&tc, &tm)); - printf(" Last DST change: DST %s at\n" - " %.*s\n" - " %.*s\n", - is_dstc ? "began" : "ended", - (int) sizeof(a), a, - (int) sizeof(b), b); - - t = tn - 1; - xstrftime(a, "%a %Y-%m-%d %H:%M:%S %Z", localtime_r(&t, &tm)); - xstrftime(b, "%a %Y-%m-%d %H:%M:%S %Z", localtime_r(&tn, &tm)); - printf(" Next DST change: DST %s (the clock jumps %s) at\n" - " %.*s\n" - " %.*s\n", - is_dstn ? "begins" : "ends", - jump_str(dn, s, sizeof(s)), - (int) sizeof(a), a, - (int) sizeof(b), b); - } - } else - printf(" DST active: %s\n", yes_no(is_dstc)); - if (i->rtc_local) fputs("\n" ANSI_HIGHLIGHT_ON "Warning: The system is configured to read the RTC time in the local time zone. This\n" |