Hello, when running samba with non-default config file location via the ``-s'' switch, the smbcontrol(1) utility used in rc.d(8) scripts fails to locate the pid files, even when run with the exact same parameters as smbd/nmbd. Working around the problem (did not report upstream yet) I came up with the patches below (and attached). These use the PID if available, instead of names. It does not respect the smb.conf(5) ``pid directory (G)'' option.
bye, Marcus ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ --- smbd.orig Mon Apr 2 11:25:10 2012 +++ smbd Mon Apr 2 11:46:19 2012 @@ -7,17 +7,19 @@ . /etc/rc.d/rc.subr smbcontrol="/usr/local/bin/smbcontrol" +smbdid="smbd" +ls /var/run/smbd*.pid > /dev/null 2>&1 && smbdid=$(cat /var/run/smbd*.pid) rc_check() { - ${smbcontrol} smbd ping + ${smbcontrol} ${smbdid} ping } rc_reload() { - ${smbcontrol} smbd reload-config + ${smbcontrol} ${smbdid} reload-config } rc_stop() { - ${smbcontrol} smbd shutdown + ${smbcontrol} ${smbdid} shutdown } rc_cmd $1 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ --- nmbd.orig Mon Apr 2 11:35:36 2012 +++ nmbd Mon Apr 2 11:46:08 2012 @@ -7,17 +7,19 @@ . /etc/rc.d/rc.subr smbcontrol="/usr/local/bin/smbcontrol" +nmbdid="nmbd" +ls /var/run/nmbd*.pid > /dev/null 2>&1 && nmbdid=$(cat /var/run/nmbd*.pid) rc_check() { - ${smbcontrol} nmbd ping + ${smbcontrol} ${nmbdid} ping } rc_reload() { - ${smbcontrol} nmbd reload-config + ${smbcontrol} ${nmbdid} reload-config } rc_stop() { - ${smbcontrol} nmbd shutdown + ${smbcontrol} ${nmbdid} shutdown } rc_cmd $1 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
--- smbd.orig Mon Apr 2 11:25:10 2012 +++ smbd Mon Apr 2 11:46:19 2012 @@ -7,17 +7,19 @@ . /etc/rc.d/rc.subr smbcontrol="/usr/local/bin/smbcontrol" +smbdid="smbd" +ls /var/run/smbd*.pid > /dev/null 2>&1 && smbdid=$(cat /var/run/smbd*.pid) rc_check() { - ${smbcontrol} smbd ping + ${smbcontrol} ${smbdid} ping } rc_reload() { - ${smbcontrol} smbd reload-config + ${smbcontrol} ${smbdid} reload-config } rc_stop() { - ${smbcontrol} smbd shutdown + ${smbcontrol} ${smbdid} shutdown } rc_cmd $1
--- nmbd.orig Mon Apr 2 11:35:36 2012 +++ nmbd Mon Apr 2 11:46:08 2012 @@ -7,17 +7,19 @@ . /etc/rc.d/rc.subr smbcontrol="/usr/local/bin/smbcontrol" +nmbdid="nmbd" +ls /var/run/nmbd*.pid > /dev/null 2>&1 && nmbdid=$(cat /var/run/nmbd*.pid) rc_check() { - ${smbcontrol} nmbd ping + ${smbcontrol} ${nmbdid} ping } rc_reload() { - ${smbcontrol} nmbd reload-config + ${smbcontrol} ${nmbdid} reload-config } rc_stop() { - ${smbcontrol} nmbd shutdown + ${smbcontrol} ${nmbdid} shutdown } rc_cmd $1