forked from Spark/ssm-services
		
	
		
			
	
	
		
			38 lines
		
	
	
		
			673 B
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
		
		
			
		
	
	
			38 lines
		
	
	
		
			673 B
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
|  | #!/usr/bin/env bash | ||
|  | # This is a script to set up the right permissions in /dev in absence of e?(u|s?m)dev. | ||
|  | # Run this _after_ miscfs. | ||
|  | 
 | ||
|  | service_type='oneshot' | ||
|  | 
 | ||
|  | # Config | ||
|  | cfg_devices=( | ||
|  | 			  '/dev/snd;root:audio;770' | ||
|  | 			  '/dev/dri;root:video;770' | ||
|  | 			  '/dev/fuse;root:root;777' | ||
|  | 			) | ||
|  | 
 | ||
|  | cfg_links=( | ||
|  | 			'/proc/self/fd;/dev/fd' | ||
|  | 		  ) | ||
|  | 
 | ||
|  | start() { | ||
|  | 	for d in "${cfg_devices[@]}"; do | ||
|  | 		IFS=';' read device owner perms <<< "$d" | ||
|  | 
 | ||
|  | 		[[ -e "$device" ]] && { | ||
|  | 			chown -R "$owner" "$device" | ||
|  | 			chmod -R "$perms" "$device" | ||
|  | 		} | ||
|  | 	done | ||
|  | 
 | ||
|  | 	for l in "${cfg_links[@]}"; do | ||
|  | 		IFS=';' read dest link <<< "$l" | ||
|  | 
 | ||
|  | 		[[ -e "$link" ]] || { | ||
|  | 			[[ -e "$dest" ]] && { | ||
|  | 				ln -s "$dest" "$link" | ||
|  | 			} | ||
|  | 		} | ||
|  | 	done | ||
|  | } |