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
 |