1
0
forked from pool/boinc-client

Accepting request 103768 from network

fix for bnc#732118, bnc#744389, bnc#744612, bnc#745887

OBS-URL: https://build.opensuse.org/request/show/103768
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/boinc-client?expand=0&rev=20
This commit is contained in:
Stephan Kulow 2012-03-23 11:04:35 +00:00 committed by Git OBS Bridge
commit a240b4cf6e
15 changed files with 472 additions and 193 deletions

View File

@ -1,6 +1,8 @@
--- locale/Makefile.am 2010-04-15 13:59:36.000000000 -0500 Index: locale/Makefile.am
+++ locale/Makefile.am.orig 2010-10-04 11:03:57.000000000 -0500 ===================================================================
@@ -45,9 +45,9 @@ --- locale/Makefile.am.orig
+++ locale/Makefile.am
@@ -45,9 +45,9 @@ locale_dirs = \
install-exec-hook: install-exec-hook:
mydir=$(DESTDIR)$(datadir) ;\ mydir=$(DESTDIR)$(datadir) ;\
for ldir in $(locale_dirs) ; do \ for ldir in $(locale_dirs) ; do \

View File

@ -1,7 +1,7 @@
Index: lib/filesys.cpp Index: lib/filesys.cpp
=================================================================== ===================================================================
--- lib/filesys.cpp.orig 2011-05-16 18:13:03.000000000 +0200 --- lib/filesys.cpp.orig
+++ lib/filesys.cpp 2011-05-16 18:49:23.426248908 +0200 +++ lib/filesys.cpp
@@ -36,6 +36,7 @@ @@ -36,6 +36,7 @@
#include <sys/time.h> #include <sys/time.h>
#include <unistd.h> #include <unistd.h>

View File

@ -1,3 +1,59 @@
-------------------------------------------------------------------
Fri Feb 10 23:07:01 UTC 2012 - chris@computersalat.de
- fix sed for boinc-manager
-------------------------------------------------------------------
Wed Feb 8 22:51:55 UTC 2012 - chris@computersalat.de
- fix for bnc#745887 ( Confirm licensing of boinc-client 6.10.60 )
- fix for bnc#744612 ( File /usr/bin/boinc_gui incorrectly named )
- fix for bnc#744389 ( boinc-client will not run )
- fix for bnc#732118 ( BOINC installs but will not run )
-------------------------------------------------------------------
Wed Feb 8 22:39:34 UTC 2012 - chris@computersalat.de
- fix replacing old sysconfig file
- revert boinc users shell to /sbin/nologin
-------------------------------------------------------------------
Mon Feb 6 15:05:05 UTC 2012 - chris@computersalat.de
- fix License (http://www.spdx.org/licenses/)
* LGPL-3.0
-------------------------------------------------------------------
Sun Feb 5 23:11:38 UTC 2012 - chris@computersalat.de
- remove client dep of manager
* manager does not really need a local boinc-client ;)
- fix desktop file
-------------------------------------------------------------------
Sat Feb 4 00:37:37 UTC 2012 - chris@computersalat.de
- fix deps for boinc-client
* Requires libboinc6
-------------------------------------------------------------------
Thu Feb 2 20:32:57 UTC 2012 - chris@computersalat.de
- rework patches
- rework sysconfig file
- rework logrotate file
- add SuSElike init script
- fix user add
* boinc needs a shell
- fix wrapper
* replace boincmanager with boinc-manager and add symlink for
backward compatibility
* fix boinc_gui -> boinc-gui
- fix License
* LGPLv3
- fix for bnc#689499
* a blocked boinc client, the manager works
------------------------------------------------------------------- -------------------------------------------------------------------
Fri Sep 30 20:07:45 UTC 2011 - coolo@suse.com Fri Sep 30 20:07:45 UTC 2011 - coolo@suse.com

216
boinc-client.init Normal file
View File

@ -0,0 +1,216 @@
#!/bin/sh
#
# Copyright (c) 2012 Scorpio IT, Deidesheim, Germany
# All rights reserved
#
# Author: Christian Wittmer <rpm@scorpio-it.net>
#
# /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"
BOINC_DIR="/var/lib/boinc"
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_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 <num> set local and overall rc status to <num>
# 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

View File

@ -1,7 +1,7 @@
# #
# spec file for package boinc-client # spec file for package boinc-client
# #
# Copyright (c) 2011 SUSE LINUX Products GmbH, Nuernberg, Germany. # Copyright (c) 2012 SUSE LINUX Products GmbH, Nuernberg, Germany.
# Copyright (c) 2011 by Sascha Manns <saigkill@opensuse.org> # Copyright (c) 2011 by Sascha Manns <saigkill@opensuse.org>
# #
# All modifications and additions to the file contributed by third parties # All modifications and additions to the file contributed by third parties
@ -16,30 +16,30 @@
# Please submit bugfixes or comments via http://bugs.opensuse.org/ # Please submit bugfixes or comments via http://bugs.opensuse.org/
# #
# norootforbuild
# Global definitions # Global definitions
%define _use_internal_dependency_generator 0 %define _use_internal_dependency_generator 0
%if 0%{?suse_version} >= 1140
%define __find_requires %wx_requires %define __find_requires %wx_requires
%endif
%define version_ 6_10_60 %define version_ 6_10_60
%define soname 6 %define soname 6
%define boinc_dir %{_localstatedir}/lib/boinc
Name: boinc-client Name: boinc-client
Version: 6.10.60 Version: 6.10.60
Release: 1 Release: 1
Summary: The BOINC client core Summary: The BOINC client core
License: LGPLv2+ License: LGPL-3.0
Group: Productivity/Clustering/Computing Group: Productivity/Clustering/Computing
Url: http://boinc.berkeley.edu/ Url: http://boinc.berkeley.edu/
Source0: boinc_core_release_%{version_}.tar.bz2 Source0: boinc_core_release_%{version_}.tar.bz2
Source1: boinc-icons.tar.bz2 Source1: boinc-icons.tar.bz2
Source2: boinc-gui.desktop Source2: boinc-gui.desktop
Source3: README.SUSE Source3: README.SUSE
Source4: sysconfig.boinc-client Source4: sysconfig.%{name}
Source5: boinc-logrotate Source5: boinc-logrotate
Source6: boincmanager Source6: boinc-manager
Source7: boinc-client-rpmlintrc
# The source for this package was pulled from upstream's vcs. Use the # The source for this package was pulled from upstream's vcs. Use the
# following commands to generate the tarball: # following commands to generate the tarball:
# #
@ -47,6 +47,7 @@ Source7: boinc-client-rpmlintrc
# #
# Trim all binaries and other unnecessary things. # Trim all binaries and other unnecessary things.
Source8: generate-tarball.sh Source8: generate-tarball.sh
Source10: %{name}.init
Source100: %{name}-rpmlintrc Source100: %{name}-rpmlintrc
# PATCH-FIX-OPENSUSE boinc-guirpcauth.patch # PATCH-FIX-OPENSUSE boinc-guirpcauth.patch
@ -66,9 +67,9 @@ Patch4: boinc-docbook2x.patch
# PATCH-FIX-OPENSUSE boinc-server.patch # PATCH-FIX-OPENSUSE boinc-server.patch
Patch5: boinc-server.patch Patch5: boinc-server.patch
# PATCH-FIX-OPENSUSE saigkill@opensuse.org adds define HAVE_STRCASESRTR # PATCH-FIX-OPENSUSE saigkill@opensuse.org adds define HAVE_STRCASESRTR
Patch6: boinc-client-str_util.patch Patch6: %{name}-str_util.patch
# PATCH-FIX-OPENSUSE pth@suse.de use asprintf to fix buffer overflow # PATCH-FIX-OPENSUSE pth@suse.de use asprintf to fix buffer overflow
Patch7: boinc-client-dynamic_buffers.patch Patch7: %{name}-dynamic_buffers.patch
# #
BuildRoot: %{_tmppath}/%{name}-%{version}-build BuildRoot: %{_tmppath}/%{name}-%{version}-build
@ -111,9 +112,9 @@ BuildRequires: wxWidgets-devel >= 2.8.7
Requires: logrotate Requires: logrotate
Requires: cron Requires: cron
#Requires: libboinc%{soname} = %{version}-%{release}
%lang_package %lang_package
%lang_package -n boinc-manager
%description %description
The Berkeley Open Infrastructure for Network Computing (BOINC) is an open- The Berkeley Open Infrastructure for Network Computing (BOINC) is an open-
@ -131,10 +132,8 @@ global warming, discover sources of gravitational waves, and many other types
of scientific and mathematical research. of scientific and mathematical research.
%package -n boinc-manager %package -n boinc-manager
Summary: GUI to control and monitor boinc-client
Summary: GUI to control and monitor %{name}
Group: Productivity/Scientific/Astronomy Group: Productivity/Scientific/Astronomy
Requires: %{name} = %{version}-%{release}
Requires: boinc-manager-lang = %{version}-%{release} Requires: boinc-manager-lang = %{version}-%{release}
Requires: hicolor-icon-theme Requires: hicolor-icon-theme
@ -145,11 +144,8 @@ 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" which it only displays the most important information and the "Advanced View"
in which all information and all control elements are available. in which all information and all control elements are available.
%lang_package -n boinc-manager
%package devel %package devel
Summary: Development files for boinc-client
Summary: Development files for %{name}
Group: Development/Libraries/C and C++ Group: Development/Libraries/C and C++
Requires: %{name} = %{version}-%{release} Requires: %{name} = %{version}-%{release}
Requires: mysql-devel Requires: mysql-devel
@ -159,7 +155,6 @@ Requires: openssl-devel
This package contains development files for %{name}. This package contains development files for %{name}.
%package -n libboinc%{soname} %package -n libboinc%{soname}
Summary: Shared Libs for %{name} Summary: Shared Libs for %{name}
Group: System/Libraries Group: System/Libraries
@ -171,7 +166,6 @@ which it only displays the most important information and the "Advanced View"
in which all information and all control elements are available. in which all information and all control elements are available.
%package doc %package doc
Summary: Documentation files for %{name} Summary: Documentation files for %{name}
Group: Documentation/Other Group: Documentation/Other
%if 0%{?suse_version} >= 1120 %if 0%{?suse_version} >= 1120
@ -210,6 +204,14 @@ pushd clientgui/res/skins/default/graphic/
%{__sed} -i 's/static char/static const char/g' *.xpm %{__sed} -i 's/static char/static const char/g' *.xpm
popd popd
### bnc#745656
## remove files with questionable licenses
# removing NVIDIA owned file that does not clearly allow redistribution or
# modification
%{__rm} coprocs/CUDA/include/nvapi.h
# removing unnecessary APSL licensed files
%{__rm} client/app_stats_mac.cpp
%build %build
#remove ltmain.sh & run libtoolize and ./_autosetup #remove ltmain.sh & run libtoolize and ./_autosetup
%{__rm} ltmain.sh %{__rm} ltmain.sh
@ -240,50 +242,56 @@ popd
%{makeinstall} %{makeinstall}
# Creates default folders # Creates default folders
%{__mkdir} -p %{buildroot}%{_datadir}/icons/hicolor/16x16/apps %{__install} -dm0755 %{buildroot}%{boinc_dir}
%{__mkdir} -p %{buildroot}%{_datadir}/icons/hicolor/32x32/apps %{__install} -dm0755 %{buildroot}%{_mandir}/man1
%{__mkdir} -p %{buildroot}%{_datadir}/icons/hicolor/48x48/apps
%{__mkdir} -p %{buildroot}%{_initrddir}
%{__mkdir} -p %{buildroot}%{_localstatedir}/lib/boinc
%{__mkdir} -p %{buildroot}%{_mandir}/man1
%{__mkdir} -p %{buildroot}%{_sysconfdir}/logrotate.d/
# Remove old boinc & rename boinc_client to boinc-client # Remove old boinc & rename boinc_client to boinc-client
%{__rm} -f %{buildroot}%{_bindir}/boinc %{__rm} -f %{buildroot}%{_bindir}/boinc
%{__mv} -f %{buildroot}%{_bindir}/boinc_client %{buildroot}%{_bindir}/boinc-client %{__mv} -f %{buildroot}%{_bindir}/boinc_client %{buildroot}%{_bindir}/%{name}
# Rename boincmgr and wrap it
%{__mv} %{buildroot}%{_bindir}/boincmgr %{buildroot}%{_bindir}/boinc-gui
# Install boinc-manager wrapper script
%{__install} -Dm0755 %{S:6} %{buildroot}%{_bindir}/boinc-manager
# Use symlink instead of hardlink # Use symlink instead of hardlink
pushd %{buildroot}%{_bindir} pushd %{buildroot}%{_bindir}
/bin/ln -sf boinc-client boinc %{__ln_s} -f %{name} boinc
popd %{__ln_s} -f boinc-manager boincmgr
%{__ln_s} -f boinc-manager boincmanager
popd
# Rename boincmgr and wrap it # replace @boinc_dir@, @bindir@
%{__mv} %{buildroot}%{_bindir}/boincmgr %{buildroot}%{_bindir}/boinc_gui %{__sed} -i \
-e "s,@boinc_dir@,%{boinc_dir},g" \
# Install boincmanager wrapper script -e "s,@bindir@,%{_bindir},g" \
%{__install} -Dm0755 %{S:6} %{buildroot}%{_bindir}/boincmanager %{buildroot}%{_bindir}/boinc-manager
# Remove /etc/sysconfig/boinc-client, it is added by %%fillup_and_insserv # Remove /etc/sysconfig/boinc-client, it is added by %%fillup_and_insserv
%{__rm} -f %{buildroot}%{_sysconfdir}/sysconfig/boinc-client %{__rm} -f %{buildroot}%{_sysconfdir}/sysconfig/%{name}
# Install logrotate and create symlink to /etc/init.d/boinc-client # Install init and create symlink to /etc/init.d/boinc-client
%{__install} -dm0755 %{buildroot}%{_sbindir} %{__install} -Dm0755 %{S:10} %{buildroot}%{_initrddir}/%{name}
/bin/ln -sf %{_sysconfdir}/init.d/boinc-client %{buildroot}%{_sbindir}/rcboinc-client %{__install} -dm0755 %{buildroot}%{_sbindir}
/bin/ln -sf %{_sysconfdir}/init.d/%{name} %{buildroot}%{_sbindir}/rc%{name}
# Install logrotate
%{__install} -Dm0644 %{S:5} %{buildroot}%{_sysconfdir}/logrotate.d/%{name} %{__install} -Dm0644 %{S:5} %{buildroot}%{_sysconfdir}/logrotate.d/%{name}
# Install bash completition # Install bash completition
%{__install} -Dpm0644 client/scripts/boinc.bash %{buildroot}%{_sysconfdir}/bash_completion.d/boinc %{__install} -Dpm0644 client/scripts/boinc.bash %{buildroot}%{_sysconfdir}/bash_completion.d/boinc
# Install template for sysconfig # Install template for sysconfig
%{__install} -Dm0644 %{S:4} %{buildroot}/var/adm/fillup-templates/sysconfig.boinc-client %{__install} -Dm0644 %{S:4} %{buildroot}/var/adm/fillup-templates/sysconfig.%{name}
# Install desktop-file and icons # Install desktop-file and icons
%{__install} -Dm0644 boinc-gui-128.png %{buildroot}%{_datadir}/icons/hicolor/128x128/apps/boinc-gui.png %{__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 %{__install} -Dm0644 boinc-gui-64.png %{buildroot}%{_datadir}/icons/hicolor/64x64/apps/boinc-gui.png
%{__install} -Dm0644 boinc-gui-48.png %{buildroot}%{_datadir}/icons/hicolor/48x48/apps/boinc-gui.png %{__install} -Dm0644 boinc-gui-48.png %{buildroot}%{_datadir}/icons/hicolor/48x48/apps/boinc-gui.png
%{__install} -Dm0644 boinc-gui-32.png %{buildroot}%{_datadir}/icons/hicolor/32x32/apps/boinc-gui.png %{__install} -Dm0644 boinc-gui-32.png %{buildroot}%{_datadir}/icons/hicolor/32x32/apps/boinc-gui.png
%{__install} -Dm0644 boinc-gui-22.png %{buildroot}%{_datadir}/icons/hicolor/22x22/apps/boinc-gui.png %{__install} -Dm0644 boinc-gui-22.png %{buildroot}%{_datadir}/icons/hicolor/22x22/apps/boinc-gui.png
%{__install} -Dm0644 boinc-gui-16.png %{buildroot}%{_datadir}/icons/hicolor/16x16/apps/boinc-gui.png %{__install} -Dm0644 boinc-gui-16.png %{buildroot}%{_datadir}/icons/hicolor/16x16/apps/boinc-gui.png
# Move and rename icons # Move and rename icons
%{__mv} %{buildroot}%{_datadir}/boinc/boincmgr.16x16.png %{buildroot}%{_datadir}/icons/hicolor/16x16/apps/boincmgr.png %{__mv} %{buildroot}%{_datadir}/boinc/boincmgr.16x16.png %{buildroot}%{_datadir}/icons/hicolor/16x16/apps/boincmgr.png
@ -299,7 +307,7 @@ popd
# Relinking Manpages # Relinking Manpages
/bin/ln -sf boincmgr.1.gz %{buildroot}%{_mandir}/man1/boincmanager.1.gz /bin/ln -sf boincmgr.1.gz %{buildroot}%{_mandir}/man1/boincmanager.1.gz
/bin/ln -sf boinccmd.1.gz %{buildroot}%{_mandir}/man1/boinccmd.1.gz /bin/ln -sf boinccmd.1.gz %{buildroot}%{_mandir}/man1/boinccmd.1.gz
/bin/ln -sf boinc.1.gz %{buildroot}%{_mandir}/man1/boinc.1.gz /bin/ln -sf boinc.1.gz %{buildroot}%{_mandir}/man1/boinc.1.gz
# Fix spurious-executable-perm # Fix spurious-executable-perm
%{__chmod} 0644 doc/*.php %{__chmod} 0644 doc/*.php
@ -316,21 +324,26 @@ popd
%{__rm} -rf '%{buildroot}' %{__rm} -rf '%{buildroot}'
%pre %pre
# Add boinc user and group # add group
getent group boinc >/dev/null || groupadd -r boinc %{_sbindir}/groupadd -r boinc 2>/dev/null || :
getent passwd boinc >/dev/null || \ # add user
useradd -r -g boinc -d %{_localstatedir}/lib/boinc -s /sbin/nologin \ %{_sbindir}/useradd -c "BOINC Client" -d "%{_localstatedir}/lib/boinc" \
-c "BOINC client account." boinc -g boinc -r -s /sbin/nologin boinc 2>/dev/null || :
exit 0 if [ -f %{_sysconfdir}/sysconfig/%{name} ]; then
if [ "$(grep "BOINC_BOINC_USR" /etc/sysconfig/boinc-client | grep -v grep >/dev/null; echo $?)" == 1 ]; then
%post mv -f %{_sysconfdir}/sysconfig/%{name} %{_sysconfdir}/sysconfig/%{name}.save
%fillup_and_insserv boinc-client fi
fi
%preun %preun
%stop_on_removal boinc-client %stop_on_removal %{name}
%postun %post
%restart_on_update boinc-client %fillup_and_insserv %{name}
%{_sbindir}/usermod -c "BOINC Client" boinc 2>/dev/null || :
%postun
%restart_on_update %{name}
%insserv_cleanup %insserv_cleanup
%post -n boinc-manager %post -n boinc-manager
@ -355,13 +368,13 @@ fi
%files %files
%defattr(-,root,root,-) %defattr(-,root,root,-)
%doc COPYING COPYRIGHT INSTALL notes todo TODO_OLD README.SUSE %doc COPYING* COPYRIGHT INSTALL notes todo TODO_OLD README.SUSE
%config(noreplace) %{_sysconfdir}/logrotate.d/%{name} %config(noreplace) %{_sysconfdir}/logrotate.d/%{name}
%config(noreplace) %{_sysconfdir}/bash_completion.d/ %config(noreplace) %{_sysconfdir}/bash_completion.d/
/var/adm/fillup-templates/sysconfig.boinc-client /var/adm/fillup-templates/sysconfig.%{name}
%{_bindir}/boinc %{_bindir}/boinc
%{_bindir}/boinc-client %{_bindir}/%{name}
%{_sbindir}/rcboinc-client %{_sbindir}/rc%{name}
%{_bindir}/boinccmd %{_bindir}/boinccmd
%{_bindir}/switcher %{_bindir}/switcher
%{_initrddir}/%{name} %{_initrddir}/%{name}
@ -373,11 +386,13 @@ fi
%files doc %files doc
%defattr(-,root,root,-) %defattr(-,root,root,-)
%doc checkin_* %doc checkin_*
%doc doc/*.txt doc/bolt doc/logo doc/*.php doc/*.png doc/*.html %doc doc/*.txt doc/bolt doc/logo doc/*.php doc/*.png doc/*.html
%files -n boinc-manager %files -n boinc-manager
%defattr(-,root,root,-) %defattr(-,root,root,-)
%{_bindir}/boinc_gui %{_bindir}/boinc-gui
%{_bindir}/boinc-manager
%{_bindir}/boincmgr
%{_bindir}/boincmanager %{_bindir}/boincmanager
%{_datadir}/applications/boinc-gui.desktop %{_datadir}/applications/boinc-gui.desktop
%{_datadir}/icons/hicolor/*/apps/* %{_datadir}/icons/hicolor/*/apps/*

View File

@ -1,6 +1,8 @@
--- client/scripts/boinc.bash 2008-05-16 10:01:52.000000000 -0500 Index: client/scripts/boinc.bash
+++ client/scripts/boinc.bash.orig 2010-10-04 11:19:36.000000000 -0500 ===================================================================
@@ -36,7 +36,7 @@ --- client/scripts/boinc.bash.orig
+++ client/scripts/boinc.bash
@@ -36,7 +36,7 @@ _boinc()
return 0 return 0
fi fi
} }

View File

@ -1,6 +1,8 @@
--- configure.ac 2010-07-01 12:09:41.000000000 -0500 Index: configure.ac
+++ configure.ac.orig 2010-10-03 16:24:03.000000000 -0500 ===================================================================
@@ -284,7 +284,7 @@ --- configure.ac.orig
+++ configure.ac
@@ -284,7 +284,7 @@ AC_SUBST([TOP_BUILD_DIR], [`pwd`])
dnl Check for docbook2x-man, which we use to create the manpages in dnl Check for docbook2x-man, which we use to create the manpages in
dnl doc/manpages, and set the conditional HAVE_DOCBOOK2X_MAN to build dnl doc/manpages, and set the conditional HAVE_DOCBOOK2X_MAN to build
dnl the manpages only if docbook2x-man is available. dnl the manpages only if docbook2x-man is available.

View File

@ -1,6 +1,6 @@
[Desktop Entry] [Desktop Entry]
Encoding=UTF-8 Encoding=UTF-8
Exec=boincmanager Exec=boinc-manager
Icon=boinc-gui Icon=boinc-gui
Terminal=false Terminal=false
Type=Application Type=Application

View File

@ -1,6 +1,8 @@
--- client/gui_rpc_server.cpp 2010-06-18 11:45:45.000000000 -0500 Index: client/gui_rpc_server.cpp
+++ client/gui_rpc_server.cpp.orig 2010-10-04 13:23:39.000000000 -0500 ===================================================================
@@ -146,12 +146,7 @@ --- client/gui_rpc_server.cpp.orig
+++ client/gui_rpc_server.cpp
@@ -146,12 +146,7 @@ int GUI_RPC_CONN_SET::get_password() {
// they can cause code to execute as this user. // they can cause code to execute as this user.
// So better protect it. // So better protect it.
// //

View File

@ -2,7 +2,7 @@ Index: client/scripts/boinc-client.in
=================================================================== ===================================================================
--- client/scripts/boinc-client.in.orig --- client/scripts/boinc-client.in.orig
+++ client/scripts/boinc-client.in +++ client/scripts/boinc-client.in
@@ -19,13 +19,13 @@ @@ -19,14 +19,16 @@
# For more information about BOINC (the Berkeley Open Infrastructure # For more information about BOINC (the Berkeley Open Infrastructure
# for Network Computing) see http://boinc.berkeley.edu # for Network Computing) see http://boinc.berkeley.edu
# processname: boinc # processname: boinc
@ -10,17 +10,22 @@ Index: client/scripts/boinc-client.in
+# config: /etc/sysconfig/boinc-client +# config: /etc/sysconfig/boinc-client
# #
### BEGIN INIT INFO ### BEGIN INIT INFO
# Provides: boinc -# Provides: boinc
-# Required-Start: $network -# Required-Start: $network
-# Required-Stop: $network -# Required-Stop: $network
-# Default-Start: 3 4 5 -# Default-Start: 3 4 5
+# Required-Start: $network $remote_fs -# Default-Stop: 0 1 2 6
+# Required-Stop: $network $remote_fs +# Provides: boinc-client
+# Default-Start: 3 5 +# Required-Start: $network $remote_fs
# Default-Stop: 0 1 2 6 +# Should-Start: $time
+# Required-Stop: $network $remote_fs
+# Should-Stop: $time
+# Default-Start: 3 5
+# Default-Stop: 0 1 2 6
# Short-Description: This script monitors the BOINC client. # Short-Description: This script monitors the BOINC client.
# Description: This script starts the local BOINC client as a daemon # Description: This script starts the local BOINC client as a daemon
@@ -117,6 +117,10 @@ fi # For more information about BOINC (the Berkeley Open Infrastructure
@@ -117,6 +119,10 @@ fi
# #
BOINCUSER=boinc BOINCUSER=boinc
@ -31,7 +36,7 @@ Index: client/scripts/boinc-client.in
# Working directory. Could be /home/boinc, /var/lib/boinc, etc.. # Working directory. Could be /home/boinc, /var/lib/boinc, etc..
# The reason I prefer /var/lib/boinc is that this works best for a # The reason I prefer /var/lib/boinc is that this works best for a
# cluster of computers where /home/anything might be shared between machines # cluster of computers where /home/anything might be shared between machines
@@ -128,7 +132,7 @@ BOINCDIR=/var/lib/boinc @@ -128,7 +134,7 @@ BOINCDIR=/var/lib/boinc
# but I like to rename it and put it in a public place. # but I like to rename it and put it in a public place.
# (Hint: move boincmgr to /usr/local/bin too so anyone can easily use it). # (Hint: move boincmgr to /usr/local/bin too so anyone can easily use it).
# #
@ -40,7 +45,7 @@ Index: client/scripts/boinc-client.in
BOINCEXE=${bindir}/${BOINCEXE_NAME} BOINCEXE=${bindir}/${BOINCEXE_NAME}
BOINCCMD_NAME=boinccmd BOINCCMD_NAME=boinccmd
BOINCCMD=${bindir}/${BOINCCMD_NAME} BOINCCMD=${bindir}/${BOINCCMD_NAME}
@@ -161,9 +165,7 @@ BOINCOPTS= @@ -161,9 +167,7 @@ BOINCOPTS=
# Subsys lock file ... # Subsys lock file ...
# If there is the subsys directory, then use it ... # If there is the subsys directory, then use it ...
@ -51,7 +56,7 @@ Index: client/scripts/boinc-client.in
LOCKFILE=/var/lock/${BOINCEXE_NAME} LOCKFILE=/var/lock/${BOINCEXE_NAME}
elif [ -d /var/run ]; then elif [ -d /var/run ]; then
LOCKFILE=/var/run/${BOINCEXE_NAME}.lock LOCKFILE=/var/run/${BOINCEXE_NAME}.lock
@@ -178,8 +180,8 @@ export TERM=dumb @@ -178,8 +182,8 @@ export TERM=dumb
# but if the functions are not found we create our own simple replacements. # but if the functions are not found we create our own simple replacements.
# (The idea for replacing the functions comes from OpenAFS. Thanks guys!) # (The idea for replacing the functions comes from OpenAFS. Thanks guys!)
@ -62,7 +67,7 @@ Index: client/scripts/boinc-client.in
else else
if printf "Hello" >/dev/null 2>/dev/null ; then if printf "Hello" >/dev/null 2>/dev/null ; then
# printf works # printf works
@@ -279,7 +281,7 @@ if [ ! -d $BOINCDIR ]; then @@ -279,7 +283,7 @@ if [ ! -d $BOINCDIR ]; then
echo -n "Creating $BOINCDIR " echo -n "Creating $BOINCDIR "
if mkdir -p $BOINCDIR 2>/dev/null ; then if mkdir -p $BOINCDIR 2>/dev/null ; then
if [ -n "$BOINCUSER" ] ; then if [ -n "$BOINCUSER" ] ; then
@ -71,7 +76,7 @@ Index: client/scripts/boinc-client.in
echo_success echo_success
else else
echo_failure echo_failure
@@ -329,8 +331,8 @@ if [ "${USERNOW}" = "${BOINCUSER}" ] ; t @@ -329,8 +333,8 @@ if [ "${USERNOW}" = "${BOINCUSER}" ] ; t
exit 8 exit 8
fi fi
elif [ "${USERNOW}" = "root" ] ; then elif [ "${USERNOW}" = "root" ] ; then

View File

@ -1,27 +1,27 @@
/var/log/boinc-client.log { /var/log/boinc-client.log {
daily daily
compress compress
dateext dateext
notifempty notifempty
rotate 99 rotate 99
size 4M size +4096k
missingok missingok
create 640 root root create 644 root root
postrotate postrotate
/etc/init.d/boinc-client restart /etc/init.d/boinc-client restart > /dev/null
endscript endscript
} }
/var/log/boinc-client_err.log { #/var/log/boinc-client_err.log {
daily # daily
compress # compress
dateext # dateext
notifempty # notifempty
rotate 99 # rotate 99
size 4M # size +4096k
missingok # missingok
create 640 root root # create 644 root root
postrotate # postrotate
/etc/init.d/boinc-client restart # /etc/init.d/boinc-client restart > /dev/null
endscript # endscript
} #}

10
boinc-manager Normal file
View File

@ -0,0 +1,10 @@
#!/bin/sh
#
# boinc-manager - a wrapper to start BOINC Client GUI
#
# Checking for gui_rpc_auth.cfg
if ! test -f ~/gui_rpc_auth.cfg ; then
ln -s @boinc_dir@/gui_rpc_auth.cfg ~/.
fi
exec boinc-gui -e @bindir@

View File

@ -1,6 +1,8 @@
--- sched/handle_request.cpp 2010-01-14 15:18:06.000000000 -0600 Index: sched/handle_request.cpp
+++ sched/handle_request.cpp.orig 2010-10-04 11:24:03.000000000 -0500 ===================================================================
@@ -143,7 +143,9 @@ --- sched/handle_request.cpp.orig
+++ sched/handle_request.cpp
@@ -143,7 +143,9 @@ int lock_sched() {
// write PID into the CGI_<HOSTID> file and flush to disk // write PID into the CGI_<HOSTID> file and flush to disk
// //
count = sprintf(pid_string, "%d\n", getpid()); count = sprintf(pid_string, "%d\n", getpid());

View File

@ -1,32 +0,0 @@
#!/bin/sh
#
# BOINC Manager on Unix
#!/bin/sh
#
# BOINC - start the BOINC Manager
# Source the configuration file for the boinc-client init script.
#
config_files="/etc/boinc-client.conf /etc/sysconfig/boinc-client"
# provide a default
BOINCDIR=/var/lib/boinc
# Find the correct config file
#
for config_file in $config_files ; do
if [ -f ${config_file} ] ; then
. ${config_file};
break;
fi
done
# Checking for gui_rpc_auth.cfg
if ! test -f ~/gui_rpc_auth.cfg ; then
ln -s /var/lib/boinc/gui_rpc_auth.cfg .
fi
# Change directory and start BOINC Manager
#
cd "$BOINCDIR"
exec boinc-gui

View File

@ -1,43 +1,42 @@
# -*- mode:sh; mode:font-lock; -*-
# Default variable values for the boinc-client /etc/init.d script ## Path: Productivity/Clustering/Computing
## Description: define BOINC user
## Type: string
## Default: "boinc"
## Config: BOINC
# #
BOINCEXE_NAME=boinc-client # An empty setting will point to boinc
BOINCCMD_NAME=boinccmd
# The userid under which boinc-client is run
BOINCUSER=boinc
BOINCGROUP=boinc
# The directory in which boinc-client is run
BOINCDIR=/var/lib/boinc
# log files
LOGFILE=/var/log/${BOINCEXE_NAME}.log
ERRORLOG=/var/log/${BOINCEXE_NAME}_err.log
# pid file
PIDFILE=/var/run/${BOINCEXE_NAME}.pid
# placement of the lockfile depends upon the operating system
# it will probably be one of the following:
#LOCKFILE=/var/lock/${BOINCEXE_NAME}
#LOCKFILE=/var/run/${BOINCEXE_NAME}.lock
#LOCKFILE=/var/lock/subsys/${BOINCEXE_NAME}
LOCKFILE=/var/run/${BOINCEXE_NAME}.lock
# BOINC options: for the command line when running the client.
# Be aware that --allow_remote_gui_rpc opens up your machine to the world!
# #
# The default is no options. BOINC_BOINC_USR="boinc"
BOINCOPTS=
# Add this option if you want to allow boinc manager connections from remote ## Path: Productivity/Clustering/Computing
# machines ## Description: define BOINC group
#BOINCOPTS="--allow_remote_gui_rpc" ## Type: string
# Add this option if you want to turn off all logging ## Default: "boinc"
#BOINCOPTS="--daemon" ## Config: BOINC
# Add this option if you want to redirect logging to the files stderrdae.txt #
# and stdoutdae.txt in BOINCDIR rather than LOGFILE and ERRORLOG # An empty setting will point to boinc
#BOINCOPTS="--redirectio" #
# Add this option if you want to run only when no logins from anywhere are BOINC_BOINC_GRP="boinc"
# active
#BOINCOPTS="--check_all_logins" ## Path: Productivity/Clustering/Computing
## Description: define BOINC options
## Type: string
## Default: ""
## Config: BOINC
#
## --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
##
#
BOINC_BOINC_OPTS=""