ports/166493: net/samba rc.d-srcipt not applicable to TMPFS driven /var/run
Oliver Hartmann
ohartman at zedat.fu-berlin.de
Thu Mar 29 14:20:08 UTC 2012
>Number: 166493
>Category: ports
>Synopsis: net/samba rc.d-srcipt not applicable to TMPFS driven /var/run
>Confidential: no
>Severity: serious
>Priority: medium
>Responsible: freebsd-ports-bugs
>State: open
>Quarter:
>Keywords:
>Date-Required:
>Class: change-request
>Submitter-Id: current-users
>Arrival-Date: Thu Mar 29 14:20:07 UTC 2012
>Closed-Date:
>Last-Modified:
>Originator: Oliver Hartmann
>Release: FreeBSD 10.0-CURRENT
>Organization:
FU Berlin
>Environment:
>Description:
Using SAMBA server in combination with TMPFS-backed up /var/run folder fails starting the SAMBA server since the folder /var/run/samba needs to be created at the start time of the SAMBA server.
By adding a simple check to the rc.d-start script /usr/local/etc/rc.d/samba like a check done by "dbus" or "hald" circumvents this problem.
>How-To-Repeat:
>Fix:
Apply the attached patch/hack to the rc.d script provided by the port.
Patch attached with submission follows:
--- samba.orig 2012-03-29 16:04:34.000000000 +0200
+++ samba 2012-03-29 15:51:59.000000000 +0200
@@ -84,6 +84,12 @@
samba_checkconfig() {
echo -n "Performing sanity check on Samba configuration: "
+
+ # Test existence of /var/run/samba folder
+ if [ ! -d "/var/run/samba" ]; then
+ mkdir -p "/var/run/samba"
+ fi
+
if ${testparm_command} -s ${samba_config:+"${samba_config}"} >/dev/null 2>&1; then
echo "OK"
else
@@ -118,14 +124,14 @@
}
samba_reload_cmd() {
- local name rcvar command pidfile
+ local name rcvar command #pidfile
# Prevent recursive calling
unset "${rc_arg}_cmd" "${rc_arg}_precmd" "${rc_arg}_postcmd"
# Apply to all daemons
for name in ${samba_daemons}; do
rcvar=${name}_enable
command="/usr/local/sbin/${name}"
- pidfile="/var/run/samba/${name}${pid_extra}.pid"
+ #pidfile="/var/run/samba/${name}${pid_extra}.pid"
# Daemon should be enabled and running
if [ -n "${rcvar}" ] && checkyesno "${rcvar}"; then
if [ -n "$(check_pidfile "${pidfile}" "${command}")" ]; then
@@ -139,7 +145,7 @@
}
samba_cmd() {
- local name rcvar rcvars v command pidfile samba_daemons result
+ local name rcvar rcvars v command samba_daemons result
# Prevent recursive calling
unset "${rc_arg}_cmd" "${rc_arg}_precmd" "${rc_arg}_postcmd"
# Stop processes in the reverse order
@@ -154,7 +160,7 @@
# XXX
rcvars=''; v=''
command="/usr/local/sbin/${name}"
- pidfile="/var/run/samba/${name}${pid_extra}.pid"
+ #pidfile="/var/run/samba/${name}${pid_extra}.pid"
# Daemon should be enabled and running
if [ -n "${rcvar}" ] && checkyesno "${rcvar}"; then
run_rc_command "${_rc_prefix}${rc_arg}" ${rc_extra_args}
>Release-Note:
>Audit-Trail:
>Unformatted:
More information about the freebsd-ports-bugs
mailing list