Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 10 Dec 2001 20:58:06 -0800 (PST)
From:      Nicholas Paufler <echofox@discordia.ca>
To:        freebsd-gnats-submit@FreeBSD.org
Subject:   misc/32687: scripts in /usr/local/etc/rc.d not executed in 4.4-STABLE
Message-ID:  <200112110458.fBB4w6a11383@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help

>Number:         32687
>Category:       misc
>Synopsis:       scripts in /usr/local/etc/rc.d not executed in 4.4-STABLE
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    freebsd-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Mon Dec 10 21:00:02 PST 2001
>Closed-Date:
>Last-Modified:
>Originator:     Nicholas Paufler
>Release:        FreeBSD 4.4-STABLE #0: Mon Dec 10 18:49:42 MST 2001
>Organization:
>Environment:
FreeBSD www.discordia.ca 4.4-STABLE FreeBSD 4.4-STABLE #0: Mon Dec 10 18:49:42 MST 2001     root@www.discordia.ca:/usr/obj/usr2/src/sys/DISCORDIA  i386
>Description:
After doing an upgrade from 4.3-STABLE (built May 08 2001) to 4.4-STABLE (built Dec 10 2001) I noticed that local packages being started via scripts in /usr/local/etc/rc.d were not being executed upon reboot.
I'd done a mergemaster after completing the make installworld in which I installed all new files except for rc.conf and rc.firewall.

I eventually traced the problem to /etc/rc
For whatever reason the local package initialization section of that file was failing to function correctly. I edited that file and pasted in the section from a different 4.3-STABLE machine, rebooted and the problem was solved. All local packages (apache, dhcpd, mysql) started properly.
>How-To-Repeat:
Local packages will not be initialized until that section of /etc/rc is replaced so every time the computer reboots the problem will repeat.
>Fix:
In the /etc/rc for 4.4-STABLE as of December 10th:
Replace the current section:
case ${local_startup} in
[Nn][Oo] | '')
        ;;
*)
        echo -n 'Local package initialization:'
        slist=""
        for dir in ${local_startup}; do
                if [ -d "${dir}" ]; then
                        for script in ${dir}/*.sh; do
                                slist="${slist}${script_name_sep}${script}"
                        done
                fi
        done
        script_save_sep="$IFS"
        IFS="${script_name_sep}"
        for script in ${slist}; do
                if [ -x "${script}" ]; then
                        (set -T
                        trap 'exit 1' 2
                        ${script} start)
                fi
        done
        IFS="${script_save_sep}"
        echo '.'
        ;;
esac

With an earlier version of that section, such as the following taken from a 4.3-STABLE system:

case ${local_startup} in
[Nn][Oo] | '')
        ;;
*)
        echo -n 'Local package initialization:'
        for dir in ${local_startup}; do
                if [ -d "${dir}" ]; then
                        for script in ${dir}/*.sh; do
                                if [ -x "${script}" ]; then
                                        (set -T
                                         trap 'exit 1' 2
                                         ${script} start)
                                fi
                        done
                fi
        done
        echo '.'
        ;;
esac

I'm guessing that there is a typo or some other problem in the local package init section of the current /etc/rc which is causing the problem.
>Release-Note:
>Audit-Trail:
>Unformatted:

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-bugs" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200112110458.fBB4w6a11383>