1118515Smtm#!/bin/sh 2118515Smtm# 3118515Smtm# $FreeBSD$ 4118515Smtm# 5118515Smtm 6118515Smtm# PROVIDE: localpkg 7118515Smtm# REQUIRE: abi 8118515Smtm# BEFORE: securelevel 9136224Smtm# KEYWORD: shutdown 10118515Smtm 11118515Smtm. /etc/rc.subr 12118515Smtm 13118515Smtmname="localpkg" 14298514Slmedesc="Run local init scripts" 15132716Seikstart_cmd="pkg_start" 16132716Seikstop_cmd="pkg_stop" 17118515Smtm 18132716Seikpkg_start() 19132597Smtm{ 20179927Smtm local initdone 21179927Smtm 22132716Seik # For each dir in $local_startup, search for init scripts matching *.sh 23132597Smtm # 24118515Smtm case ${local_startup} in 25118515Smtm [Nn][Oo] | '') 26118515Smtm ;; 27118515Smtm *) 28179927Smtm initdone= 29153027Sdougb find_local_scripts_old 30153027Sdougb for script in ${zlist} ${slist}; do 31179927Smtm if [ -z "${initdone}" -a -f "${script}" ]; then 32179927Smtm echo -n 'Local package initialization:' 33179927Smtm initdone=yes 34179927Smtm fi 35118515Smtm if [ -x "${script}" ]; then 36118515Smtm (set -T 37118515Smtm trap 'exit 1' 2 38118515Smtm ${script} start) 39118515Smtm elif [ -f "${script}" -o -L "${script}" ]; then 40153027Sdougb echo -n " (skipping ${script}, not executable)" 41118515Smtm fi 42118515Smtm done 43179927Smtm [ -n "${initdone}" ] && echo '.' 44118515Smtm ;; 45118515Smtm esac 46118515Smtm} 47118515Smtm 48118515Smtmpkg_stop() 49118515Smtm{ 50179927Smtm local initdone 51179927Smtm 52118515Smtm case ${local_startup} in 53118515Smtm [Nn][Oo] | '') 54118515Smtm ;; 55118515Smtm *) 56179927Smtm initdone= 57153027Sdougb find_local_scripts_old 58153027Sdougb for script in `reverse_list ${slist} ${zlist}`; do 59179927Smtm if [ -z "${initdone}" -a -f "${script}" ]; then 60179939Smtm echo -n 'Shutting down local packages:' 61179927Smtm initdone=yes 62179927Smtm fi 63118515Smtm if [ -x "${script}" ]; then 64155566Smatteo if [ `sysctl -n debug.bootverbose` -eq 1 ]; then 65155566Smatteo echo "==>" ${script} 66155566Smatteo fi 67118515Smtm (set -T 68118515Smtm trap 'exit 1' 2 69118515Smtm ${script} stop) 70118515Smtm fi 71118515Smtm done 72179927Smtm [ -n "${initdone}" ] && echo '.' 73118515Smtm ;; 74118515Smtm esac 75118515Smtm} 76118515Smtm 77118515Smtmload_rc_config $name 78132716Seikrun_rc_command "$1" 79