Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 24 Dec 2010 20:40:03 +0600
From:      Victor Sudakov <vas@mpeks.tomsk.su>
To:        freebsd-questions@freebsd.org
Subject:   Re: rc.d and environment variables
Message-ID:  <20101224144002.GB30333@admin.sibptus.tomsk.ru>
In-Reply-To: <20101224121625.011c8fef@gumby.homeunix.com>
References:  <20101223172752.GA8539@admin.sibptus.tomsk.ru> <20101223201249.ea7648aa.freebsd@edvax.de> <20101223191443.GA24653@gizmo.acns.msu.edu> <20101223205456.21ddbe27.freebsd@edvax.de> <44zkrws0xx.fsf@be-well.ilk.org> <20101224033427.GD16472@admin.sibptus.tomsk.ru> <20101224083304.2458afe8@gumby.homeunix.com> <20101224092901.GB23384@admin.sibptus.tomsk.ru> <20101224121625.011c8fef@gumby.homeunix.com>

next in thread | previous in thread | raw e-mail | index | archive | help
RW wrote:
> > > > > > I'm not sure this will work. The initial question was about
> > > > > > how to obtain an environmental variable. If the rc.d script
> > > > > > of svnserve sources /etc/rc.conf and/or /etc/rc.conf.local,
> > > > > > it is okay,
> > > > > 
> > > > > They do.  rc.d scripts all start by sucking in rc.subr, which in
> > > > > turn pulls in the rc.conf files.
> > > > 
> > > > So how do I make the /usr/local/etc/rc.d/svnserve script suck in
> > > > KRB5_KTNAME for the "svn" user from the rc.conf* files?  
> > > 
> > > Just export it from rc.conf
> > 
> > If exported from rc.conf, it will affect all daemons. I need to set it
> > only for svnserve or for the svn user (which is equivalent in my
> > case).
> 
> [ "$name" = "svnserve" ] && export KRB5_KTNAME="/home/svn/svn.keytab"

This looks really ugly. 

A thorough examination of /etc/rc.subr shows that a startup script
sources a certain /etc/rc.conf.d/"$_name". Maybe I should try to place
"export KRB5_KTNAME=/home/svn/svn.keytab" there. At least
/etc/rc.conf.d/svnserve will be sourced only once at svnserve startup,
and not hundreds of times like rc.conf. 

But anyway, I don't like the idea of placing commands (not variables)
in /etc/rc.conf* There should be support for the rc.d framework to
assign limits, environment variables and login classes.

-- 
Victor Sudakov,  VAS4-RIPE, VAS47-RIPN
sip:sudakov@sibptus.tomsk.ru



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