From owner-freebsd-stable@FreeBSD.ORG Sun Mar 6 20:36:31 2011 Return-Path: Delivered-To: freebsd-stable@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id DC7BB1065675 for ; Sun, 6 Mar 2011 20:36:31 +0000 (UTC) (envelope-from Hilko.Meyer@gmx.de) Received: from mailout-de.gmx.net (mailout-de.gmx.net [213.165.64.23]) by mx1.freebsd.org (Postfix) with SMTP id 119538FC15 for ; Sun, 6 Mar 2011 20:36:30 +0000 (UTC) Received: (qmail invoked by alias); 06 Mar 2011 20:09:48 -0000 Received: from p579EF8C8.dip.t-dialin.net (EHLO schrein.Speedport_W_700V) [87.158.248.200] by mail.gmx.net (mp043) with SMTP; 06 Mar 2011 21:09:48 +0100 X-Authenticated: #749823 X-Provags-ID: V01U2FsdGVkX1+1KStPW3K10awmU8UwALKQMeSKSkSBsWCvDVx3wS ofh8E1hjlrj2EH From: Hilko Meyer To: Doug Barton Date: Sun, 06 Mar 2011 21:09:40 +0100 Message-ID: References: <6v82n6934o8p7u4vpbde35dbnc41mjd4a5@4ax.com> <4D716CEE.7040106@quip.cz> <4D72A3CD.2070904@FreeBSD.org> In-Reply-To: <4D72A3CD.2070904@FreeBSD.org> X-Mailer: Forte Agent 1.93/32.576 English (American) MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: quoted-printable X-Y-GMX-Trusted: 0 Cc: freebsd-stable@freebsd.org, Miroslav Lachman <000.fbsd@quip.cz> Subject: Re: service(8) doesn't list dhcpd startscript X-BeenThere: freebsd-stable@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Production branch of FreeBSD source code List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 06 Mar 2011 20:36:31 -0000 Doug Barton schrieb: >On 03/04/2011 14:51, Miroslav Lachman wrote: >> Hilko Meyer wrote: >>> >>> today I played a bit with service(8) and I noticed that it doesn't >>> properly >>> detects the isc-dhcpd-startscript. System is 7.3-RELEASE-p4. 'service >>> -l' lists >>> isc-dhcpd but 'service -e' doesn't lists it: >>> | hilti@kirk:~> service -l | grep dhcp >>> | isc-dhcpd >>> | hilti@kirk:~> service -e | grep dhcp >>> | hilti@kirk:~> /usr/local/etc/rc.d/isc-dhcpd rcvar >>> | # dhcpd >>> | dhcpd_enable=3DYES >> >> It works for me on newer version of the FreeBSD (7.4-RELEASE) and with >> newer dhcpd (isc-dhcp41-server-4.1.2_2,1) >> >> ~/# service -l | grep dhcp >> isc-dhcpd >> isc-dhcpd6 >> >> ~/# service -e | grep dhcp >> /usr/local/etc/rc.d/isc-dhcpd >> /usr/local/etc/rc.d/isc-dhcpd6 >> >> ~/# /usr/local/etc/rc.d/isc-dhcpd rcvar >> # dhcpd >> dhcpd_enable=3DYES >> >> So you can compare rc scripts for those two versions or compare = changes >> in service between these two FreeBSD releases. > >I'm glad to hear that Miroslav was able to make it work. I looked at the= =20 >code and it's pretty simple, so I'm not sure why it would fail. > >Hilko, if you can add -x to the end of the #!/bin/sh line in=20 >/usr/sbin/service it might give you more of an idea of what's going on. Thanks for the hint. I think I found something: hilti@kirk:~/dhcpd> script log sh -x /usr/sbin/service -e [snip] + grep -q ^rcvar /etc/rc.d/yppasswdd + grep ^name=3D /etc/rc.d/yppasswdd + eval name=3D"yppasswdd" + name=3Dyppasswdd + grep ^rcvar /etc/rc.d/yppasswdd + eval rcvar=3D"nis_yppasswdd_enable" + rcvar=3Dnis_yppasswdd_enable + checkyesno nis_yppasswdd_enable + grep -q ^rcvar /usr/local/etc/rc.d/isc-dhcpd + grep ^name=3D /usr/local/etc/rc.d/isc-dhcpd + eval name=3Ddhcpd + name=3Ddhcpd + grep ^rcvar /usr/local/etc/rc.d/isc-dhcpd + eval rcvar_chuser () rcvar_jail () rcvar_chroot () rcvar_pidnleases () rcvar_rooted () rcvar=3D${name}_enable + checkyesno nis_yppasswdd_enable Seems 'grep ^rcvar /usr/local/etc/rc.d/isc-dhcpd' finds more than expected. I added a '=3D' in /usr/sbin/service and changed the line to eval `grep ^rcvar=3D $file`. Now it works like expected. But there is stil one question. Why it works in 7.4-RELEASE with newer dhcpd?=20 | hilti@kirk:~/dhcpd> grep ^rcvar isc-dhcpd_* | isc-dhcpd_3.1.in:rcvar_chuser () | isc-dhcpd_3.1.in:rcvar_jail () | isc-dhcpd_3.1.in:rcvar_chroot () | isc-dhcpd_3.1.in:rcvar_pidnleases () | isc-dhcpd_3.1.in:rcvar_rooted () | isc-dhcpd_3.1.in:rcvar=3D${name}_enable | isc-dhcpd_4.1.in:rcvar_chuser () | isc-dhcpd_4.1.in:rcvar_chroot () | isc-dhcpd_4.1.in:rcvar_pidnleases () | isc-dhcpd_4.1.in:rcvar_rooted () | isc-dhcpd_4.1.in:rcvar=3D${name}_enable In both files more than one result. And there was no change in service(8) between 7.3 and 74. Strange... Hilko