From owner-freebsd-ports-bugs@FreeBSD.ORG Thu Dec 7 12:53:23 2006 Return-Path: X-Original-To: freebsd-ports-bugs@hub.freebsd.org Delivered-To: freebsd-ports-bugs@hub.freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id CE8C116A407 for ; Thu, 7 Dec 2006 12:53:23 +0000 (UTC) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [69.147.83.40]) by mx1.FreeBSD.org (Postfix) with ESMTP id 8F16A441A8 for ; Thu, 7 Dec 2006 12:49:30 +0000 (GMT) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (gnats@localhost [127.0.0.1]) by freefall.freebsd.org (8.13.4/8.13.4) with ESMTP id kB7Co8Y2043257 for ; Thu, 7 Dec 2006 12:50:08 GMT (envelope-from gnats@freefall.freebsd.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.13.4/8.13.4/Submit) id kB7Co8VX043256; Thu, 7 Dec 2006 12:50:08 GMT (envelope-from gnats) Date: Thu, 7 Dec 2006 12:50:08 GMT Message-Id: <200612071250.kB7Co8VX043256@freefall.freebsd.org> To: freebsd-ports-bugs@FreeBSD.org From: "Rashid N. Achilov" Cc: Subject: Re: ports/106436: Samba startup script uses old PID files naming scheme X-BeenThere: freebsd-ports-bugs@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list Reply-To: "Rashid N. Achilov" List-Id: Ports bug reports List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 07 Dec 2006 12:53:23 -0000 The following reply was made to PR ports/106436; it has been noted by GNATS. From: "Rashid N. Achilov" To: bug-followup@freebsd.org, shelton@master.askd.ru Cc: Subject: Re: ports/106436: Samba startup script uses old PID files naming scheme Date: Thu, 7 Dec 2006 18:43:15 +0600 One more deep analysis shows, that Samba use two naming scheme: one for 'default' occassion (when config file name = compiled-in name), and this way PID files will smbd.pid etc. Two for 'non-default' occassion (when config file name != compiled-in), and this way PID files will smbd-.pid etc. I have developed next patch, which works anyway, when use default config file and non-default. Patch against samba.in file, not against samba! --- samba.in.old Thu Dec 7 18:28:25 2006 +++ samba.in Thu Dec 7 18:31:11 2006 @@ -47,6 +47,9 @@ %%WINBIND%%samba_daemons="${samba_daemons} winbindd" testparm_command="%%PREFIX%%/bin/testparm" smbcontrol_command="%%PREFIX%%/bin/smbcontrol" + +short_cfgname=${samba_config##*/} + # Fetch parameters from configuration file samba_parm="${testparm_command} -s -v --parameter-name" %%WINBIND%%samba_idmap=$(${samba_parm} 'idmap uid' ${samba_config} 2>/dev/null) @@ -96,6 +99,17 @@ done echo " done" fi + + # We should check - is $samba_config equal to default path + # When is it, Samba do not use config file name to create PID files + qline=`%%PREFIX%%/smbd -b | grep CONFIG` + set $qline + + if [ $samba_config = $2 ]; then + pidfile="%%SAMBA_RUNDIR%%/${name}.pid" + else + pidfile="%%SAMBA_RUNDIR%%/${name}-${short_cfgname}.pid" + fi } samba_rcvar_cmd() { @@ -123,7 +137,6 @@ for name in ${samba_daemons}; do rcvar=$(set_rcvar) command="%%PREFIX%%/sbin/${name}" - pidfile="%%SAMBA_RUNDIR%%/${name}.pid" # Daemon should be enabled and running if [ -n "${rcvar}" ] && checkyesno ${rcvar}; then if [ -n "$(check_pidfile "${pidfile}" "${command}")" ]; then @@ -147,7 +160,6 @@ for name in ${samba_daemons}; do rcvar=$(set_rcvar) command="%%PREFIX%%/sbin/${name}" - pidfile="%%SAMBA_RUNDIR%%/${name}.pid" run_rc_command "${_rc_prefix}${rc_arg}" ${rc_extra_args} done -- With Best Regards. Rashid N. Achilov (RNA1-RIPE), Web: http://www.askd.ru/~shelton OOO "ACK" telecommunications administrator, e-mail: achilov-rn [at] askd.ru PGP: 83 CD E2 A7 37 4A D5 81 D6 D6 52 BF C9 2F 85 AF 97 BE CB 0A