#!/bin/sh -e
# Carbs Linux service installer

usage() {
    printf '%s\n' \
        "usage: ${0##*/} [FILE...]" \
        "or:    ${0##*/} [-a NAME FILE]" "" \
        "You can set the DESTDIR environment variable to set a different root."
    exit 1
}

svname=''
case "$1" in
    --help|-h|'') usage ;;
    -a) [ "$#" -eq 3 ] || usage
        svname=$2; shift 2
esac

for service; do
    # Remove .run suffix and the directory name for service files.
    sv=${svname:-${service%.run}} sv=${sv##*/}

    # Create the service directories and copy the service file to them.
    mkdir -p "$DESTDIR/etc/sysmgr" "$DESTDIR/etc/sv/$sv"
    cp "$service" "$DESTDIR/etc/sysmgr/$sv"
    cp "$service" "$DESTDIR/etc/sv/$sv/run"

    # Set permissions for the services.
    chmod 0755 "$DESTDIR/etc/sysmgr/$sv" "$DESTDIR/etc/sv/$sv/run"

    # Create supervise directories for runit.
    ln -s "/run/runit/supervise.$sv" "$DESTDIR/etc/sv/$sv/supervise"

done
