aports/community/waydroid/waydroid-container.initd

48 lines
1.1 KiB
Bash

#!/sbin/openrc-run
name="Waydroid Container Manager"
description="Waydroid Container Manager"
pidfile=/run/waydroid-container.pid
command=/usr/bin/waydroid
command_args="container start"
command_args_background="-p $pidfile"
# Do not generate __pycache__ even when -pyc subpackages aren't installed
export PYTHONDONTWRITEBYTECODE=1
start_stop_daemon_args='--env PYTHONDONTWRITEBYTECODE="$PYTHONDONTWRITEBYTECODE"'
depend() {
need cgroups
uses net
}
start_pre() {
# Avoid 'mount: /var/lib/waydroid/rootfs: mount failed: Operation not permitted.'
if [ ! -c /dev/loop-control ]; then
if ! modprobe loop; then
eerror "Loopback device support is not available in this kernel"
return 1
fi
fi
# Required to avoid /system/bin/vold crashing in LXC container
if [ ! -d /sys/fs/fuse/connections ]; then
if ! modprobe fuse; then
eerror "Filesystem in Userspace support is not available in this kernel"
return 1
fi
fi
}
stop() {
ebegin "Stopping Waydroid container..."
$supervisor $RC_SVCNAME \
--stop \
--pidfile $pidfile
$command container stop
$command session stop
eend $?
}