mirror of
				https://gitlab.alpinelinux.org/alpine/aports.git
				synced 2025-10-31 16:31:40 +01:00 
			
		
		
		
	
		
			
				
	
	
		
			52 lines
		
	
	
		
			846 B
		
	
	
	
		
			Bash
		
	
	
	
	
	
			
		
		
	
	
			52 lines
		
	
	
		
			846 B
		
	
	
	
		
			Bash
		
	
	
	
	
	
| #!/sbin/openrc-run
 | |
| # (c) 2016 Alpine Linux
 | |
| 
 | |
| command="/usr/sbin/lxd"
 | |
| command_args="${LXD_OPTIONS}"
 | |
| command_background="true"
 | |
| pidfile="/var/run/${RC_SVCNAME}.pid"
 | |
| 
 | |
| depend() {
 | |
| 	need net
 | |
| 	use lxcfs
 | |
| 	after firewall
 | |
| }
 | |
| 
 | |
| systemd_ctr() {
 | |
| 	local cmd="$1"
 | |
| 	# Required for lxd to run some systemd containers
 | |
| 	local cgroup=/sys/fs/cgroup/systemd
 | |
| 	local mnt_opts='rw,nosuid,nodev,noexec,relatime,none,name=systemd'
 | |
| 
 | |
| 	case "$cmd" in
 | |
| 		mount)
 | |
| 			checkpath -d $cgroup
 | |
| 			if ! mount | grep $cgroup >/dev/null; then
 | |
| 				mount -t cgroup -o $mnt_opts cgroup $cgroup
 | |
| 			fi
 | |
| 			;;
 | |
| 		unmount)
 | |
| 			if mount | grep $cgroup >/dev/null; then
 | |
| 				umount $cgroup
 | |
| 			fi
 | |
| 			;;
 | |
| 	esac
 | |
| }
 | |
| 
 | |
| 
 | |
| start_pre() {
 | |
| 	if yesno "$systemd_container"; then
 | |
| 		systemd_ctr mount
 | |
| 	fi
 | |
| }
 | |
| 
 | |
| stop() {
 | |
| 	if [ -e /var/lib/lxd/unix.socket ]; then
 | |
| 		$command shutdown
 | |
| 	fi
 | |
| }
 | |
| 
 | |
| stop_post() {
 | |
| 	systemd_ctr unmount
 | |
| }
 |