From ca8030fcc587acc8c930620cc7e929b556d77b23bd25412d56535aabbedf532f Mon Sep 17 00:00:00 2001 From: Christian Wittmer Date: Sat, 25 Feb 2017 00:53:52 +0000 Subject: [PATCH] Accepting request 460328 from home:computersalat:devel:network do not build manager for sles, some reverts and fixes OBS-URL: https://build.opensuse.org/request/show/460328 OBS-URL: https://build.opensuse.org/package/show/network/boinc-client?expand=0&rev=54 --- boinc-client.changes | 16 +++ boinc-client.init | 216 +++++++++++++++++++++++++++++++++++++++++ boinc-client.service | 12 ++- boinc-client.spec | 118 ++++++++++++++++++---- sysconfig.boinc-client | 36 ++++--- 5 files changed, 365 insertions(+), 33 deletions(-) create mode 100644 boinc-client.init diff --git a/boinc-client.changes b/boinc-client.changes index 2729925..48e2824 100644 --- a/boinc-client.changes +++ b/boinc-client.changes @@ -1,3 +1,19 @@ +------------------------------------------------------------------- +Sat Feb 25 00:24:19 UTC 2017 - chris@computersalat.de + +- do not build boinc-manager on SLES 11/12 + * bcond_with manager +- revert conditionals for SLES 11 + * add SysVinit file +- fix wrong bashism fix by ledest +- sysconfig file + * needed for client listen remote (--allow_remote_gui_rpc) + * add missing fillup for systemd + * add some updates +- rework service file (EnvironmentFile) + * disable not needed log files settings +- mv boincscr to manager pkg, built with manager + ------------------------------------------------------------------- Mon Jan 2 10:31:59 UTC 2017 - jengelh@inai.de diff --git a/boinc-client.init b/boinc-client.init new file mode 100644 index 0000000..db437e9 --- /dev/null +++ b/boinc-client.init @@ -0,0 +1,216 @@ +#!/bin/sh +# +# Copyright (c) 2012 Scorpio IT, Deidesheim, Germany +# All rights reserved +# +# Author: Christian Wittmer +# +# /etc/init.d/boinc-client +# and its symbolic link +# /(usr/)sbin/rcboinc-client +# +### BEGIN INIT INFO +# Provides: boinc-client +# Required-Start: $syslog $network $remote_fs +# Should-Start: $time +# Required-Stop: $syslog $network $remote_fs +# Should-Stop: $time +# Default-Start: 3 5 +# Default-Stop: 0 1 2 6 +# Short-Description: BOINC daemon providing boinc-client +# Description: Start BOINC client +# For more information about BOINC (the Berkeley Open Infrastructure +# for Network Computing) see http://boinc.berkeley.edu +### END INIT INFO +# + +# Note on runlevels: +# 0 - halt/poweroff 6 - reboot +# 1 - single user 2 - multiuser without network exported +# 3 - multiuser w/ network (text mode) 5 - multiuser w/ network and X11 (xdm) +# +# Note on script names: +# http://www.linuxbase.org/spec/refspecs/LSB_1.3.0/gLSB/gLSB/scrptnames.html +# A registry has been set up to manage the init script namespace. +# http://www.lanana.org/ +# Please use the names already registered or register one or use a +# vendor prefix. + + +# Check for missing binaries (stale symlinks should not happen) +# Note: Special treatment of stop for LSB conformance +BOINC_BIN=/usr/bin/boinc-client +test -x $BOINC_BIN || { echo "$BOINC_BIN not installed"; + if [ "$1" = "stop" ]; then exit 0; + else exit 5; fi; } + +# Check for existence of needed config file and read it +BOINC_CONFIG=/etc/sysconfig/boinc-client +test -r $BOINC_CONFIG || { echo "$BOINC_CONFIG not existing"; + if [ "$1" = "stop" ]; then exit 0; + else exit 6; fi; } + +# Read config +. $BOINC_CONFIG + +# some other VARS +BOINC_SVC="BOINC Client" + +BOINCCMD_BIN="/usr/bin/boinccmd" +BOINC_LOG="/var/log/boinc-client.log" +BOINC_ERRLOG="/var/log/boinc-client.err.log" +BOINC_PIDFILE="/var/run/boinc-client.pid" +BOINC_LOCKFILE="/var/run/boinc-client.lock" + +BOINC_USR=${BOINC_BOINC_USR:="boinc"} +BOINC_GRP=${BOINC_BOINC_GRP:="boinc"} +BOINC_DIR=${BOINC_BOINC_DIR:="/var/lib/boinc"} +BOINC_OPTS=${BOINC_BOINC_OPTS:=""} + +# Source LSB init functions +# providing start_daemon, killproc, pidofproc, +# log_success_msg, log_failure_msg and log_warning_msg. +# This is currently not used by UnitedLinux based distributions and +# not needed for init scripts for UnitedLinux only. If it is used, +# the functions from rc.status should not be sourced or used. +#. /lib/lsb/init-functions + +# Shell functions sourced from /etc/rc.status: +# rc_check check and set local and overall rc status +# rc_status check and set local and overall rc status +# rc_status -v be verbose in local rc status and clear it afterwards +# rc_status -v -r ditto and clear both the local and overall rc status +# rc_status -s display "skipped" and exit with status 3 +# rc_status -u display "unused" and exit with status 3 +# rc_failed set local and overall rc status to failed +# rc_failed set local and overall rc status to +# rc_reset clear both the local and overall rc status +# rc_exit exit appropriate to overall rc status +# rc_active checks whether a service is activated by symlinks +. /etc/rc.status + +# Reset status of this service +rc_reset + +# Return values acc. to LSB for all commands but status: +# 0 - success +# 1 - generic or unspecified error +# 2 - invalid or excess argument(s) +# 3 - unimplemented feature (e.g. "reload") +# 4 - user had insufficient privileges +# 5 - program is not installed +# 6 - program is not configured +# 7 - program is not running +# 8--199 - reserved (8--99 LSB, 100--149 distrib, 150--199 appl) +# +# Note that starting an already running service, stopping +# or restarting a not-running service as well as the restart +# with force-reload (in case signaling is not supported) are +# considered a success. + +case "$1" in + start) + echo -n "Starting ${BOINC_SVC} " + ## Start daemon with startproc(8). If this fails + ## the return value is set appropriately by startproc. + /sbin/startproc -u $BOINC_USR -g $BOINC_GRP -l $BOINC_LOG -s $BOINC_BIN --dir $BOINC_DIR $BOINC_OPTS + + # Remember status and be verbose + rc_status -v + ;; + stop) + echo -n "Shutting down ${BOINC_SVC} " + ## Stop daemon with killproc(8) and if this fails + ## killproc sets the return value according to LSB. + + /sbin/killproc $BOINC_BIN + + # Remember status and be verbose + rc_status -v + ;; + try-restart|condrestart) + ## Do a restart only if the service was active before. + ## Note: try-restart is now part of LSB (as of 1.9). + ## RH has a similar command named condrestart. + if test "$1" = "condrestart"; then + echo "${attn} Use try-restart ${done}(LSB)${attn} rather than condrestart ${warn}(RH)${norm}" + fi + $0 status + if test $? = 0; then + $0 restart + else + rc_reset # Not running is not a failure. + fi + # Remember status and be quiet + rc_status + ;; + restart) + ## Stop the service and regardless of whether it was + ## running or not, start it again. + $0 stop + $0 start + + # Remember status and be quiet + rc_status + ;; + force-reload) + ## Signal the daemon to reload its config. Most daemons + ## do this on signal 1 (SIGHUP). + ## If it does not support it, restart the service if it + ## is running. + + echo -n "Reload service ${BOINC_SVC} " + ## if it supports it: + #/sbin/killproc -HUP $BOINC_BIN + #touch /var/run/$BOINC_PIDFILE + + # Remember status and be verbose + #rc_status -v + + ## Otherwise: + $0 try-restart + # Remember status and be quiet + rc_status + ;; + reload) + ## Like force-reload, but if daemon does not support + ## signaling, do nothing (!) + + # If it supports signaling: + echo -n "Reload service ${BOINC_SVC} " + #/sbin/killproc -HUP $BOINC_BIN + #touch /var/run/FOO.pid + # Remember status and be verbose + #rc_status -v + + + ## Otherwise if it does not support reload: + rc_failed 3 + # Remember status and be verbose + rc_status -v + ;; + status) + echo -n "Checking for service ${BOINC_SVC} " + ## Check status with checkproc(8), if process is running + ## checkproc will return with exit status 0. + + # Return value is slightly different for the status command: + # 0 - service up and running + # 1 - service dead, but /var/run/ pid file exists + # 2 - service dead, but /var/lock/ lock file exists + # 3 - service not running (unused) + # 4 - service status unknown :-( + # 5--199 reserved (5--99 LSB, 100--149 distro, 150--199 appl.) + + # NOTE: checkproc returns LSB compliant status values. + /sbin/checkproc $BOINC_BIN + # NOTE: rc_status knows that we called this init script with + # "status" option and adapts its messages accordingly. + rc_status -v + ;; + *) + echo "Usage: $0 {start|stop|status|try-restart|restart|force-reload|reload}" + exit 1 + ;; +esac +rc_exit diff --git a/boinc-client.service b/boinc-client.service index a0bbbb2..f7735bd 100644 --- a/boinc-client.service +++ b/boinc-client.service @@ -3,17 +3,19 @@ Description=Berkeley Open Infrastructure Network Computing Client After=network.target [Service] +EnvironmentFile=-/etc/sysconfig/boinc-client Nice=10 User=boinc CPUSchedulingPolicy=batch Slice=background.slice PermissionsStartOnly=yes -ExecStartPre=/bin/sleep 1 -ExecStartPre=/usr/bin/touch /var/log/boinc.log /var/log/boincerr.log -ExecStartPre=/usr/bin/chown boinc:boinc /var/log/boinc.log /var/log/boincerr.log -ExecStart=/usr/bin/boinc --dir /var/lib/boinc +### boinc logs (with --redirectio) to stdoutdae.txt and stderrdae.txt +#ExecStartPre=/bin/sleep 1 +#ExecStartPre=/usr/bin/touch /var/log/boinc-client.log /var/log/boinc-client.err.log +#ExecStartPre=/usr/bin/chown $BOINC_BOINC_USR:$BOINC_BOINC_GRP /var/log/boinc-client.log /var/log/boinc-client.err.log +ExecStart=/usr/bin/boinc --dir $BOINC_BOINC_DIR $BOINC_BOINC_OPTS ExecReload=/usr/bin/boinccmd --read_cc_config -ExecStopPost=/bin/rm -f /var/lib/boinc/lockfile +ExecStopPost=/bin/rm -f $BOINC_BOINC_DIR/lockfile [Install] WantedBy=multi-user.target diff --git a/boinc-client.spec b/boinc-client.spec index 682a86e..eb19099 100644 --- a/boinc-client.spec +++ b/boinc-client.spec @@ -20,6 +20,14 @@ %define sonum 7 %define boinc_dir %{_localstatedir}/lib/boinc + +# do not build boinc-manager on SLES 11/12 +%if 0%{?is_opensuse} +%bcond_without manager +%else +%bcond_with manager +%endif + Name: boinc-client Version: 7.6.33 Release: 0 @@ -29,13 +37,14 @@ Group: Productivity/Clustering/Computing Url: http://boinc.berkeley.edu/ #Git-Clone: git://github.com/BOINC/boinc -Source: https://github.com/BOINC/boinc/archive/client_release/7.6/%version.tar.gz +Source0: https://github.com/BOINC/boinc/archive/client_release/7.6/%{version}.tar.gz Source1: boinc-icons.tar.bz2 Source2: boinc-gui.desktop Source3: README.SUSE Source4: sysconfig.%{name} Source5: boinc-logrotate Source6: boinc-manager +Source10: %{name}.init Source20: %{name}.service Source100: %{name}-rpmlintrc # PATCH-FIX-OPENSUSE boinc-guirpcauth.patch @@ -47,6 +56,8 @@ Patch0: boinc-guirpcauth.patch # PATCH-FIX-OPENSUSE boinc-docbook2x.patch Patch4: boinc-docbook2x.patch Patch5: 0001-Fix-1530-null-pointer-dereference.patch +BuildRoot: %{_tmppath}/%{name}-%{version}-build +# BuildRequires: Mesa-devel BuildRequires: docbook2x BuildRequires: docbook_4 @@ -64,14 +75,11 @@ BuildRequires: openssl-devel BuildRequires: pkg-config BuildRequires: pwdutils BuildRequires: sqlite3-devel -BuildRequires: systemd -BuildRequires: update-desktop-files -BuildRequires: wxWidgets-3_0-devel >= 3.0.2 BuildRequires: xorg-x11-libXmu-devel Recommends: boinc-client-lang = %{version} Recommends: logrotate Requires(pre): pwdutils -BuildRoot: %{_tmppath}/%{name}-%{version}-build +# %if 0%{?suse_version} >= 1310 BuildRequires: libXScrnSaver-devel BuildRequires: libXi-devel @@ -80,8 +88,22 @@ BuildRequires: xcb-util-devel %else BuildRequires: xorg-x11-libxcb-devel %endif -%lang_package +# +%if 0%{?suse_version} >= 1210 +BuildRequires: pkgconfig(systemd) +%define has_systemd 1 +%else +Requires(pre): %fillup_prereq +Requires(pre): %insserv_prereq +%endif +# +%if %{with manager} +BuildRequires: update-desktop-files +BuildRequires: wxWidgets-3_0-devel >= 3.0.2 %lang_package -n boinc-manager +%endif +# +%lang_package %description The Berkeley Open Infrastructure for Network Computing (BOINC) is an open- @@ -98,6 +120,7 @@ computer time to search for cures for diseases, model protein folding, study global warming, discover sources of gravitational waves, and many other types of scientific and mathematical research. +%if %{with manager} %package -n boinc-manager Summary: GUI to control and monitor boinc-client Group: Productivity/Scientific/Astronomy @@ -110,6 +133,7 @@ core client. It gives a detailed overview of the state of the client it is monitoring. The BOINC Manager has two modes of operation, the "Simple View" in which it only displays the most important information and the "Advanced View" in which all information and all control elements are available. +%endif %package devel Summary: Development files for boinc-client @@ -134,7 +158,9 @@ in which all information and all control elements are available. %package doc Summary: Documentation files for boinc-client Group: Documentation/Other +%if 0%{?suse_version} >= 1120 BuildArch: noarch +%endif %description doc This package contains documentation files for the BOINC client. @@ -165,9 +191,11 @@ iconv -f ISO88591 -t UTF8 < checkin_notes_2010 > checkin_notes_2010.utf8 touch -r checkin_notes_2010 checkin_notes_2010.utf8 mv checkin_notes_2010.utf8 checkin_notes_2010 +%if %{with manager} # fix permissions and newlines on source files chmod 644 clientgui/{DlgItemProperties.h,AsyncRPC.cpp,DlgItemProperties.cpp} sed -i 's/\r//' clientgui/DlgItemProperties.cpp +%endif ## remove files with questionable licenses # removing NVIDIA owned file that does not clearly allow redistribution or @@ -180,11 +208,16 @@ autoreconf -fi --enable-shared \ --disable-static \ --enable-dynamic-client-linkage \ + --enable-unicode \ --disable-server \ --disable-fcgi \ - --enable-unicode \ - --with-ssl \ - --with-x +%if ! %{with manager} + --disable-manager \ +%endif +%if %{with manager} + --with-x \ +%endif + --with-ssl # Disable rpaths sed -i 's|^hardcode_libdir_flag_spec=.*|hardcode_libdir_flag_spec=""|g' libtool @@ -199,7 +232,11 @@ make libboinc_la_LIBADD="-L%{_libdir} -lssl -ldl" \ %install make DESTDIR=%{buildroot} install %{?_smp_mflags} +%if %{with manager} for i in clientgui locale; do +%else +for i in locale; do +%endif pushd $i make DESTDIR=%{buildroot} install %{?_smp_mflags} popd @@ -213,34 +250,47 @@ install -dm0755 %{buildroot}%{_mandir}/man1 rm -f %{buildroot}%{_bindir}/boinc mv -f %{buildroot}%{_bindir}/boinc_client %{buildroot}%{_bindir}/%{name} +%if %{with manager} # Rename boincmgr and wrap it mv %{buildroot}%{_bindir}/boincmgr %{buildroot}%{_bindir}/boinc-gui # Install boinc-manager wrapper script install -Dm0755 %{SOURCE6} %{buildroot}%{_bindir}/boinc-manager +%endif # Use symlink instead of hardlink pushd %{buildroot}%{_bindir} ln -s -f %{name} boinc +%if %{with manager} ln -s -f boinc-manager boincmgr ln -s -f boinc-manager boincmanager +%endif popd +%if %{with manager} # replace @boinc_dir@, @bindir@ sed -i \ -e "s,@boinc_dir@,%{boinc_dir},g" \ -e "s,@bindir@,%{_bindir},g" \ %{buildroot}%{_bindir}/boinc-manager +%endif -# Remove /etc/sysconfig/boinc-client, it is added by %%fillup_and_insserv +# Remove {buildroot}/etc/sysconfig/boinc-client, it is added by %%fillup_and_insserv rm -f %{buildroot}%{_sysconfdir}/sysconfig/%{name} # Install init and create symlink for rcboinc +install -dm0755 %{buildroot}%{_sbindir} +%if 0%{?has_systemd} install -D -m0644 %{SOURCE20} %{buildroot}%{_unitdir}/%{name}.service -mkdir -p %{buildroot}%{_sbindir} -ln -s %{_sbindir}/service %{buildroot}%{_sbindir}/rc%{name} # And remove sysvinit script installed by boinc rm -r %{buildroot}/%{_initddir} +ln -s %{_sbindir}/service %{buildroot}%{_sbindir}/rc%{name} +%else +install -Dm0755 %{SOURCE10} %{buildroot}%{_initddir}/%{name} +/bin/ln -sf %{_sysconfdir}/init.d/%{name} %{buildroot}%{_sbindir}/rc%{name} +%endif +# Install template for sysconfig +install -Dm0644 %{SOURCE4} %{buildroot}%{_localstatedir}/adm/fillup-templates/sysconfig.%{name} # Install logrotate install -Dm0644 %{SOURCE5} %{buildroot}%{_sysconfdir}/logrotate.d/%{name} @@ -248,6 +298,7 @@ install -Dm0644 %{SOURCE5} %{buildroot}%{_sysconfdir}/logrotate.d/%{name} # Install bash completion install -Dpm0644 client/scripts/boinc.bash %{buildroot}%{_sysconfdir}/bash_completion.d/boinc +%if %{with manager} # Install desktop-file and icons install -Dm0644 boinc-gui-128.png %{buildroot}%{_datadir}/icons/hicolor/128x128/apps/boinc-gui.png install -Dm0644 boinc-gui-64.png %{buildroot}%{_datadir}/icons/hicolor/64x64/apps/boinc-gui.png @@ -258,12 +309,15 @@ install -Dm0644 boinc-gui-16.png %{buildroot}%{_datadir}/icons/hicolor/16x16/app # Install *.desktop File %suse_update_desktop_file -i boinc-gui Utility +%endif # Remove static libraries, libtool archives rm %{buildroot}%{_libdir}/*.{a,la} # Relinking Manpages +%if %{with manager} ln -s -f boincmgr.1.gz %{buildroot}%{_mandir}/man1/boinc-manager.1.gz +%endif ln -s -f boinccmd.1.gz %{buildroot}%{_mandir}/man1/boinccmd.1.gz ln -s -f boinc.1.gz %{buildroot}%{_mandir}/man1/boinc.1.gz @@ -275,7 +329,11 @@ install -dm0755 %{buildroot}%{_var}/lib/boinc # Prepare $LANG Packages %find_lang BOINC-Client +%if %{with manager} %find_lang BOINC-Manager +%else +find %{buildroot}/%{_datadir}/locale/ -name "BOINC-Manager.mo" -print0 | xargs -0 rm -f -- +%endif %fdupes -s %{buildroot} @@ -285,23 +343,41 @@ install -dm0755 %{buildroot}%{_var}/lib/boinc # add user %{_sbindir}/useradd -c "BOINC Client" -d "%{_localstatedir}/lib/boinc" \ -g boinc -r -s /sbin/nologin boinc 2>/dev/null || : +# fix replacing old sysconfig file (r21) if [ -f %{_sysconfdir}/sysconfig/%{name} ]; then - if grep "BOINC_BOINC_USR" %{_sysconfdir}/sysconfig/boinc-client | grep -q grep; then + if ! grep -q "BOINC_BOINC_USR" %{_sysconfdir}/sysconfig/boinc-client; then mv -f %{_sysconfdir}/sysconfig/%{name} %{_sysconfdir}/sysconfig/%{name}.save fi fi +%if 0%{?has_systemd} %service_add_pre %{name}.service +%endif %preun +%if 0%{?has_systemd} %service_del_preun %{name}.service +%else +%stop_on_removal %{name} +%endif %post +%if 0%{?has_systemd} +%{fillup_only} %service_add_post %{name}.service +%else +%fillup_and_insserv %{name} +%endif %{_sbindir}/usermod -c "BOINC Client" -s /sbin/nologin boinc 2>/dev/null || : %postun +%if 0%{?has_systemd} %service_del_postun %{name}.service +%else +%restart_on_update %{name} +%insserv_cleanup +%endif +%if %{with manager} %post -n boinc-manager %{_bindir}/touch --no-create %{_datadir}/icons/hicolor || : if [ -x %{_bindir}/gtk-update-icon-cache ]; then @@ -313,6 +389,7 @@ fi if [ -x %{_bindir}/gtk-update-icon-cache ]; then %{_bindir}/gtk-update-icon-cache --quiet %{_datadir}/icons/hicolor || : fi +%endif %post -n libboinc%{sonum} -p /sbin/ldconfig @@ -330,12 +407,16 @@ fi %{_bindir}/boinc %{_bindir}/%{name} %{_bindir}/boinccmd -%{_bindir}/boincscr %{_bindir}/switcher %{_mandir}/man1/boinccmd.1.gz %{_mandir}/man1/boinc.1.gz +%if 0%{?has_systemd} %{_unitdir}/%{name}.service +%else +%{_initddir}/%{name} +%endif %{_sbindir}/rc%{name} +/var/adm/fillup-templates/sysconfig.%{name} %defattr(-,boinc,boinc,-) %{_localstatedir}/lib/boinc/ @@ -344,22 +425,25 @@ fi %doc checkin_* %doc doc/*.txt doc/bolt doc/logo doc/*.php doc/*.png doc/*.html +%files -n %{name}-lang -f BOINC-Client.lang +%defattr(-,root,root) + +%if %{with manager} %files -n boinc-manager %defattr(-,root,root,-) %{_bindir}/boinc-gui %{_bindir}/boinc-manager %{_bindir}/boincmgr %{_bindir}/boincmanager +%{_bindir}/boincscr %{_datadir}/applications/boinc-gui.desktop %{_datadir}/icons/hicolor/*/apps/* %{_mandir}/man1/boincmgr.1.gz %{_mandir}/man1/boinc-manager.1.gz -%files -n %{name}-lang -f BOINC-Client.lang -%defattr(-,root,root) - %files -n boinc-manager-lang -f BOINC-Manager.lang %defattr(-,root,root) +%endif %files -n libboinc%{sonum} %defattr(-,root,root,-) diff --git a/sysconfig.boinc-client b/sysconfig.boinc-client index 448db65..44f4616 100644 --- a/sysconfig.boinc-client +++ b/sysconfig.boinc-client @@ -1,4 +1,3 @@ - ## Path: Productivity/Clustering/Computing ## Description: define BOINC user ## Type: string @@ -25,9 +24,9 @@ BOINC_BOINC_GRP="boinc" ## Default: "/var/lib/boinc" ## Config: BOINC ## -## An empty setting will point to /var/lib/boinc +## An empty setting will point to /var/lib/boinc (SysVinit) ## -BOINC_BOINC_DIR="" +BOINC_BOINC_DIR="/var/lib/boinc" ## Path: Productivity/Clustering/Computing ## Description: define BOINC options @@ -38,15 +37,30 @@ BOINC_BOINC_DIR="" ## --allow_remote_gui_rpc ## allow boinc manager connections from remote machines ## -## --daemon -## turn off all logging -## -## --redirectio -## redirect logging to the files stderrdae.txt and stdoutdae.txt -## in BOINCDIR rather than LOGFILE and ERRORLOG -## ## --check_all_logins -## run only when no logins from anywhere are active +## for idle detection, check remote logins too +## run only when no logins from anywhere are active +## +## --gui_rpc_port +## port for GUI RPCs +## +## --gui_rpc_unix_domain +## use Unix domain for GUI RPCs +## +## --no_gpus +## don't check for GPUs +## +## --redirectio +## redirect stdout and stderr to log files +## +## --no_gui_rpc +## don't allow GUI RPC, don't make socket +## +## --run_cpu_benchmarks +## run the CPU benchmarks +## +## --skip_cpu_benchmarks +## don't run CPU benchmarks ## # BOINC_BOINC_OPTS=""