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. Fix: Patch attached with submission follows:
Responsible Changed From-To: freebsd-ports-bugs->ehaupt Over to maintainer (via the GNATS Auto Assign Tool)
State Changed From-To: open->closed Committed, thanks!
Author: ehaupt Date: Mon Jan 27 11:50:59 2014 New Revision: 341381 URL: http://svnweb.freebsd.org/changeset/ports/341381 QAT: https://qat.redports.org/buildarchive/r341381/ Log: This patch will make the socat rc script more reliable. [1] While here, use 'compiler' USES macro to determine compiler type. PR: 185946 [1] Submitted by: feld Modified: head/net/socat/Makefile head/net/socat/files/socat.in Modified: head/net/socat/Makefile ============================================================================== --- head/net/socat/Makefile Mon Jan 27 11:46:37 2014 (r341380) +++ head/net/socat/Makefile Mon Jan 27 11:50:59 2014 (r341381) @@ -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 @@ -13,6 +13,7 @@ COMMENT= Multipurpose relay and more LICENSE= GPLv2 +USES= compiler GNU_CONFIGURE= yes USE_BZIP2= yes USE_RC_SUBR= socat @@ -25,16 +26,14 @@ PORTDOCS= EXAMPLES README SECURITY FAQ OPTIONS_DEFINE= DOCS -.include <bsd.port.options.mk> +.include <bsd.port.pre.mk> .if defined(WITH_OPENSSL_PORT) CFLAGS+= -I${LOCALBASE}/include LDFLAGS+= -L${LOCALBASE}/lib .endif -CCISCLANG!= ${CC} --version - -.if !empty(CCISCLANG:M*clang*) +.if ${COMPILER_TYPE} == "clang" CFLAGS+= -Wno-unused-comparison .endif @@ -52,4 +51,4 @@ do-install: BROKEN= Does not configure on arm .endif -.include <bsd.port.mk> +.include <bsd.port.post.mk> Modified: head/net/socat/files/socat.in ============================================================================== --- head/net/socat/files/socat.in Mon Jan 27 11:46:37 2014 (r341380) +++ head/net/socat/files/socat.in Mon Jan 27 11:50:59 2014 (r341381) @@ -22,13 +22,18 @@ load_rc_config $name : ${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" _______________________________________________ svn-ports-all@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-ports-all To unsubscribe, send any mail to "svn-ports-all-unsubscribe@freebsd.org"