ports/160657: [patch] devel/distcc: adding pump mode support to distcc

4720 at hushmail.com 4720 at hushmail.com
Sun Sep 11 15:00:30 UTC 2011


>Number:         160657
>Category:       ports
>Synopsis:       [patch] devel/distcc: adding pump mode support to distcc
>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 Sep 11 15:00:29 UTC 2011
>Closed-Date:
>Last-Modified:
>Originator:     4720 at hushmail.com
>Release:        
>Organization:
>Environment:
>Description:
this patch adds pump mode support to discc which lets compiler nodes do preprocessing as well. tested with various ports for two weeks.
>How-To-Repeat:

>Fix:


Patch attached with submission follows:

Index: devel/distcc/Makefile
===================================================================
RCS file: /home/ncvs/ports/devel/distcc/Makefile,v
retrieving revision 1.71
diff -u -r1.71 Makefile
--- devel/distcc/Makefile	26 Sep 2010 03:23:39 -0000	1.71
+++ devel/distcc/Makefile	30 Aug 2011 03:42:07 -0000
@@ -7,10 +7,9 @@
 #
 
 PORTNAME=	distcc
-PORTVERSION=	3.1
+PORTVERSION=	${DISTCC_VERSION}
 PORTREVISION=	3
 CATEGORIES=	devel
-MASTER_SITES=	GOOGLE_CODE
 
 MAINTAINER=	skreuzer at FreeBSD.org
 COMMENT=	Distribute compilation of C(++) code acrosss machines on a network
@@ -18,11 +17,10 @@
 LICENSE=	GPLv2
 LICENSE_FILE=	${WRKSRC}/COPYING
 
+.include "${.CURDIR}/Makefile.common"
+
 LIB_DEPENDS=	popt.0:${PORTSDIR}/devel/popt
 
-USE_BZIP2=	yes
-USE_GMAKE=	yes
-GNU_CONFIGURE=	yes
 CONFIGURE_ARGS=	--enable-gprof --disable-Werror
 WANT_GNOME=	yes
 CONFIGURE_ENV=	CPPFLAGS="-I${LOCALBASE}/include" LDFLAGS="-L${LOCALBASE}/lib" \
@@ -35,9 +33,20 @@
 		GTK	"Build GUI monitor based on GTK"	Off \
 		RFC2553 "Enable IPv6 support"	Off \
 		AVAHI "Enable Avahi Zeroconf/mDNS/Bonjour support"	Off \
+		PUMP	"Enable pump mode, remote preprocessing"	Off \
 		COMPILER_LINKS	"Create symlinks to distcc"	On
 
-.include <bsd.port.pre.mk>
+.include <bsd.port.options.mk>
+
+.if defined (WITH_PUMP)
+USE_PYTHON=	yes
+RUN_DEPENDS+=	${PYTHON_SITELIBDIR}/include_server/include_server.py:${PORTSDIR}/devel/py-include_server
+MAN1+=		pump.1 include_server.1
+DOC_FILES+=	README.pump
+PLIST_SUB+=	WITH_PUMP=""
+.else
+PLIST_SUB+=	WITH_PUMP="@comment "
+.endif
 
 .if defined(WITHOUT_AVAHI)
 CONFIGURE_ARGS+=	--without-avahi
@@ -80,17 +89,27 @@
 PLIST_SUB+=		WITH_GNOME="@comment "
 .endif
 
-MAN1=		distcc.1 distccd.1 distccmon-text.1
-DOC_FILES=	AUTHORS INSTALL NEWS README \
+MAN1+=		distcc.1 distccd.1 distccmon-text.1
+DOC_FILES+=	AUTHORS INSTALL NEWS README \
 		doc/protocol-1.txt doc/status-1.txt \
 		doc/protocol-2.txt doc/reporting-bugs.txt
 
+post-patch:
+.if defined(WITH_PUMP)
+	${REINPLACE_CMD} -e "s|include_server=''|include_server='${PYTHON_SITELIBDIR}/include_server/include_server.py'|" ${WRKSRC}/pump.in
+.endif
+
 do-install:
 	@${INSTALL_PROGRAM} ${WRKSRC}/distcc ${PREFIX}/bin
 	@${INSTALL_PROGRAM} ${WRKSRC}/distccmon-text ${PREFIX}/bin
+	@${INSTALL_PROGRAM} ${WRKSRC}/lsdistcc ${PREFIX}/bin
 .if defined(WITH_GNOME) || defined(WITH_GTK)
 	@${INSTALL_PROGRAM} ${WRKSRC}/distccmon-gnome ${PREFIX}/bin
 .endif
+.if defined(WITH_PUMP)
+	@${INSTALL_SCRIPT} ${WRKSRC}/pump ${PREFIX}/bin
+	@${INSTALL_SCRIPT} ${WRKSRC}/find_c_extension.sh ${PREFIX}/bin
+.endif
 	@${INSTALL_PROGRAM} ${WRKSRC}/distccd ${PREFIX}/sbin
 
 post-install:
@@ -115,4 +134,4 @@
 	@${SETENV} PKG_PREFIX=${PREFIX} ${SH} ${PKGINSTALL} ${PKGNAME} POST-INSTALL
 .endif
 
-.include <bsd.port.post.mk>
+.include <bsd.port.mk>
Index: devel/distcc/Makefile.common
===================================================================
RCS file: devel/distcc/Makefile.common
diff -N devel/distcc/Makefile.common
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ devel/distcc/Makefile.common	30 Aug 2011 03:42:07 -0000
@@ -0,0 +1,7 @@
+DISTCC_VERSION=	3.1
+
+MASTER_SITES=	GOOGLE_CODE
+
+USE_GMAKE=	yes
+USE_BZIP2=	yes
+GNU_CONFIGURE=	yes
Index: devel/distcc/pkg-plist
===================================================================
RCS file: /home/ncvs/ports/devel/distcc/pkg-plist,v
retrieving revision 1.15
diff -u -r1.15 pkg-plist
--- devel/distcc/pkg-plist	6 Nov 2005 00:07:20 -0000	1.15
+++ devel/distcc/pkg-plist	30 Aug 2011 03:42:07 -0000
@@ -1,12 +1,16 @@
 @comment $FreeBSD: ports/devel/distcc/pkg-plist,v 1.15 2005/11/06 00:07:20 mnag Exp $
 bin/distcc
 bin/distccmon-text
+bin/lsdistcc
 %%WITH_GNOME%%bin/distccmon-gnome
+%%WITH_PUMP%%bin/pump
+%%WITH_PUMP%%bin/find_c_extension.sh
 sbin/distccd
 %%PORTDOCS%%%%DOCSDIR%%/AUTHORS
 %%PORTDOCS%%%%DOCSDIR%%/INSTALL
 %%PORTDOCS%%%%DOCSDIR%%/NEWS
 %%PORTDOCS%%%%DOCSDIR%%/README
+%%PORTDOCS%%%%WITH_PUMP%%%%DOCSDIR%%/README.pump
 %%PORTDOCS%%%%DOCSDIR%%/protocol-1.txt
 %%PORTDOCS%%%%DOCSDIR%%/protocol-2.txt
 %%PORTDOCS%%%%DOCSDIR%%/status-1.txt
Index: devel/py-include_server/Makefile
===================================================================
RCS file: devel/py-include_server/Makefile
diff -N devel/py-include_server/Makefile
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ devel/py-include_server/Makefile	30 Aug 2011 03:42:07 -0000
@@ -0,0 +1,37 @@
+# New ports collection makefile for:	
+# Date created:		
+# Whom:			
+#
+# $FreeBSD$
+#
+
+PORTNAME=	include_server
+PORTVERSION=	${DISTCC_VERSION}
+CATEGORIES=	devel python
+PKGNAMEPREFIX=	${PYTHON_PKGNAMEPREFIX}
+DISTNAME=	distcc-${PORTVERSION}
+
+MAINTAINER=	ports at FreeBSD.org
+COMMENT=	Distribute compilation of C(++) code acrosss machines on a network
+
+LICENSE=	GPLv2
+LICENSE_FILE=	${WRKSRC}/COPYING
+
+MASTERDIR=	${.CURDIR}/../distcc
+PLIST=		${.CURDIR}/pkg-plist
+
+.include "${MASTERDIR}/Makefile.common"
+
+USE_PYTHON=	yes
+USE_PYDISTUTILS=yes
+
+CFLAGS+=	-I${WRKSRC}/src/ -I${WRKSRC}/lzo/
+MAKE_ENV+=	CPPFLAGS="${CXXFLAGS}" PYTHON_CFLAGS="${CFLAGS}" SRCDIR="${WRKSRC}" DISTCC_VERSION="${DISTCC_VERSION}"
+
+BUILD_WRKSRC=	${WRKDIR}/${DISTNAME}/${PORTNAME}
+INSTALL_WRKSRC=	${BUILD_WRKSRC}
+
+post-install:
+	@${INSTALL_PROGRAM} ${BUILD_WRKSRC}/build/lib.*/${PORTNAME}/distcc_pump_c_extensions.so ${PYTHON_SITELIBDIR}/${PORTNAME}/
+
+.include <bsd.port.mk>
Index: devel/py-include_server/pkg-plist
===================================================================
RCS file: devel/py-include_server/pkg-plist
diff -N devel/py-include_server/pkg-plist
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ devel/py-include_server/pkg-plist	30 Aug 2011 03:42:07 -0000
@@ -0,0 +1,71 @@
+%%PYTHON_SITELIBDIR%%/include_server/distcc_pump_c_extensions.so
+%%PYTHON_SITELIBDIR%%/include_server/basics.py
+%%PYTHON_SITELIBDIR%%/include_server/basics.pyc
+%%PYTHON_SITELIBDIR%%/include_server/basics.pyo
+%%PYTHON_SITELIBDIR%%/include_server/basics_test.py
+%%PYTHON_SITELIBDIR%%/include_server/basics_test.pyc
+%%PYTHON_SITELIBDIR%%/include_server/basics_test.pyo
+%%PYTHON_SITELIBDIR%%/include_server/cache_basics.py
+%%PYTHON_SITELIBDIR%%/include_server/cache_basics.pyc
+%%PYTHON_SITELIBDIR%%/include_server/cache_basics.pyo
+%%PYTHON_SITELIBDIR%%/include_server/compiler_defaults.py
+%%PYTHON_SITELIBDIR%%/include_server/compiler_defaults.pyc
+%%PYTHON_SITELIBDIR%%/include_server/compiler_defaults.pyo
+%%PYTHON_SITELIBDIR%%/include_server/compress_files.py
+%%PYTHON_SITELIBDIR%%/include_server/compress_files.pyc
+%%PYTHON_SITELIBDIR%%/include_server/compress_files.pyo
+%%PYTHON_SITELIBDIR%%/include_server/c_extensions_test.py
+%%PYTHON_SITELIBDIR%%/include_server/c_extensions_test.pyc
+%%PYTHON_SITELIBDIR%%/include_server/c_extensions_test.pyo
+%%PYTHON_SITELIBDIR%%/include_server/include_analyzer.py
+%%PYTHON_SITELIBDIR%%/include_server/include_analyzer.pyc
+%%PYTHON_SITELIBDIR%%/include_server/include_analyzer.pyo
+%%PYTHON_SITELIBDIR%%/include_server/include_analyzer_memoizing_node.py
+%%PYTHON_SITELIBDIR%%/include_server/include_analyzer_memoizing_node.pyc
+%%PYTHON_SITELIBDIR%%/include_server/include_analyzer_memoizing_node.pyo
+%%PYTHON_SITELIBDIR%%/include_server/include_analyzer_memoizing_node_test.py
+%%PYTHON_SITELIBDIR%%/include_server/include_analyzer_memoizing_node_test.pyc
+%%PYTHON_SITELIBDIR%%/include_server/include_analyzer_memoizing_node_test.pyo
+%%PYTHON_SITELIBDIR%%/include_server/include_analyzer_test.py
+%%PYTHON_SITELIBDIR%%/include_server/include_analyzer_test.pyc
+%%PYTHON_SITELIBDIR%%/include_server/include_analyzer_test.pyo
+%%PYTHON_SITELIBDIR%%/include_server/include_server.py
+%%PYTHON_SITELIBDIR%%/include_server/include_server.pyc
+%%PYTHON_SITELIBDIR%%/include_server/include_server.pyo
+%%PYTHON_SITELIBDIR%%/include_server/include_server_test.py
+%%PYTHON_SITELIBDIR%%/include_server/include_server_test.pyc
+%%PYTHON_SITELIBDIR%%/include_server/include_server_test.pyo
+%%PYTHON_SITELIBDIR%%/include_server/macro_eval.py
+%%PYTHON_SITELIBDIR%%/include_server/macro_eval.pyc
+%%PYTHON_SITELIBDIR%%/include_server/macro_eval.pyo
+%%PYTHON_SITELIBDIR%%/include_server/macro_eval_test.py
+%%PYTHON_SITELIBDIR%%/include_server/macro_eval_test.pyc
+%%PYTHON_SITELIBDIR%%/include_server/macro_eval_test.pyo
+%%PYTHON_SITELIBDIR%%/include_server/mirror_path.py
+%%PYTHON_SITELIBDIR%%/include_server/mirror_path.pyc
+%%PYTHON_SITELIBDIR%%/include_server/mirror_path.pyo
+%%PYTHON_SITELIBDIR%%/include_server/mirror_path_test.py
+%%PYTHON_SITELIBDIR%%/include_server/mirror_path_test.pyc
+%%PYTHON_SITELIBDIR%%/include_server/mirror_path_test.pyo
+%%PYTHON_SITELIBDIR%%/include_server/parse_command.py
+%%PYTHON_SITELIBDIR%%/include_server/parse_command.pyc
+%%PYTHON_SITELIBDIR%%/include_server/parse_command.pyo
+%%PYTHON_SITELIBDIR%%/include_server/parse_command_test.py
+%%PYTHON_SITELIBDIR%%/include_server/parse_command_test.pyc
+%%PYTHON_SITELIBDIR%%/include_server/parse_command_test.pyo
+%%PYTHON_SITELIBDIR%%/include_server/parse_file.py
+%%PYTHON_SITELIBDIR%%/include_server/parse_file.pyc
+%%PYTHON_SITELIBDIR%%/include_server/parse_file.pyo
+%%PYTHON_SITELIBDIR%%/include_server/parse_file_test.py
+%%PYTHON_SITELIBDIR%%/include_server/parse_file_test.pyc
+%%PYTHON_SITELIBDIR%%/include_server/parse_file_test.pyo
+%%PYTHON_SITELIBDIR%%/include_server/run.py
+%%PYTHON_SITELIBDIR%%/include_server/run.pyc
+%%PYTHON_SITELIBDIR%%/include_server/run.pyo
+%%PYTHON_SITELIBDIR%%/include_server/statistics.py
+%%PYTHON_SITELIBDIR%%/include_server/statistics.pyc
+%%PYTHON_SITELIBDIR%%/include_server/statistics.pyo
+%%PYTHON_SITELIBDIR%%/include_server/__init__.py
+%%PYTHON_SITELIBDIR%%/include_server/__init__.pyc
+%%PYTHON_SITELIBDIR%%/include_server/__init__.pyo
+ at dirrm %%PYTHON_SITELIBDIR%%/include_server

>Release-Note:
>Audit-Trail:
>Unformatted:



More information about the freebsd-ports-bugs mailing list