From owner-freebsd-ports-bugs@FreeBSD.ORG Mon Jan 20 20:30:04 2014 Return-Path: Delivered-To: freebsd-ports-bugs@smarthost.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 5A0E3CA6 for ; Mon, 20 Jan 2014 20:30:04 +0000 (UTC) Received: from freefall.freebsd.org (freefall.freebsd.org [IPv6:2001:1900:2254:206c::16:87]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id 352F41770 for ; Mon, 20 Jan 2014 20:30:04 +0000 (UTC) Received: from freefall.freebsd.org (localhost [127.0.0.1]) by freefall.freebsd.org (8.14.7/8.14.7) with ESMTP id s0KKU4eM031133 for ; Mon, 20 Jan 2014 20:30:04 GMT (envelope-from gnats@freefall.freebsd.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.14.7/8.14.7/Submit) id s0KKU4Di031132; Mon, 20 Jan 2014 20:30:04 GMT (envelope-from gnats) Resent-Date: Mon, 20 Jan 2014 20:30:04 GMT Resent-Message-Id: <201401202030.s0KKU4Di031132@freefall.freebsd.org> Resent-From: FreeBSD-gnats-submit@FreeBSD.org (GNATS Filer) Resent-To: freebsd-ports-bugs@FreeBSD.org Resent-Reply-To: FreeBSD-gnats-submit@FreeBSD.org, Mark Felder Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id E78E0ADF for ; Mon, 20 Jan 2014 20:25:33 +0000 (UTC) Received: from oldred.freebsd.org (oldred.freebsd.org [IPv6:2001:1900:2254:206a::50:4]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id D39D11744 for ; Mon, 20 Jan 2014 20:25:33 +0000 (UTC) Received: from oldred.freebsd.org ([127.0.1.6]) by oldred.freebsd.org (8.14.5/8.14.7) with ESMTP id s0KKPX08048492 for ; Mon, 20 Jan 2014 20:25:33 GMT (envelope-from nobody@oldred.freebsd.org) Received: (from nobody@localhost) by oldred.freebsd.org (8.14.5/8.14.5/Submit) id s0KKPXp5048486; Mon, 20 Jan 2014 20:25:33 GMT (envelope-from nobody) Message-Id: <201401202025.s0KKPXp5048486@oldred.freebsd.org> Date: Mon, 20 Jan 2014 20:25:33 GMT From: Mark Felder To: freebsd-gnats-submit@FreeBSD.org X-Send-Pr-Version: www-3.1 Subject: ports/185946: [patch] net/socat further rc script improvements X-BeenThere: freebsd-ports-bugs@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: Ports bug reports List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 20 Jan 2014 20:30:04 -0000 >Number: 185946 >Category: ports >Synopsis: [patch] net/socat further rc script improvements >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: Mon Jan 20 20:30:03 UTC 2014 >Closed-Date: >Last-Modified: >Originator: Mark Felder >Release: >Organization: >Environment: >Description: adding an rc script to socat was one of my earliest attempts at utilizing daemon(8). Any time you write a custom start_cmd routine you're losing several features rc.subr generously provides. We seem to have many offenders in the ports tree that write their own start_cmd because of daemon(8) and they really shouldn't :-( This patch will make the socat rc script more reliable -- start/stop/status should *ALWAYS* work. It should also kindly tell you if it's already running. >How-To-Repeat: >Fix: Patch attached with submission follows: Index: Makefile =================================================================== --- Makefile (revision 339463) +++ Makefile (working copy) @@ -3,7 +3,7 @@ PORTNAME= socat PORTVERSION= 1.7.2.2 -PORTREVISION= 1 +PORTREVISION= 2 CATEGORIES= net ipv6 MASTER_SITES= http://www.dest-unreach.org/socat/download/ \ CRITICAL Index: files/socat.in =================================================================== --- files/socat.in (revision 339463) +++ files/socat.in (working copy) @@ -22,13 +22,18 @@ : ${socat_enable="NO"} -start_cmd="${name}_start" +start_precmd="socat_prestart" pidfile=/var/run/socat.pid -command="%%PREFIX%%/bin/socat" +command=/usr/sbin/daemon +command_args=" -f -p ${pidfile} /usr/local/bin/socat ${socat_flags}" +procname=/usr/local/bin/socat -socat_start() { - echo "Starting ${name}." - /usr/sbin/daemon -f -p ${pidfile} ${command} ${socat_flags} +socat_prestart() +{ + # socat_flags gets applied too early if we don't do this. + # I didn't want to force people to update their rc.conf files + # and change the socat_flags to something else. + rc_flags="" } run_rc_command "$1" >Release-Note: >Audit-Trail: >Unformatted: