Accepting request 238395 from network

- Remove needless rpmlintrc lines to ease error spotting when there
  really are some.

- Cleanup with spec-cleaner for better readability
- Move lang packages from Requires to Recommends

- Remove unused patch:
  * boinc-completion.patch
- Remove comments with unused patches
- Remove conditionals with inits as we don't build for such release
  anyway
- Provide rcboinc symlink for easier usage.

- some RPMLINT fixes
  * fix License: remove ','
  * non-standard-gid /var/lib/boinc boinc
    * SR #227671 to rpmlint
- fix deps for libxcb

- fix README.SUSE

# fix for bnc#779335
  * disabled boinc-completion.patch
- update to 7.2.42
  * Fix problem that was causing scheduler RPCs to fail on Yoyo@home
    (HTTP status code 400) 
  * for mor info have a look at
    http://boinc.berkeley.edu/wiki/Release_Notes
- removed obsolete patches:
  * boinc-client-dynamic_buffers.patch

OBS-URL: https://build.opensuse.org/request/show/238395
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/boinc-client?expand=0&rev=28
This commit is contained in:
Stephan Kulow 2014-06-26 13:07:15 +00:00 committed by Git OBS Bridge
commit 519bbc6c58
16 changed files with 237 additions and 564 deletions

View File

@ -34,8 +34,8 @@ are:
What the installer does What the installer does
1. Creates the daemon script at /etc/init.d/boinc-client. 1. Creates the daemon script at /etc/init.d/boinc-client.
2. Places the BOINC binaries (boinc_client, boinc_cmd and boincmgr) 2. Places the BOINC binaries (boinc-client, boinccmd, boinc-gui
in /usr/bin/. and boincmgr) in /usr/bin/.
3. Creates /var/lib/boinc/ for BOINC data files and the slots and 3. Creates /var/lib/boinc/ for BOINC data files and the slots and
projects directories. projects directories.
4. Names the daemon boinc-client. 4. Names the daemon boinc-client.
@ -52,7 +52,7 @@ are:
2. If you elected to not have Linux start the daemon at boot time, 2. If you elected to not have Linux start the daemon at boot time,
start the daemon manually with |/sbin/service boinc-client start| start the daemon manually with |/sbin/service boinc-client start|
3. Open a terminal and enter |ps aux | grep boinc| to print a partial 3. Open a terminal and enter |ps aux | grep boinc| to print a partial
list of running processes. You should see |boinc_client --daemon| list of running processes. You should see |boinc-client --dir ...|
in that list, if not then something went wrong in the steps above. in that list, if not then something went wrong in the steps above.
@ -95,7 +95,7 @@ manager, you can:
directory without becoming root. As you type in each command directory without becoming root. As you type in each command
below, substitute your Linux username wherever you see |username|. below, substitute your Linux username wherever you see |username|.
Enter the following commands in a terminal, as root: Enter the following commands in a terminal, as root:
1. |/usr/sbin/usermod -G boinc -a username| 1. |/usr/sbin/usermod -A boinc username|
2. |chmod g+rw /var/lib/boinc| 2. |chmod g+rw /var/lib/boinc|
3. |chmod g+rw /var/lib/boinc/*.*| 3. |chmod g+rw /var/lib/boinc/*.*|
4. |ln -s /var/lib/boinc/gui_rpc_auth.cfg 4. |ln -s /var/lib/boinc/gui_rpc_auth.cfg

3
boinc-7.2.42.tar.bz2 Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:dfff203487f9d030f916891074f978abde6c0d34b3147cfc36e42a5060b8d4b8
size 40873943

View File

@ -3,18 +3,18 @@ Index: locale/Makefile.am
--- locale/Makefile.am.orig --- locale/Makefile.am.orig
+++ locale/Makefile.am +++ locale/Makefile.am
@@ -45,12 +45,12 @@ locale_dirs = \ @@ -45,12 +45,12 @@ locale_dirs = \
install-exec-hook: install-data-hook:
mydir=$(DESTDIR)$(datadir) ;\ mydir=$(DESTDIR)$(datadir) ;\
for ldir in $(locale_dirs) ; do \ for ldir in $(locale_dirs) ; do \
- $(INSTALL) -d $$mydir/$$ldir ; \ - $(INSTALL) -d $$mydir/$$ldir ; \
+ $(INSTALL) -d $$mydir/$$ldir/LC_MESSAGES ; \ + $(INSTALL) -d $$mydir/$$ldir/LC_MESSAGES ; \
if [ -f $$ldir/BOINC-Manager.mo ] ; then \ if [ -f $$ldir/BOINC-Manager.mo ] ; then \
- $(INSTALL) $$ldir/BOINC-Manager.mo $$mydir/$$ldir/BOINC-Manager.mo ; \ - $(INSTALL_DATA) $$ldir/BOINC-Manager.mo $$mydir/$$ldir/BOINC-Manager.mo ; \
+ $(INSTALL) $$ldir/BOINC-Manager.mo $$mydir/$$ldir/LC_MESSAGES/BOINC-Manager.mo ; \ + $(INSTALL_DATA) $$ldir/BOINC-Manager.mo $$mydir/$$ldir/LC_MESSAGES/BOINC-Manager.mo ; \
fi ;\ fi ;\
if [ -f $$ldir/BOINC-Client.mo ] ; then \ if [ -f $$ldir/BOINC-Client.mo ] ; then \
- $(INSTALL) $$ldir/BOINC-Client.mo $$mydir/$$ldir/BOINC-Client.mo ; \ - $(INSTALL_DATA) $$ldir/BOINC-Client.mo $$mydir/$$ldir/BOINC-Client.mo ; \
+ $(INSTALL) $$ldir/BOINC-Client.mo $$mydir/$$ldir/LC_MESSAGES/BOINC-Client.mo ; \ + $(INSTALL_DATA) $$ldir/BOINC-Client.mo $$mydir/$$ldir/LC_MESSAGES/BOINC-Client.mo ; \
fi ;\ fi ;\
done done

View File

@ -1,41 +0,0 @@
Index: lib/filesys.cpp
===================================================================
--- lib/filesys.cpp.orig
+++ lib/filesys.cpp
@@ -47,6 +47,7 @@
#include <sys/time.h>
#include <unistd.h>
#include <dirent.h>
+#include <climits>
#if HAVE_SYS_RESOURCE_H
#include <sys/resource.h>
@@ -412,7 +413,8 @@
} while (FindNextFileA(hFind, &findData));
::FindClose(hFind);
#else
- char filename[1024], subdir[1024];
+ char filename[PATH_MAX];
+ char *subdir;;
int retval=0;
DIRREF dirp;
double x;
@@ -423,7 +425,7 @@
while (1) {
retval = dir_scan(filename, dirp, sizeof(filename));
if (retval) break;
- sprintf(subdir, "%s/%s", dirpath, filename);
+ asprintf(&subdir, "%s/%s", dirpath, filename);
if (is_dir(subdir)) {
if (recurse) {
@@ -436,6 +438,9 @@
if (retval) continue;
size += x;
}
+
+ if(subdir != NULL)
+ free(subdir);
}
dir_close(dirp);
#endif

View File

@ -2,15 +2,15 @@ Index: configure.ac
=================================================================== ===================================================================
--- configure.ac.orig --- configure.ac.orig
+++ configure.ac +++ configure.ac
@@ -39,6 +39,7 @@ @@ -45,6 +45,7 @@ m4_ifdef([AC_PROG_OBJCXX],[AC_PROG_OBJCX
AC_PROG_CXX dnl ------
AC_PROG_F77 AC_PROG_F77
AC_PROG_CPP AC_PROG_CPP
+AC_PROG_OBJCXX +AC_PROG_OBJCXX
AC_PROG_MAKE_SET AC_PROG_MAKE_SET
SAH_LINKS SAH_LINKS
AC_LANG_PUSH(C) AC_LANG_PUSH(C)
@@ -744,6 +745,8 @@ @@ -793,6 +794,8 @@ AM_CONDITIONAL(ENABLE_LIBRARIES, [test "
AM_CONDITIONAL(INSTALL_HEADERS, [test "${enable_install_headers}" = yes]) AM_CONDITIONAL(INSTALL_HEADERS, [test "${enable_install_headers}" = yes])
AM_CONDITIONAL(HAVE_CUDA_LIB, [test "${enable_client}" = yes -a -f ./coprocs/CUDA/posix/${boinc_platform}/libcudart.so]) AM_CONDITIONAL(HAVE_CUDA_LIB, [test "${enable_client}" = yes -a -f ./coprocs/CUDA/posix/${boinc_platform}/libcudart.so])
@ -19,9 +19,11 @@ Index: configure.ac
dnl ====================================================================== dnl ======================================================================
dnl some more vodoo required for building portable client-binary (client, clientgui) dnl some more vodoo required for building portable client-binary (client, clientgui)
dnl ====================================================================== dnl ======================================================================
Index: clientgui/Makefile.am
===================================================================
--- clientgui/Makefile.am.orig --- clientgui/Makefile.am.orig
+++ clientgui/Makefile.am +++ clientgui/Makefile.am
@@ -118,9 +118,8 @@ @@ -117,9 +117,8 @@ EXTRA_DIST = *.h \
../lib/error_numbers.h \ ../lib/error_numbers.h \
locale $(mac_headers) locale $(mac_headers)
@ -29,7 +31,7 @@ Index: configure.ac
-boincmgr_CXXFLAGS = $(AM_CXXFLAGS) $(WX_CXXFLAGS) $(SQLITE3_CPPFLAGS) $(LIBNOTIFY_CFLAGS) $(CLIENTGUIFLAGS) `pkg-config --cflags gtk+-2.0` -boincmgr_CXXFLAGS = $(AM_CXXFLAGS) $(WX_CXXFLAGS) $(SQLITE3_CPPFLAGS) $(LIBNOTIFY_CFLAGS) $(CLIENTGUIFLAGS) `pkg-config --cflags gtk+-2.0`
-boincmgr_LDFLAGS = $(LIBBOINC) $(SQLITE3_LIBS) $(LIBNOTIFY_LIBS) $(CLIENTGUILIBS) $(BOINC_EXTRA_LIBS) $(CLIENTLIBS) `pkg-config --libs gtk+-2.0` -lnotify -boincmgr_LDFLAGS = $(LIBBOINC) $(SQLITE3_LIBS) $(LIBNOTIFY_LIBS) $(CLIENTGUILIBS) $(BOINC_EXTRA_LIBS) $(CLIENTLIBS) `pkg-config --libs gtk+-2.0` -lnotify
+boincmgr_CPPFLAGS = $(AM_CPPFLAGS) $(WX_CPPFLAGS) $(SQLITE3_CPPFLAGS) $(LIBNOTIFY_CFLAGS) $(CLIENTGUIFLAGS) $(GTK2_CFLAGS) +boincmgr_CPPFLAGS = $(AM_CPPFLAGS) $(WX_CPPFLAGS) $(SQLITE3_CPPFLAGS) $(LIBNOTIFY_CFLAGS) $(CLIENTGUIFLAGS) $(GTK2_CFLAGS)
+boincmgr_LDFLAGS = $(LIBBOINC) $(SQLITE3_LIBS) $(LIBNOTIFY_LIBS) $(CLIENTGUILIBS) $(BOINC_EXTRA_LIBS) $(CLIENTLIBS) $(GTK2_LIBS) +boincmgr_LDFLAGS = $(LIBBOINC) $(SQLITE3_LIBS) $(LIBNOTIFY_LIBS) $(CLIENTGUILIBS) $(BOINC_EXTRA_LIBS) $(CLIENTLIBS) $(GTK2_LIBS) -lnotify
win_config.h: $(top_srcdir)/config.h win_config.h: $(top_srcdir)/config.h
grep '#define.*BOINC.*VERSION' $^ > $@ grep '#define.*BOINC.*VERSION' $^ > $@

View File

@ -1,8 +1 @@
# This line is mandatory to access the configuration functions
from Config import *
addFilter("suse-branding-unversioned-requires hicolor-icon-theme")
addFilter("non-standard-uid")
addFilter("libdir-macro-in-noarch-package")
addFilter("no-manual-page-for-binary") addFilter("no-manual-page-for-binary")
addFilter("macro-in-comment")

View File

@ -1,3 +1,61 @@
-------------------------------------------------------------------
Tue Jun 17 13:39:32 UTC 2014 - tchvatal@suse.com
- Remove needless rpmlintrc lines to ease error spotting when there
really are some.
-------------------------------------------------------------------
Tue Jun 17 13:30:10 UTC 2014 - tchvatal@suse.com
- Cleanup with spec-cleaner for better readability
- Move lang packages from Requires to Recommends
-------------------------------------------------------------------
Tue Jun 17 13:13:14 UTC 2014 - tchvatal@suse.com
- Remove unused patch:
* boinc-completion.patch
- Remove comments with unused patches
- Remove conditionals with inits as we don't build for such release
anyway
- Provide rcboinc symlink for easier usage.
-------------------------------------------------------------------
Wed Mar 26 22:34:18 UTC 2014 - chris@computersalat.de
- some RPMLINT fixes
* fix License: remove ','
* non-standard-gid /var/lib/boinc boinc
* SR #227671 to rpmlint
- fix deps for libxcb
-------------------------------------------------------------------
Tue Mar 18 15:21:19 UTC 2014 - chris@computersalat.de
- fix README.SUSE
-------------------------------------------------------------------
Sun Mar 16 22:23:48 UTC 2014 - chris@computersalat.de
# fix for bnc#779335
* disabled boinc-completion.patch
- update to 7.2.42
* Fix problem that was causing scheduler RPCs to fail on Yoyo@home
(HTTP status code 400)
* for mor info have a look at
http://boinc.berkeley.edu/wiki/Release_Notes
- removed obsolete patches:
* boinc-client-dynamic_buffers.patch
* boinc-init.patch
* boinc-client-7.0.36-AM_CONDITIONAL.patch
* boinc-client-7.0.36-dynamic_buffers.patch
- rebased patches:
* boinc-LC_MESSAGES.patch
* boinc-client-AM_CONDITIONAL.patch
* boinc-configure.patch
* boinc-docbook2x.patch
* boinc-guirpcauth.patch
------------------------------------------------------------------- -------------------------------------------------------------------
Sat Oct 26 09:45:58 UTC 2013 - p.drouand@gmail.com Sat Oct 26 09:45:58 UTC 2013 - p.drouand@gmail.com
@ -10,6 +68,16 @@ Sat Oct 26 09:45:58 UTC 2013 - p.drouand@gmail.com
- Remove boinc-client-glib_h.patch; fixed on upstream - Remove boinc-client-glib_h.patch; fixed on upstream
- Do not copy INSTALL in documentation - Do not copy INSTALL in documentation
-------------------------------------------------------------------
Wed May 1 20:53:41 UTC 2013 - chris@computersalat.de
- update to 7.0.28
* sorry but there is no ChangeLog :(
- rebase patches
* dynamic_buffers, guirpcauth, AM_CONDITIONAL
- add configure patch
- remove obsolete glib_h patch
------------------------------------------------------------------- -------------------------------------------------------------------
Wed Apr 3 11:12:16 UTC 2013 - coolo@suse.com Wed Apr 3 11:12:16 UTC 2013 - coolo@suse.com

View File

@ -1,216 +0,0 @@
#!/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"
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 <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) 2013 SUSE LINUX Products GmbH, Nuernberg, Germany. # Copyright (c) 2014 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
@ -19,22 +19,28 @@
# 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_ 7_0_36
%define soname 7 %define soname 7
%define boinc_dir %{_localstatedir}/lib/boinc %define boinc_dir %{_localstatedir}/lib/boinc
Name: boinc-client Name: boinc-client
Version: 7.0.36 Version: 7.2.42
Release: 0 Release: 0
Summary: The BOINC client core Summary: The BOINC client
License: LGPL-3.0 License: GPL-3.0+ or 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 # There is no real tarball, hence I did
Source1: boinc-icons.tar.bz2 #
# git clone git://boinc.berkeley.edu/boinc.git
# git checkout master
# git checkout -t client_release/7.2/7.2.42
#
# then I created an archive via git
#
# git archive -v --format=tar --prefix=boinc-7.2.42/ \
# client_release/7.2/7.2.42 | bzip2 >../boinc-7.2.42.tar.bz2
Source0: boinc-%{version}.tar.bz2
Source1: boinc-icons.tar.bz2
Source2: boinc-gui.desktop Source2: boinc-gui.desktop
Source3: README.SUSE Source3: README.SUSE
Source4: sysconfig.%{name} Source4: sysconfig.%{name}
@ -43,86 +49,70 @@ Source6: boinc-manager
# 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:
# #
# ./generate-tarball.sh boinc_core_release_%{version_} # ./generate-tarball.sh boinc_core_release_VERSION
# #
# 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 Source20: %{name}.service
Source20: boinc-client-systemd
Source100: %{name}-rpmlintrc Source100: %{name}-rpmlintrc
# PATCH-FIX-OPENSUSE boinc-guirpcauth.patch # PATCH-FIX-OPENSUSE boinc-guirpcauth.patch
# Create password file rw for group, this enables passwordless connection # Create password file rw for group, this enables passwordless connection
# of manager from users of the boinc group. # of manager from users of the boinc group.
# This won't be probably upstreamed as it might be unsafe for common usage # This won't be probably upstreamed as it might be unsafe for common usage
# without setting proper group ownership of the password file. # without setting proper group ownership of the password file.
Patch0: boinc-guirpcauth.patch Patch0: boinc-guirpcauth.patch
# PATCH-FIX-OPENSUSE boinc-init.patch
Patch1: boinc-init.patch
# PATCH-FIX-OPENSUSE boinc-LC_MESSAGES.patch # PATCH-FIX-OPENSUSE boinc-LC_MESSAGES.patch
Patch2: boinc-LC_MESSAGES.patch Patch2: boinc-LC_MESSAGES.patch
# PATCH-FIX-OPENSUSE boinc-completion.patch
Patch3: boinc-completion.patch
# PATCH-FIX-OPENSUSE boinc-docbook2x.patch # PATCH-FIX-OPENSUSE boinc-docbook2x.patch
Patch4: boinc-docbook2x.patch Patch4: boinc-docbook2x.patch
# PATCH-FIX-OPENSUSE pth@suse.de use asprintf to fix buffer overflow
Patch5: boinc-client-7.0.36-dynamic_buffers.patch
# PATCH-FIX-OPENSUSE coolo - #error: am__fastdepOBJCXX does not appear in AM_CONDITIONAL # PATCH-FIX-OPENSUSE coolo - #error: am__fastdepOBJCXX does not appear in AM_CONDITIONAL
Patch7: boinc-client-7.0.36-AM_CONDITIONAL.patch Patch7: %{name}-AM_CONDITIONAL.patch
# # PATCH-FIX-OPENSUSE computersalat - error:
BuildRoot: %{_tmppath}/%{name}-%{version}-build # configure.ac:898: required file `test/version.inc.in' not found
# configure.ac:898: required file `py/Boinc/version.py.in' not found
Requires(pre): pwdutils Patch8: boinc-configure.patch
%if 0%{?suse_version} < 1230
Requires(pre): %insserv_prereq
Requires(pre): %fillup_prereq
%else
BuildRequires: pkgconfig(systemd)
%{?systemd_requires}
%endif
BuildRequires: Mesa-devel BuildRequires: Mesa-devel
#BuildRequires: autoconf
#BuildRequires: automake
BuildRequires: docbook2x BuildRequires: docbook2x
BuildRequires: docbook_4 BuildRequires: docbook_4
BuildRequires: update-desktop-files
#BuildRequires: fcgi-devel
BuildRequires: fdupes BuildRequires: fdupes
BuildRequires: freeglut-devel BuildRequires: freeglut-devel
BuildRequires: gcc-c++ BuildRequires: gcc-c++
BuildRequires: gcc-fortran BuildRequires: gcc-fortran
BuildRequires: gettext-runtime BuildRequires: gettext-runtime
#BuildRequires: gnutls-devel
BuildRequires: libcurl-devel >= 7.17.1 BuildRequires: libcurl-devel >= 7.17.1
BuildRequires: libjpeg-devel BuildRequires: libjpeg-devel
BuildRequires: libnotify-devel BuildRequires: libnotify-devel
BuildRequires: libtool BuildRequires: libtool
BuildRequires: libxslt BuildRequires: libxslt
#BuildRequires: m4
#BuildRequires: make
BuildRequires: mysql-devel BuildRequires: mysql-devel
BuildRequires: openssl-devel BuildRequires: openssl-devel
#BuildRequires: patch
BuildRequires: pkg-config BuildRequires: pkg-config
BuildRequires: pwdutils BuildRequires: pwdutils
BuildRequires: python-mysql BuildRequires: python-mysql
BuildRequires: sqlite3-devel BuildRequires: sqlite3-devel
BuildRequires: systemd
BuildRequires: update-desktop-files
BuildRequires: wxWidgets-devel >= 2.8.0
BuildRequires: xorg-x11-libXmu-devel BuildRequires: xorg-x11-libXmu-devel
%if 0%{?suse_version} <= 1130
BuildRequires: wxGTK-devel >= 2.6.0
%else
BuildRequires: wxWidgets-devel >= 2.8.7
%endif
Requires: cron Requires: cron
Requires: logrotate
### FIXME: ### FIXME:
## updating boinc-client or boinc-manager does not update libboinc6 ## updating boinc-client or boinc-manager does not update libboinc6
## hence we define this dependency ## hence we define this dependency
## !! Do not remove this dependency !! ## !! Do not remove this dependency !!
Requires: libboinc%{soname} = %{version}-%{release} Requires: libboinc%{soname} = %{version}-%{release}
Recommends: boinc-client-lang = %{version}
Requires: logrotate
Requires(pre): pwdutils
BuildRoot: %{_tmppath}/%{name}-%{version}-build
%{?systemd_requires}
%if 0%{?suse_version} >= 1310
BuildRequires: libXScrnSaver-devel
BuildRequires: libXi-devel
BuildRequires: libxcb-devel
BuildRequires: xcb-util-devel
%else
BuildRequires: xorg-x11-libxcb-devel
%endif
%lang_package %lang_package
%lang_package -n boinc-manager %lang_package -n boinc-manager
@ -144,7 +134,7 @@ 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 boinc-client
Group: Productivity/Scientific/Astronomy Group: Productivity/Scientific/Astronomy
Requires: boinc-manager-lang = %{version}-%{release} Recommends: boinc-manager-lang = %{version}
Requires: hicolor-icon-theme Requires: hicolor-icon-theme
%description -n boinc-manager %description -n boinc-manager
@ -178,59 +168,49 @@ 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
BuildArch: noarch BuildArch: noarch
%endif
%description doc %description doc
This package contains documentation files for %{name}. This package contains documentation files for %{name}.
%prep %prep
%setup -q -n boinc_core_release_%{version_} -D -a 1 %setup -q -n boinc-%{version} -D -a 1
%patch0 %patch0
%patch1
%patch2 %patch2
%patch3
%patch4 %patch4
%patch5
%if 0%{?suse_version} >= 1220
%patch7 %patch7
%endif %patch8
# Install user hints # Install user hints
%{__install} -m0644 %{S:3} README.SUSE install -m0644 %{SOURCE3} README.SUSE
# Fix lang directories (refer patch2) # Fix lang directories (refer patch2)
%{__mv} locale/pt_PT locale/pt mv locale/pt_PT locale/pt
%{__mv} locale/sv_SE locale/sv mv locale/sv_SE locale/sv
# fix warning: deprecated conversion from string constant to 'char*' # fix warning: deprecated conversion from string constant to 'char*'
pushd clientgui/common/ pushd clientgui/common/
%{__sed} -i 's/static char/static const char/g' wxFlatNotebookImages.h sed -i 's/static char/static const char/g' wxFlatNotebookImages.h
popd popd
pushd clientgui/res/ pushd clientgui/res/
%{__sed} -i 's/static char/static const char/g' *.xpm sed -i 's/static char/static const char/g' *.xpm
popd popd
pushd clientgui/res/skins/default/graphic/ 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
# fix utf8 # fix utf8
iconv -f ISO88591 -t UTF8 < checkin_notes > checkin_notes.utf8
touch -r checkin_notes checkin_notes.utf8
mv checkin_notes.utf8 checkin_notes
iconv -f ISO88591 -t UTF8 < checkin_notes_2004 > checkin_notes_2004.utf8
touch -r checkin_notes_2004 checkin_notes_2004.utf8
mv checkin_notes_2004.utf8 checkin_notes_2004
iconv -f ISO88591 -t UTF8 < checkin_notes_2005 > checkin_notes_2005.utf8 iconv -f ISO88591 -t UTF8 < checkin_notes_2005 > checkin_notes_2005.utf8
touch -r checkin_notes_2005 checkin_notes_2005.utf8 touch -r checkin_notes_2005 checkin_notes_2005.utf8
mv checkin_notes_2005.utf8 checkin_notes_2005 mv checkin_notes_2005.utf8 checkin_notes_2005
iconv -f ISO88591 -t UTF8 < checkin_notes_2006 > checkin_notes_2006.utf8 iconv -f ISO88591 -t UTF8 < checkin_notes_2009 > checkin_notes_2009.utf8
touch -r checkin_notes_2006 checkin_notes_2006.utf8 touch -r checkin_notes_2009 checkin_notes_2009.utf8
mv checkin_notes_2006.utf8 checkin_notes_2006 mv checkin_notes_2009.utf8 checkin_notes_2009
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
# fix permissions and newlines on source files # fix permissions and newlines on source files
chmod 644 clientgui/{DlgItemProperties.h,AsyncRPC.cpp,DlgItemProperties.cpp} chmod 644 clientgui/{DlgItemProperties.h,AsyncRPC.cpp,DlgItemProperties.cpp}
@ -240,14 +220,14 @@ sed -i 's/\r//' clientgui/DlgItemProperties.cpp
## remove files with questionable licenses ## remove files with questionable licenses
# removing NVIDIA owned file that does not clearly allow redistribution or # removing NVIDIA owned file that does not clearly allow redistribution or
# modification # modification
%{__rm} coprocs/NVIDIA/include/nvapi.h rm coprocs/NVIDIA/include/nvapi.h
# removing unnecessary APSL licensed files # removing unnecessary APSL licensed files
%{__rm} client/app_stats_mac.cpp rm client/app_stats_mac.cpp
%build %build
#remove run libtoolize and ./_autosetup #remove run libtoolize and ./_autosetup
/usr/bin/libtoolize --force %{_bindir}/libtoolize --force
./_autosetup ./_autosetup
%configure \ %configure \
--disable-static \ --disable-static \
@ -259,12 +239,12 @@ sed -i 's/\r//' clientgui/DlgItemProperties.cpp
--with-x --with-x
# Disable rpaths # Disable rpaths
%{__sed} -i 's|^hardcode_libdir_flag_spec=.*|hardcode_libdir_flag_spec=""|g' libtool sed -i 's|^hardcode_libdir_flag_spec=.*|hardcode_libdir_flag_spec=""|g' libtool
%{__sed} -i 's|^runpath_var=LD_RUN_PATH|runpath_var=DIE_RPATH_DIE|g' libtool sed -i 's|^runpath_var=LD_RUN_PATH|runpath_var=DIE_RPATH_DIE|g' libtool
# Export Path and make # Export Path and make
%{__make} clean make clean %{?_smp_mflags}
%{__make} libboinc_la_LIBADD="-L%{_libdir} -lssl -ldl" \ make libboinc_la_LIBADD="-L%{_libdir} -lssl -ldl" \
CFLAGS="%{optflags} -g -W -pipe -fno-strict-aliasing -D_REENTRANT" \ CFLAGS="%{optflags} -g -W -pipe -fno-strict-aliasing -D_REENTRANT" \
CXXFLAGS="%{optflags} -g -W -pipe -fno-strict-aliasing -D_REENTRANT" \ CXXFLAGS="%{optflags} -g -W -pipe -fno-strict-aliasing -D_REENTRANT" \
DESTDIR=%{_prefix} %{?_smp_mflags} DESTDIR=%{_prefix} %{?_smp_mflags}
@ -276,112 +256,95 @@ sed -i 's/\r//' clientgui/DlgItemProperties.cpp
# #
# hence we jump into clientgui and build it manually # hence we jump into clientgui and build it manually
pushd clientgui pushd clientgui
%{__make} libboinc_la_LIBADD="-L%{_libdir} -lssl -ldl" \ make libboinc_la_LIBADD="-L%{_libdir} -lssl -ldl" \
%if 0%{?suse_version} >= 1210
CFLAGS="%{optflags} -g -W -pipe -fno-strict-aliasing -D_REENTRANT -lgtk-x11-2.0" \ CFLAGS="%{optflags} -g -W -pipe -fno-strict-aliasing -D_REENTRANT -lgtk-x11-2.0" \
CXXFLAGS="%{optflags} -g -W -pipe -fno-strict-aliasing -D_REENTRANT -lgtk-x11-2.0" \ CXXFLAGS="%{optflags} -g -W -pipe -fno-strict-aliasing -D_REENTRANT -lgtk-x11-2.0" \
%else
CFLAGS="%{optflags} -g -W -pipe -fno-strict-aliasing -D_REENTRANT" \
CXXFLAGS="%{optflags} -g -W -pipe -fno-strict-aliasing -D_REENTRANT" \
%endif
DESTDIR=%{_prefix} %{?_smp_mflags} DESTDIR=%{_prefix} %{?_smp_mflags}
popd popd
pushd locale pushd locale
%{__make} make %{?_smp_mflags}
popd popd
%install %install
%{makeinstall} make DESTDIR=%{buildroot} install %{?_smp_mflags}
for i in clientgui locale; do for i in clientgui locale; do
pushd $i pushd $i
%{makeinstall} make DESTDIR=%{buildroot} install %{?_smp_mflags}
popd popd
done done
# Creates default folders # Creates default folders
%{__install} -dm0755 %{buildroot}%{boinc_dir} install -dm0755 %{buildroot}%{boinc_dir}
%{__install} -dm0755 %{buildroot}%{_mandir}/man1 install -dm0755 %{buildroot}%{_mandir}/man1
# 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}/%{name} mv -f %{buildroot}%{_bindir}/boinc_client %{buildroot}%{_bindir}/%{name}
# Rename boincmgr and wrap it # Rename boincmgr and wrap it
%{__mv} %{buildroot}%{_bindir}/boincmgr %{buildroot}%{_bindir}/boinc-gui mv %{buildroot}%{_bindir}/boincmgr %{buildroot}%{_bindir}/boinc-gui
# Install boinc-manager wrapper script # Install boinc-manager wrapper script
%{__install} -Dm0755 %{S:6} %{buildroot}%{_bindir}/boinc-manager install -Dm0755 %{SOURCE6} %{buildroot}%{_bindir}/boinc-manager
# Use symlink instead of hardlink # Use symlink instead of hardlink
pushd %{buildroot}%{_bindir} pushd %{buildroot}%{_bindir}
%{__ln_s} -f %{name} boinc ln -s -f %{name} boinc
%{__ln_s} -f boinc-manager boincmgr ln -s -f boinc-manager boincmgr
%{__ln_s} -f boinc-manager boincmanager ln -s -f boinc-manager boincmanager
popd popd
# replace @boinc_dir@, @bindir@ # replace @boinc_dir@, @bindir@
%{__sed} -i \ sed -i \
-e "s,@boinc_dir@,%{boinc_dir},g" \ -e "s,@boinc_dir@,%{boinc_dir},g" \
-e "s,@bindir@,%{_bindir},g" \ -e "s,@bindir@,%{_bindir},g" \
%{buildroot}%{_bindir}/boinc-manager %{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/%{name} rm -f %{buildroot}%{_sysconfdir}/sysconfig/%{name}
# Install init and create symlink to /etc/init.d/boinc-client # Install init and create symlink for rcboinc
%if 0%{?suse_version} >=1230 install -D -m0644 %{SOURCE20} %{buildroot}%{_unitdir}/%{name}.service
chmod -x %{S:20} mkdir -p %{buildroot}%{_sbindir}
%{__install} -Dm0755 %{S:20} %{buildroot}%{_unitdir}/%{name}.service ln -s %{_sbindir}/service %{buildroot}%{_sbindir}/rc%{name}
# And remove sysvinit script installed by boinc # And remove sysvinit script installed by boinc
rm -r %{buildroot}/%{_initrddir} rm -r %{buildroot}/%{_initddir}
%else
%{__install} -Dm0755 %{S:10} %{buildroot}%{_initrddir}/%{name}
%{__install} -dm0755 %{buildroot}%{_sbindir}
/bin/ln -sf %{_sysconfdir}/init.d/%{name} %{buildroot}%{_sbindir}/rc%{name}
# Install template for sysconfig
%{__install} -Dm0644 %{S:4} %{buildroot}/var/adm/fillup-templates/sysconfig.%{name}
%endif
# Install logrotate # Install logrotate
%{__install} -Dm0644 %{S:5} %{buildroot}%{_sysconfdir}/logrotate.d/%{name} install -Dm0644 %{SOURCE5} %{buildroot}%{_sysconfdir}/logrotate.d/%{name}
# Install bash completion # Install bash completion
%{__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 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
# install icons # install icons
%{__install} -m0644 clientgui/res/boincmgr.16x16.png %{buildroot}%{_datadir}/icons/hicolor/16x16/apps/boincmanager.png install -m0644 clientgui/res/boincmgr.16x16.png %{buildroot}%{_datadir}/icons/hicolor/16x16/apps/boincmanager.png
%{__install} -m0644 clientgui/res/boincmgr.32x32.png %{buildroot}%{_datadir}/icons/hicolor/32x32/apps/boincmanager.png install -m0644 clientgui/res/boincmgr.32x32.png %{buildroot}%{_datadir}/icons/hicolor/32x32/apps/boincmanager.png
%{__install} -m0644 clientgui/res/boincmgr.48x48.png %{buildroot}%{_datadir}/icons/hicolor/48x48/apps/boincmanager.png install -m0644 clientgui/res/boincmgr.48x48.png %{buildroot}%{_datadir}/icons/hicolor/48x48/apps/boincmanager.png
# Install *.desktop File # Install *.desktop File
%suse_update_desktop_file -i boinc-gui Utility %suse_update_desktop_file -i boinc-gui Utility
# Remove libtool archives # Remove static libraries, libtool archives
%{__rm} %{buildroot}%{_libdir}/*.la rm %{buildroot}%{_libdir}/*.{a,la}
# Remove static libraries
%{__rm} %{buildroot}%{_libdir}/*.a
# Relinking Manpages # Relinking Manpages
%{__ln_s} -f boincmgr.1.gz %{buildroot}%{_mandir}/man1/boinc-manager.1.gz ln -s -f boincmgr.1.gz %{buildroot}%{_mandir}/man1/boinc-manager.1.gz
%{__ln_s} -f boinccmd.1.gz %{buildroot}%{_mandir}/man1/boinccmd.1.gz ln -s -f boinccmd.1.gz %{buildroot}%{_mandir}/man1/boinccmd.1.gz
%{__ln_s} -f boinc.1.gz %{buildroot}%{_mandir}/man1/boinc.1.gz ln -s -f 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
# Don't pick INSTALL file in %doc macro
# Install fake /var/lib/boinc # Install fake /var/lib/boinc
%{__install} -dm0755 %{buildroot}%{_var}/lib/boinc install -dm0755 %{buildroot}%{_var}/lib/boinc
# Prepare $LANG Packages # Prepare $LANG Packages
%find_lang BOINC-Client %find_lang BOINC-Client
@ -396,42 +359,30 @@ rm -r %{buildroot}/%{_initrddir}
%{_sbindir}/useradd -c "BOINC Client" -d "%{_localstatedir}/lib/boinc" \ %{_sbindir}/useradd -c "BOINC Client" -d "%{_localstatedir}/lib/boinc" \
-g boinc -r -s /sbin/nologin boinc 2>/dev/null || : -g boinc -r -s /sbin/nologin boinc 2>/dev/null || :
if [ -f %{_sysconfdir}/sysconfig/%{name} ]; then if [ -f %{_sysconfdir}/sysconfig/%{name} ]; then
if [ "$(grep "BOINC_BOINC_USR" /etc/sysconfig/boinc-client | grep -v grep >/dev/null; echo $?)" == 1 ]; then if [ "$(grep "BOINC_BOINC_USR" %{_sysconfdir}/sysconfig/boinc-client | grep -v grep >/dev/null; echo $?)" == 1 ]; then
mv -f %{_sysconfdir}/sysconfig/%{name} %{_sysconfdir}/sysconfig/%{name}.save mv -f %{_sysconfdir}/sysconfig/%{name} %{_sysconfdir}/sysconfig/%{name}.save
fi fi
fi fi
%service_add_pre %{name}.service
%preun %preun
%if 0%{?suse_version} >=1230
%service_del_preun %{name}.service %service_del_preun %{name}.service
%else
%stop_on_removal %{name}
%endif
%post %post
%if 0%{?suse_version} >=1230
%service_add_post %{name}.service %service_add_post %{name}.service
%else
%fillup_and_insserv %{name}
%endif
%{_sbindir}/usermod -c "BOINC Client" -s /sbin/nologin boinc 2>/dev/null || : %{_sbindir}/usermod -c "BOINC Client" -s /sbin/nologin boinc 2>/dev/null || :
%postun %postun
%if 0%{?suse_version} >=1230 %service_del_postun %{name}.service
%service_del_postun
%else
%restart_on_update %{name}
%insserv_cleanup
%endif
%post -n boinc-manager %post -n boinc-manager
/usr/bin/touch --no-create %{_datadir}/icons/hicolor || : %{_bindir}/touch --no-create %{_datadir}/icons/hicolor || :
if [ -x %{_bindir}/gtk-update-icon-cache ]; then if [ -x %{_bindir}/gtk-update-icon-cache ]; then
%{_bindir}/gtk-update-icon-cache --quiet %{_datadir}/icons/hicolor || : %{_bindir}/gtk-update-icon-cache --quiet %{_datadir}/icons/hicolor || :
fi fi
%postun -n boinc-manager %postun -n boinc-manager
/usr/bin/touch --no-create %{_datadir}/icons/hicolor || : %{_bindir}/touch --no-create %{_datadir}/icons/hicolor || :
if [ -x %{_bindir}/gtk-update-icon-cache ]; then if [ -x %{_bindir}/gtk-update-icon-cache ]; then
%{_bindir}/gtk-update-icon-cache --quiet %{_datadir}/icons/hicolor || : %{_bindir}/gtk-update-icon-cache --quiet %{_datadir}/icons/hicolor || :
fi fi
@ -446,22 +397,18 @@ fi
%files %files
%defattr(-,root,root,-) %defattr(-,root,root,-)
%doc COPYING* COPYRIGHT notes todo TODO_OLD README.SUSE %doc COPYING* COPYRIGHT notes todo 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/*
%if 0%{?suse_version} >=1230
%{_unitdir}/%{name}.service
%else
/var/adm/fillup-templates/sysconfig.%{name}
%{_sbindir}/rc%{name}
%{_initrddir}/%{name}
%endif
%{_bindir}/boinc %{_bindir}/boinc
%{_bindir}/%{name} %{_bindir}/%{name}
%{_bindir}/boinccmd %{_bindir}/boinccmd
%{_bindir}/boincscr
%{_bindir}/switcher %{_bindir}/switcher
%{_mandir}/man1/boinccmd.1.gz %{_mandir}/man1/boinccmd.1.gz
%{_mandir}/man1/boinc.1.gz %{_mandir}/man1/boinc.1.gz
%{_unitdir}/%{name}.service
%{_sbindir}/rc%{name}
%defattr(-,boinc,boinc,-) %defattr(-,boinc,boinc,-)
%{_localstatedir}/lib/boinc/ %{_localstatedir}/lib/boinc/
@ -482,8 +429,10 @@ fi
%{_mandir}/man1/boinc-manager.1.gz %{_mandir}/man1/boinc-manager.1.gz
%files -n %{name}-lang -f BOINC-Client.lang %files -n %{name}-lang -f BOINC-Client.lang
%defattr(-,root,root)
%files -n boinc-manager-lang -f BOINC-Manager.lang %files -n boinc-manager-lang -f BOINC-Manager.lang
%defattr(-,root,root)
%files -n libboinc%{soname} %files -n libboinc%{soname}
%defattr(-,root,root,-) %defattr(-,root,root,-)

View File

@ -1,13 +0,0 @@
Index: client/scripts/boinc.bash
===================================================================
--- client/scripts/boinc.bash.orig
+++ client/scripts/boinc.bash
@@ -36,7 +36,7 @@ _boinc()
return 0
fi
}
-complete -F _boinc -o default boinc
+complete -F _boinc -o default-boinc
_boinccmd()
{

20
boinc-configure.patch Normal file
View File

@ -0,0 +1,20 @@
Index: configure.ac
===================================================================
--- configure.ac.orig
+++ configure.ac
@@ -968,7 +968,6 @@ AC_CONFIG_FILES([
lib/Makefile
locale/Makefile
Makefile
- py/Boinc/version.py
py/Makefile
py/boinc_path_config.py:py/boinc_path_config.py.in
py/setup.py
@@ -990,7 +989,6 @@ AC_CONFIG_FILES([
packages/solaris/CSW/boincmanager/prototype
test/boinc_path_config.py:py/boinc_path_config.py.in
test/Makefile
- test/version.inc
tools/boinc_path_config.py:py/boinc_path_config.py.in
tools/Makefile
vda/Makefile

View File

@ -2,7 +2,7 @@ Index: configure.ac
=================================================================== ===================================================================
--- configure.ac.orig --- configure.ac.orig
+++ configure.ac +++ configure.ac
@@ -285,7 +285,7 @@ AC_SUBST([TOP_BUILD_DIR], [`pwd`]) @@ -297,7 +297,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

@ -2,17 +2,17 @@ Index: client/gui_rpc_server.cpp
=================================================================== ===================================================================
--- client/gui_rpc_server.cpp.orig --- client/gui_rpc_server.cpp.orig
+++ client/gui_rpc_server.cpp +++ client/gui_rpc_server.cpp
@@ -145,12 +145,7 @@ int GUI_RPC_CONN_SET::get_password() { @@ -169,12 +169,7 @@ void 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.
// //
- if (g_use_sandbox) { - if (g_use_sandbox) {
- // Allow group access so authorized administrator can modify it - // Allow group access so authorized administrator can modify it
- chmod(GUI_RPC_PASSWD_FILE, S_IRUSR|S_IWUSR | S_IRGRP | S_IWGRP); - chmod(GUI_RPC_PASSWD_FILE, S_IRUSR|S_IWUSR | S_IRGRP | S_IWGRP);
- } else { - } else {
- chmod(GUI_RPC_PASSWD_FILE, S_IRUSR|S_IWUSR); - chmod(GUI_RPC_PASSWD_FILE, S_IRUSR|S_IWUSR);
- } - }
+ chmod(GUI_RPC_PASSWD_FILE, S_IRUSR|S_IWUSR | S_IRGRP | S_IWGRP); + chmod(GUI_RPC_PASSWD_FILE, S_IRUSR|S_IWUSR | S_IRGRP | S_IWGRP);
#endif #endif
} }
}

View File

@ -1,89 +0,0 @@
Index: client/scripts/boinc-client.in
===================================================================
--- client/scripts/boinc-client.in.orig
+++ client/scripts/boinc-client.in
@@ -19,14 +19,16 @@
# For more information about BOINC (the Berkeley Open Infrastructure
# for Network Computing) see http://boinc.berkeley.edu
# processname: boinc
-# config: /etc/sysconfig/boinc
+# config: /etc/sysconfig/boinc-client
#
### BEGIN INIT INFO
-# Provides: boinc
-# Required-Start: $network
-# Required-Stop: $network
-# Default-Start: 3 4 5
-# Default-Stop: 0 1 2 6
+# Provides: boinc-client
+# Required-Start: $network $remote_fs
+# 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.
# Description: This script starts the local BOINC client as a daemon
# For more information about BOINC (the Berkeley Open Infrastructure
@@ -117,6 +119,10 @@ fi
#
BOINCUSER=boinc
+# Name of group to run as:
+#
+BOINCUSER=boinc
+
# Working directory. Could be /home/boinc, /var/lib/boinc, etc..
# 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
@@ -128,7 +134,7 @@ BOINCDIR=/var/lib/boinc
# 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).
#
-BOINCEXE_NAME=boinc_client
+BOINCEXE_NAME=boinc-client
BOINCEXE=${bindir}/${BOINCEXE_NAME}
BOINCCMD_NAME=boinccmd
BOINCCMD=${bindir}/${BOINCCMD_NAME}
@@ -161,9 +167,7 @@ BOINCOPTS=
# Subsys lock file ...
# If there is the subsys directory, then use it ...
-if [ -d /var/lock/subsys/ ]; then
- LOCKFILE=/var/lock/subsys/${BOINCEXE_NAME}
-elif [ -d /var/lock ]; then
+if [ -d /var/lock ]; then
LOCKFILE=/var/lock/${BOINCEXE_NAME}
elif [ -d /var/run ]; then
LOCKFILE=/var/run/${BOINCEXE_NAME}.lock
@@ -178,8 +182,8 @@ export TERM=dumb
# but if the functions are not found we create our own simple replacements.
# (The idea for replacing the functions comes from OpenAFS. Thanks guys!)
-if [ -f /etc/rc.d/init.d/functions ] ; then
- . /etc/rc.d/init.d/functions
+if [ -f /etc/init.d/functions ] ; then
+ . /etc/init.d/functions
else
if printf "Hello" >/dev/null 2>/dev/null ; then
# printf works
@@ -279,7 +283,7 @@ if [ ! -d $BOINCDIR ]; then
echo -n "Creating $BOINCDIR "
if mkdir -p $BOINCDIR 2>/dev/null ; then
if [ -n "$BOINCUSER" ] ; then
- if chown $BOINCUSER $BOINCDIR ; then
+ if chown $BOINCUSER $BOINCGROUP $BOINCDIR ; then
echo_success
else
echo_failure
@@ -329,8 +333,8 @@ if [ "${USERNOW}" = "${BOINCUSER}" ] ; t
exit 8
fi
elif [ "${USERNOW}" = "root" ] ; then
- cmd="if test -O ${BOINCDIR} ; then echo success ; fi"
- if [ -z `su $BOINCUSER -c "$cmd"` ]; then
+ # cmd="if test -O ${BOINCDIR} ; then echo success ; fi"
+ # if [ -z `su $BOINCUSER -c "$cmd"` ]; then
echo -n ERROR: $BOINCDIR is not owned by $BOINCUSER.
echo_failure
echo

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:061700382a0bdedb182e501f8ce51d5e84831a010bdc322c03820cc5bab0291e
size 39793308