Date: Tue, 24 Feb 2004 10:59:07 +0100 From: Oliver Eikemeier <eikemeier@fillmore-labs.com> To: Mike Makonnen <mtm@identd.net> Cc: freebsd-arch@FreeBSD.org Subject: Re: rc.d and ports Message-ID: <403B206B.7000101@fillmore-labs.com> In-Reply-To: <20040224072401.GB1125@mobile.acs-et.com> References: <20040223084146.GA4202@mobile.acs-et.com> <4039D9FF.40208@fillmore-labs.com> <20040224072401.GB1125@mobile.acs-et.com>
next in thread | previous in thread | raw e-mail | index | archive | help
Mike Makonnen wrote: > On Mon, Feb 23, 2004 at 11:46:23AM +0100, Oliver Eikemeier wrote: > >>Mike Makonnen wrote: >> >>>Hi, >>> >>>A lot of people have been calling to have ports startup scripts >>>integrated into rc.d. I have finally gotten arround to doing it. >>>Attached are the rc.d patches to make it work, but >>>I will need some cooperation from the ports folks. >> >>See PR 56736, there since Sep 2003: >> <http://www.freebsd.org/cgi/query-pr.cgi?pr=conf/56736> >> >>If you don't like it, please provide feedback what you think can be >>improved. > > It looks like you put some effort into it and I appreciate it, but > I'm sorry to say I don't like it at all. It really isn't any better than > the current situation. Basically your patches special case the ports > scripts and hack around rc.d mechanisms to make it > work with ports. This is wrong. If anything the ports should > be modified to fit in the already present rc.d mechanism. I guess I don't fully understand what modifications you suggest for the ports. What is needed to fit into rc.d? >>>The makefile for the port should define a variable: >>> >>>RCVAR_NAME="fooport_enable" >>> >>>Then, logic similar to this should be inserted in the appropriate >>>bsd.port* makefile: >>> >>>if ! grep 1>/dev/null "\$${RCVAR_NAME}=" ${PREFIX}/etc/defaults/rc.conf ; >>>then >>> echo "${RCVAR_NAME}=NO" >> ${PREFIX}/etc/defaults/rc.conf >>>fi >> >>I guess we don't need this (and shouldn't do it, since >>${PREFIX}/etc/defaults/rc.conf >>might be read-only). Defaulting xxx_enable to "NO" seems to be sufficient, >>with >> >> [ -z "$xxx_enable" ] && xxx_enable="NO" >>or >> xxx_enable=${xxx_enable:-"NO"} >>before calling load_rc_config $name > > Again, why special-case ports scripts ? Because the defaults belong to the port, not to the base system. I want them to go away with the port. Nobody (and especially not ports) should edit whatever/defaults/rc.conf, and how would I otherwise cope with the situation that default flags may change? > If the only thing people want is an xxx_enable, then the current scheme > is fine: Install the port script with xxx.sh-sample and when you want > to enable it just rename the file. But if the ports want to be able to > use the whole range of rc.d functionality, then ${PREFIX}/etc/defaults/rc.conf > is needed for all the other knobs that need to be defined. I guess I incorporate ${PREFIX}/etc/defaults/rc.conf and another change in PR 56736, the main point there was that I wanted them to participate in rcorder, which I believe is a good thing, especially when you consider the possibility to move sendmail or other parts of the base system to ports. So I understand that sourcing ${PREFIX}/etc/defaults/rc.conf is the main reservation that you have against this patch? Regards Oliver
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?403B206B.7000101>