Re: cvs commit: src/etc/rc.d hostname

[ Available lists | Index of cvs-all | Month of Feb 2007 | Week of 12 Feb 2007 | Raw email | View thread | Wrap long lines | Reply | Tag ]
From
Brooks Davis <brooks@FreeBSD.org>
Date
12 Feb 2007 03:44:58
Subject
Re: cvs commit: src/etc/rc.d hostname
Message-ID
20070212034438.GA42410@lor.one-eyed-alien.net


[ Hide this part ]
On Sun, Feb 11, 2007 at 11:53:17AM +0300, Yar Tikhiy wrote:
> On Sat, Feb 10, 2007 at 08:52:28PM +0000, Ceri Davies wrote:
> > On Sat, Feb 10, 2007 at 01:13:33PM +0000, Yar Tikhiy wrote:
> > > yar 2007-02-10 13:13:33 UTC
> > >
> > > FreeBSD src repository
> > >
> > > Modified files:
> > > etc/rc.d hostname
> > > Log:
> > > Handle the case when the admin forgot to set $hostname,
> > > which can happen in new installations: advise to set the
> > > variable and refer to rc.conf(5).
> >
> > Isn't it possible for the hostname to come via DHCP? How does this
> > behave in that case (or rather, I can see how it behaves; is that the
> > right thing)?
>
> I've never played with setting the hostname via DHCP. In my change,
> I just tried not to break the existing code related to DHCP. Perhaps
> someone using DHCP to get the hostname could shed light on the topic.

This appears mostly harmless for systems that get their hostname via
DHCP. They will get a warning, but it will otherwise work.

-- Brooks

> > > | @@ -58,7 +58,16 @@ hostname_start()
> > > | fi
> > > | fi
> > > |
> > > | - /bin/hostname ${hostname}
> > > | + # Have we got a hostname yet?
> > > | + #
> > > | + if [ -z "${hostname}" ]; then
> > > | + warn "\$hostname is not set -- see ${rcvar_manpage}."
> > > | + return
> > > | + fi
> > > | +
> > > | + # All right, it is safe to invoke hostname(1) now.
> > > | + #
> > > | + /bin/hostname "${hostname}"
> > > | echo "Setting hostname: `hostname`."
> >
> > Are the backticks necessary here? Why don't we use ${hostname}?
>
> Thus we determine what name has actually been set. Our doing so
> reeks of paranoia, of course. :-) Perhaps a better ordering would
> be:
>
> echo "Setting hostname: ${hostname}."
> /bin/hostname "${hostname}"
>
> So possible error messages will follow the introductory statement,
> which makes more sense. Any objecttions?
>
> --
> Yar
>


[ Show this part (application/pgp-signature) ]

Elapsed time: 0.194 seconds