#!/bin/sh
# Oneshot helper for native boot (boot-run/05, invoke-run): run /etc/sv/<name>/run
# without requiring /etc/service/<name>. Not a replacement for /usr/bin/sv.
STAGE1_DIR=/usr/lib/runit/stage1
PATH=$STAGE1_DIR:/usr/sbin:/sbin:/usr/bin:/bin
export PATH

case "$1" in
once)
	shift
	name=$1
	[ -n "$name" ] || exit 0
	[ -e "/run/runit/once.done/$name" ] && exit 0
	run=/etc/sv/$name/run
	[ -x "$run" ] || exit 0
	if ( cd "/etc/sv/$name" && "$run" ); then
		mkdir -p /run/runit/once.done
		: > "/run/runit/once.done/$name"
		exit 0
	fi
	exit $?
	;;
*)
	if [ -x /usr/bin/sv ] && [ "$(readlink -f /usr/bin/sv 2>/dev/null)" != "$(readlink -f $STAGE1_DIR/sv 2>/dev/null)" ]; then
		exec /usr/bin/sv "$@"
	fi
	exit 1
	;;
esac
