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