diff options
author | pav <pav@FreeBSD.org> | 2005-04-12 06:33:38 +0800 |
---|---|---|
committer | pav <pav@FreeBSD.org> | 2005-04-12 06:33:38 +0800 |
commit | bda6507b4d8e046fea649b54dc439cd4f4974d0c (patch) | |
tree | 0067d8e37574bab3713706be7beef4c03227aa65 /net/boinc-client | |
parent | f9468ad4182141b88782d6240c83e8891d64cada (diff) | |
download | freebsd-ports-gnome-bda6507b4d8e046fea649b54dc439cd4f4974d0c.tar.gz freebsd-ports-gnome-bda6507b4d8e046fea649b54dc439cd4f4974d0c.tar.zst freebsd-ports-gnome-bda6507b4d8e046fea649b54dc439cd4f4974d0c.zip |
- Update to 4.67, now with GUI
Use WITHOUT_X11 to disable it if you don't want it
PR: ports/79348
Submitted by: J.R. Oldroyd <fbsd@opal.com> (maintainer)
Diffstat (limited to 'net/boinc-client')
28 files changed, 1252 insertions, 288 deletions
diff --git a/net/boinc-client/Makefile b/net/boinc-client/Makefile index fcf68841eff7..086c9c2e2e35 100644 --- a/net/boinc-client/Makefile +++ b/net/boinc-client/Makefile @@ -6,113 +6,131 @@ # 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 \ + glut:${PORTSDIR}/graphics/libglut +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 +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 -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 -.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 --git a/net/boinc-client/distinfo b/net/boinc-client/distinfo index 2d7ef172c6c6..de5cd3d4bf8a 100644 --- a/net/boinc-client/distinfo +++ b/net/boinc-client/distinfo @@ -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 --git a/net/boinc-client/files/alt-patch-api-boinc_api.C b/net/boinc-client/files/alt-patch-api-boinc_api.C new file mode 100644 index 000000000000..77ca0d152e03 --- /dev/null +++ b/net/boinc-client/files/alt-patch-api-boinc_api.C @@ -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 --git a/net/boinc-client/files/boinc-client b/net/boinc-client/files/boinc-client deleted file mode 100644 index 43b01c2a39d3..000000000000 --- a/net/boinc-client/files/boinc-client +++ /dev/null @@ -1,6 +0,0 @@ -#!/bin/sh - -args="$@" - -exec idprio 31 su - %%BOINC_USER%% -c "%%BOINC_DATADIR%%/client/%%BOINC_BINARY%% $args" - diff --git a/net/boinc-client/files/boinc-client.1 b/net/boinc-client/files/boinc.1 index 7f712dc506a9..36f901d7bda6 100644 --- a/net/boinc-client/files/boinc-client.1 +++ b/net/boinc-client/files/boinc.1 @@ -1,12 +1,14 @@ -.TH boinc-client 1 "October 1, 2004" "" "BOINC" +.TH boinc 1 "October 1, 2004" "" "BOINC" .SH NAME -boinc-client \- client for Berkeley Open Infrastructure for Network Computing +boinc \- client for Berkeley Open Infrastructure for Network Computing .SH SYNOPSIS -boinc-client [ options ] +boinc [ options ] +.PP +boincmgr .PP sh /usr/local/etc/rc.d/boinc.sh start|stop|restart|status .SH DESCRIPTION -.I boinc-client +.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. @@ -22,9 +24,9 @@ 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 +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 @@ -33,7 +35,7 @@ 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" +.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 @@ -47,7 +49,7 @@ available. In such cases, you will not be able to participate in that project from FreeBSD. .PP Running -.I boinc-client +.I boinc with no arguments starts the service and any configured projects. .PP You can edit both BOINC general preferences and project-specific @@ -56,19 +58,9 @@ 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 +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 @@ -83,6 +75,78 @@ 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 @@ -112,6 +176,8 @@ 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 @@ -140,16 +206,14 @@ default home directory for .I %%BOINC_USER%% user .IP %%BOINC_HOME%%/* -boinc-client configuration files +boinc 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 +.I boinc using ^Z works, but resuming using .I fg or @@ -167,4 +231,5 @@ further restrict the size of its project or slot directories. 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 --git a/net/boinc-client/files/boinc.sh b/net/boinc-client/files/boinc.sh index 77fc535ab612..e8ab909b7fe7 100644 --- a/net/boinc-client/files/boinc.sh +++ b/net/boinc-client/files/boinc.sh @@ -1,61 +1,7 @@ #!/bin/sh -# -# $FreeBSD: /tmp/pcvs/ports/net/boinc-client/files/Attic/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 --git a/net/boinc-client/files/extra-patch-api::boinc_api.C b/net/boinc-client/files/extra-patch-api::boinc_api.C deleted file mode 100644 index 49f74d3977df..000000000000 --- a/net/boinc-client/files/extra-patch-api::boinc_api.C +++ /dev/null @@ -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 --git a/net/boinc-client/files/extra-patch-client::gui_rpc_server.C b/net/boinc-client/files/extra-patch-client::gui_rpc_server.C deleted file mode 100644 index 056b9b8d185c..000000000000 --- a/net/boinc-client/files/extra-patch-client::gui_rpc_server.C +++ /dev/null @@ -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 --git a/net/boinc-client/files/extra-patch-clientgui-MainDocument.cpp b/net/boinc-client/files/extra-patch-clientgui-MainDocument.cpp new file mode 100644 index 000000000000..edeff97cf7c3 --- /dev/null +++ b/net/boinc-client/files/extra-patch-clientgui-MainDocument.cpp @@ -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 --git a/net/boinc-client/files/extra-patch-clientgui-MainFrame.cpp b/net/boinc-client/files/extra-patch-clientgui-MainFrame.cpp new file mode 100644 index 000000000000..398ee67c2592 --- /dev/null +++ b/net/boinc-client/files/extra-patch-clientgui-MainFrame.cpp @@ -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 --git a/net/boinc-client/files/extra-patch-clientgui-ViewProjects.cpp b/net/boinc-client/files/extra-patch-clientgui-ViewProjects.cpp new file mode 100644 index 000000000000..575c995fc858 --- /dev/null +++ b/net/boinc-client/files/extra-patch-clientgui-ViewProjects.cpp @@ -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 --git a/net/boinc-client/files/extra-patch-clientgui-ViewResources.cpp b/net/boinc-client/files/extra-patch-clientgui-ViewResources.cpp new file mode 100644 index 000000000000..6ec969a9fbdf --- /dev/null +++ b/net/boinc-client/files/extra-patch-clientgui-ViewResources.cpp @@ -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 --git a/net/boinc-client/files/extra-patch-clientgui-ViewTransfers.cpp b/net/boinc-client/files/extra-patch-clientgui-ViewTransfers.cpp new file mode 100644 index 000000000000..083497a90e9d --- /dev/null +++ b/net/boinc-client/files/extra-patch-clientgui-ViewTransfers.cpp @@ -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 --git a/net/boinc-client/files/extra-patch-clientgui-ViewWork.cpp b/net/boinc-client/files/extra-patch-clientgui-ViewWork.cpp new file mode 100644 index 000000000000..c64cd91e253a --- /dev/null +++ b/net/boinc-client/files/extra-patch-clientgui-ViewWork.cpp @@ -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 --git a/net/boinc-client/files/extra-patch-clientgui-stdwx.h b/net/boinc-client/files/extra-patch-clientgui-stdwx.h new file mode 100644 index 000000000000..3b56a240fc48 --- /dev/null +++ b/net/boinc-client/files/extra-patch-clientgui-stdwx.h @@ -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 --git a/net/boinc-client/files/extra-patch-lib-acct_mgr_client.C b/net/boinc-client/files/extra-patch-lib-acct_mgr_client.C new file mode 100644 index 000000000000..6e69b41ec146 --- /dev/null +++ b/net/boinc-client/files/extra-patch-lib-acct_mgr_client.C @@ -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 --git a/net/boinc-client/files/extra-patch-lib-gui_rpc_client.C b/net/boinc-client/files/extra-patch-lib-gui_rpc_client.C new file mode 100644 index 000000000000..86cdd6891518 --- /dev/null +++ b/net/boinc-client/files/extra-patch-lib-gui_rpc_client.C @@ -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 --git a/net/boinc-client/files/extra-patch-client::net_xfer.C b/net/boinc-client/files/extra-patch-lib-network.h index 17a0d272c49a..618a136a2ab1 100644 --- a/net/boinc-client/files/extra-patch-client::net_xfer.C +++ b/net/boinc-client/files/extra-patch-lib-network.h @@ -1,8 +1,8 @@ ---- 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__) +--- 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__) diff --git a/net/boinc-client/files/extra-patch-lib-parse.C b/net/boinc-client/files/extra-patch-lib-parse.C new file mode 100644 index 000000000000..fddba8b3bcad --- /dev/null +++ b/net/boinc-client/files/extra-patch-lib-parse.C @@ -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 --git a/net/boinc-client/files/extra-patch-zip-boinc_zip.cpp b/net/boinc-client/files/extra-patch-zip-boinc_zip.cpp new file mode 100644 index 000000000000..f09ba3d5cc5f --- /dev/null +++ b/net/boinc-client/files/extra-patch-zip-boinc_zip.cpp @@ -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 --git a/net/boinc-client/files/patch-api-boinc_api.C b/net/boinc-client/files/patch-api-boinc_api.C new file mode 100644 index 000000000000..bead07207718 --- /dev/null +++ b/net/boinc-client/files/patch-api-boinc_api.C @@ -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 --git a/net/boinc-client/files/patch-api::boinc_gl.h b/net/boinc-client/files/patch-api::boinc_gl.h deleted file mode 100644 index a9c41321c9cc..000000000000 --- a/net/boinc-client/files/patch-api::boinc_gl.h +++ /dev/null @@ -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 --git a/net/boinc-client/files/patch-client::gui_rpc_server.C b/net/boinc-client/files/patch-client::gui_rpc_server.C deleted file mode 100644 index ead91b71a12d..000000000000 --- a/net/boinc-client/files/patch-client::gui_rpc_server.C +++ /dev/null @@ -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 --git a/net/boinc-client/files/patch-client::net_xfer.C b/net/boinc-client/files/patch-client::net_xfer.C deleted file mode 100644 index 8d34dc5b2561..000000000000 --- a/net/boinc-client/files/patch-client::net_xfer.C +++ /dev/null @@ -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 --git a/net/boinc-client/files/patch-clientgui-BOINCGUIApp.cpp b/net/boinc-client/files/patch-clientgui-BOINCGUIApp.cpp new file mode 100644 index 000000000000..6a7bed46aca2 --- /dev/null +++ b/net/boinc-client/files/patch-clientgui-BOINCGUIApp.cpp @@ -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 --git a/net/boinc-client/files/boinc.sh-4.x b/net/boinc-client/files/rc-boinc.sh index 82ada6fea9a3..d90e8a697414 100644 --- a/net/boinc-client/files/boinc.sh-4.x +++ b/net/boinc-client/files/rc-boinc.sh @@ -1,11 +1,18 @@ #!/bin/sh # -# $FreeBSD: /tmp/pcvs/ports/net/boinc-client/files/Attic/boinc.sh-4.x,v 1.1 2004-12-15 05:14:36 edwin Exp $ +# $FreeBSD$ # # Start or stop BOINC # -. /usr/local/etc/rc.subr +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` @@ -13,7 +20,8 @@ rcvar=`set_rcvar` boinc_user=%%BOINC_USER%% boinc_home=%%BOINC_HOME%% program_file=%%BOINC_BINARY%% -program_path=%%BOINC_DATADIR%%/client/${program_file} +program_path=%%LOCALBASE%%/lib/boinc/${program_file} +syslog_facility=daemon.err [ -z "$boinc_enable" ] && boinc_enable="NO" @@ -34,14 +42,14 @@ start) "unable to start: ${program_file} is already running." exit 72 fi - echo -n "BOINC " - idprio 31 su - ${boinc_user} -c "${program_path} >/dev/null &" + 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) - program=`expr ${program_file} : '^\(................\).*$'` - killall ${program} 2> /dev/null + killall ${program_file} 2> /dev/null ;; restart) diff --git a/net/boinc-client/pkg-message b/net/boinc-client/pkg-message index 503e472e858e..1dc15cd7b26c 100644 --- a/net/boinc-client/pkg-message +++ b/net/boinc-client/pkg-message @@ -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 @@ you download the client source code to install yourself, and some 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 --git a/net/boinc-client/pkg-plist b/net/boinc-client/pkg-plist index c0eea75db1c5..ed28863f65eb 100644 --- a/net/boinc-client/pkg-plist +++ b/net/boinc-client/pkg-plist @@ -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." |