FreeBSD Bugzilla – Attachment 52353 Details for
Bug 79348
net/boinc-client: update port to 4.67, now with GUI support
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
Remember
[x]
|
Forgot Password
Login:
[x]
[patch]
file.diff
file.diff (text/plain), 68.57 KB, created by
J.R. Oldroyd
on 2005-03-30 03:00:12 UTC
(
hide
)
Description:
file.diff
Filename:
MIME Type:
Creator:
J.R. Oldroyd
Created:
2005-03-30 03:00:12 UTC
Size:
68.57 KB
patch
obsolete
>diff -ruN /usr/ports/net/boinc-client/Makefile net/boinc-client/Makefile >--- /usr/ports/net/boinc-client/Makefile Mon Jan 31 15:15:10 2005 >+++ net/boinc-client/Makefile Tue Mar 29 17:18:29 2005 >@@ -6,113 +6,130 @@ > # > > PORTNAME= boinc-client >-PORTVERSION= 4.19 >+PORTVERSION= 4.67.20050320 > CATEGORIES= net > MASTER_SITES= http://boinc.berkeley.edu/source/nightly/ >-DISTNAME= boinc_public-cvs-2005-01-26 >+DISTNAME= boinc-cvs-2005-03-20 > > MAINTAINER= fbsd@opal.com > COMMENT= Berkeley Open Infrastructure for Network Computing client > >+.include <bsd.port.pre.mk> >+ >+# Build with "make -DWITHOUT_X11" if you don't want the boincmgr >+# GUI management interface or the "screensaver" status displays >+# from any of the client applications. >+# >+# Defining WITHOUT_X11 removes the dependencies on the X11 libs >+# and the wxgtk2 toolkit and jpeg graphics lib. >+ >+.if !defined(WITHOUT_X11) >+LIB_DEPENDS= iconv:${PORTSDIR}/converters/libiconv \ >+ wx_gtk2:${PORTSDIR}/x11-toolkits/wxgtk2 \ >+ jpeg:${PORTSDIR}/graphics/jpeg >+USE_XLIBS= yes >+.endif >+ >+USE_AUTOMAKE_VER= 19 >+USE_AUTOCONF_VER= 259 >+USE_AUTOHEADER_VER= 259 >+USE_LIBTOOL_VER= 15 >+ > USE_REINPLACE= yes > GNU_CONFIGURE= yes > CONFIGURE_ARGS= --disable-server >-CONFIGURE_ENV= CPPFLAGS=-I${X11BASE}/include CXXFLAGS=-I${X11BASE}/include >+.if defined(WITHOUT_X11) >+CONFIGURE_ARGS+= --with-wx-config=false >+.endif >+CONFIGURE_ENV= CPPFLAGS=-I${X11BASE}/include CXXFLAGS="-I${X11BASE}/include -I${LOCALBASE}/include" > >-WRKSRC= ${WRKDIR}/boinc_public >+WRKSRC= ${WRKDIR}/boinc > PKGINSTALL= ${WRKDIR}/pkg-install > PKGPLIST= ${WRKDIR}/pkg-plist > >-MAN1= boinc-client.1 >+MAN1= boinc.1 >+.if !defined(WITHOUT_X11) >+MLINKS= boinc.1 boincmgr.1 >+.endif > >-FIND_BOINC_BINARY=(cd ${WRKDIR}/boinc_public/client; make -V CLIENT_BIN_FILENAME) >+FIND_BOINC_BINARY=(cd ${WRKSRC}/client; make -V CLIENT_BIN_FILENAME) >+FIND_BOINCMGR_BINARY=(cd ${WRKSRC}/client; make -V CLIENT_GUI_BIN_FILENAME) >+BOINC_BINARY= boinc-client > > BOINC_USER= boinc > BOINC_GROUP= nobody > BOINC_HOME= /var/db/boinc >-BOINC_DATADIR= ${PREFIX}/boinc >- >-.include <bsd.port.pre.mk> >- >-.if ${OSVERSION} < 500000 >-EXTRA_PATCHES+= ${FILESDIR}/extra-patch-api::boinc_api.C >-.endif > >-post-patch: > .if ${OSVERSION} < 500000 >- ${PATCH} -d ${WRKSRC} <${FILESDIR}/extra-patch-client::gui_rpc_server.C >- ${PATCH} -d ${WRKSRC} <${FILESDIR}/extra-patch-client::net_xfer.C >+EXTRA_PATCHES+= ${FILESDIR}/extra-patch-clientgui::MainDocument.cpp >+EXTRA_PATCHES+= ${FILESDIR}/extra-patch-clientgui::MainFrame.cpp >+EXTRA_PATCHES+= ${FILESDIR}/extra-patch-clientgui::ViewProjects.cpp >+EXTRA_PATCHES+= ${FILESDIR}/extra-patch-clientgui::ViewResources.cpp >+EXTRA_PATCHES+= ${FILESDIR}/extra-patch-clientgui::ViewTransfers.cpp >+EXTRA_PATCHES+= ${FILESDIR}/extra-patch-clientgui::ViewWork.cpp >+EXTRA_PATCHES+= ${FILESDIR}/extra-patch-clientgui::stdwx.h >+EXTRA_PATCHES+= ${FILESDIR}/extra-patch-lib::acct_mgr_client.C >+EXTRA_PATCHES+= ${FILESDIR}/extra-patch-lib::network.h >+EXTRA_PATCHES+= ${FILESDIR}/extra-patch-lib::gui_rpc_client.C >+EXTRA_PATCHES+= ${FILESDIR}/extra-patch-lib::parse.C >+EXTRA_PATCHES+= ${FILESDIR}/extra-patch-zip::boinc_zip.cpp > .endif >- ${CHMOD} +x ${WRKDIR}/boinc_public/configure > >-do-build: >- @(cd ${WRKDIR}/boinc_public/client; ${SETENV} ${MAKE_ENV} ${MAKE} ${MAKE_FLAGS} ${MAKEFILE} ${MAKE_ARGS} ${ALL_TARGET}) >- @(cd ${WRKDIR}/boinc_public/api; ${SETENV} ${MAKE_ENV} ${MAKE} ${MAKE_FLAGS} ${MAKEFILE} ${MAKE_ARGS} ${ALL_TARGET}) >- @(cd ${WRKDIR}/boinc_public/lib; ${SETENV} ${MAKE_ENV} ${MAKE} ${MAKE_FLAGS} ${MAKEFILE} ${MAKE_ARGS} ${ALL_TARGET}) >+pre-configure: >+ cd ${WRKSRC}; ${ACLOCAL} -I ${LOCALBASE}/share/libtool${USE_LIBTOOL_VER}/libltdl -I m4 > > post-build: >- BBIN=`${FIND_BOINC_BINARY}`; \ >- ${SED} -e "s:%%BOINC_BINARY%%:$$BBIN:g" \ >- -e "s:%%BOINC_DATADIR%%:${BOINC_DATADIR}:g" \ >+ ${SED} -e "s:%%BOINC_BINARY%%:${BOINC_BINARY}:g" \ > -e "s:%%BOINC_HOME%%:${BOINC_HOME}:g" \ > -e "s:%%BOINC_USER%%:${BOINC_USER}:g" \ > -e "s:%%BOINC_GROUP%%:${BOINC_GROUP}:g" \ >- < ${FILESDIR}/boinc-client > ${WRKDIR}/boinc-client; \ >- ${SED} -e "s:%%BOINC_BINARY%%:$$BBIN:g" \ >- -e "s:%%BOINC_DATADIR%%:${BOINC_DATADIR}:g" \ >+ -e "s:%%LOCALBASE%%:${LOCALBASE}:g" \ >+ < ${FILESDIR}/boinc.sh > ${WRKDIR}/boinc.sh >+ ${SED} -e "s:%%BOINC_BINARY%%:${BOINC_BINARY}:g" \ > -e "s:%%BOINC_HOME%%:${BOINC_HOME}:g" \ > -e "s:%%BOINC_USER%%:${BOINC_USER}:g" \ > -e "s:%%BOINC_GROUP%%:${BOINC_GROUP}:g" \ >- < ${FILESDIR}/boinc-client.1 > ${WRKDIR}/boinc-client.1; \ >- ${SED} -e "s:%%BOINC_BINARY%%:$$BBIN:g" \ >- -e "s:%%BOINC_DATADIR%%:${BOINC_DATADIR}:g" \ >+ -e "s:%%LOCALBASE%%:${LOCALBASE}:g" \ >+ < ${FILESDIR}/boinc.1 > ${WRKDIR}/boinc.1 >+ ${SED} -e "s:%%BOINC_BINARY%%:${BOINC_BINARY}:g" \ > -e "s:%%BOINC_HOME%%:${BOINC_HOME}:g" \ > -e "s:%%BOINC_USER%%:${BOINC_USER}:g" \ > -e "s:%%BOINC_GROUP%%:${BOINC_GROUP}:g" \ >+ -e "s:%%LOCALBASE%%:${LOCALBASE}:g" \ > < ${PKGDIR}/pkg-install > ${WRKDIR}/pkg-install >-.if ${OSVERSION} >= 500000 >- BBIN=`${FIND_BOINC_BINARY}`; \ >- ${SED} -e "s:%%BOINC_BINARY%%:$$BBIN:g" \ >- -e "s:%%BOINC_DATADIR%%:${BOINC_DATADIR}:g" \ >- -e "s:%%BOINC_HOME%%:${BOINC_HOME}:g" \ >- -e "s:%%BOINC_USER%%:${BOINC_USER}:g" \ >- -e "s:%%BOINC_GROUP%%:${BOINC_GROUP}:g" \ >- < ${FILESDIR}/boinc.sh > ${WRKDIR}/boinc.sh >-.else >- BBIN=`${FIND_BOINC_BINARY}`; \ >- ${SED} -e "s:%%BOINC_BINARY%%:$$BBIN:g" \ >- -e "s:%%BOINC_DATADIR%%:${BOINC_DATADIR}:g" \ >+ ${SED} -e "s:%%BOINC_BINARY%%:${BOINC_BINARY}:g" \ > -e "s:%%BOINC_HOME%%:${BOINC_HOME}:g" \ > -e "s:%%BOINC_USER%%:${BOINC_USER}:g" \ > -e "s:%%BOINC_GROUP%%:${BOINC_GROUP}:g" \ >- < ${FILESDIR}/boinc.sh-4.x > ${WRKDIR}/boinc.sh >-.endif >+ -e "s:%%LOCALBASE%%:${LOCALBASE}:g" \ >+ < ${FILESDIR}/rc::boinc.sh > ${WRKDIR}/rc::boinc.sh > > do-install: >- ${INSTALL_SCRIPT} ${WRKDIR}/boinc-client ${PREFIX}/bin >- ${INSTALL_MAN} ${WRKDIR}/boinc-client.1 ${PREFIX}/man/man1 >- ${MKDIR} ${PREFIX}/boinc/client >- ${INSTALL_PROGRAM} ${WRKDIR}/boinc_public/client/`${FIND_BOINC_BINARY}` ${PREFIX}/boinc/client >- ${MKDIR} ${PREFIX}/boinc/lib >- ${INSTALL} ${WRKDIR}/boinc_public/lib/*.h ${PREFIX}/boinc/lib >- ${INSTALL} ${WRKDIR}/boinc_public/lib/libboinc.a ${PREFIX}/boinc/lib >- ${INSTALL} ${WRKDIR}/boinc_public/RSAEuro/source/librsaeuro.a ${PREFIX}/boinc/lib >- ${MKDIR} ${PREFIX}/boinc/api >- ${INSTALL} ${WRKDIR}/boinc_public/api/*.h ${PREFIX}/boinc/api >- ${TOUCH} ${PREFIX}/boinc/api/Makefile.am >- ${TOUCH} ${PREFIX}/boinc/lib/Makefile.am >- ${TOUCH} ${PREFIX}/boinc/Makefile.am >- ${MKDIR} ${PREFIX}/boinc/projects >- ${MKDIR} ${PREFIX}/etc/rc.d >- ${INSTALL_SCRIPT} ${WRKDIR}/boinc.sh ${PREFIX}/etc/rc.d >- ${CAT} ${PKGMESSAGE} >+ ${MKDIR} ${PREFIX}/lib/boinc >+ ${INSTALL_PROGRAM} ${WRKSRC}/client/`${FIND_BOINC_BINARY}` ${PREFIX}/lib/boinc/${BOINC_BINARY} >+.if !defined(WITHOUT_X11) >+ ${INSTALL_PROGRAM} ${WRKSRC}/clientgui/`${FIND_BOINCMGR_BINARY}` ${PREFIX}/bin >+.endif >+ ${MKDIR} ${PREFIX}/include/BOINC >+ ${INSTALL} ${WRKSRC}/api/*.h ${PREFIX}/include/BOINC >+ ${INSTALL} ${WRKSRC}/lib/*.h ${PREFIX}/include/BOINC >+ ${INSTALL} ${WRKSRC}/zip/*.h ${PREFIX}/include/BOINC >+ ${INSTALL} ${WRKSRC}/api/*.a ${PREFIX}/lib >+ ${INSTALL} ${WRKSRC}/lib/*.a ${PREFIX}/lib >+ ${INSTALL} ${WRKSRC}/zip/*.a ${PREFIX}/lib >+ ${INSTALL} ${WRKSRC}/RSAEuro/source/librsaeuro.a ${PREFIX}/lib > > post-install: >+ ${INSTALL_SCRIPT} ${WRKDIR}/boinc.sh ${PREFIX}/bin/boinc >+ ${INSTALL_MAN} ${WRKDIR}/boinc.1 ${PREFIX}/man/man1 >+ ${MKDIR} ${PREFIX}/etc/rc.d >+ ${INSTALL_SCRIPT} ${WRKDIR}/rc::boinc.sh ${PREFIX}/etc/rc.d/boinc.sh > ${REINPLACE_CMD} \ >- -e "s:%%BOINC_BINARY%%:`${FIND_BOINC_BINARY}`:g" \ >+ -e "s:%%BOINC_BINARY%%:${BOINC_BINARY}:g" \ > -e "s:%%BOINC_HOME%%:${BOINC_HOME}:g" \ > -e "s:%%BOINC_USER%%:${BOINC_USER}:g" \ > ${TMPPLIST} >+ ${CAT} ${PKGMESSAGE} > @${SETENV} ${SCRIPTS_ENV} PKG_PREFIX=${PREFIX} ${SH} ${PKGINSTALL} ${PKGNAME} POST-INSTALL > > .include <bsd.port.post.mk> >diff -ruN /usr/ports/net/boinc-client/distinfo net/boinc-client/distinfo >--- /usr/ports/net/boinc-client/distinfo Mon Jan 31 15:15:10 2005 >+++ net/boinc-client/distinfo Sun Mar 20 20:37:57 2005 >@@ -1,2 +1,2 @@ >-MD5 (boinc_public-cvs-2005-01-26.tar.gz) = 59c8ca1810bd83f58d57ea54c8c27615 >-SIZE (boinc_public-cvs-2004-01-26.tar.gz) = 3845012 >+MD5 (boinc-cvs-2005-03-20.tar.gz) = 48ff80bf1839af0a744560f1eb4a858e >+SIZE (boinc-cvs-2004-03-20.tar.gz) = 4755507 >diff -ruN /usr/ports/net/boinc-client/files/alt-patch-api::boinc_api.C net/boinc-client/files/alt-patch-api::boinc_api.C >--- /usr/ports/net/boinc-client/files/alt-patch-api::boinc_api.C Wed Dec 31 19:00:00 1969 >+++ net/boinc-client/files/alt-patch-api::boinc_api.C Mon Mar 21 12:28:55 2005 >@@ -0,0 +1,49 @@ >+--- api/boinc_api.C.orig Sat Mar 19 16:39:16 2005 >++++ api/boinc_api.C Mon Mar 21 11:08:09 2005 >+@@ -59,7 +59,7 @@ >+ static APP_INIT_DATA aid; >+ static FILE_LOCK file_lock; >+ APP_CLIENT_SHM* app_client_shm = 0; >+-static volatile double time_until_checkpoint; >++static volatile int time_until_checkpoint; >+ // time until enable checkpoint >+ static volatile double time_until_fraction_done_update; >+ // time until report fraction done to core client >+@@ -79,7 +79,7 @@ >+ static volatile int nrunning_ticks = 0; >+ #endif >+ >+-#define TIMER_PERIOD 1.0 >++#define TIMER_PERIOD 1 >+ // period of API timer >+ // This determines the resolution of fraction done and CPU time reporting >+ // to the core client, and of checkpoint enabling. >+@@ -164,7 +164,7 @@ >+ // the following may not be needed, but do it anyway >+ // >+ fraction_done = -1; >+- time_until_checkpoint = aid.checkpoint_period; >++ time_until_checkpoint = (int) aid.checkpoint_period; >+ last_checkpoint_cpu_time = aid.wu_cpu_time; >+ time_until_fraction_done_update = aid.fraction_done_update_period; >+ last_wu_cpu_time = aid.wu_cpu_time; >+@@ -548,8 +548,8 @@ >+ perror("boinc set_worker_timer() sigaction"); >+ return retval; >+ } >+- value.it_value.tv_sec = (int)TIMER_PERIOD; >+- value.it_value.tv_usec = ((int)(TIMER_PERIOD*1000000))%1000000; >++ value.it_value.tv_sec = TIMER_PERIOD; >++ value.it_value.tv_usec = 0; >+ value.it_interval = value.it_value; >+ retval = setitimer(ITIMER_REAL, &value, NULL); >+ if (retval) { >+@@ -616,7 +616,7 @@ >+ last_checkpoint_cpu_time = last_wu_cpu_time; >+ update_app_progress(last_checkpoint_cpu_time, last_checkpoint_cpu_time, 0); >+ ready_to_checkpoint = false; >+- time_until_checkpoint = aid.checkpoint_period; >++ time_until_checkpoint = (int) aid.checkpoint_period; >+ >+ return 0; >+ } >diff -ruN /usr/ports/net/boinc-client/files/boinc-client net/boinc-client/files/boinc-client >--- /usr/ports/net/boinc-client/files/boinc-client Sat Oct 16 15:29:30 2004 >+++ net/boinc-client/files/boinc-client Wed Dec 31 19:00:00 1969 >@@ -1,6 +0,0 @@ >-#!/bin/sh >- >-args="$@" >- >-exec idprio 31 su - %%BOINC_USER%% -c "%%BOINC_DATADIR%%/client/%%BOINC_BINARY%% $args" >- >diff -ruN /usr/ports/net/boinc-client/files/boinc-client.1 net/boinc-client/files/boinc-client.1 >--- /usr/ports/net/boinc-client/files/boinc-client.1 Sat Oct 16 15:29:30 2004 >+++ net/boinc-client/files/boinc-client.1 Wed Dec 31 19:00:00 1969 >@@ -1,170 +0,0 @@ >-.TH boinc-client 1 "October 1, 2004" "" "BOINC" >-.SH NAME >-boinc-client \- client for Berkeley Open Infrastructure for Network Computing >-.SH SYNOPSIS >-boinc-client [ options ] >-.PP >-sh /usr/local/etc/rc.d/boinc.sh start|stop|restart|status >-.SH DESCRIPTION >-.I boinc-client >-is the client for the Berkeley Open Infrastructure for Network >-Computing (BOINC) service. It is used by projects such as SETI@HOME >-and ClimatePredictor to offer your spare CPU cycles to such projects. >-BOINC allows you to configure one or more projects to which you offer >-your spare CPU cycles for their computations. >-.PP >-BOINC is a scheduler; you configure projects under BOINC and BOINC >-then runs each one according to what percentage of time you have >-specified for that project. >-When a project is run, BOINC runs the project's client program to >-download computational work units from the project, then perform the >-work unit computation, and finally upload the results back to the >-project. If no work is available for one of your projects, BOINC >-will run another of your projects. >-.PP >-BOINC runs project clients at low priority, with a >-.IR nice (1) >-value of 19, to ensure that as soon as you need your computer for >-any other work, BOINC projects stop so that you are not delayed >-by them. >-.PP >-After choosing which projects to participate in, you must register >-with each on the project's website. You can find out about BOINC >-projects on the BOINC website. Upon registering with a project, >-you will receive an account ID for the project. >-Run >-.I "boinc-client -attach_project" >-to add new projects to your BOINC configuration using the project >-URL and your account ID. >-Depending on what operating system platforms the project supports >-you may be able to immediately start the project or you may need to >-download the project client's source code and compile it. For >-further information, see the BOINC web site and the project's own >-website. Some projects are already available as FreeBSD ports >-(e.g., SETI@HOME in port astro/boinc-setiathome). Not all projects >-support FreeBSD and some do not make their client's source code >-available. In such cases, you will not be able to participate in >-that project from FreeBSD. >-.PP >-Running >-.I boinc-client >-with no arguments starts the service and any configured projects. >-.PP >-You can edit both BOINC general preferences and project-specific >-preferences on the website of any BOINC projects which you are >-registered with. Preferences will take effect next time BOINC >-contacts that project's server, e.g., to download more work or >-to upload results. >-.PP >-.I /usr/local/etc/rc.d/boinc.sh >-script is run automatically at system boot time. >-The >-.I /etc/rc.conf >-variable >-.I boinc_enable >-must be set to >-.I boinc_enable="YES" >-for this script to start BOINC at boot time. >-.PP >-The user >-.I %%BOINC_USER%% >-needs to exist; all invocations of boinc-client will run as this >-user. If you want users other than root to be able to start >-BOINC, set a password on this account so that anyone can run >-.I boinc_client >-and supply the password. >-.PP >-IMPORTANT NOTE: The project clients are programs running >-on your computer with full access (as the user >-.IR %%BOINC_USER%% ) >-to all files and resources of your computer. Before running any >-project client, you should establish for yourself that the >-program is trustworthy and will not abuse your computer. The >-BOINC scheduler does not restrict clients in any way other than to >-run them as the user >-.IR %%BOINC_USER%% . >-.SH OPTIONS >-The command-line client has the following command-line options: >-.IP -attach_project >-Attach this computer to a new project. >-You must have an account with that project. >-You will be asked for the project URL and the account ID. >-.IP -show_projects >-Print a list of projects to which this computer is attached. >-.IP -detach_project URL >-Detach this computer from a project. >-.IP -reset_project URL >-Clear pending work for a project. >-Use this if there is a problem that is preventing >-your computer from working. >-.IP -update_prefs URL >-Contact a project's server to obtain new preferences. >-This will also report completed results >-and get new work if needed. >-.IP -return_results_immediately >-Contact scheduler as soon as any result done. >-.IP -run_cpu_benchmarks >-Run CPU benchmarks. >-Do this if you have modified your computer's hardware. >-.IP -check_all_logins >-If 'run if user active' preference is off, >-check for input activity on all current logins; >-default is to check only local mouse/keyboard >-.IP -exit_when_idle >-Get, process and report work, then exit. >-.IP -allow_remote_gui_rpc >-Allow GUI RPCs from remote hosts >-.IP -help >-Show client options. >-.IP -version >-Show client version. >-.SH "ENVIRONMENT VARIABLES" >-The command-line client has the following optional environment variables: >-.IP HTTP_PROXY >-URL of HTTP proxy >-.IP HTTP_USER_NAME >-User name for proxy authentication >-.IP HTTP_USER_PASSWD >-Password for proxy authentication >-.IP SOCKS4_SERVER >-URL of SOCKS 4 server >-.IP SOCKS5_SERVER >-URL of SOCKS 5 server >-.IP SOCKS5_USER >-User name for SOCKS authentication >-.IP SOCKS5_PASSWD >-Password for SOCKS authentication >-.SH FILES >-.IP %%BOINC_HOME%% >-default home directory for >-.I %%BOINC_USER%% >-user >-.IP %%BOINC_HOME%%/* >-boinc-client configuration files >-.IP %%BOINC_HOME%%/projects/* >-BOINC projects >-.IP %%BOINC_HOME%%/projects/*/* >-BOINC project work unit files >-.IP %%BOINC_DATADIR%% >-boinc-client and BOINC project programs >-.SH BUGS >-Suspending >-.I boinc-client >-using ^Z works, but resuming using >-.I fg >-or >-.I bg >-does not resume any client processes (e.g., SETI). These need to be >-restarted using >-.I "kill -CONT" >-for each process. >-.PP >-Placing files in %%BOINC_HOME%% or its subdirectories can cause work >-to fail as those files will be counted in disk usage limit checks. In >-addition to configurable overall disk usage limits, each client may >-further restrict the size of its project or slot directories. >-.PP >-On a hyperthreadded processor, performance may be limited due to shared >-use of processor modules such as the FPU. >-.SH "SEE ALSO" >-http://boinc.berkeley.edu/ >diff -ruN /usr/ports/net/boinc-client/files/boinc.1 net/boinc-client/files/boinc.1 >--- /usr/ports/net/boinc-client/files/boinc.1 Wed Dec 31 19:00:00 1969 >+++ net/boinc-client/files/boinc.1 Tue Mar 1 11:06:10 2005 >@@ -0,0 +1,235 @@ >+.TH boinc 1 "October 1, 2004" "" "BOINC" >+.SH NAME >+boinc \- client for Berkeley Open Infrastructure for Network Computing >+.SH SYNOPSIS >+boinc [ options ] >+.PP >+boincmgr >+.PP >+sh /usr/local/etc/rc.d/boinc.sh start|stop|restart|status >+.SH DESCRIPTION >+.I boinc >+is the client for the Berkeley Open Infrastructure for Network >+Computing (BOINC) service. It is used by projects such as SETI@HOME >+and ClimatePredictor to offer your spare CPU cycles to such projects. >+BOINC allows you to configure one or more projects to which you offer >+your spare CPU cycles for their computations. >+.PP >+BOINC is a scheduler; you configure projects under BOINC and BOINC >+then runs each one according to what percentage of time you have >+specified for that project. >+When a project is run, BOINC runs the project's client program to >+download computational work units from the project, then perform the >+work unit computation, and finally upload the results back to the >+project. If no work is available for one of your projects, BOINC >+will run another of your projects. >+.PP >+BOINC runs project clients at low priority, with an >+.IR idprio (1) >+value of 31, to ensure that as soon as you need your computer for >+any other work, BOINC projects stop so that you are not delayed >+by them. >+.PP >+After choosing which projects to participate in, you must register >+with each on the project's website. You can find out about BOINC >+projects on the BOINC website. Upon registering with a project, >+you will receive an account ID for the project. >+Run >+.I "boinc -attach_project" >+to add new projects to your BOINC configuration using the project >+URL and your account ID. >+Depending on what operating system platforms the project supports >+you may be able to immediately start the project or you may need to >+download the project client's source code and compile it. For >+further information, see the BOINC web site and the project's own >+website. Some projects are already available as FreeBSD ports >+(e.g., SETI@HOME in port astro/boinc-setiathome). Not all projects >+support FreeBSD and some do not make their client's source code >+available. In such cases, you will not be able to participate in >+that project from FreeBSD. >+.PP >+Running >+.I boinc >+with no arguments starts the service and any configured projects. >+.PP >+You can edit both BOINC general preferences and project-specific >+preferences on the website of any BOINC projects which you are >+registered with. Preferences will take effect next time BOINC >+contacts that project's server, e.g., to download more work or >+to upload results. >+.PP >+The user >+.I %%BOINC_USER%% >+needs to exist; all invocations of boinc will run as this >+user. If you want users other than root to be able to start >+BOINC, set a password on this account so that anyone can run >+.I boinc_client >+and supply the password. >+.PP >+IMPORTANT NOTE: The project clients are programs running >+on your computer with full access (as the user >+.IR %%BOINC_USER%% ) >+to all files and resources of your computer. Before running any >+project client, you should establish for yourself that the >+program is trustworthy and will not abuse your computer. The >+BOINC scheduler does not restrict clients in any way other than to >+run them as the user >+.IR %%BOINC_USER%% . >+.SH "GRAPHICAL MANAGEMENT INTERFACE" >+Running >+.I "boinc -allow_remote_gui_rpc" >+allows the >+.I boincmgr >+graphical management interface to interact with the client. >+.PP >+The >+.I boincmgr >+program provides a graphical management interface to the core >+boinc. After >+.I boinc >+has been started, run >+.I boincmgr >+to add new projects, to see the status of existing projects' >+work units, and to control the client. >+.PP >+.I boincmgr >+can also be used to monitor and manage BOINC clients on other >+hosts. >+.PP >+On the >+.I Work >+tab, there is a >+.I "Show graphics" >+button which displays a graphical status window from the client >+application. >+For the >+.I "Show graphics" >+option to have effect, it must be understood that it is the >+client application that opens up the status window. The value >+of the >+.I DISPLAY >+environment variable of the >+.I boincmgr >+process is passed to the BOINC core and then to the client >+application, and must have meaning to that client. A value >+of >+.I ":0.0" >+will work for local clients, but for clients on remote hosts, >+a value such as >+.I "hostname:0.0" >+or >+.I "hostname.domain.com:0.0" >+will be needed. >+In addition, the local X-server host access permissions must >+allow access to the display by the client. >+For local clients, the simplest way to allow this is to use >+.IR xhost (1), >+e.g., >+.IR "xhost\ +local:" . >+.PP >+Full documentation of >+.I boincmgr >+is not provided here, but may be added in a future release. >+.SH "STARTING BOINC AT BOOT TIME" >+The >+.I /usr/local/etc/rc.d/boinc.sh >+script is run automatically at system boot time. >+Several variables can be set in >+.I /etc/rc.conf >+to control the BOINC client's behavior. >+.IP boinc_enable >+set to >+.I "YES" >+to start BOINC at boot time >+.IP boinc_flags >+passed to the BOINC client, e.g., >+.I boinc_flags="-allow_remote_gui_rpc" >+to allow access from the >+.I boincmgr >+graphical management interface. >+.SH OPTIONS >+The command-line client has the following command-line options: >+.IP -attach_project >+Attach this computer to a new project. >+You must have an account with that project. >+You will be asked for the project URL and the account ID. >+.IP -show_projects >+Print a list of projects to which this computer is attached. >+.IP -detach_project URL >+Detach this computer from a project. >+.IP -reset_project URL >+Clear pending work for a project. >+Use this if there is a problem that is preventing >+your computer from working. >+.IP -update_prefs URL >+Contact a project's server to obtain new preferences. >+This will also report completed results >+and get new work if needed. >+.IP -return_results_immediately >+Contact scheduler as soon as any result done. >+.IP -run_cpu_benchmarks >+Run CPU benchmarks. >+Do this if you have modified your computer's hardware. >+.IP -check_all_logins >+If 'run if user active' preference is off, >+check for input activity on all current logins; >+default is to check only local mouse/keyboard >+.IP -exit_when_idle >+Get, process and report work, then exit. >+.IP -redirectio >+Redirect stdout and stderr to log files. >+.IP -allow_remote_gui_rpc >+Allow GUI RPCs from remote hosts >+.IP -help >+Show client options. >+.IP -version >+Show client version. >+.SH "ENVIRONMENT VARIABLES" >+The command-line client has the following optional environment variables: >+.IP HTTP_PROXY >+URL of HTTP proxy >+.IP HTTP_USER_NAME >+User name for proxy authentication >+.IP HTTP_USER_PASSWD >+Password for proxy authentication >+.IP SOCKS4_SERVER >+URL of SOCKS 4 server >+.IP SOCKS5_SERVER >+URL of SOCKS 5 server >+.IP SOCKS5_USER >+User name for SOCKS authentication >+.IP SOCKS5_PASSWD >+Password for SOCKS authentication >+.SH FILES >+.IP %%BOINC_HOME%% >+default home directory for >+.I %%BOINC_USER%% >+user >+.IP %%BOINC_HOME%%/* >+boinc configuration files >+.IP %%BOINC_HOME%%/projects/* >+BOINC projects >+.IP %%BOINC_HOME%%/projects/*/* >+BOINC project work unit files >+.SH BUGS >+Suspending >+.I boinc >+using ^Z works, but resuming using >+.I fg >+or >+.I bg >+does not resume any client processes (e.g., SETI). These need to be >+restarted using >+.I "kill -CONT" >+for each process. >+.PP >+Placing files in %%BOINC_HOME%% or its subdirectories can cause work >+to fail as those files will be counted in disk usage limit checks. In >+addition to configurable overall disk usage limits, each client may >+further restrict the size of its project or slot directories. >+.PP >+On a hyperthreadded processor, performance may be limited due to shared >+use of processor modules such as the FPU. >+.SH "SEE ALSO" >+.IR xhost (1), >+http://boinc.berkeley.edu/ >diff -ruN /usr/ports/net/boinc-client/files/boinc.sh net/boinc-client/files/boinc.sh >--- /usr/ports/net/boinc-client/files/boinc.sh Sat Oct 16 15:29:30 2004 >+++ net/boinc-client/files/boinc.sh Wed Mar 2 16:39:03 2005 >@@ -1,61 +1,7 @@ > #!/bin/sh >-# >-# $FreeBSD: ports/net/boinc-client/files/boinc.sh,v 1.1 2004/10/16 19:29:30 pav Exp $ >-# >-# Start or stop BOINC >-# > >-. /etc/rc.subr >+export LD_LIBRARY_PATH=%%LOCALBASE%%/lib/boinc > >-name="boinc" >-rcvar=`set_rcvar` >- >-boinc_user=%%BOINC_USER%% >-boinc_home=%%BOINC_HOME%% >-program_file=%%BOINC_BINARY%% >-program_path=%%BOINC_DATADIR%%/client/${program_file} >- >-[ -z "$boinc_enable" ] && boinc_enable="NO" >- >-load_rc_config $name >- >-case "$1" in >-start) >- if checkyesno boinc_enable >- then >- if [ ! -x ${program_path} ] >- then >- logger -sp ${syslog_facility} -t ${program_file} \ >- "unable to start: ${program_path} is missing." >- exit 72 >- fi >- if ps axo ucomm | egrep ${program_file}; then >- logger -sp ${syslog_facility} -t ${program_file} \ >- "unable to start: ${program_file} is already running." >- exit 72 >- fi >- echo -n "BOINC " >- idprio 31 su - ${boinc_user} -c "${program_path} >/dev/null &" >- fi >- ;; >- >-stop) >- program=`expr ${program_file} : '^\(...................\).*$'` >- killall ${program} 2> /dev/null >- ;; >- >-restart) >- $0 stop >- $0 start >- ;; >- >-status) >- ps auxww | egrep ${program_file} | egrep -v "($0|egrep)" >- ;; >- >-*) >- echo "usage: ${name} {start|stop|restart|status}" >&2 >- exit 64 >- ;; >-esac >+args=${@+"$@"} >+exec idprio 31 su - %%BOINC_USER%% -c "%%LOCALBASE%%/lib/boinc/%%BOINC_BINARY%% $args" > >diff -ruN /usr/ports/net/boinc-client/files/boinc.sh-4.x net/boinc-client/files/boinc.sh-4.x >--- /usr/ports/net/boinc-client/files/boinc.sh-4.x Wed Dec 15 00:14:36 2004 >+++ net/boinc-client/files/boinc.sh-4.x Wed Dec 31 19:00:00 1969 >@@ -1,61 +0,0 @@ >-#!/bin/sh >-# >-# $FreeBSD: ports/net/boinc-client/files/boinc.sh-4.x,v 1.1 2004/12/15 05:14:36 edwin Exp $ >-# >-# Start or stop BOINC >-# >- >-. /usr/local/etc/rc.subr >- >-name="boinc" >-rcvar=`set_rcvar` >- >-boinc_user=%%BOINC_USER%% >-boinc_home=%%BOINC_HOME%% >-program_file=%%BOINC_BINARY%% >-program_path=%%BOINC_DATADIR%%/client/${program_file} >- >-[ -z "$boinc_enable" ] && boinc_enable="NO" >- >-load_rc_config $name >- >-case "$1" in >-start) >- if checkyesno boinc_enable >- then >- if [ ! -x ${program_path} ] >- then >- logger -sp ${syslog_facility} -t ${program_file} \ >- "unable to start: ${program_path} is missing." >- exit 72 >- fi >- if ps axo ucomm | egrep ${program_file}; then >- logger -sp ${syslog_facility} -t ${program_file} \ >- "unable to start: ${program_file} is already running." >- exit 72 >- fi >- echo -n "BOINC " >- idprio 31 su - ${boinc_user} -c "${program_path} >/dev/null &" >- fi >- ;; >- >-stop) >- program=`expr ${program_file} : '^\(................\).*$'` >- killall ${program} 2> /dev/null >- ;; >- >-restart) >- $0 stop >- $0 start >- ;; >- >-status) >- ps auxww | egrep ${program_file} | egrep -v "($0|egrep)" >- ;; >- >-*) >- echo "usage: ${name} {start|stop|restart|status}" >&2 >- exit 64 >- ;; >-esac >- >diff -ruN /usr/ports/net/boinc-client/files/extra-patch-api::boinc_api.C net/boinc-client/files/extra-patch-api::boinc_api.C >--- /usr/ports/net/boinc-client/files/extra-patch-api::boinc_api.C Wed Dec 15 00:14:36 2004 >+++ net/boinc-client/files/extra-patch-api::boinc_api.C Wed Dec 31 19:00:00 1969 >@@ -1,11 +0,0 @@ >---- api/boinc_api.C.orig Sun Sep 5 19:28:46 2004 >-+++ api/boinc_api.C Thu Dec 9 10:22:30 2004 >-@@ -116,7 +116,7 @@ >- options.handle_trickle_ups = true; >- options.handle_trickle_downs = true; >- options.handle_process_control = true; >-- options.send_status_msgs = true; >-+ options.send_status_msgs = false; >- options.direct_process_action = true; >- return boinc_init_options(options); >- } >diff -ruN /usr/ports/net/boinc-client/files/extra-patch-client::gui_rpc_server.C net/boinc-client/files/extra-patch-client::gui_rpc_server.C >--- /usr/ports/net/boinc-client/files/extra-patch-client::gui_rpc_server.C Tue Jan 25 19:13:43 2005 >+++ net/boinc-client/files/extra-patch-client::gui_rpc_server.C Wed Dec 31 19:00:00 1969 >@@ -1,11 +0,0 @@ >---- client/gui_rpc_server.C.orig Tue Dec 21 13:25:39 2004 >-+++ client/gui_rpc_server.C Tue Dec 21 13:27:04 2004 >-@@ -49,7 +49,7 @@ >- typedef int socklen_t; >- #elif defined(__APPLE__) >- typedef int32_t socklen_t; >--#elif !defined(GETSOCKOPT_SOCKLEN_T) && !defined(_SOCKLEN_T_DECLARED) && !defined(socklen_t) >-+#elif !defined(__FreeBSD__) >- typedef size_t socklen_t; >- #endif >- >diff -ruN /usr/ports/net/boinc-client/files/extra-patch-client::net_xfer.C net/boinc-client/files/extra-patch-client::net_xfer.C >--- /usr/ports/net/boinc-client/files/extra-patch-client::net_xfer.C Tue Jan 25 19:13:43 2005 >+++ net/boinc-client/files/extra-patch-client::net_xfer.C Wed Dec 31 19:00:00 1969 >@@ -1,11 +0,0 @@ >---- client/net_xfer.C.orig Tue Dec 21 13:25:39 2004 >-+++ client/net_xfer.C Tue Dec 21 13:28:15 2004 >-@@ -80,7 +80,7 @@ >- typedef int socklen_t; >- #elif defined(__APPLE__) >- typedef int32_t socklen_t; >--#elif !defined(GETSOCKOPT_SOCKLEN_T) && !defined(_SOCKLEN_T_DECLARED) && !defined(socklen_t) >-+#elif !defined(__FreeBSD__) >- typedef size_t socklen_t; >- #endif >- >diff -ruN /usr/ports/net/boinc-client/files/extra-patch-clientgui::MainDocument.cpp net/boinc-client/files/extra-patch-clientgui::MainDocument.cpp >--- /usr/ports/net/boinc-client/files/extra-patch-clientgui::MainDocument.cpp Wed Dec 31 19:00:00 1969 >+++ net/boinc-client/files/extra-patch-clientgui::MainDocument.cpp Sun Mar 20 21:59:21 2005 >@@ -0,0 +1,551 @@ >+--- clientgui/MainDocument.cpp.orig Tue Mar 15 16:53:12 2005 >++++ clientgui/MainDocument.cpp Sun Mar 20 21:59:15 2005 >+@@ -178,7 +178,7 @@ >+ if ( IsConnected() ) >+ return BOINC_SUCCESS; >+ >+- str.clear(); >++ str = ""; >+ >+ if ( strMachine.empty() && !m_strConnectedComputerName.empty() ) >+ str = m_strConnectedComputerName.c_str(); >+@@ -416,7 +416,7 @@ >+ >+ m_fProjectTotalResourceShare = 0.0; >+ for (i=0; i < (long)project_status.projects.size(); i++) { >+- m_fProjectTotalResourceShare += project_status.projects.at( i )->resource_share; >++ m_fProjectTotalResourceShare += project_status.projects[i]->resource_share; >+ } >+ >+ return iRetVal; >+@@ -445,7 +445,7 @@ >+ try >+ { >+ if ( !project_status.projects.empty() ) >+- pProject = project_status.projects.at( iIndex ); >++ pProject = project_status.projects[iIndex]; >+ } >+ catch ( std::out_of_range e ) >+ { >+@@ -470,7 +470,7 @@ >+ try >+ { >+ if ( !project_status.projects.empty() ) >+- pProject = project_status.projects.at( iIndex ); >++ pProject = project_status.projects[iIndex]; >+ } >+ catch ( std::out_of_range e ) >+ { >+@@ -491,7 +491,7 @@ >+ try >+ { >+ if ( !project_status.projects.empty() ) >+- pProject = project_status.projects.at( iIndex ); >++ pProject = project_status.projects[iIndex]; >+ } >+ catch ( std::out_of_range e ) >+ { >+@@ -512,7 +512,7 @@ >+ try >+ { >+ if ( !project_status.projects.empty() ) >+- pProject = project_status.projects.at( iIndex ); >++ pProject = project_status.projects[iIndex]; >+ } >+ catch ( std::out_of_range e ) >+ { >+@@ -533,7 +533,7 @@ >+ try >+ { >+ if ( !project_status.projects.empty() ) >+- pProject = project_status.projects.at( iIndex ); >++ pProject = project_status.projects[iIndex]; >+ } >+ catch ( std::out_of_range e ) >+ { >+@@ -554,7 +554,7 @@ >+ try >+ { >+ if ( !project_status.projects.empty() ) >+- pProject = project_status.projects.at( iIndex ); >++ pProject = project_status.projects[iIndex]; >+ } >+ catch ( std::out_of_range e ) >+ { >+@@ -575,7 +575,7 @@ >+ try >+ { >+ if ( !project_status.projects.empty() ) >+- pProject = project_status.projects.at( iIndex ); >++ pProject = project_status.projects[iIndex]; >+ } >+ catch ( std::out_of_range e ) >+ { >+@@ -603,7 +603,7 @@ >+ try >+ { >+ if ( !project_status.projects.empty() ) >+- pProject = project_status.projects.at( iIndex ); >++ pProject = project_status.projects[iIndex]; >+ } >+ catch ( std::out_of_range e ) >+ { >+@@ -653,7 +653,7 @@ >+ >+ if ( NULL != pProject ) >+ { >+- Url = pProject->gui_urls.at( iWebsiteIndex ); >++ Url = pProject->gui_urls[iWebsiteIndex]; >+ strBuffer = Url.name.c_str(); >+ } >+ >+@@ -676,7 +676,7 @@ >+ >+ if ( NULL != pProject ) >+ { >+- Url = pProject->gui_urls.at( iWebsiteIndex ); >++ Url = pProject->gui_urls[iWebsiteIndex]; >+ strBuffer = Url.description.c_str(); >+ } >+ >+@@ -699,7 +699,7 @@ >+ >+ if ( NULL != pProject ) >+ { >+- Url = pProject->gui_urls.at( iWebsiteIndex ); >++ Url = pProject->gui_urls[iWebsiteIndex]; >+ strBuffer = Url.url.c_str(); >+ } >+ >+@@ -715,7 +715,7 @@ >+ try >+ { >+ if ( !project_status.projects.empty() ) >+- pProject = project_status.projects.at( iIndex ); >++ pProject = project_status.projects[iIndex]; >+ } >+ catch ( std::out_of_range e ) >+ { >+@@ -737,7 +737,7 @@ >+ try >+ { >+ if ( !project_status.projects.empty() ) >+- pProject = project_status.projects.at( iIndex ); >++ pProject = project_status.projects[iIndex]; >+ } >+ catch ( std::out_of_range e ) >+ { >+@@ -765,7 +765,7 @@ >+ try >+ { >+ if ( !project_status.projects.empty() ) >+- pProject = project_status.projects.at( iIndex ); >++ pProject = project_status.projects[iIndex]; >+ } >+ catch ( std::out_of_range e ) >+ { >+@@ -787,7 +787,7 @@ >+ try >+ { >+ if ( !project_status.projects.empty() ) >+- pProject = project_status.projects.at( iIndex ); >++ pProject = project_status.projects[iIndex]; >+ } >+ catch ( std::out_of_range e ) >+ { >+@@ -809,7 +809,7 @@ >+ try >+ { >+ if ( !project_status.projects.empty() ) >+- pProject = project_status.projects.at( iIndex ); >++ pProject = project_status.projects[iIndex]; >+ } >+ catch ( std::out_of_range e ) >+ { >+@@ -832,7 +832,7 @@ >+ try >+ { >+ if ( !project_status.projects.empty() ) >+- pProject = project_status.projects.at( iIndex ); >++ pProject = project_status.projects[iIndex]; >+ } >+ catch ( std::out_of_range e ) >+ { >+@@ -866,7 +866,7 @@ >+ try >+ { >+ if ( !project_status.projects.empty() ) >+- pProject = project_status.projects.at( iIndex ); >++ pProject = project_status.projects[iIndex]; >+ } >+ catch ( std::out_of_range e ) >+ { >+@@ -930,7 +930,7 @@ >+ try >+ { >+ if ( !results.results.empty() ) >+- pResult = results.results.at( iIndex ); >++ pResult = results.results[iIndex]; >+ } >+ catch ( std::out_of_range e ) >+ { >+@@ -963,7 +963,7 @@ >+ try >+ { >+ if ( !results.results.empty() ) >+- pResult = results.results.at( iIndex ); >++ pResult = results.results[iIndex]; >+ } >+ catch ( std::out_of_range e ) >+ { >+@@ -987,7 +987,7 @@ >+ try >+ { >+ if ( !results.results.empty() ) >+- pResult = results.results.at( iIndex ); >++ pResult = results.results[iIndex]; >+ } >+ catch ( std::out_of_range e ) >+ { >+@@ -1027,7 +1027,7 @@ >+ try >+ { >+ if ( !results.results.empty() ) >+- pResult = results.results.at( iIndex ); >++ pResult = results.results[iIndex]; >+ } >+ catch ( std::out_of_range e ) >+ { >+@@ -1064,7 +1064,7 @@ >+ try >+ { >+ if ( !results.results.empty() ) >+- pResult = results.results.at( iIndex ); >++ pResult = results.results[iIndex]; >+ } >+ catch ( std::out_of_range e ) >+ { >+@@ -1085,7 +1085,7 @@ >+ try >+ { >+ if ( !results.results.empty() ) >+- pResult = results.results.at( iIndex ); >++ pResult = results.results[iIndex]; >+ } >+ catch ( std::out_of_range e ) >+ { >+@@ -1106,7 +1106,7 @@ >+ try >+ { >+ if ( !results.results.empty() ) >+- pResult = results.results.at( iIndex ); >++ pResult = results.results[iIndex]; >+ } >+ catch ( std::out_of_range e ) >+ { >+@@ -1127,7 +1127,7 @@ >+ try >+ { >+ if ( !results.results.empty() ) >+- pResult = results.results.at( iIndex ); >++ pResult = results.results[iIndex]; >+ } >+ catch ( std::out_of_range e ) >+ { >+@@ -1148,7 +1148,7 @@ >+ try >+ { >+ if ( !results.results.empty() ) >+- pResult = results.results.at( iIndex ); >++ pResult = results.results[iIndex]; >+ } >+ catch ( std::out_of_range e ) >+ { >+@@ -1169,7 +1169,7 @@ >+ try >+ { >+ if ( !results.results.empty() ) >+- pResult = results.results.at( iIndex ); >++ pResult = results.results[iIndex]; >+ } >+ catch ( std::out_of_range e ) >+ { >+@@ -1191,7 +1191,7 @@ >+ try >+ { >+ if ( !results.results.empty() ) >+- pResult = results.results.at( iIndex ); >++ pResult = results.results[iIndex]; >+ } >+ catch ( std::out_of_range e ) >+ { >+@@ -1213,7 +1213,7 @@ >+ try >+ { >+ if ( !results.results.empty() ) >+- pResult = results.results.at( iIndex ); >++ pResult = results.results[iIndex]; >+ } >+ catch ( std::out_of_range e ) >+ { >+@@ -1235,7 +1235,7 @@ >+ try >+ { >+ if ( !results.results.empty() ) >+- pResult = results.results.at( iIndex ); >++ pResult = results.results[iIndex]; >+ } >+ catch ( std::out_of_range e ) >+ { >+@@ -1257,7 +1257,7 @@ >+ try >+ { >+ if ( !results.results.empty() ) >+- pResult = results.results.at( iIndex ); >++ pResult = results.results[iIndex]; >+ } >+ catch ( std::out_of_range e ) >+ { >+@@ -1279,7 +1279,7 @@ >+ try >+ { >+ if ( !results.results.empty() ) >+- pResult = results.results.at( iIndex ); >++ pResult = results.results[iIndex]; >+ } >+ catch ( std::out_of_range e ) >+ { >+@@ -1301,7 +1301,7 @@ >+ try >+ { >+ if ( !results.results.empty() ) >+- pResult = results.results.at( iIndex ); >++ pResult = results.results[iIndex]; >+ } >+ catch ( std::out_of_range e ) >+ { >+@@ -1323,7 +1323,7 @@ >+ try >+ { >+ if ( !results.results.empty() ) >+- pResult = results.results.at( iIndex ); >++ pResult = results.results[iIndex]; >+ } >+ catch ( std::out_of_range e ) >+ { >+@@ -1345,7 +1345,7 @@ >+ try >+ { >+ if ( !results.results.empty() ) >+- pResult = results.results.at( iIndex ); >++ pResult = results.results[iIndex]; >+ } >+ catch ( std::out_of_range e ) >+ { >+@@ -1368,7 +1368,7 @@ >+ try >+ { >+ if ( !results.results.empty() ) >+- pResult = results.results.at( iIndex ); >++ pResult = results.results[iIndex]; >+ } >+ catch ( std::out_of_range e ) >+ { >+@@ -1404,7 +1404,7 @@ >+ try >+ { >+ if ( !results.results.empty() ) >+- pResult = results.results.at( iIndex ); >++ pResult = results.results[iIndex]; >+ } >+ catch ( std::out_of_range e ) >+ { >+@@ -1440,7 +1440,7 @@ >+ try >+ { >+ if ( !results.results.empty() ) >+- pResult = results.results.at( iIndex ); >++ pResult = results.results[iIndex]; >+ } >+ catch ( std::out_of_range e ) >+ { >+@@ -1472,7 +1472,7 @@ >+ try >+ { >+ if ( !results.results.empty() ) >+- pResult = results.results.at( iIndex ); >++ pResult = results.results[iIndex]; >+ } >+ catch ( std::out_of_range e ) >+ { >+@@ -1512,7 +1512,7 @@ >+ } >+ >+ if ( messages.messages.size() != 0 ) >+- m_iMessageSequenceNumber = messages.messages.at( messages.messages.size()-1 )->seqno; >++ m_iMessageSequenceNumber = messages.messages[messages.messages.size()-1]->seqno; >+ >+ return iRetVal; >+ } >+@@ -1539,7 +1539,7 @@ >+ try >+ { >+ if ( !messages.messages.empty() ) >+- pMessage = messages.messages.at( iIndex ); >++ pMessage = messages.messages[iIndex]; >+ } >+ catch ( std::out_of_range e ) >+ { >+@@ -1560,7 +1560,7 @@ >+ try >+ { >+ if ( !messages.messages.empty() ) >+- pMessage = messages.messages.at( iIndex ); >++ pMessage = messages.messages[iIndex]; >+ } >+ catch ( std::out_of_range e ) >+ { >+@@ -1584,7 +1584,7 @@ >+ try >+ { >+ if ( !messages.messages.empty() ) >+- pMessage = messages.messages.at( iIndex ); >++ pMessage = messages.messages[iIndex]; >+ } >+ catch ( std::out_of_range e ) >+ { >+@@ -1605,7 +1605,7 @@ >+ try >+ { >+ if ( !messages.messages.empty() ) >+- pMessage = messages.messages.at( iIndex ); >++ pMessage = messages.messages[iIndex]; >+ } >+ catch ( std::out_of_range e ) >+ { >+@@ -1663,7 +1663,7 @@ >+ try >+ { >+ if ( !ft.file_transfers.empty() ) >+- pFT = ft.file_transfers.at( iIndex ); >++ pFT = ft.file_transfers[iIndex]; >+ } >+ catch ( std::out_of_range e ) >+ { >+@@ -1684,7 +1684,7 @@ >+ try >+ { >+ if ( !ft.file_transfers.empty() ) >+- pFT = ft.file_transfers.at( iIndex ); >++ pFT = ft.file_transfers[iIndex]; >+ } >+ catch ( std::out_of_range e ) >+ { >+@@ -1705,7 +1705,7 @@ >+ try >+ { >+ if ( !ft.file_transfers.empty() ) >+- pFT = ft.file_transfers.at( iIndex ); >++ pFT = ft.file_transfers[iIndex]; >+ } >+ catch ( std::out_of_range e ) >+ { >+@@ -1726,7 +1726,7 @@ >+ try >+ { >+ if ( !ft.file_transfers.empty() ) >+- pFT = ft.file_transfers.at( iIndex ); >++ pFT = ft.file_transfers[iIndex]; >+ } >+ catch ( std::out_of_range e ) >+ { >+@@ -1747,7 +1747,7 @@ >+ try >+ { >+ if ( !ft.file_transfers.empty() ) >+- pFT = ft.file_transfers.at( iIndex ); >++ pFT = ft.file_transfers[iIndex]; >+ } >+ catch ( std::out_of_range e ) >+ { >+@@ -1768,7 +1768,7 @@ >+ try >+ { >+ if ( !ft.file_transfers.empty() ) >+- pFT = ft.file_transfers.at( iIndex ); >++ pFT = ft.file_transfers[iIndex]; >+ } >+ catch ( std::out_of_range e ) >+ { >+@@ -1789,7 +1789,7 @@ >+ try >+ { >+ if ( !ft.file_transfers.empty() ) >+- pFT = ft.file_transfers.at( iIndex ); >++ pFT = ft.file_transfers[iIndex]; >+ } >+ catch ( std::out_of_range e ) >+ { >+@@ -1810,7 +1810,7 @@ >+ try >+ { >+ if ( !ft.file_transfers.empty() ) >+- pFT = ft.file_transfers.at( iIndex ); >++ pFT = ft.file_transfers[iIndex]; >+ } >+ catch ( std::out_of_range e ) >+ { >+@@ -1832,7 +1832,7 @@ >+ try >+ { >+ if ( !ft.file_transfers.empty() ) >+- pFT = ft.file_transfers.at( iIndex ); >++ pFT = ft.file_transfers[iIndex]; >+ } >+ catch ( std::out_of_range e ) >+ { >+@@ -1853,7 +1853,7 @@ >+ try >+ { >+ if ( !ft.file_transfers.empty() ) >+- pFT = ft.file_transfers.at( iIndex ); >++ pFT = ft.file_transfers[iIndex]; >+ } >+ catch ( std::out_of_range e ) >+ { >+@@ -1875,7 +1875,7 @@ >+ try >+ { >+ if ( !ft.file_transfers.empty() ) >+- pFT = ft.file_transfers.at( iIndex ); >++ pFT = ft.file_transfers[iIndex]; >+ } >+ catch ( std::out_of_range e ) >+ { >+@@ -1897,7 +1897,7 @@ >+ try >+ { >+ if ( !ft.file_transfers.empty() ) >+- pFT = ft.file_transfers.at( iIndex ); >++ pFT = ft.file_transfers[iIndex]; >+ } >+ catch ( std::out_of_range e ) >+ { >+@@ -1949,7 +1949,7 @@ >+ try >+ { >+ if ( !resource_status.projects.empty() ) >+- pProject = resource_status.projects.at( iIndex ); >++ pProject = resource_status.projects[iIndex]; >+ } >+ catch ( std::out_of_range e ) >+ { >+@@ -1978,7 +1978,7 @@ >+ try >+ { >+ if ( !resource_status.projects.empty() ) >+- pProject = resource_status.projects.at( iIndex ); >++ pProject = resource_status.projects[iIndex]; >+ } >+ catch ( std::out_of_range e ) >+ { >diff -ruN /usr/ports/net/boinc-client/files/extra-patch-clientgui::MainFrame.cpp net/boinc-client/files/extra-patch-clientgui::MainFrame.cpp >--- /usr/ports/net/boinc-client/files/extra-patch-clientgui::MainFrame.cpp Wed Dec 31 19:00:00 1969 >+++ net/boinc-client/files/extra-patch-clientgui::MainFrame.cpp Thu Mar 24 11:13:44 2005 >@@ -0,0 +1,20 @@ >+--- clientgui/MainFrame.cpp.orig Sat Mar 12 01:51:31 2005 >++++ clientgui/MainFrame.cpp Thu Mar 24 11:12:36 2005 >+@@ -1106,7 +1106,6 @@ >+ wxString strConnectedMachine = wxEmptyString; >+ wxString strStatusText = wxEmptyString; >+ wxString strTitle = m_strBaseTitle; >+- wxString strLocale = setlocale(LC_NUMERIC, NULL); >+ >+ pDoc->GetConnectedComputerName( strConnectedMachine ); >+ if ( strConnectedMachine.empty() ) >+@@ -1119,9 +1118,7 @@ >+ strStatusText += strConnectedMachine; >+ } >+ >+- setlocale(LC_NUMERIC, "C"); >+ strBuffer.Printf(wxT("%.2f"), pDoc->GetCoreClientVersion()/100.0); >+- setlocale(LC_NUMERIC, strLocale.c_str()); >+ >+ strTitle.Printf(_("%s - (%s)"), m_strBaseTitle.c_str(), strConnectedMachine.c_str()); >+ strStatusText.Printf(_("Connected to %s (%s)"), strConnectedMachine.c_str(), strBuffer.c_str()); >diff -ruN /usr/ports/net/boinc-client/files/extra-patch-clientgui::ViewProjects.cpp net/boinc-client/files/extra-patch-clientgui::ViewProjects.cpp >--- /usr/ports/net/boinc-client/files/extra-patch-clientgui::ViewProjects.cpp Wed Dec 31 19:00:00 1969 >+++ net/boinc-client/files/extra-patch-clientgui::ViewProjects.cpp Sun Mar 20 21:29:09 2005 >@@ -0,0 +1,20 @@ >+--- clientgui/ViewProjects.cpp.orig Tue Mar 15 18:44:48 2005 >++++ clientgui/ViewProjects.cpp Sun Mar 20 21:29:09 2005 >+@@ -230,7 +230,7 @@ >+ >+ wxString CViewProjects::OnListGetItemText(long item, long column) const >+ { >+- CProject* project = m_ProjectCache.at( item ); >++ CProject* project = m_ProjectCache[item]; >+ wxString strBuffer = wxEmptyString; >+ >+ switch(column) >+@@ -536,7 +536,7 @@ >+ >+ wxInt32 CViewProjects::UpdateCache( long item, long column, wxString& strNewData ) >+ { >+- CProject* project = m_ProjectCache.at( item ); >++ CProject* project = m_ProjectCache[item]; >+ >+ switch(column) >+ { >diff -ruN /usr/ports/net/boinc-client/files/extra-patch-clientgui::ViewResources.cpp net/boinc-client/files/extra-patch-clientgui::ViewResources.cpp >--- /usr/ports/net/boinc-client/files/extra-patch-clientgui::ViewResources.cpp Wed Dec 31 19:00:00 1969 >+++ net/boinc-client/files/extra-patch-clientgui::ViewResources.cpp Sun Mar 20 21:31:22 2005 >@@ -0,0 +1,20 @@ >+--- clientgui/ViewResources.cpp.orig Tue Mar 15 18:44:48 2005 >++++ clientgui/ViewResources.cpp Sun Mar 20 21:31:22 2005 >+@@ -145,7 +145,7 @@ >+ >+ wxString CViewResources::OnListGetItemText( long item, long column ) const >+ { >+- CResource* resource = m_ResourceCache.at( item ); >++ CResource* resource = m_ResourceCache[item]; >+ wxString strBuffer = wxEmptyString; >+ >+ switch(column) >+@@ -270,7 +270,7 @@ >+ >+ wxInt32 CViewResources::UpdateCache( long item, long column, wxString& strNewData ) >+ { >+- CResource* resource = m_ResourceCache.at( item ); >++ CResource* resource = m_ResourceCache[item]; >+ >+ switch(column) >+ { >diff -ruN /usr/ports/net/boinc-client/files/extra-patch-clientgui::ViewTransfers.cpp net/boinc-client/files/extra-patch-clientgui::ViewTransfers.cpp >--- /usr/ports/net/boinc-client/files/extra-patch-clientgui::ViewTransfers.cpp Wed Dec 31 19:00:00 1969 >+++ net/boinc-client/files/extra-patch-clientgui::ViewTransfers.cpp Sun Mar 20 21:32:00 2005 >@@ -0,0 +1,20 @@ >+--- clientgui/ViewTransfers.cpp.orig Tue Mar 15 18:44:48 2005 >++++ clientgui/ViewTransfers.cpp Sun Mar 20 21:32:00 2005 >+@@ -177,7 +177,7 @@ >+ >+ wxString CViewTransfers::OnListGetItemText(long item, long column) const >+ { >+- CTransfer* transfer = m_TransferCache.at( item ); >++ CTransfer* transfer = m_TransferCache[item]; >+ wxString strBuffer = wxEmptyString; >+ >+ switch(column) >+@@ -372,7 +372,7 @@ >+ >+ wxInt32 CViewTransfers::UpdateCache( long item, long column, wxString& strNewData ) >+ { >+- CTransfer* transfer = m_TransferCache.at( item ); >++ CTransfer* transfer = m_TransferCache[item]; >+ >+ switch(column) >+ { >diff -ruN /usr/ports/net/boinc-client/files/extra-patch-clientgui::ViewWork.cpp net/boinc-client/files/extra-patch-clientgui::ViewWork.cpp >--- /usr/ports/net/boinc-client/files/extra-patch-clientgui::ViewWork.cpp Wed Dec 31 19:00:00 1969 >+++ net/boinc-client/files/extra-patch-clientgui::ViewWork.cpp Sun Mar 20 21:35:51 2005 >@@ -0,0 +1,31 @@ >+--- clientgui/ViewWork.cpp.orig Tue Mar 15 18:44:48 2005 >++++ clientgui/ViewWork.cpp Sun Mar 20 21:35:22 2005 >+@@ -190,7 +190,7 @@ >+ >+ wxString CViewWork::OnListGetItemText( long item, long column ) const >+ { >+- CWork* work = m_WorkCache.at( item ); >++ CWork* work = m_WorkCache[item]; >+ wxString strBuffer = wxEmptyString; >+ >+ switch(column) >+@@ -436,7 +436,7 @@ >+ >+ wxInt32 CViewWork::UpdateCache( long item, long column, wxString& strNewData ) >+ { >+- CWork* work = m_WorkCache.at( item ); >++ CWork* work = m_WorkCache[item]; >+ >+ switch(column) >+ { >+@@ -589,10 +589,7 @@ >+ pDoc->GetWorkApplicationName(item, strTempName); >+ pDoc->GetWorkApplicationVersion(item, iBuffer); >+ >+- wxString strLocale = setlocale(LC_NUMERIC, NULL); >+- setlocale(LC_NUMERIC, "C"); >+ strBuffer.Printf(wxT("%s %.2f"), strTempName.c_str(), iBuffer/100.0); >+- setlocale(LC_NUMERIC, strLocale.c_str()); >+ >+ return 0; >+ } >diff -ruN /usr/ports/net/boinc-client/files/extra-patch-clientgui::stdwx.h net/boinc-client/files/extra-patch-clientgui::stdwx.h >--- /usr/ports/net/boinc-client/files/extra-patch-clientgui::stdwx.h Wed Dec 31 19:00:00 1969 >+++ net/boinc-client/files/extra-patch-clientgui::stdwx.h Sun Mar 20 21:38:45 2005 >@@ -0,0 +1,10 @@ >+--- clientgui/stdwx.h.orig Thu Feb 17 18:44:35 2005 >++++ clientgui/stdwx.h Sun Mar 20 21:38:15 2005 >+@@ -136,7 +136,6 @@ >+ #include <sstream> >+ #include <vector> >+ #include <list> >+-#include <locale> >+ >+ >+ #ifdef __WXMSW__ >diff -ruN /usr/ports/net/boinc-client/files/extra-patch-lib::acct_mgr_client.C net/boinc-client/files/extra-patch-lib::acct_mgr_client.C >--- /usr/ports/net/boinc-client/files/extra-patch-lib::acct_mgr_client.C Wed Dec 31 19:00:00 1969 >+++ net/boinc-client/files/extra-patch-lib::acct_mgr_client.C Thu Mar 24 10:14:11 2005 >@@ -0,0 +1,24 @@ >+--- lib/acct_mgr_client.C.orig Sat Mar 12 01:51:33 2005 >++++ lib/acct_mgr_client.C Thu Mar 24 10:12:20 2005 >+@@ -65,8 +65,8 @@ >+ } >+ >+ void ACCT_MGR::clear() { >+- name.clear(); >+- url.clear(); >++ name = ""; >++ url = ""; >+ } >+ >+ ACCT_MGR_LOGIN::ACCT_MGR_LOGIN() { >+@@ -93,8 +93,8 @@ >+ } >+ >+ void ACCT_MGR_LOGIN::clear() { >+- login.clear(); >+- password.clear(); >++ login = ""; >++ password = ""; >+ } >+ >+ >diff -ruN /usr/ports/net/boinc-client/files/extra-patch-lib::gui_rpc_client.C net/boinc-client/files/extra-patch-lib::gui_rpc_client.C >--- /usr/ports/net/boinc-client/files/extra-patch-lib::gui_rpc_client.C Wed Dec 31 19:00:00 1969 >+++ net/boinc-client/files/extra-patch-lib::gui_rpc_client.C Sun Mar 20 22:32:18 2005 >@@ -0,0 +1,125 @@ >+--- lib/gui_rpc_client.C.orig Thu Mar 17 16:04:53 2005 >++++ lib/gui_rpc_client.C Sun Mar 20 22:32:04 2005 >+@@ -164,11 +164,11 @@ >+ } >+ >+ void PROJECT::clear() { >+- master_url.clear(); >++ master_url = ""; >+ resource_share = 0.0; >+- project_name.clear(); >+- user_name.clear(); >+- team_name.clear(); >++ project_name = ""; >++ user_name = ""; >++ team_name = ""; >+ user_total_credit = 0.0; >+ user_expavg_credit = 0.0; >+ host_total_credit = 0.0; >+@@ -209,7 +209,7 @@ >+ } >+ >+ void APP::clear() { >+- name.clear(); >++ name = ""; >+ project = NULL; >+ } >+ >+@@ -238,7 +238,7 @@ >+ } >+ >+ void APP_VERSION::clear() { >+- app_name.clear(); >++ app_name = ""; >+ version_num = 0; >+ app = NULL; >+ project = NULL; >+@@ -276,8 +276,8 @@ >+ } >+ >+ void WORKUNIT::clear() { >+- name.clear(); >+- app_name.clear(); >++ name = ""; >++ app_name = ""; >+ version_num = 0; >+ rsc_fpops_est = 0.0; >+ rsc_fpops_bound = 0.0; >+@@ -376,9 +376,9 @@ >+ } >+ >+ void RESULT::clear() { >+- name.clear(); >+- wu_name.clear(); >+- project_url.clear(); >++ name = ""; >++ wu_name = ""; >++ project_url = ""; >+ report_deadline = 0; >+ ready_to_report = false; >+ got_server_ack = false; >+@@ -389,7 +389,7 @@ >+ signal = 0; >+ active_task_state = 0; >+ active_task = false; >+- stderr_out.clear(); >++ stderr_out = ""; >+ app_version_num = 0; >+ checkpoint_cpu_time = 0.0; >+ current_cpu_time = 0.0; >+@@ -463,9 +463,9 @@ >+ } >+ >+ void FILE_TRANSFER::clear() { >+- name.clear(); >+- project_url.clear(); >+- project_name.clear(); >++ name = ""; >++ project_url = ""; >++ project_name = ""; >+ nbytes = 0.0; >+ generated_locally = false; >+ uploaded = false; >+@@ -481,7 +481,7 @@ >+ bytes_xferred = 0.0; >+ file_offset = 0.0; >+ xfer_speed = 0.0; >+- hostname.clear(); >++ hostname = ""; >+ project = NULL; >+ } >+ >+@@ -516,10 +516,10 @@ >+ } >+ >+ void MESSAGE::clear() { >+- project.clear(); >++ project = ""; >+ priority = 0; >+ timestamp = 0; >+- body.clear(); >++ body = ""; >+ } >+ >+ PROXY_INFO::PROXY_INFO() { >+@@ -570,14 +570,14 @@ >+ use_socks_proxy = false; >+ use_http_authentication = false; >+ socks_version = 0; >+- socks_server_name.clear(); >+- http_server_name.clear(); >++ socks_server_name = ""; >++ http_server_name = ""; >+ socks_server_port = 0; >+ http_server_port = 0; >+- http_user_name.clear(); >+- http_user_passwd.clear(); >+- socks5_user_name.clear(); >+- socks5_user_passwd.clear(); >++ http_user_name = ""; >++ http_user_passwd = ""; >++ socks5_user_name = ""; >++ socks5_user_passwd = ""; >+ } >+ >+ HOST_INFO::HOST_INFO() { >diff -ruN /usr/ports/net/boinc-client/files/extra-patch-lib::network.h net/boinc-client/files/extra-patch-lib::network.h >--- /usr/ports/net/boinc-client/files/extra-patch-lib::network.h Wed Dec 31 19:00:00 1969 >+++ net/boinc-client/files/extra-patch-lib::network.h Sun Mar 20 22:36:08 2005 >@@ -0,0 +1,11 @@ >+--- lib/network.h.orig Mon Mar 7 16:19:09 2005 >++++ lib/network.h Sun Mar 20 22:35:20 2005 >+@@ -25,7 +25,7 @@ >+ #define SHUT_WR SD_SEND >+ #elif defined( __APPLE__) >+ typedef int32_t socklen_t; >+-#elif !defined(GETSOCKOPT_SOCKLEN_T) && !defined(_SOCKLEN_T_DECLARED) && !defined(socklen_t) >++#elif !defined(__FreeBSD__) >+ typedef size_t socklen_t; >+ #endif >+ >diff -ruN /usr/ports/net/boinc-client/files/extra-patch-lib::parse.C net/boinc-client/files/extra-patch-lib::parse.C >--- /usr/ports/net/boinc-client/files/extra-patch-lib::parse.C Wed Dec 31 19:00:00 1969 >+++ net/boinc-client/files/extra-patch-lib::parse.C Sun Mar 20 21:45:49 2005 >@@ -0,0 +1,32 @@ >+--- lib/parse.C.orig Tue Mar 15 15:23:24 2005 >++++ lib/parse.C Sun Mar 20 21:45:20 2005 >+@@ -31,7 +31,6 @@ >+ #ifndef _WIN32 >+ #include <cstring> >+ #include <cstdlib> >+-#include <locale> >+ #include <string> >+ #endif >+ >+@@ -63,10 +62,7 @@ >+ bool parse_int(const char* buf, const char* tag, int& x) { >+ char* p = strstr(buf, tag); >+ if (!p) return false; >+- std::string strLocale = setlocale(LC_NUMERIC, NULL); >+- setlocale(LC_NUMERIC, "C"); >+ x = strtol(p+strlen(tag), 0, 0); // this parses 0xabcd correctly >+- setlocale(LC_NUMERIC, strLocale.c_str()); >+ return true; >+ } >+ >+@@ -75,10 +71,7 @@ >+ bool parse_double(const char* buf, const char* tag, double& x) { >+ char* p = strstr(buf, tag); >+ if (!p) return false; >+- std::string strLocale = setlocale(LC_NUMERIC, NULL); >+- setlocale(LC_NUMERIC, "C"); >+ x = atof(p+strlen(tag)); >+- setlocale(LC_NUMERIC, strLocale.c_str()); >+ return true; >+ } >+ >diff -ruN /usr/ports/net/boinc-client/files/extra-patch-zip::boinc_zip.cpp net/boinc-client/files/extra-patch-zip::boinc_zip.cpp >--- /usr/ports/net/boinc-client/files/extra-patch-zip::boinc_zip.cpp Wed Dec 31 19:00:00 1969 >+++ net/boinc-client/files/extra-patch-zip::boinc_zip.cpp Sun Mar 20 21:49:33 2005 >@@ -0,0 +1,20 @@ >+--- zip/boinc_zip.cpp.orig Sun Jan 2 13:29:37 2005 >++++ zip/boinc_zip.cpp Sun Mar 20 21:49:07 2005 >+@@ -129,7 +129,7 @@ >+ //sz 3 onward will be each vector >+ int jj; >+ for (jj=0; jj<nVecSize; jj++) >+- strcpy(av[3+jj], pvectszFileIn->at(jj).c_str()); >++ strcpy(av[3+jj], (*pvectszFileIn)[jj].c_str()); >+ } >+ else >+ { >+@@ -141,7 +141,7 @@ >+ >+ // if they passed in a directory unzip there >+ if (carg == 4) >+- sprintf(av[3], "-d%s", pvectszFileIn->at(0).c_str()); >++ sprintf(av[3], "-d%s", (*pvectszFileIn)[0].c_str()); >+ } >+ // strcpy(av[carg-1], ""); // null arg >+ // printf("args: %s %s %s %s\n", av[0], av[1], av[2], av[3]); >diff -ruN /usr/ports/net/boinc-client/files/patch-api::boinc_api.C net/boinc-client/files/patch-api::boinc_api.C >--- /usr/ports/net/boinc-client/files/patch-api::boinc_api.C Wed Dec 31 19:00:00 1969 >+++ net/boinc-client/files/patch-api::boinc_api.C Wed Mar 23 15:49:52 2005 >@@ -0,0 +1,55 @@ >+--- api/boinc_api.C.orig Sat Mar 19 16:39:16 2005 >++++ api/boinc_api.C Wed Mar 23 15:49:01 2005 >+@@ -56,6 +56,8 @@ >+ // Unless otherwise noted, "CPU time" refers to the sum over all episodes >+ // (not counting the part after the last checkpoint in an episode). >+ >++pthread_t timer_thread_handle; >++ >+ static APP_INIT_DATA aid; >+ static FILE_LOCK file_lock; >+ APP_CLIENT_SHM* app_client_shm = 0; >+@@ -506,6 +508,19 @@ >+ #endif >+ } >+ >++#ifndef _USECONDS_T_DECLARED >++typedef unsigned int useconds_t; >++#endif >++ >++void * >++timer_thread(void *) >++{ >++ while(1) { >++ usleep((useconds_t)(TIMER_PERIOD*1000000)); >++ worker_timer(0); >++ } >++ /*NOTREACHED*/ >++} >+ >+ // set up a periodic timer interrupt for the worker thread. >+ // This is called only and always by the worker thread >+@@ -539,21 +554,9 @@ >+ // >+ SetThreadPriority(worker_thread_handle, THREAD_PRIORITY_LOWEST); >+ #else >+- struct sigaction sa; >+- itimerval value; >+- sa.sa_handler = worker_timer; >+- sa.sa_flags = SA_RESTART; >+- retval = sigaction(SIGALRM, &sa, NULL); >+- if (retval) { >+- perror("boinc set_worker_timer() sigaction"); >+- return retval; >+- } >+- value.it_value.tv_sec = (int)TIMER_PERIOD; >+- value.it_value.tv_usec = ((int)(TIMER_PERIOD*1000000))%1000000; >+- value.it_interval = value.it_value; >+- retval = setitimer(ITIMER_REAL, &value, NULL); >++ retval = pthread_create(&timer_thread_handle, NULL, timer_thread, NULL); >+ if (retval) { >+- perror("boinc set_worker_timer() setitimer"); >++ perror("boinc set_worker_timer() pthread_create(timer_thread)"); >+ } >+ #endif >+ return retval; >diff -ruN /usr/ports/net/boinc-client/files/patch-api::boinc_gl.h net/boinc-client/files/patch-api::boinc_gl.h >--- /usr/ports/net/boinc-client/files/patch-api::boinc_gl.h Sat Oct 16 15:29:30 2004 >+++ net/boinc-client/files/patch-api::boinc_gl.h Wed Dec 31 19:00:00 1969 >@@ -1,19 +0,0 @@ >---- api/boinc_gl.h.orig Wed Sep 1 19:15:30 2004 >-+++ api/boinc_gl.h Fri Oct 1 12:06:47 2004 >-@@ -54,8 +54,6 @@ >- # include <OpenGL/glu.h> >- # endif >- >--# include "GL/glut.h" >--/* >- # if defined(HAVE_GLUT_H) >- # include "glut.h" >- # elif defined(HAVE_GL_GLUT_H) >-@@ -65,7 +63,6 @@ >- # elif defined(HAVE_GLUT_GLUT_H) >- # include <GLUT/glut.h> >- # endif >--*/ >- >- #endif // _WIN32 >- >diff -ruN /usr/ports/net/boinc-client/files/patch-client::gui_rpc_server.C net/boinc-client/files/patch-client::gui_rpc_server.C >--- /usr/ports/net/boinc-client/files/patch-client::gui_rpc_server.C Wed Dec 15 00:14:36 2004 >+++ net/boinc-client/files/patch-client::gui_rpc_server.C Wed Dec 31 19:00:00 1969 >@@ -1,17 +0,0 @@ >---- client/gui_rpc_server.C.orig Mon Sep 27 15:07:29 2004 >-+++ client/gui_rpc_server.C Thu Dec 2 20:59:58 2004 >-@@ -47,12 +47,10 @@ >- >- #if defined(_WIN32) >- typedef int socklen_t; >--#elif defined ( __APPLE__) >-+#elif defined(__APPLE__) >- typedef int32_t socklen_t; >--#elif !GETSOCKOPT_SOCKLEN_T >--#ifndef socklen_t >-+#elif !defined(GETSOCKOPT_SOCKLEN_T) && !defined(_SOCKLEN_T_DECLARED) && !defined(socklen_t) >- typedef size_t socklen_t; >--#endif >- #endif >- >- static void boinc_close_socket(int sock) { >diff -ruN /usr/ports/net/boinc-client/files/patch-client::net_xfer.C net/boinc-client/files/patch-client::net_xfer.C >--- /usr/ports/net/boinc-client/files/patch-client::net_xfer.C Wed Dec 15 00:14:36 2004 >+++ net/boinc-client/files/patch-client::net_xfer.C Wed Dec 31 19:00:00 1969 >@@ -1,17 +0,0 @@ >---- client/net_xfer.C.orig Mon Sep 27 15:07:30 2004 >-+++ client/net_xfer.C Thu Dec 2 21:00:11 2004 >-@@ -78,12 +78,10 @@ >- >- #if defined(_WIN32) >- typedef int socklen_t; >--#elif defined ( __APPLE__) >-+#elif defined(__APPLE__) >- typedef int32_t socklen_t; >--#elif !GETSOCKOPT_SOCKLEN_T >--#ifndef socklen_t >-+#elif !defined(GETSOCKOPT_SOCKLEN_T) && !defined(_SOCKLEN_T_DECLARED) && !defined(socklen_t) >- typedef size_t socklen_t; >--#endif >- #endif >- >- using std::vector; >diff -ruN /usr/ports/net/boinc-client/files/patch-clientgui::BOINCGUIApp.cpp net/boinc-client/files/patch-clientgui::BOINCGUIApp.cpp >--- /usr/ports/net/boinc-client/files/patch-clientgui::BOINCGUIApp.cpp Wed Dec 31 19:00:00 1969 >+++ net/boinc-client/files/patch-clientgui::BOINCGUIApp.cpp Tue Mar 22 14:06:09 2005 >@@ -0,0 +1,11 @@ >+--- clientgui/BOINCGUIApp.cpp.orig Fri Mar 11 08:08:50 2005 >++++ clientgui/BOINCGUIApp.cpp Tue Mar 22 14:05:34 2005 >+@@ -81,8 +81,6 @@ >+ BOINC_DIAG_DUMPCALLSTACKENABLED | >+ BOINC_DIAG_HEAPCHECKENABLED | >+ BOINC_DIAG_MEMORYLEAKCHECKENABLED | >+- BOINC_DIAG_REDIRECTSTDERR | >+- BOINC_DIAG_REDIRECTSTDOUT | >+ BOINC_DIAG_TRACETOSTDOUT; >+ >+ diagnostics_init( >diff -ruN /usr/ports/net/boinc-client/files/rc::boinc.sh net/boinc-client/files/rc::boinc.sh >--- /usr/ports/net/boinc-client/files/rc::boinc.sh Wed Dec 31 19:00:00 1969 >+++ net/boinc-client/files/rc::boinc.sh Wed Mar 2 16:39:38 2005 >@@ -0,0 +1,69 @@ >+#!/bin/sh >+# >+# $FreeBSD: ports/net/boinc-client/files/boinc.sh,v 1.1 2004/10/16 19:29:30 pav Exp $ >+# >+# Start or stop BOINC >+# >+ >+if [ -f /etc/rc.subr ] >+then >+ . /etc/rc.subr >+elif [ -f /usr/local/etc/rc.subr ] >+then >+ # FreeBSD 4.x >+ . /usr/local/etc/rc.subr >+fi >+ >+name="boinc" >+rcvar=`set_rcvar` >+ >+boinc_user=%%BOINC_USER%% >+boinc_home=%%BOINC_HOME%% >+program_file=%%BOINC_BINARY%% >+program_path=%%LOCALBASE%%/lib/boinc/${program_file} >+syslog_facility=daemon.err >+ >+[ -z "$boinc_enable" ] && boinc_enable="NO" >+ >+load_rc_config $name >+ >+case "$1" in >+start) >+ if checkyesno boinc_enable >+ then >+ if [ ! -x ${program_path} ] >+ then >+ logger -sp ${syslog_facility} -t ${program_file} \ >+ "unable to start: ${program_path} is missing." >+ exit 72 >+ fi >+ if ps axo ucomm | egrep ${program_file}; then >+ logger -sp ${syslog_facility} -t ${program_file} \ >+ "unable to start: ${program_file} is already running." >+ exit 72 >+ fi >+ echo "Starting BOINC client." >+ export LD_LIBRARY_PATH=%%LOCALBASE%%/lib/boinc >+ idprio 31 su - ${boinc_user} -c "${program_path} ${boinc_flags} >/dev/null &" >+ fi >+ ;; >+ >+stop) >+ killall ${program_file} 2> /dev/null >+ ;; >+ >+restart) >+ $0 stop >+ $0 start >+ ;; >+ >+status) >+ ps auxww | egrep ${program_file} | egrep -v "($0|egrep)" >+ ;; >+ >+*) >+ echo "usage: ${name} {start|stop|restart|status}" >&2 >+ exit 64 >+ ;; >+esac >+ >diff -ruN /usr/ports/net/boinc-client/pkg-message net/boinc-client/pkg-message >--- /usr/ports/net/boinc-client/pkg-message Sat Oct 16 15:29:30 2004 >+++ net/boinc-client/pkg-message Wed Mar 23 12:32:42 2005 >@@ -1,8 +1,8 @@ > ------------------------------------------------------------------- >-BOINC's boinc-client is now installed. You now need to register >-with and install one or more projects. >+The BOINC client is now installed. You now need to register with >+and install one or more projects. > >-Refer to the BOINC web page at >+Refer to the BOINC web page at: > http://boinc.berkeley.edu/ > for a list of projects and refer to each of their sites for info > on how to register with them and how to use them on FreeBSD. >@@ -11,4 +11,18 @@ > don't work on FreeBSD at all. > > SETI@HOME for FreeBSD is available in port astro/boinc-setiathome. >+ >+Einstein@Home will soon be available as a binary port for >+ FreeBSD/i386 users; it may also be available as an >+ automatic BOINC download. >+ >+Read the "boinc" man page for more info on running BOINC and >+attaching projects. >+ >+This version of the port includes the "boincmgr" GUI management >+interface and support for the client application status screens. >+Read the "boincmgr" man page for info on setting up your DISPLAY >+environment variable and xhost access permissions to use this. >+NB: Due to bugs in the x11-toolkits/wxgtk port on FreeBSD 4.x/alpha >+boincmgr may not work on that platform. > ------------------------------------------------------------------- >diff -ruN /usr/ports/net/boinc-client/pkg-plist net/boinc-client/pkg-plist >--- /usr/ports/net/boinc-client/pkg-plist Wed Dec 15 17:51:43 2004 >+++ net/boinc-client/pkg-plist Mon Mar 21 10:49:52 2005 >@@ -1,51 +1,57 @@ >-@exec mkdir -p %D/boinc/projects >-bin/boinc-client >-boinc/client/%%BOINC_BINARY%% >+bin/boinc >+bin/boincmgr > etc/rc.d/boinc.sh >-boinc/Makefile.am >-boinc/lib/Makefile.am >-boinc/lib/app_ipc.h >-boinc/lib/base64.h >-boinc/lib/boinc_win.h >-boinc/lib/crypt.h >-boinc/lib/diagnostics.h >-boinc/lib/error_numbers.h >-boinc/lib/exception.h >-boinc/lib/filesys.h >-boinc/lib/gui_rpc_client.h >-boinc/lib/hostinfo.h >-boinc/lib/language.h >-boinc/lib/libboinc.a >-boinc/lib/librsaeuro.a >-boinc/lib/md5.h >-boinc/lib/md5_file.h >-boinc/lib/mfile.h >-boinc/lib/miofile.h >-boinc/lib/msg_log.h >-boinc/lib/msg_queue.h >-boinc/lib/parse.h >-boinc/lib/proxy_info.h >-boinc/lib/result_state.h >-boinc/lib/shmem.h >-boinc/lib/stackwalker_win.h >-boinc/lib/std_fixes.h >-boinc/lib/synch.h >-boinc/lib/util.h >-boinc/api/Makefile.am >-boinc/api/boinc_api.h >-boinc/api/boinc_gl.h >-boinc/api/graphics_api.h >-boinc/api/graphics_data.h >-boinc/api/gutil.h >-boinc/api/mac_app_opengl.h >-boinc/api/mac_carbon_gl.h >-boinc/api/reduce.h >-boinc/api/x_opengl.h >-@dirrm boinc/api >-@dirrm boinc/client >-@dirrm boinc/lib >-@dirrm boinc/projects >-@dirrm boinc >+include/BOINC/acct_mgr_client.h >+include/BOINC/app_ipc.h >+include/BOINC/base64.h >+include/BOINC/bmplib.h >+include/BOINC/boinc_api.h >+include/BOINC/boinc_gl.h >+include/BOINC/boinc_win.h >+include/BOINC/boinc_zip.h >+include/BOINC/crypt.h >+include/BOINC/diagnostics.h >+include/BOINC/error_numbers.h >+include/BOINC/exception.h >+include/BOINC/filesys.h >+include/BOINC/graphics_api.h >+include/BOINC/graphics_data.h >+include/BOINC/graphics_impl.h >+include/BOINC/graphics_lib.h >+include/BOINC/gui_rpc_client.h >+include/BOINC/gutil.h >+include/BOINC/hostinfo.h >+include/BOINC/language.h >+include/BOINC/md5.h >+include/BOINC/md5_file.h >+include/BOINC/mem_usage.h >+include/BOINC/mfile.h >+include/BOINC/miofile.h >+include/BOINC/msg_log.h >+include/BOINC/msg_queue.h >+include/BOINC/network.h >+include/BOINC/parse.h >+include/BOINC/prefs.h >+include/BOINC/proxy_info.h >+include/BOINC/reduce.h >+include/BOINC/result_state.h >+include/BOINC/shmem.h >+include/BOINC/stackwalker_win.h >+include/BOINC/std_fixes.h >+include/BOINC/synch.h >+include/BOINC/tgalib.h >+include/BOINC/util.h >+include/BOINC/x_opengl.h >+lib/boinc/%%BOINC_BINARY%% >+lib/libboinc.a >+lib/libboinc_api.a >+lib/libboinc_graphics_api.a >+lib/libboinc_graphics_impl.a >+lib/libboinc_graphics_lib.a >+lib/librsaeuro.a >+lib/libboinc_zip.a >+@dirrm include/BOINC >+@dirrm lib/boinc > @unexec if [ -d %%BOINC_HOME%% ]; then echo "If you are deinstalling boinc completely, remove the %%BOINC_HOME%% directory."; fi > @unexec if [ -d %%BOINC_HOME%% ]; then echo -n "Also, d"; else echo -n "D"; fi > @unexec echo "on't forget to remove the \"%%BOINC_USER%%\" user."
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 79348
: 52353