mirror of https://github.com/OpenIPC/firmware.git
42 lines
1.2 KiB
Bash
Executable File
42 lines
1.2 KiB
Bash
Executable File
#!/bin/sh
|
|
|
|
# Get the timezone from the u-boot environment variable
|
|
timezone=$(fw_printenv -n timezone 2>/dev/null)
|
|
if [ -z "$timezone" ]; then
|
|
echo "Timezone env variable not found, using system default."
|
|
exit 1
|
|
fi
|
|
|
|
echo "User defined timezone: $timezone"
|
|
|
|
# Check if the values in /etc/timezone and /etc/TZ match the ones from fw_printenv
|
|
current_timezone=$(cat /etc/timezone 2>/dev/null)
|
|
current_tz_value=$(cat /etc/TZ 2>/dev/null)
|
|
|
|
if [ "$timezone" = "$current_timezone" ] && [ "$timezone" = "$current_tz_value" ]; then
|
|
echo "Timezone settings are already up to date."
|
|
exit 0
|
|
fi
|
|
|
|
# Search for the timezone in the file
|
|
matching_line=$(zcat /var/www/a/tz.js.gz | grep -i -F "$timezone")
|
|
if [ -z "$matching_line" ]; then
|
|
echo "Timezone not found in system file."
|
|
exit 1
|
|
fi
|
|
|
|
# Extract the value associated with the timezone
|
|
value=$(echo "$matching_line" | sed "s/^.*v:'\([^']*\)'.*$/\1/")
|
|
|
|
# Write the TZ file first
|
|
echo $value > /etc/TZ
|
|
|
|
# Then write the timezone file
|
|
echo $timezone > /etc/timezone
|
|
|
|
export TZ=$value
|
|
|
|
if tty -s; then
|
|
echo "timezone.sh: You are running from a shell, please restart or log out to update timezone environment variables."
|
|
fi
|