Date: Wed, 26 Jun 2002 11:27:03 +0200 (CEST) From: Frerich Raabe <frerich.raabe@gmx.de> To: FreeBSD-gnats-submit@FreeBSD.org Subject: ports/39879: New port: distcc Message-ID: <20020626092703.BE78C115B@gmx.de>
next in thread | raw e-mail | index | archive | help
>Number: 39879 >Category: ports >Synopsis: New port: distcc >Confidential: no >Severity: non-critical >Priority: low >Responsible: freebsd-ports >State: open >Quarter: >Keywords: >Date-Required: >Class: change-request >Submitter-Id: current-users >Arrival-Date: Wed Jun 26 02:30:02 PDT 2002 >Closed-Date: >Last-Modified: >Originator: Frerich Raabe >Release: FreeBSD 4.6-STABLE i386 >Organization: >Environment: System: FreeBSD daedalus.lan 4.6-STABLE FreeBSD 4.6-STABLE #6: Fri Jun 21 17:33:42 CEST 2002 root@daedalus.lan:/usr/obj/usr/src/sys/SWIFT i386 >Description: distcc is a program to distribute compilation of C code across several machines on a network. distcc should always generate the same results as a local compile, is simple to install and use, and is often significantly faster than a local compile. Unlike other distributed build systems, distcc does not require all machines to share a filesystem, have synchronized clocks, or to have the same libraries or header files installed. Machines can be running different operating systems, as long as they have compatible binary formats or cross-compilers. distcc sends the complete preprocessed source code across the network for each job, so all it requires of the volunteer machines is that they be running the distccd daemon, and that they have an appropriate compiler installed. >How-To-Repeat: >Fix: # This is a shell archive. Save it in a file, remove anything before # this line, and then unpack it by entering "sh file". Note, it may # create directories; files and directories will be owned by you and # have default permissions. # # This archive contains: # # distcc # distcc/Makefile # distcc/distinfo # distcc/pkg-comment # distcc/pkg-descr # distcc/pkg-message # distcc/pkg-plist # distcc/files # distcc/files/patch-src::serve.c # distcc/files/patch-src::dparent.c # echo c - distcc mkdir -p distcc > /dev/null 2>&1 echo x - distcc/Makefile sed 's/^X//' >distcc/Makefile << 'END-of-distcc/Makefile' X# New ports collection makefile for: distcc X# Date created: 25 June 2002 X# Whom: Frerich Raabe X# X# $FreeBSD$ X# X XPORTNAME= distcc XPORTVERSION= 0.4 XCATEGORIES= devel XMASTER_SITES= http://ftp.samba.org/ftp/distcc/ X XMAINTAINER= frerich.raabe@gmx.de X XLIB_DEPENDS= popt.0:${PORTSDIR}/devel/popt X XGNU_CONFIGURE= yes XCONFIGURE_ENV+= CPPFLAGS="-I${LOCALBASE}/include ${CPPFLAGS}" \ X LDFLAGS="-L${LOCALBASE}/lib ${LDFLAGS}" X XBUILD_WRKSRC= ${WRKSRC}/src X Xdo-install: X @${INSTALL_PROGRAM} ${WRKSRC}/src/distcc ${PREFIX}/bin X @${INSTALL_PROGRAM} ${WRKSRC}/src/distccd ${PREFIX}/sbin X Xpost-install: X @${CAT} ${PKGMESSAGE} X X.include <bsd.port.mk> X# vim: noet END-of-distcc/Makefile echo x - distcc/distinfo sed 's/^X//' >distcc/distinfo << 'END-of-distcc/distinfo' XMD5 (distcc-0.4.tar.gz) = 3b21a4bde9810eb8040b05e6924430f8 END-of-distcc/distinfo echo x - distcc/pkg-comment sed 's/^X//' >distcc/pkg-comment << 'END-of-distcc/pkg-comment' XDistribute compilation of C(++) code acrosss machines on a network END-of-distcc/pkg-comment echo x - distcc/pkg-descr sed 's/^X//' >distcc/pkg-descr << 'END-of-distcc/pkg-descr' Xdistcc is a program to distribute compilation of C code across Xseveral machines on a network. distcc should always generate the Xsame results as a local compile, is simple to install and use, and Xis often significantly faster than a local compile. X XUnlike other distributed build systems, distcc does not require all Xmachines to share a filesystem, have synchronized clocks, or to Xhave the same libraries or header files installed. Machines can be Xrunning different operating systems, as long as they have compatible Xbinary formats or cross-compilers. X Xdistcc sends the complete preprocessed source code across the network Xfor each job, so all it requires of the volunteer machines is that Xthey be running the distccd daemon, and that they have an appropriate Xcompiler installed. X XWWW: http://distcc.samba.org/ X X- Frerich Raabe frerich.raabe@gmx.de END-of-distcc/pkg-descr echo x - distcc/pkg-message sed 's/^X//' >distcc/pkg-message << 'END-of-distcc/pkg-message' XWARNING: distcc[d] performs NO AUTHENTICATION at all and should XONLY be used in trusted networks! X XThe daemon runs on port 4200 by default. You can change that Xvalue by calling distccd with the -p parameter, e.g. X`distccd -p 4711'. X XNote that remote daemons currently won't work if they cannot Xresolve the reverse DNS of the master machine END-of-distcc/pkg-message echo x - distcc/pkg-plist sed 's/^X//' >distcc/pkg-plist << 'END-of-distcc/pkg-plist' Xbin/distcc Xsbin/distccd END-of-distcc/pkg-plist echo c - distcc/files mkdir -p distcc/files > /dev/null 2>&1 echo x - distcc/files/patch-src::serve.c sed 's/^X//' >distcc/files/patch-src::serve.c << 'END-of-distcc/files/patch-src::serve.c' X--- src/serve.c.orig Tue Jun 25 15:42:07 2002 X+++ src/serve.c Tue Jun 25 15:42:30 2002 X@@ -189,7 +189,7 @@ X * X * XXX: Perhaps this should be optional so that we can compare X * performance each way? */ X- if (mknod(temp_i, S_IFIFO|S_IRUSR|S_IWUSR, 0) == -1) { X+ if (mkfifo(temp_i, S_IFIFO|S_IRUSR|S_IWUSR) == -1) { X rs_log_error("failed to make fifo %s: %s", temp_i, X strerror(errno)); X goto failed; END-of-distcc/files/patch-src::serve.c echo x - distcc/files/patch-src::dparent.c sed 's/^X//' >distcc/files/patch-src::dparent.c << 'END-of-distcc/files/patch-src::dparent.c' X--- src/dparent.c.orig Tue Jun 25 15:58:35 2002 X+++ src/dparent.c Tue Jun 25 15:58:48 2002 X@@ -126,7 +126,7 @@ X X memset(&act_exited, 0, sizeof act_exited); X act_exited.sa_handler = dcc_child_exited; X- act_exited.sa_flags = SA_NOCLDSTOP; X+ act_exited.sa_flags = SA_NOCLDSTOP|SA_RESTART; X X if (sigaction(SIGTERM, &act_catch, NULL) X || sigaction(SIGHUP, &act_catch, NULL) END-of-distcc/files/patch-src::dparent.c exit >Release-Note: >Audit-Trail: >Unformatted: To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-ports" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20020626092703.BE78C115B>