I can confirm that Ratchanan's patches work (well, I only tried the one on timedated, as the one on timedatectl is not essential to fix this bug).
But I don't think that it should be treated separately from the existing patch we have, so I'm attaching a refreshed patch which includes Ratchanan's change. Still, we probably want to explore other solutions, since Dan (@ddstreet) is also right that carrying hacks for 7 years is something we should avoid doing.
But I don't have many alternative ideas :-( Unfortunately, bind-mounting /etc/writable/localtime over /etc/localtime does not work, because when mounting, the kernel follows all symbolic links, so we end up bind-mounting the timezone file (for example "/usr/share/zoneinfo/Europe/Berlin") on top of itself :-)
I can confirm that Ratchanan's patches work (well, I only tried the one on timedated, as the one on timedatectl is not essential to fix this bug).
But I don't think that it should be treated separately from the existing patch we have, so I'm attaching a refreshed patch which includes Ratchanan's change. Still, we probably want to explore other solutions, since Dan (@ddstreet) is also right that carrying hacks for 7 years is something we should avoid doing.
But I don't have many alternative ideas :-( Unfortunately, bind-mounting /etc/writable/ localtime over /etc/localtime does not work, because when mounting, the kernel follows all symbolic links, so we end up bind-mounting the timezone file (for example "/usr/share/ zoneinfo/ Europe/ Berlin" ) on top of itself :-)