 331892f85f
			
		
	
	331892f85f
	
	
	
		
			
			This drops the shebang from another bunch of files in various /lib folders, as these are sourced and the shebang is useless. Fix execute bit in one case, too. This should cover almost all trivial cases now, i.e. where /lib is actually used for library files. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
		
			
				
	
	
		
			68 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			Bash
		
	
	
	
	
	
			
		
		
	
	
			68 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			Bash
		
	
	
	
	
	
| . /lib/functions.sh
 | |
| 
 | |
| migrate_led_sysfs() {
 | |
| 	local cfg="$1"; shift
 | |
| 	local tuples="$@"
 | |
| 	local sysfs
 | |
| 	local name
 | |
| 
 | |
| 	config_get sysfs ${cfg} sysfs
 | |
| 	config_get name ${cfg} name
 | |
| 
 | |
| 	[ -z "${sysfs}" ] && return
 | |
| 
 | |
| 	for tuple in ${tuples}; do
 | |
| 		local old=${tuple%=*}
 | |
| 		local new=${tuple#*=}
 | |
| 		local new_sysfs
 | |
| 
 | |
| 		new_sysfs=$(echo ${sysfs} | sed "s/${old}/${new}/")
 | |
| 
 | |
| 		[ "${new_sysfs}" = "${sysfs}" ] && continue
 | |
| 
 | |
| 		uci set system.${cfg}.sysfs="${new_sysfs}"
 | |
| 
 | |
| 		logger -t led-migration "sysfs option of LED \"${name}\" updated to ${new_sysfs}"
 | |
| 	done;
 | |
| }
 | |
| 
 | |
| remove_devicename_led_sysfs() {
 | |
| 	local cfg="$1"; shift
 | |
| 	local exceptions="$@"
 | |
| 	local sysfs
 | |
| 	local name
 | |
| 	local new_sysfs
 | |
| 
 | |
| 	config_get sysfs ${cfg} sysfs
 | |
| 	config_get name ${cfg} name
 | |
| 
 | |
| 	# only continue if two or more colons are present
 | |
| 	echo "${sysfs}" | grep -q ":.*:" || return
 | |
| 
 | |
| 	for exception in ${exceptions}; do
 | |
| 		# no change if exceptions provided as argument are found for devicename
 | |
| 		echo "${sysfs}" | grep -q "^${exception}:" && return
 | |
| 	done
 | |
| 
 | |
| 	new_sysfs=$(echo ${sysfs} | sed "s/^[^:]*://")
 | |
| 
 | |
| 	uci set system.${cfg}.sysfs="${new_sysfs}"
 | |
| 
 | |
| 	logger -t led-migration "sysfs option of LED \"${name}\" updated to ${new_sysfs}"
 | |
| }
 | |
| 
 | |
| migrate_leds() {
 | |
| 	config_load system
 | |
| 	config_foreach migrate_led_sysfs led "$@"
 | |
| }
 | |
| 
 | |
| remove_devicename_leds() {
 | |
| 	config_load system
 | |
| 	config_foreach remove_devicename_led_sysfs led "$@"
 | |
| }
 | |
| 
 | |
| migrations_apply() {
 | |
| 	local realm="$1"
 | |
| 	[ -n "$(uci changes ${realm})" ] && uci -q commit ${realm}
 | |
| }
 |