Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 11 May 1995 14:42:34 -0700 (PDT)
From:      "Rodney W. Grimes" <rgrimes@gndrsh.aac.dev.com>
To:        kuku@gilberto.physik.rwth-aachen.de
Cc:        freebsd-current@freefall.cdrom.com
Subject:   Re: bug in /usr/src/etc/rc (netstart)
Message-ID:  <199505112142.OAA13278@gndrsh.aac.dev.com>
In-Reply-To: <199505112150.XAA16952@gilberto.physik.rwth-aachen.de> from "Christoph Kukulies" at May 11, 95 11:50:13 pm

next in thread | previous in thread | raw e-mail | index | archive | help
> 
> > 
> > > 
> > > > 
> > > > > 
> > > > > 
> > > > > netstart is started using sh /etc/netstart (that was a . /etc/netstart
> > > > > formerly and it used to work). Now, starting it with sh /etc/netstart
> > > > > $hostname is unknown and the consequences are quite unfriendly.
> > > > 
> > > > Hostname should be set by /etc/sysconfig, /etc/sysconfig is .'ed into
> > > > /etc/rc.  Infact all variables that where set in /etc/netstart should
> > > > now be set by /etc/sysconfig.
> > > > 
> > > > Do you infact have /etc/sysconfig 1.11, /etc/rc 1.63 ?
> > > 
> > > I checked again now definitely with both, sysconfig 1.11, rc 1.63 and
> > > when I have the sh /etc/netstart in rc the hostname is not being set.
> > > How should it ? I don't need to tell you that a sub shell does not inherit
> > > variables that are set in the parent unless the subshell is 'sourced'.
> > > 
> > > It works ok if I replace sh with . (source) (which was in some
> > > earlier version of rc anyway).
> > 
> > I don't like to repeat myself, but ``Hostname is set by /etc/sysconfig,
> > /etc/sysconfig is sourced by /etc/rc''.  I know all about sub shell vs
> > sourced file and the effects on variables.  I have been writting /etc/rc
> > files for 15 years.
> 
> I didn't put this in doubt.
> 
> > 
> > Just where are you setting $hostname at?  If your not doing it at about
> 
> Exactly there I'm setting hostname.
> 
> > line 61 of /etc/sysconfig your not doing it the right way!!!
> > 
> > You will note that at line 75 of /etc/rc the file /etc/sysconf is sourced
> > into /etc/rc which means $hostname is defined.
> 
> $hostname (the variable) is defined for rc but not for netstart and when the
> hostname is set by netstart by the /sbin/hostname $hostname, then
> hostname *is* empty the way it is being done currently. Excuse me!
> I'm well aware of myname and defaultrouter being gone and I don't have them
> any longer.
> 
> rc sources sysconfig. So rc knows $hostname (the variable).
> rc shells netstart but the variable $hostname *is* empty in netstart
> where the actual hostname is being set via the hostname $hostname command.
> 
> 
> Let's take this little example:
> 
> let r be rc
> let s be sysconfig
> let n bet netstart
> 
> -------- r ---------
> #!/bin/sh
> . s
> sh n
> -------- s ---------
> #!/bin/sh
> hostname=foo
> -------- n ---------
> #!/bin/sh -

You missed:
. s
at line 8, the very first thing done.

> echo $hostname
> 
> Now execute r and you will find the the echo in n is empty.
> 
> A sixpack of beer that something is wrong with the current rc/sysconfig/net
> start combo.

I don't drink, but look at line 8 of /etc/netstart:
        . /etc/sysconfig

> 
> 
> > 
> > You will also note that this is the same way that /etc/netstart now
> > gets this value from /etc/sysconfig.
> > 
> > -- 
> > Rod Grimes                                      rgrimes@gndrsh.aac.dev.com
> > Accurate Automation Company                   Custom computers for FreeBSD
> > 
> 
> --Chris Christoph P. U. Kukulies kuku@gil.physik.rwth-aachen.de
> FreeBSD blues.physik.rwth-aachen.de 2.0-BUILT-19950507 FreeBSD 2.0-BUILT-1995
> 0507 #0: Sun May  7 18:08:05 MET DST 1995     root@blues.physik.rwth-aachen.d
> e:/usr/src/sys/compile/BLUESGUS  i386
> 


-- 
Rod Grimes                                      rgrimes@gndrsh.aac.dev.com
Accurate Automation Company                   Custom computers for FreeBSD



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