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>