bin/85206: rcNG local package initialization is non-'rcorder'ed
Andrey V. Semyonov
wilfre at tcom.ru
Mon Aug 22 08:50:18 GMT 2005
>Number: 85206
>Category: bin
>Synopsis: rcNG local package initialization is non-'rcorder'ed
>Confidential: no
>Severity: serious
>Priority: medium
>Responsible: freebsd-bugs
>State: open
>Quarter:
>Keywords:
>Date-Required:
>Class: change-request
>Submitter-Id: current-users
>Arrival-Date: Mon Aug 22 08:50:17 GMT 2005
>Closed-Date:
>Last-Modified:
>Originator: Andrey V. Semyonov
>Release: 5.4-RELEASE-p6
>Organization:
Tower-Telecom
>Environment:
FreeBSD valhalla.starnet 5.4-RELEASE-p6 FreeBSD 5.4-RELEASE-p6 #3: Thu Jul 28 14:20:07 MSD 2005 root at valhalla.starnet:/usr/obj/usr/src/sys/VALHALLA i386
>Description:
/etc/rc.d/localpkg script does not order startup of local packages by rcorder before start them. This makes rcorder-assigned keywords such as REQUIRE, PROVIDE, etc... not work in that scripts and brakes the depended local package startups in some cases...
>How-To-Repeat:
I tried this with the installation of DansGuardian and squid, in which DG should connect to squid port on startup. But squid started after DG, so DG stopped startud with a parent-proxy connect error.
>Fix:
I suggest the following patch to /etc/rc.d/localpkg script:
--- localpkg.old Sun Jul 31 14:28:57 2005
+++ localpkg Mon Aug 22 12:45:12 2005
@@ -36,6 +36,7 @@
done
script_save_sep="$IFS"
IFS="${script_name_sep}"
+ slist=$(rcorder ${slist} 2>/dev/null | while read sltmpvar; do echo -n "${sltmpvar} "; done)
for script in ${slist}; do
if [ -x "${script}" ]; then
(set -T
@@ -73,6 +74,7 @@
done
script_save_sep="$IFS"
IFS="${script_name_sep}"
+ slist=$(rcorder ${slist} 2>/dev/null | while read sltmpvar; do echo -n "${sltmpvar} "; done)
for script in `reverse_list ${slist}`; do
if [ -x "${script}" ]; then
(set -T
>Release-Note:
>Audit-Trail:
>Unformatted:
More information about the freebsd-bugs
mailing list