#!/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