ports/149177: Samba rc script gives wrong output format for rcvar command
Anselm Strauss
amsibamsi at gmail.com
Sun Aug 1 13:00:12 UTC 2010
>Number: 149177
>Category: ports
>Synopsis: Samba rc script gives wrong output format for rcvar command
>Confidential: no
>Severity: non-critical
>Priority: low
>Responsible: freebsd-ports-bugs
>State: open
>Quarter:
>Keywords:
>Date-Required:
>Class: sw-bug
>Submitter-Id: current-users
>Arrival-Date: Sun Aug 01 13:00:10 UTC 2010
>Closed-Date:
>Last-Modified:
>Originator: Anselm Strauss
>Release: 8.1-RELEASE
>Organization:
-
>Environment:
FreeBSD hulk.l.ttyv0.net 8.1-RELEASE FreeBSD 8.1-RELEASE #0: Mon Jul 19 02:36:49 UTC 2010 root at mason.cse.buffalo.edu:/usr/obj/usr/src/sys/GENERIC amd64
>Description:
Port: net/samba34
/usr/loca/etc/rc.d/samba rcvar gives:
# samba
$samba_enable=YES
# nmbd
#
nmbd_enable="YES"
# (default: "")
# smbd
#
nmbd_enable="YES"
# (default: "")
smbd_enable="YES"
# (default: "")
Compared to /etc/rc.d/sshd rcvar:
# sshd
#
sshd_enable="YES"
# (default: "")
The output from samba uses an initial dollar sign and no double quotes in the variable name. This is different from all other rc scripts I've seen and is annoying when automatically parsing output from the command.
>How-To-Repeat:
Execute "/usr/local/etc/rc.d/samba rcvar" in a shell.
>Fix:
Patch /usr/local/etc/rc.d/samba.
Patch attached with submission follows:
*** /usr/local/etc/rc.d/samba Sun Aug 1 14:27:05 2010
--- /usr/local/etc/rc.d/samba.new Sun Aug 1 14:25:24 2010
***************
*** 102,113 ****
unset "${rc_arg}_cmd" "${rc_arg}_precmd" "${rc_arg}_postcmd"
# Check master variable
echo "# ${name}"
if [ -n "${rcvar}" ]; then
# Use original configured value
if checkyesno "real_${rcvar}"; then
! echo "\$${rcvar}=YES"
else
! echo "\$${rcvar}=NO"
fi
fi
# Check dependent variables
--- 102,114 ----
unset "${rc_arg}_cmd" "${rc_arg}_precmd" "${rc_arg}_postcmd"
# Check master variable
echo "# ${name}"
+ echo "#"
if [ -n "${rcvar}" ]; then
# Use original configured value
if checkyesno "real_${rcvar}"; then
! echo "${rcvar}=\"YES\""
else
! echo "${rcvar}=\"NO\""
fi
fi
# Check dependent variables
>Release-Note:
>Audit-Trail:
>Unformatted:
More information about the freebsd-ports-bugs
mailing list