Oliver Lehmann wrote:
Mike Makonnen wrote:

I'm not sure what you mean. The checkyesno() routine considers "true" a valid parameter. Could you please post the exact error you're getting.

I already posted it... I'm getting:

$true is not set properly - see rc.conf(5)

This is because:

you call "start_boot true"
start_boot itself calls checkyesno $1 - so it calls "checkyesno true"

checkyesno then defines _value with "eval _value=\$${1}" so _value gets
$true which is not an allowed value.

let me past the comment of checkyesno:

# checkyesno var
#       Test $1 variable, and warn if not set to YES or NO.
#       Return 0 if it's "yes" (et al), nonzero otherwise.

A variablename has to be handed over to checkyesno, not a value like
"true" or "yes" or whatever else. You see the error?

Please try the attached patch.
Thanks!

Cheers.

--
Mike Makonnen         | GPG-KEY: http://people.freebsd.org/~mtm/mtm.asc
mtm @ wubethiopia.com | AC7B 5672 2D11 F4D0 EBF8  5279 5359 2B82 7CD4 1F55
mtm @ FreeBSD.Org     | FreeBSD - http://www.freebsd.org

Index: etc/rc.subr
===================================================================
RCS file: /home/ncvs/src/etc/rc.subr,v
retrieving revision 1.80
diff -u -r1.80 rc.subr
--- etc/rc.subr 26 Jan 2008 11:22:11 -0000      1.80
+++ etc/rc.subr 1 May 2008 04:57:36 -0000
@@ -171,10 +171,14 @@
 {
        local always
 
-       if [ -n "$1" ] && checkyesno $1; then
+        case $1 in
+                #       "yes", "true", "on", or "1"
+        [Yy][Ee][Ss]|[Tt][Rr][Uu][Ee]|[Oo][Nn]|1)
                always=true
-       else
+               ;;
+       *)
                always=false
+               ;;
        fi
        if [ "$autoboot" = yes -o "$always" = true ]; then
                echo "ERROR: ABORTING BOOT (sending SIGTERM to parent)!"
_______________________________________________
[email protected] mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-stable
To unsubscribe, send any mail to "[EMAIL PROTECTED]"

Reply via email to