Date: Sat, 2 Oct 2010 11:51:11 +0200 (CEST) From: Ulrich Spoerlein <uqs@FreeBSD.org> To: FreeBSD-gnats-submit@FreeBSD.org Cc: timur@FreeBSD.org Subject: ports/151173: [PATCH] net/samba34: Fix rc script to return correct "status" exit code Message-ID: <201010020951.o929pBRZ003264@coyote.spoerlein.net> Resent-Message-ID: <201010031640.o93Ge23k077401@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
>Number: 151173 >Category: ports >Synopsis: [PATCH] net/samba34: Fix rc script to return correct "status" exit code >Confidential: no >Severity: non-critical >Priority: low >Responsible: freebsd-ports-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: change-request >Submitter-Id: current-users >Arrival-Date: Sun Oct 03 16:40:01 UTC 2010 >Closed-Date: >Last-Modified: >Originator: Ulrich Spoerlein >Release: FreeBSD 8.1-STABLE i386 >Organization: >Environment: System: FreeBSD coyote.spoerlein.net 8.1-STABLE FreeBSD 8.1-STABLE #0 r212859M: Sun Sep 19 18:55:13 CEST >Description: When samba is not running, but samba_enable=YES in /etc/rc.conf, the "status" subcommand will return with an exit value of 0 (indicating success). This breaks scripts, that try to collect daemon status to restart stopped services. Collect the return values of both smbd and nmbd and return with exit status of either of them if one is failing. Port maintainer (timur@FreeBSD.org) is cc'd. Generated with FreeBSD Port Tools 0.99 >How-To-Repeat: Stop samba, run the rc script as follows: root@coyote:~# /usr/local/etc/rc.d/samba status ; echo $? nmbd is not running. smbd is not running. 0 >Fix: --- samba34-3.4.8_2.patch begins here --- Index: Makefile =================================================================== RCS file: /data/src/freebsd.cvs/ports/net/samba34/Makefile,v retrieving revision 1.5 diff -u -p -u -r1.5 Makefile --- Makefile 15 Sep 2010 18:35:01 -0000 1.5 +++ Makefile 2 Oct 2010 09:47:33 -0000 @@ -7,7 +7,7 @@ PORTNAME= samba34 PORTVERSION= 3.4.8 -PORTREVISION?= 1 +PORTREVISION?= 2 CATEGORIES?= net MASTER_SITES= ${MASTER_SITE_SAMBA} MASTER_SITE_SUBDIR= . old-versions rc pre Index: files/samba.in =================================================================== RCS file: /data/src/freebsd.cvs/ports/net/samba34/files/samba.in,v retrieving revision 1.2 diff -u -p -u -r1.2 samba.in --- files/samba.in 27 Mar 2010 00:13:58 -0000 1.2 +++ files/samba.in 2 Oct 2010 09:47:33 -0000 @@ -137,7 +137,7 @@ samba_reload_cmd() { } samba_cmd() { - local name rcvar command pidfile samba_daemons + local name rcvar command pidfile samba_daemons result _result # Prevent recursive calling unset "${rc_arg}_cmd" "${rc_arg}_precmd" "${rc_arg}_postcmd" # Stop processes in the reverse to order @@ -145,6 +145,7 @@ samba_cmd() { samba_daemons=$(reverse_list ${samba_daemons}) fi # Apply to all daemons + result=0 for name in ${samba_daemons}; do rcvar=$(set_rcvar) command="%%PREFIX%%/sbin/${name}" @@ -152,8 +153,14 @@ samba_cmd() { # Daemon should be enabled and running if [ -n "${rcvar}" ] && checkyesno "${rcvar}"; then run_rc_command "${_rc_prefix}${rc_arg}" ${rc_extra_args} + # Collect return values + _result=$? + if [ ${_result} != 0 ]; then + result=${_result} + fi fi done + return $result } run_rc_command "$1" --- samba34-3.4.8_2.patch ends here --- >Release-Note: >Audit-Trail: >Unformatted:
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201010020951.o929pBRZ003264>