rendered paste body##### /etc/config/timezone
config timezone
option posixtz ''
option zoneinfo ''
option etctz '/etc/TZ'
##### /etc/init.d/timezone
#!/bin/sh /etc/rc.common
# Copyright (C) 2006 OpenWrt.org
START=11
EXTRA_COMMANDS="list"
EXTRA_HELP=" list Lists available time zones"
TIMEZONE_TABLE=/usr/lib/timezones.csv
get_posix_timezone () {
awk -v timezoneinfo="$zoneinfo" 'BEGIN { FS = " " }
/^(#.*)?$/ { next }
{ list_timezone = $4; if ( list_timezone == timezoneinfo ) { print $3 } }
END { }' < $TIMEZONE_TABLE 2>/dev/null
}
list_available_timezones () {
awk 'BEGIN { FS = " "; last_group="" }
/^(#.*)?$/ { next }
$1 != last_group { last_group=$1; print "\n" $1 }
{ list_timezone = $4; print " " list_timezone }
END { }' < $TIMEZONE_TABLE 2>/dev/null
}
start_service () {
local section="$1"
config_get posixtz "$section" posixtz
config_get zoneinfo "$section" zoneinfo
config_get etctz "$section" etctz
if [ ! -h "$etctz" ]; then
ln -sf /tmp/TZ "$etctz"
fi
[ -n "$zoneinfo" ] && get_posix_timezone "$zoneinfo" > "$etctz" || echo "UTC+0" > "$etctz"
# config_set
# posixtz=get_posix_timezone "$zoneinfo"
config_set "timezone" "posixtz" "foobar"
}
start () {
config_load "timezone"
config_foreach start_service timezone
}
restart () {
start
}
list () {
echo "Available time zones"
echo "--------------------"
list_available_timezones
}