Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 15 Jan 2012 02:11:01 -0600
From:      "Conrad J. Sabatier" <conrads@cox.net>
To:        Chris Rees <crees@freebsd.org>
Cc:        freebsd-current <freebsd-current@freebsd.org>
Subject:   Re: HEADS UP: set_rcvar() removed from rc.subr
Message-ID:  <20120115021101.11615318@cox.net>
In-Reply-To: <CADLo838LsSkHjM7JFQEqfC6D5R29he%2BfjgxaBho_S7EdEzZgZA@mail.gmail.com>
References:  <4F114577.30201@FreeBSD.org> <4F119C40.2080503@gwdg.de> <CADLo838LsSkHjM7JFQEqfC6D5R29he%2BfjgxaBho_S7EdEzZgZA@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On Sat, 14 Jan 2012 15:30:15 +0000
Chris Rees <crees@freebsd.org> wrote:

> On 14 January 2012 15:16, Rainer Hurling <rhurlin@gwdg.de> wrote:
> > On 14.01.2012 10:05 (UTC+1), Doug Barton wrote:
> >>
> >> Howdy,
> >>
> >> Per discussion in freebsd-rc@, I have removed set_rcvar() from
> >> rc.subr. The concept of set_rcvar() was nice in theory, but the
> >> forks it creates are a drag on the startup process, which is
> >> especially noticeable on slower systems, such as embedded ones.
> >>
> >> I have no plans to MFC this change, so it should only affect users
> >> who are actually on 10-current. If you have scripts
> >> in /usr/local/etc/rc.d (which if you have ports installed you
> >> almost certainly do) ...
> >>
> >> to make the change by hand, change this:
> >>
> >> name=3Dfoo
> >> rcvar=3D`set_rcvar`
> >>
> >> to:
> >>
> >> name=3Dfoo
> >> rcvar=3Dfoo_enable
> >>
> >> I didn't bump PORTREVISIONs because the change only applies to
> >> HEAD. But all of the ports are updated, so if you can't figure out
> >> how to make the change, just reinstall it.
> >>
> >>
> >> Doug
> >
> >
> > Seems that ports-mgmt/tinderbox needs an update like this:
> >
> > files/patch-etc__rc.d__tinderd
> >
> > --- etc/rc.d/tinderd.orig =A0 =A0 =A0 2011-11-20 07:01:09.000000000 +01=
00
> > +++ etc/rc.d/tinderd =A0 =A02012-01-14 16:07:38.000000000 +0100
> > @@ -16,7 +16,7 @@
> > =A0. /etc/rc.subr
> >
> > =A0name=3D"tinderd"
> > -rcvar=3D`set_rcvar`
> > +rcvar=3Dtinderd_enable
> >
> > =A0# read settings, set default values
> > =A0load_rc_config "${name}"
> >
>=20
> I'm in the process of fixing this upstream.
>=20
> Chris

Chris, if you're working on fixing ports' rc files, here are a few
potential "gotchas" to be aware of:

I did a little quick-and-dirty sed substitution on all of my files
under /usr/local/etc/rc.d, plugging in "$filename_enable" in place of
`set_rcvar`.  This works just fine for all but a few.

Filenames containing hyphens must have underscores substituted (e.g.,
avahi-daemon, etc.).

In a few cases, the rcvar is different from the filename in other
ways.  The only ones I came across in my local installation were
sa-spamd (spamd_enable) and mysql-server (mysql_enable).  There are
bound to be others like this in ports.

Overall, though, it was a simple matter to fix up the scripts I had
installed already.  If I can be of any assistance in tidying up the
ports tree, let me know.

Conrad

--=20
Conrad J. Sabatier
conrads@cox.net



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