base-files: fix zoneinfo support
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. Ran through shfmt -w -ci -bn -sr -s Signed-off-by: Rosen Penev <rosenp@gmail.com>
This commit is contained in:
		 Rosen Penev
					Rosen Penev
				
			
				
					committed by
					
						 Paul Spooren
						Paul Spooren
					
				
			
			
				
	
			
			
			 Paul Spooren
						Paul Spooren
					
				
			
						parent
						
							e6b3e77e6e
						
					
				
				
					commit
					8af62ede18
				
			| @@ -4,8 +4,7 @@ | |||||||
| START=10 | START=10 | ||||||
| USE_PROCD=1 | USE_PROCD=1 | ||||||
|  |  | ||||||
| validate_system_section() | validate_system_section() { | ||||||
| { |  | ||||||
| 	uci_load_validate system system "$1" "$2" \ | 	uci_load_validate system system "$1" "$2" \ | ||||||
| 		'hostname:string:OpenWrt' \ | 		'hostname:string:OpenWrt' \ | ||||||
| 		'conloglevel:uinteger' \ | 		'conloglevel:uinteger' \ | ||||||
| @@ -22,9 +21,13 @@ system_config() { | |||||||
|  |  | ||||||
| 	echo "$hostname" > /proc/sys/kernel/hostname | 	echo "$hostname" > /proc/sys/kernel/hostname | ||||||
| 	[ -z "$conloglevel" -a -z "$buffersize" ] || dmesg ${conloglevel:+-n $conloglevel} ${buffersize:+-s $buffersize} | 	[ -z "$conloglevel" -a -z "$buffersize" ] || dmesg ${conloglevel:+-n $conloglevel} ${buffersize:+-s $buffersize} | ||||||
|  | 	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 | 		echo "$timezone" > /tmp/TZ | ||||||
| 	[ -n "$zonename" ] && [ -f "/usr/share/zoneinfo/$zonename" ] && \ | 	fi | ||||||
| 		ln -sf "/usr/share/zoneinfo/$zonename" /tmp/localtime && rm -f /tmp/TZ |  | ||||||
|  |  | ||||||
| 	# apply timezone to kernel | 	# apply timezone to kernel | ||||||
| 	hwclock -u --systz | 	hwclock -u --systz | ||||||
| @@ -35,8 +38,7 @@ reload_service() { | |||||||
| 	config_foreach validate_system_section system system_config | 	config_foreach validate_system_section system system_config | ||||||
| } | } | ||||||
|  |  | ||||||
| service_triggers() | service_triggers() { | ||||||
| { |  | ||||||
| 	procd_add_reload_trigger "system" | 	procd_add_reload_trigger "system" | ||||||
| 	procd_add_validation validate_system_section | 	procd_add_validation validate_system_section | ||||||
| } | } | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user