From owner-p4-projects@FreeBSD.ORG Wed Jun 27 22:17:51 2012 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 4F584106566B; Wed, 27 Jun 2012 22:17:50 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 060A71065672 for ; Wed, 27 Jun 2012 22:17:50 +0000 (UTC) (envelope-from brooks@freebsd.org) Received: from skunkworks.freebsd.org (skunkworks.freebsd.org [IPv6:2001:4f8:fff6::2d]) by mx1.freebsd.org (Postfix) with ESMTP id E214F8FC0C for ; Wed, 27 Jun 2012 22:17:49 +0000 (UTC) Received: from skunkworks.freebsd.org (localhost [127.0.0.1]) by skunkworks.freebsd.org (8.14.4/8.14.4) with ESMTP id q5RMHnnL013038 for ; Wed, 27 Jun 2012 22:17:49 GMT (envelope-from brooks@freebsd.org) Received: (from perforce@localhost) by skunkworks.freebsd.org (8.14.4/8.14.4/Submit) id q5RMHnpY013035 for perforce@freebsd.org; Wed, 27 Jun 2012 22:17:49 GMT (envelope-from brooks@freebsd.org) Date: Wed, 27 Jun 2012 22:17:49 GMT Message-Id: <201206272217.q5RMHnpY013035@skunkworks.freebsd.org> X-Authentication-Warning: skunkworks.freebsd.org: perforce set sender to brooks@freebsd.org using -f From: Brooks Davis To: Perforce Change Reviews Precedence: bulk Cc: Subject: PERFORCE change 213570 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 27 Jun 2012 22:17:51 -0000 http://p4web.freebsd.org/@@213570?ac=10 Change 213570 by brooks@brooks_ecr_current on 2012/06/27 22:16:46 Add support for an optional /etc/rcorder.startup file that contains a hardcoded ordering of scripts. It is intended to allow scripts to be run in their normal order after many scripts have been pruned from an image. This works around incomplete specification of dependencies which results in things like initrandom running very late (after sshd) in a minimal environment. Affected files ... .. //depot/projects/ctsrd/beribsd/src/etc/rc#2 edit .. //depot/projects/ctsrd/beribsd/src/etc/rc.subr#3 edit Differences ... ==== //depot/projects/ctsrd/beribsd/src/etc/rc#2 (text+ko) ==== @@ -82,7 +82,11 @@ # Do a first pass to get everything up to $early_late_divider so that # we can do a second pass that includes $local_startup directories # -files=`rcorder ${skip} /etc/rc.d/* 2>/dev/null` +if [ -r /etc/rcorder.start ]; then + files=`read_fixed_rcorder /etc/rcorder.start` +else + files=`rcorder ${skip} /etc/rc.d/* 2>/dev/null` +fi _rc_elem_done=' ' for _rc_elem in ${files}; do @@ -104,7 +108,11 @@ *) find_local_scripts_new ;; esac -files=`rcorder ${skip} /etc/rc.d/* ${local_rc} 2>/dev/null` +if [ -r /etc/rcorder.start ]; then + files=`read_fixed_rcorder /etc/rcorder.start` +else + files=`rcorder ${skip} /etc/rc.d/* ${local_rc} 2>/dev/null` +fi for _rc_elem in ${files}; do case "$_rc_elem_done" in *" $_rc_elem "*) continue ;; ==== //depot/projects/ctsrd/beribsd/src/etc/rc.subr#3 (text+ko) ==== @@ -1738,6 +1738,20 @@ esac } +read_fixed_rcorder() +{ + local _files _file + + _files="" + while read _file; do + if [ -r ${_file} ]; then + _files="${_files} ${_file}" + fi + done < $1 + + echo ${_files} +} + fi # [ -z "${_rc_subr_loaded}" ] _rc_subr_loaded=: