From owner-freebsd-rc@FreeBSD.ORG Sun Mar 18 00:30:37 2007 Return-Path: X-Original-To: freebsd-rc@freebsd.org Delivered-To: freebsd-rc@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 5016816A401 for ; Sun, 18 Mar 2007 00:30:37 +0000 (UTC) (envelope-from dougb@FreeBSD.org) Received: from mail2.fluidhosting.com (mx24.fluidhosting.com [204.14.89.7]) by mx1.freebsd.org (Postfix) with SMTP id 0579B13C469 for ; Sun, 18 Mar 2007 00:30:36 +0000 (UTC) (envelope-from dougb@FreeBSD.org) Received: (qmail 5642 invoked by uid 399); 18 Mar 2007 00:30:36 -0000 Received: from localhost (HELO ?192.168.0.4?) (dougb@dougbarton.us@127.0.0.1) by localhost with SMTP; 18 Mar 2007 00:30:36 -0000 X-Originating-IP: 127.0.0.1 Message-ID: <45FC8829.7000206@FreeBSD.org> Date: Sat, 17 Mar 2007 17:30:33 -0700 From: Doug Barton Organization: http://www.FreeBSD.org/ User-Agent: Thunderbird 2.0b2 (Windows/20070116) MIME-Version: 1.0 To: freebsd-rc@freebsd.org Content-Type: multipart/mixed; boundary="------------050607040402050700090108" Subject: rc.d/resolv currently not being run under certain circumstances X-BeenThere: freebsd-rc@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "Discussion related to /etc/rc.d design and implementation." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 18 Mar 2007 00:30:37 -0000 This is a multi-part message in MIME format. --------------050607040402050700090108 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Due to the fact that scripts which are ordered before early_late_divider in the second run are not executed (see rc), if a script gets reordered into the early phase as a result of including the local startups, it won't be run at all. On at least one of my systems that's happening to resolv (in both HEAD and RELENG_6). It goes from close to last in rcorder (after securelevel) to absolutely first after you include the local startups I have (nothing exciting, just a few ports). Currently resolv is a little thin in terms of ordering hints. It contains only PROVIDE and KEYWORD, and nothing REQUIREs it. Can someone who knows what this script is for (brooks?) add either a REQUIRE in or for resolv, or both? The CVS logs seem to indicate that it's related to diskless booting, so I don't want to touch it if I don't have to. :) FWIW, I use the attached patch to rc to debug this problem. -- This .signature sanitized for your protection --------------050607040402050700090108 Content-Type: text/plain; name="rc-debug.diff" Content-Transfer-Encoding: 7bit Content-Disposition: inline; filename="rc-debug.diff" --- /etc/rc Sat May 6 21:00:23 2006 +++ rc Sat Mar 17 16:45:13 2007 @@ -85,8 +47,12 @@ # files=`rcorder ${skip} /etc/rc.d/* 2>/dev/null` +# XXX +rm -f rc.early* rc.late + for _rc_elem in ${files}; do - run_rc_script ${_rc_elem} ${_boot} + #run_rc_script ${_rc_elem} ${_boot} + echo $_rc_elem >> rc.early1 case "$_rc_elem" in */${early_late_divider}) break ;; @@ -107,15 +73,21 @@ _skip_early=1 for _rc_elem in ${files}; do case "$_skip_early" in - 1) case "$_rc_elem" in + 1) + echo $_rc_elem >> rc.early2 + case "$_rc_elem" in */${early_late_divider}) _skip_early=0 ;; esac continue ;; esac - run_rc_script ${_rc_elem} ${_boot} + echo $_rc_elem >> rc.late + + #run_rc_script ${_rc_elem} ${_boot} done + +diff -u rc.early* echo '' date --------------050607040402050700090108--