Bug 185946 - [patch] net/socat further rc script improvements
Summary: [patch] net/socat further rc script improvements
Status: Closed FIXED
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: Normal Affects Only Me
Assignee: Emanuel Haupt
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2014-01-20 20:30 UTC by Mark Felder
Modified: 2014-01-27 12:00 UTC (History)
0 users

See Also:


Attachments
file.diff (1.10 KB, patch)
2014-01-20 20:30 UTC, Mark Felder
no flags Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Mark Felder freebsd_committer freebsd_triage 2014-01-20 20:30:03 UTC
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:
Comment 1 Edwin Groothuis freebsd_committer freebsd_triage 2014-01-20 20:30:12 UTC
Responsible Changed
From-To: freebsd-ports-bugs->ehaupt

Over to maintainer (via the GNATS Auto Assign Tool)
Comment 2 Emanuel Haupt freebsd_committer freebsd_triage 2014-01-27 11:51:05 UTC
State Changed
From-To: open->closed

Committed, thanks!
Comment 3 dfilter service freebsd_committer freebsd_triage 2014-01-27 11:51:07 UTC
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"