On Wed, Jun 23, 2021 at 3:40 PM Paul Spooren <m...@aparcar.org> wrote: > > Hi, > > if I'm not mistaken this patch doesn't quite do the trick: You removed > the removal of /tmp/TZ which seem to be preferred by `hwclock`, meaning > even if $zonename (aka $zname) is found, /tmp/TZ is still there. As a > result both /tmp/TZ and /tmp/localtime exists both, allowing the user no > longer to change the timezone at all, even when typing the "correct" > entry (i.e. Pacific/Port_Moresby). Ummm. This script is the one that creates /tmp/TZ in the first place. /tmp/TZ is an openwrt hack that is used when there are no zoneinfo files. After this patch, it gets created only if they are missing. > > Please send a v2 removing the /tmp/TZ file again iff $zonename exists. There's no point in removing that which is not present. > > On 4/9/21 2:22 PM, Rosen Penev wrote: > > The system init script currently sets /tmp/localinfo when zoneinfo is > > populated. However, zoneinfo has spaces in it whereas the actual files > > have _ instead of spaces. This made the if condition never return true. > > > > Example failure when removing the if condition: > > > > /tmp/localtime -> /usr/share/zoneinfo/America/Los Angeles > > > > This file does not exist. America/Los_Angeles does. > > > > Signed-off-by: Rosen Penev <ros...@gmail.com> > > --- > > this should be backported to 21.02 and 19.07 as the issue is also > > present there. This was tested on 19.07. > > package/base-files/files/etc/init.d/system | 10 +++++++--- > > 1 file changed, 7 insertions(+), 3 deletions(-) > > > > diff --git a/package/base-files/files/etc/init.d/system > > b/package/base-files/files/etc/init.d/system > > index 08cf86b97f..b1fc154cec 100755 > > --- a/package/base-files/files/etc/init.d/system > > +++ b/package/base-files/files/etc/init.d/system > > @@ -22,9 +22,13 @@ system_config() { > > > > echo "$hostname" > /proc/sys/kernel/hostname > > [ -z "$conloglevel" -a -z "$buffersize" ] || dmesg ${conloglevel:+-n > > $conloglevel} ${buffersize:+-s $buffersize} > > - echo "$timezone" > /tmp/TZ > > - [ -n "$zonename" ] && [ -f "/usr/share/zoneinfo/$zonename" ] && \ > > - ln -sf "/usr/share/zoneinfo/$zonename" /tmp/localtime && rm > > -f /tmp/TZ > > + if [ -n "$zonename" ]; then > > + local zname=$(echo "$zonename" | tr ' ' _) > > + [ -f "/usr/share/zoneinfo/$zname" ] && \ > > + ln -sf "/usr/share/zoneinfo/$zname" /tmp/localtime > > + else > > + echo "$timezone" > /tmp/TZ > > + fi > > > > # apply timezone to kernel > > hwclock -u --systz
_______________________________________________ openwrt-devel mailing list openwrt-devel@lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel