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" 14132716Seikstart_cmd="pkg_start" 15132716Seikstop_cmd="pkg_stop" 16118515Smtm 17132716Seikpkg_start() 18132597Smtm{ 19179927Smtm local initdone 20179927Smtm 21132716Seik # For each dir in $local_startup, search for init scripts matching *.sh 22132597Smtm # 23118515Smtm case ${local_startup} in 24118515Smtm [Nn][Oo] | '') 25118515Smtm ;; 26118515Smtm *) 27179927Smtm initdone= 28153027Sdougb find_local_scripts_old 29153027Sdougb for script in ${zlist} ${slist}; do 30179927Smtm if [ -z "${initdone}" -a -f "${script}" ]; then 31179927Smtm echo -n 'Local package initialization:' 32179927Smtm initdone=yes 33179927Smtm fi 34118515Smtm if [ -x "${script}" ]; then 35118515Smtm (set -T 36118515Smtm trap 'exit 1' 2 37118515Smtm ${script} start) 38118515Smtm elif [ -f "${script}" -o -L "${script}" ]; then 39153027Sdougb echo -n " (skipping ${script}, not executable)" 40118515Smtm fi 41118515Smtm done 42179927Smtm [ -n "${initdone}" ] && echo '.' 43118515Smtm ;; 44118515Smtm esac 45118515Smtm} 46118515Smtm 47118515Smtmpkg_stop() 48118515Smtm{ 49179927Smtm local initdone 50179927Smtm 51118515Smtm case ${local_startup} in 52118515Smtm [Nn][Oo] | '') 53118515Smtm ;; 54118515Smtm *) 55179927Smtm initdone= 56153027Sdougb find_local_scripts_old 57153027Sdougb for script in `reverse_list ${slist} ${zlist}`; do 58179927Smtm if [ -z "${initdone}" -a -f "${script}" ]; then 59179939Smtm echo -n 'Shutting down local packages:' 60179927Smtm initdone=yes 61179927Smtm fi 62118515Smtm if [ -x "${script}" ]; then 63155566Smatteo if [ `sysctl -n debug.bootverbose` -eq 1 ]; then 64155566Smatteo echo "==>" ${script} 65155566Smatteo fi 66118515Smtm (set -T 67118515Smtm trap 'exit 1' 2 68118515Smtm ${script} stop) 69118515Smtm fi 70118515Smtm done 71179927Smtm [ -n "${initdone}" ] && echo '.' 72118515Smtm ;; 73118515Smtm esac 74118515Smtm} 75118515Smtm 76118515Smtmload_rc_config $name 77132716Seikrun_rc_command "$1" 78