forked from pool/boinc-client
- Rewritten the Spec based on Malcolm Lewis Improvements (THX)
- Removed boinc-bnc_465676.patch (Fixed Upstream) - Removed boinc-bnc_465676.patch (Fixed Upstream) - Removed boinc-client-NotebookWxPanel.patch (Fixed Upstream) - Removed boinc-client-wxWindowListNode.patch (Fixed Upstream) - Fix boinc-manager-lang requires - Major spec file makeover - Updated version - Cleaned up patches - Fixed most deprecated conversion from string constant to 'char*' OBS-URL: https://build.opensuse.org/package/show/network/boinc-client?expand=0&rev=7
This commit is contained in:
parent
a04c771831
commit
d7fb2f46f3
123
README.SUSE
Normal file
123
README.SUSE
Normal file
@ -0,0 +1,123 @@
|
||||
|
||||
#####################################################################################################################
|
||||
Exported from http://boinc.berkeley.edu/wiki/Installing_BOINC on May 15, 2010, see current version online.
|
||||
#####################################################################################################################
|
||||
|
||||
Installing BOINC on openSUSE
|
||||
|
||||
|
||||
* 1 Basic installation
|
||||
* 2 What the installer does
|
||||
* 3 Verify the installation
|
||||
* 4 Set up your accounts
|
||||
* 5 Optional setup hints
|
||||
* 6 Uninstallation
|
||||
* 7 Known problems
|
||||
|
||||
Basic installation
|
||||
|
||||
Installs BOINC Client as a daemon (autostarts the BOINC client at boot
|
||||
time) and puts a BOINC Manager icon on the applications menu. The steps
|
||||
are:
|
||||
|
||||
1. Open a terminal, enter |su|, give the root password when prompted.
|
||||
2. Enter |zypper install boinc-client boinc-manager|
|
||||
(be patient while the BOINC package downloads and installs).
|
||||
3. Optional: after the installation is finished, enter
|
||||
|/sbin/chkconfig boinc-client on|
|
||||
to have Linux auto-start the boinc-client daemon at boot time.
|
||||
(See Stop or start BOINC daemon after boot
|
||||
page for helpful
|
||||
commands for managing the daemon)
|
||||
|
||||
|
||||
What the installer does
|
||||
|
||||
1. Creates the daemon script at /etc/init.d/boinc-client.
|
||||
2. Places the BOINC binaries (boinc_client, boinc_cmd and boincmgr)
|
||||
in /usr/bin/.
|
||||
3. Creates /var/lib/boinc/ for BOINC data files and the slots and
|
||||
projects directories.
|
||||
4. Names the daemon boinc-client.
|
||||
5. Creates a user named boinc. For security, boinc owns the BOINC
|
||||
data directory (/var/lib/boinc/) and all the data files and
|
||||
sub-directories it creates in the data directory.
|
||||
|
||||
|
||||
Verify the installation
|
||||
|
||||
1. If you elected to have Linux start the daemon at boot time (see
|
||||
step 3 in section Basic installation), logout and reboot Linux now
|
||||
and login under your normal user account.
|
||||
2. If you elected to not have Linux start the daemon at boot time,
|
||||
start the daemon manually with |/sbin/service boinc-client start|
|
||||
3. Open a terminal and enter |ps aux | grep boinc| to print a partial
|
||||
list of running processes. You should see |boinc_client --daemon|
|
||||
in that list, if not then something went wrong in the steps above.
|
||||
|
||||
|
||||
Set up your accounts
|
||||
|
||||
To use the GUI to set up your accounts and monitor progress:
|
||||
|
||||
* Start "boincmgr" on the command line or select Applications ->
|
||||
System Tools -> Boinc Manager from the GNOME menu.
|
||||
* Select Advanced -> Select computer... from the Boinc Manager menu.
|
||||
* Put "localhost" in for "Host name" and the contents of
|
||||
/var/lib/boinc/gui_rpc_auth.cfg for "Password" and hit "OK".
|
||||
|
||||
If you do only the basic installation as described above, BOINC manager
|
||||
will not be able to automatically connect to the client. To connect the
|
||||
client you will be required to give the GUI RPC password every time you
|
||||
start BOINC manager. That is not a bug, it is a security feature to
|
||||
prevent other users from using the manager to manipulate the client,
|
||||
change your projects, etc.
|
||||
|
||||
If you don't want to put the password every time you run the BOINC
|
||||
manager, you can:
|
||||
|
||||
1. disable the password at all [*not recommended*]
|
||||
To make the GUI passwordless, do "echo >
|
||||
/var/lib/boinc/gui_rpc_auth.cfg" (which replaces the contents of
|
||||
the file with a newline) and then restart boinc-client (with e.g.
|
||||
"/sbin/service boinc-client restart").
|
||||
2. *with boinc-client-6.4.7-1.r17542svn and newer* it is enough if
|
||||
you just add your user account into the "boinc" group, e.g. by
|
||||
typing |/usr/sbin/usermod -G boinc -a username|
|
||||
3. *with older versions* the procedure is a bit more complicated:
|
||||
Boinc (the user named boinc) owns /var/lib/boinc/ and all the
|
||||
files and directories in it so you will not be able to edit those
|
||||
files easily from your regular user account. The steps below add
|
||||
your username to the boinc group and adjust some permissions so
|
||||
that BOINC manager will automatically connect to BOINC client
|
||||
whenever you start the manager from your regular Linux user
|
||||
account. Also you will be able to edit files in the BOINC
|
||||
directory without becoming root. As you type in each command
|
||||
below, substitute your Linux username wherever you see |username|.
|
||||
Enter the following commands in a terminal, as root:
|
||||
1. |/usr/sbin/usermod -G boinc -a username|
|
||||
2. |chmod g+rw /var/lib/boinc|
|
||||
3. |chmod g+rw /var/lib/boinc/*.*|
|
||||
4. |ln -s /var/lib/boinc/gui_rpc_auth.cfg
|
||||
/home/username/gui_rpc_auth.cfg|
|
||||
5. |chown boinc:boinc /home/username/gui_rpc_auth.cfg|
|
||||
|
||||
|
||||
Uninstallation
|
||||
|
||||
As root, in a terminal, enter
|
||||
|
||||
yum remove boinc-client boinc-manager
|
||||
|
||||
|
||||
Known problems
|
||||
|
||||
boinc-client sometimes has problems connecting to the network, if the
|
||||
network connection comes up after the client has already started. This
|
||||
is a known BOINC bug, which is filed as #707.
|
||||
|
||||
In the meantime, you can fix this by restarting boinc-client. On the
|
||||
command line as root, do "/sbin/service boinc-client restart".
|
||||
Alternatively, from the GNOME menu, you can choose System ->
|
||||
Administration -> Services and then stop and start the boinc-client
|
||||
service.
|
@ -1,15 +1,14 @@
|
||||
diff -Naur boinc_core_release_6_4_5/locale/client/Makefile.am boinc_core_release_6_4_5p/locale/client/Makefile.am
|
||||
--- boinc_core_release_6_4_5/locale/client/Makefile.am 2009-02-07 10:14:49.000000000 +0100
|
||||
+++ boinc_core_release_6_4_5p/locale/client/Makefile.am 2009-02-10 22:53:18.000000000 +0100
|
||||
--- locale/Makefile.am 2010-04-15 13:59:36.000000000 -0500
|
||||
+++ locale/Makefile.am.orig 2010-10-04 11:03:57.000000000 -0500
|
||||
@@ -45,9 +45,9 @@
|
||||
install-exec-hook:
|
||||
mydir=$(DESTDIR)$(datadir) ;\
|
||||
for ldir in $(locale_dirs) ; do \
|
||||
- $(INSTALL) -d $$mydir/$$ldir ; \
|
||||
+ $(INSTALL) -d $$mydir/$$ldir/LC_MESSAGES ; \
|
||||
if [ -f "$$ldir/BOINC Manager.mo" ] ; then \
|
||||
- $(INSTALL) "$$ldir/BOINC Manager.mo" "$$mydir/$$ldir/BOINC Manager.mo" ; \
|
||||
+ $(INSTALL) "$$ldir/BOINC Manager.mo" "$$mydir/$$ldir/LC_MESSAGES/BOINC-Manager.mo" ; \
|
||||
if [ -f $$ldir/BOINC-Manager.mo ] ; then \
|
||||
- $(INSTALL) $$ldir/BOINC-Manager.mo $$mydir/$$ldir/BOINC-Manager.mo ; \
|
||||
+ $(INSTALL) $$ldir/BOINC-Manager.mo $$mydir/$$ldir/LC_MESSAGES/BOINC-Manager.mo ; \
|
||||
fi ;\
|
||||
done
|
||||
|
||||
|
@ -1,64 +0,0 @@
|
||||
diff -Naur boinc_core_release_6_4_5/lib/crypt.cpp boinc_core_release_6_4_5p/lib/crypt.cpp
|
||||
--- boinc_core_release_6_4_5/lib/crypt.cpp 2009-02-07 10:15:12.000000000 +0100
|
||||
+++ boinc_core_release_6_4_5p/lib/crypt.cpp 2009-02-09 01:12:00.000000000 +0100
|
||||
@@ -243,7 +243,7 @@
|
||||
// The output block must be decrypted in its entirety.
|
||||
//
|
||||
int encrypt_private(R_RSA_PRIVATE_KEY& key, DATA_BLOCK& in, DATA_BLOCK& out) {
|
||||
- int n, modulus_len;
|
||||
+ int n, modulus_len, retval;
|
||||
|
||||
modulus_len = (key.bits+7)/8;
|
||||
n = in.len;
|
||||
@@ -253,15 +253,25 @@
|
||||
RSA* rp = RSA_new();
|
||||
private_to_openssl(key, rp);
|
||||
RSA_private_encrypt(n, in.data, out.data, rp, RSA_PKCS1_PADDING);
|
||||
+ retval = RSA_private_encrypt(n, in.data, out.data, rp, RSA_PKCS1_PADDING);
|
||||
+ if (retval < 0) {
|
||||
+ RSA_free(rp);
|
||||
+ return ERR_CRYPTO;
|
||||
+ }
|
||||
out.len = RSA_size(rp);
|
||||
RSA_free(rp);
|
||||
return 0;
|
||||
}
|
||||
|
||||
int decrypt_public(R_RSA_PUBLIC_KEY& key, DATA_BLOCK& in, DATA_BLOCK& out) {
|
||||
+ int retval;
|
||||
RSA* rp = RSA_new();
|
||||
public_to_openssl(key, rp);
|
||||
- RSA_public_decrypt(in.len, in.data, out.data, rp, RSA_PKCS1_PADDING);
|
||||
+ retval = RSA_public_decrypt(in.len, in.data, out.data, rp, RSA_PKCS1_PADDING);
|
||||
+ if (retval < 0) {
|
||||
+ RSA_free(rp);
|
||||
+ return ERR_CRYPTO;
|
||||
+ }
|
||||
out.len = RSA_size(rp);
|
||||
return 0;
|
||||
}
|
||||
diff -Naur boinc_core_release_6_4_5/lib/error_numbers.h boinc_core_release_6_4_5p/lib/error_numbers.h
|
||||
--- boinc_core_release_6_4_5/lib/error_numbers.h 2009-02-07 10:15:12.000000000 +0100
|
||||
+++ boinc_core_release_6_4_5p/lib/error_numbers.h 2009-02-09 01:12:58.000000000 +0100
|
||||
@@ -185,7 +185,7 @@
|
||||
#define ERR_RMDIR -227
|
||||
#define ERR_SYMLINK -229
|
||||
#define ERR_DB_CONN_LOST -230
|
||||
-
|
||||
+#define ERR_CRYPTO -231
|
||||
// PLEASE: add a text description of your error to
|
||||
// the text description function boincerror() in str_util.C.
|
||||
|
||||
diff -Naur boinc_core_release_6_4_5/lib/str_util.cpp boinc_core_release_6_4_5p/lib/str_util.cpp
|
||||
--- boinc_core_release_6_4_5/lib/str_util.cpp 2009-02-07 10:15:12.000000000 +0100
|
||||
+++ boinc_core_release_6_4_5p/lib/str_util.cpp 2009-02-09 01:14:02.000000000 +0100
|
||||
@@ -735,7 +735,8 @@
|
||||
case ERR_RMDIR: return "rmdir() failed";
|
||||
case ERR_SYMLINK: return "symlink() failed";
|
||||
case ERR_DB_CONN_LOST: return "DB connection lost during enumeration";
|
||||
- case 404: return "HTTP file not found";
|
||||
+ case ERR_CRYPTO: return "encryption error";
|
||||
+ case 404: return "HTTP file not found";
|
||||
case 407: return "HTTP proxy authentication failure";
|
||||
case 416: return "HTTP range request error";
|
||||
case 500: return "HTTP internal server error";
|
@ -1,12 +0,0 @@
|
||||
diff -Naur boinc_core_release_6_6_1/client/Makefile.am boinc_core_release_6_6_1p/client/Makefile.am
|
||||
--- boinc_core_release_6_6_1/client/Makefile.am 2009-01-18 23:51:56.000000000 +0100
|
||||
+++ boinc_core_release_6_6_1p/client/Makefile.am 2009-01-22 22:10:38.000000000 +0100
|
||||
@@ -67,7 +67,7 @@
|
||||
boinc_client_LDADD = $(LIBBOINC) $(PTHREAD_LIBS)
|
||||
|
||||
boinc_clientdir = $(bindir)
|
||||
-boinc_client_DATA = ../curl/ca-bundle.crt
|
||||
+#boinc_client_DATA = ../curl/ca-bundle.crt
|
||||
|
||||
switcher_SOURCES = switcher.cpp
|
||||
|
@ -1,12 +0,0 @@
|
||||
diff -uNrp boinc_core_release_6_4_5/clientgui/common/wxFlatNotebook.cpp boinc_core_release_6_4_5p/clientgui/common/wxFlatNotebook.cpp
|
||||
--- boinc_core_release_6_4_5/clientgui/common/wxFlatNotebook.cpp 2009-02-07 10:13:28.000000000 +0100
|
||||
+++ boinc_core_release_6_4_5p/clientgui/common/wxFlatNotebook.cpp 2009-05-22 13:17:29.000000000 +0200
|
||||
@@ -607,7 +607,7 @@ const wxColour& wxFlatNotebookBase::GetA
|
||||
//
|
||||
///////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
-BEGIN_EVENT_TABLE(wxPageContainerBase, wxControl)
|
||||
+BEGIN_EVENT_TABLE(wxPageContainerBase, wxPanel)
|
||||
EVT_PAINT(wxPageContainerBase::OnPaint)
|
||||
EVT_SIZE(wxPageContainerBase::OnSize)
|
||||
EVT_LEFT_DOWN(wxPageContainerBase::OnLeftDown)
|
@ -1,11 +0,0 @@
|
||||
diff -uNrp boinc_core_release_6_4_5/client/hostinfo_unix.cpp boinc_core_release_6_4_5p/client/hostinfo_unix.cpp
|
||||
--- boinc_core_release_6_4_5/client/hostinfo_unix.cpp 2009-02-07 10:14:39.000000000 +0100
|
||||
+++ boinc_core_release_6_4_5p/client/hostinfo_unix.cpp 2009-03-16 19:54:17.000000000 +0100
|
||||
@@ -293,6 +293,7 @@ bool HOST_INFO::host_is_running_on_batte
|
||||
method = NoBattery;
|
||||
// fall through
|
||||
case NoBattery:
|
||||
+ default:
|
||||
// we have no way to determine if we're on batteries,
|
||||
// so we say we aren't
|
||||
return false;
|
@ -1,6 +1,8 @@
|
||||
# This line is mandatory to access the configuration functions
|
||||
from Config import *
|
||||
|
||||
addFilter("incoherent-init-script-name")
|
||||
addFilter("invalid-lc-messages-dir")
|
||||
addFilter("file-not-in-%lang")
|
||||
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("macro-in-comment")
|
||||
|
@ -1,6 +1,7 @@
|
||||
diff -uNrp boinc_core_release_6_4_5/lib/str_util.h boinc_core_release_6_4_5p/lib/str_util.h
|
||||
--- boinc_core_release_6_4_5/lib/str_util.h 2009-02-07 10:15:12.000000000 +0100
|
||||
+++ boinc_core_release_6_4_5p/lib/str_util.h 2009-05-31 23:02:27.000000000 +0200
|
||||
Index: lib/str_util.h
|
||||
===================================================================
|
||||
--- lib/str_util.h.orig
|
||||
+++ lib/str_util.h
|
||||
@@ -17,6 +17,7 @@
|
||||
|
||||
#ifndef STR_UTIL_H
|
||||
|
@ -1,12 +0,0 @@
|
||||
diff -Naur boinc_core_release_6_4_5/clientgui/DlgAdvPreferences.cpp boinc_core_release_6_4_5p/clientgui/DlgAdvPreferences.cpp
|
||||
--- boinc_core_release_6_4_5/clientgui/DlgAdvPreferences.cpp 2009-02-07 10:13:29.000000000 +0100
|
||||
+++ boinc_core_release_6_4_5p/clientgui/DlgAdvPreferences.cpp 2009-02-25 18:47:40.000000000 +0100
|
||||
@@ -486,7 +486,7 @@
|
||||
}
|
||||
//all text ctrls in proc special time panel
|
||||
wxWindowList children = m_panelProcSpecialTimes->GetChildren();
|
||||
- wxWindowListNode* node = children.GetFirst();
|
||||
+ wxWindowList::compatibility_iterator node = children.GetFirst();
|
||||
while(node) {
|
||||
if(node->GetData()->IsKindOf(CLASSINFO(wxTextCtrl))) {
|
||||
wxTextCtrl* txt = wxDynamicCast(node->GetData(),wxTextCtrl);
|
@ -1,8 +1,34 @@
|
||||
-------------------------------------------------------------------
|
||||
Thu Apr 28 13:28:25 UTC 2011 - saigkill@opensuse.org
|
||||
|
||||
- Rewritten the Spec based on Malcolm Lewis Improvements (THX)
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Apr 27 17:37:08 UTC 2011 - saigkill@opensuse.org
|
||||
|
||||
- Removed boinc-bnc_465676.patch (Fixed Upstream)
|
||||
- Removed boinc-bnc_465676.patch (Fixed Upstream)
|
||||
- Removed boinc-client-NotebookWxPanel.patch (Fixed Upstream)
|
||||
- Removed boinc-client-wxWindowListNode.patch (Fixed Upstream)
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Dec 28 18:21:51 CET 2010 - sbrabec@suse.cz
|
||||
|
||||
- Compile with wxWidgets (STL variant).
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Oct 5 04:24:40 UTC 2010 - malcolmlewis@opensuse.org
|
||||
|
||||
- Fix boinc-manager-lang requires
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Oct 5 03:41:39 UTC 2010 - malcolmlewis@opensuse.org
|
||||
|
||||
- Major spec file makeover
|
||||
- Updated version
|
||||
- Cleaned up patches
|
||||
- Fixed most deprecated conversion from string constant to 'char*'
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon Mar 15 16:06:23 UTC 2010 - coolo@novell.com
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
#
|
||||
# spec file for package boinc-client (Version 6.4.5)
|
||||
# spec file for package boinc-client (Version 6.10.58)
|
||||
#
|
||||
# Copyright (c) 2010 SUSE LINUX Products GmbH, Nuernberg, Germany.
|
||||
#
|
||||
@ -14,281 +14,374 @@
|
||||
|
||||
# Please submit bugfixes or comments via http://bugs.opensuse.org/
|
||||
#
|
||||
# norootforbuild
|
||||
|
||||
# Global definitions
|
||||
%define version_ 6_10_58
|
||||
%define soname 6
|
||||
|
||||
Name: boinc-client
|
||||
Version: 6.10.58
|
||||
Release: 1
|
||||
Summary: The BOINC client core
|
||||
License: LGPLv2+
|
||||
Group: Productivity/Clustering/Computing
|
||||
URL: http://boinc.berkeley.edu/
|
||||
|
||||
Source0: boinc_core_release-%{version_}.tar.bz2
|
||||
Source1: boinc-logrotate
|
||||
Source2: boinc-gui.desktop
|
||||
Source3: README.SUSE
|
||||
Source4: sysconfig.boinc-client
|
||||
Source5: boinc-icons.tar.bz2
|
||||
Source6: boincmanager
|
||||
Source7: boinc-client-rpmlintrc
|
||||
# The source for this package was pulled from upstream's vcs. Use the
|
||||
# following commands to generate the tarball:
|
||||
#
|
||||
# ./generate-tarball.sh boinc_core_release_%{version_}
|
||||
#
|
||||
# Trim all binaries and other unnecessary things.
|
||||
Source8: generate-tarball.sh
|
||||
|
||||
# PATCH-FIX-OPENSUSE boinc-guirpcauth.patch
|
||||
# Create password file rw for group, this enables passwordless connection
|
||||
# of manager from users of the boinc group.
|
||||
# This won't be probably upstreamed as it might be unsafe for common usage
|
||||
# without setting proper group ownership of the password file.
|
||||
Patch0: boinc-guirpcauth.patch
|
||||
# PATCH-FIX-OPENSUSE boinc-init.patch
|
||||
Patch1: boinc-init.patch
|
||||
# PATCH-FIX-OPENSUSE 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
|
||||
Patch4: boinc-docbook2x.patch
|
||||
# PATCH-FIX-OPENSUSE boinc-server.patch
|
||||
Patch5: boinc-server.patch
|
||||
# PATCH-FIX-OPENSUSE saigkill@opensuse.org adds define HAVE_STRCASESRTR
|
||||
Patch6: boinc-client-str_util.patch
|
||||
BuildRequires: libcurl-devel >= 7.17.1
|
||||
BuildRequires: python-mysql
|
||||
BuildRequires: update-desktop-files
|
||||
BuildRequires: Mesa-devel
|
||||
BuildRequires: freeglut-devel
|
||||
BuildRequires: libopenssl-devel
|
||||
BuildRequires: gettext-runtime
|
||||
BuildRequires: mysql-devel
|
||||
BuildRequires: wxWidgets-devel >= 2.8.7
|
||||
BuildRequires: libjpeg-devel
|
||||
BuildRequires: libxslt
|
||||
BuildRequires: xorg-x11-libXmu-devel
|
||||
BuildRequires: gcc-c++
|
||||
BuildRequires: gcc-fortran
|
||||
BuildRequires: docbook2x
|
||||
BuildRequires: docbook_4
|
||||
BuildRequires: pkg-config
|
||||
BuildRequires: autoconf
|
||||
BuildRequires: automake
|
||||
BuildRequires: libtool
|
||||
BuildRequires: m4
|
||||
BuildRequires: make
|
||||
BuildRequires: sqlite3-devel
|
||||
BuildRequires: pwdutils
|
||||
BuildRequires: patch
|
||||
BuildRequires: fdupes
|
||||
|
||||
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
||||
|
||||
|
||||
Requires(pre): pwdutils
|
||||
Requires(pre): %insserv_prereq
|
||||
Requires(pre): %fillup_prereq
|
||||
|
||||
Name: boinc-client
|
||||
Summary: The Berkeley Open Infrastructure for Network Computing (BOINC)
|
||||
Version: 6.4.5
|
||||
Release: 4
|
||||
License: LGPLv2.1
|
||||
Url: http://boinc.berkeley.edu/
|
||||
Source0: boinc_core_release_6_4_5.tar.bz2
|
||||
Source1: boinc-icons.tar.bz2
|
||||
Source2: boinc-logrotate
|
||||
Source3: boinc-gui.desktop
|
||||
Source4: boincmgr
|
||||
Source5: sysconfig.boinc
|
||||
Source100: boinc-client-rpmlintrc
|
||||
Patch0: boinc-docbook2x.patch
|
||||
Patch1: boinc-rcscript.patch
|
||||
Patch2: boinc-fs_start_included.patch
|
||||
Patch3: boinc-sysconfig.patch
|
||||
Patch4: boinc-ca_cert_deactivate.patch
|
||||
Patch5: boinc-LC_MESSAGES.patch
|
||||
Patch6: boinc-icon_old.patch
|
||||
Patch7: boinc-bnc_465676.patch
|
||||
Patch8: boinc-client-wxWindowListNode.patch
|
||||
Patch9: boinc-client-hostinfo.patch
|
||||
Patch10: boinc-client-NotebookWxPanel.patch
|
||||
Patch11: boinc-client-str_util.patch
|
||||
Group: Productivity/Clustering/Computing
|
||||
BuildRequires: libcurl-devel >= 7.15.2 python-mysql update-desktop-files
|
||||
BuildRequires: Mesa-devel freeglut-devel libopenssl-devel
|
||||
BuildRequires: gcc-c++ gettext-runtime mysql-devel wxWidgets-devel >= 2.8.7
|
||||
BuildRequires: docbook2x libjpeg-devel libxslt xorg-x11-libXmu-devel
|
||||
BuildRequires: autoconf automake libtool m4 pkg-config
|
||||
PreReq: %insserv_prereq %fillup_prereq
|
||||
Requires: logrotate cron
|
||||
Requires: boinc-doc = %{version}-%{release}
|
||||
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
||||
Requires: logrotate
|
||||
Requires: cron
|
||||
Requires: libboinc%{soname} = %{version}-%{release}
|
||||
%define _use_internal_dependency_generator 0
|
||||
%define __find_requires %wx_requires
|
||||
%lang_package
|
||||
|
||||
%description
|
||||
The Berkeley Open Infrastructure for Network Computing (BOINC) is an
|
||||
open-source software platform which supports distributed computing,
|
||||
primarily in the form of "volunteer" computing and "desktop Grid"
|
||||
computing. It is well suited for problems which are often described as
|
||||
"trivially parallel".
|
||||
The Berkeley Open Infrastructure for Network Computing (BOINC) is an open-
|
||||
source software platform which supports distributed computing, primarily in
|
||||
the form of "volunteer" computing and "desktop Grid" computing. It is well
|
||||
suited for problems which are often described as "trivially parallel". BOINC
|
||||
is the underlying software used by projects such as SETI@home, Einstein@Home,
|
||||
ClimatePrediciton.net, the World Community Grid, and many other distributed
|
||||
computing projects.
|
||||
|
||||
BOINC is the underlying software used by projects such as SETI@home,
|
||||
Einstein@Home, ClimatePrediciton.net, the World Community Grid, and
|
||||
many other distributed computing projects.
|
||||
This package installs the BOINC client software, which will allow your
|
||||
computer to participate in one or more BOINC projects, using your spare
|
||||
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.
|
||||
|
||||
%package -n boinc-manager
|
||||
Summary: GUI to control and monitor %{name}
|
||||
Group: Productivity/Scientific/Astronomy
|
||||
|
||||
Requires: hicolor-icon-theme
|
||||
Requires: %{name} = %{version}-%{release}
|
||||
Requires: boinc-manager-lang = %{version}-%{release}
|
||||
|
||||
Authors:
|
||||
--------
|
||||
University of California, Berkeley
|
||||
Dr. David P. Anderson <davea@ssl.berkeley.edu>
|
||||
Rom Walton <rwalton@ssl.berkeley.edu>
|
||||
Charlie Fenton
|
||||
%description -n boinc-manager
|
||||
The BOINC Manager is a graphical monitor and control utility for the BOINC
|
||||
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.
|
||||
|
||||
%package -n boinc-gui
|
||||
License: LGPLv2.1
|
||||
Summary: The Berkeley Open Infrastructure for Network Computing (BOINC)
|
||||
Group: Productivity/Clustering/Computing
|
||||
Requires: boinc-client = %{version}-%{release}
|
||||
Requires: boinc-doc = %{version}-%{release}
|
||||
Requires: boinc-gui-lang = %{version}-%{release}
|
||||
|
||||
%description -n boinc-gui
|
||||
The Berkeley Open Infrastructure for Network Computing (BOINC) is an
|
||||
open-source software platform which supports distributed computing,
|
||||
primarily in the form of "volunteer" computing and "desktop Grid"
|
||||
computing. It is well suited for problems which are often described as
|
||||
"trivially parallel".
|
||||
|
||||
BOINC is the underlying software used by projects such as SETI@home,
|
||||
Einstein@Home, ClimatePrediciton.net, the World Community Grid, and
|
||||
many other distributed computing projects.
|
||||
|
||||
|
||||
|
||||
Authors:
|
||||
--------
|
||||
University of California, Berkeley
|
||||
Dr. David P. Anderson <davea@ssl.berkeley.edu>
|
||||
Rom Walton <rwalton@ssl.berkeley.edu>
|
||||
Charlie Fenton
|
||||
%lang_package -n boinc-manager
|
||||
|
||||
%package devel
|
||||
License: LGPLv2.1
|
||||
Summary: The Berkeley Open Infrastructure for Network Computing (BOINC)
|
||||
Group: Productivity/Clustering/Computing
|
||||
Requires: boinc-client = %{version}-%{release}
|
||||
Summary: Development files for %{name}
|
||||
Group: Development/Libraries/Other
|
||||
|
||||
Requires: %{name} = %{version}-%{release}
|
||||
Requires: openssl-devel
|
||||
Requires: mysql-devel
|
||||
|
||||
%description devel
|
||||
The Berkeley Open Infrastructure for Network Computing (BOINC) is an
|
||||
open-source software platform which supports distributed computing,
|
||||
primarily in the form of "volunteer" computing and "desktop Grid"
|
||||
computing. It is well suited for problems which are often described as
|
||||
"trivially parallel".
|
||||
This package contains development files for %{name}.
|
||||
|
||||
BOINC is the underlying software used by projects such as SETI@home,
|
||||
Einstein@Home, ClimatePrediciton.net, the World Community Grid, and
|
||||
many other distributed computing projects.
|
||||
%package -n libboinc%{soname}
|
||||
Summary: Shared Libs for %{name}
|
||||
Group: Productivity/Scientific/Astronomy
|
||||
|
||||
%description -n libboinc%{soname}
|
||||
The BOINC Manager is a graphical monitor and control utility for the BOINC
|
||||
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.
|
||||
|
||||
%package doc
|
||||
Summary: Documentation files for %{name}
|
||||
Group: Documentation/Other
|
||||
%if 0%{?suse_version} >= 1120
|
||||
BuildArch: noarch
|
||||
%endif
|
||||
Requires: %{name} = %{version}-%{release}
|
||||
|
||||
Authors:
|
||||
--------
|
||||
University of California, Berkeley
|
||||
Dr. David P. Anderson <davea@ssl.berkeley.edu>
|
||||
Rom Walton <rwalton@ssl.berkeley.edu>
|
||||
Charlie Fenton
|
||||
|
||||
%package -n boinc-doc
|
||||
License: LGPLv2.1
|
||||
Summary: The Berkeley Open Infrastructure for Network Computing (BOINC)
|
||||
Group: Productivity/Clustering/Computing
|
||||
Requires: boinc-client = %{version}-%{release}
|
||||
Requires: boinc-gui = %{version}-%{release}
|
||||
|
||||
%description -n boinc-doc
|
||||
The Berkeley Open Infrastructure for Network Computing (BOINC) is an
|
||||
open-source software platform which supports distributed computing,
|
||||
primarily in the form of "volunteer" computing and "desktop Grid"
|
||||
computing. It is well suited for problems which are often described as
|
||||
"trivially parallel".
|
||||
|
||||
BOINC is the underlying software used by projects such as SETI@home,
|
||||
Einstein@Home, ClimatePrediciton.net, the World Community Grid, and
|
||||
many other distributed computing projects.
|
||||
|
||||
|
||||
|
||||
Authors:
|
||||
--------
|
||||
University of California, Berkeley
|
||||
Dr. David P. Anderson <davea@ssl.berkeley.edu>
|
||||
Rom Walton <rwalton@ssl.berkeley.edu>
|
||||
Charlie Fenton
|
||||
|
||||
%package -n boinc-gui-lang
|
||||
License: LGPLv2.1
|
||||
Summary: The Berkeley Open Infrastructure for Network Computing (BOINC)
|
||||
Group: Productivity/Clustering/Computing
|
||||
Requires: boinc-client = %{version}-%{release}
|
||||
Requires: boinc-gui = %{version}-%{release}
|
||||
|
||||
%description -n boinc-gui-lang
|
||||
The Berkeley Open Infrastructure for Network Computing (BOINC) is an
|
||||
open-source software platform which supports distributed computing,
|
||||
primarily in the form of "volunteer" computing and "desktop Grid"
|
||||
computing. It is well suited for problems which are often described as
|
||||
"trivially parallel".
|
||||
|
||||
BOINC is the underlying software used by projects such as SETI@home,
|
||||
Einstein@Home, ClimatePrediciton.net, the World Community Grid, and
|
||||
many other distributed computing projects.
|
||||
|
||||
|
||||
|
||||
Authors:
|
||||
--------
|
||||
University of California, Berkeley
|
||||
Dr. David P. Anderson <davea@ssl.berkeley.edu>
|
||||
Rom Walton <rwalton@ssl.berkeley.edu>
|
||||
Charlie Fenton
|
||||
%description doc
|
||||
This package contains documentation files for %{name}.
|
||||
|
||||
%prep
|
||||
%setup -q -n boinc_core_release_6_4_5
|
||||
%patch0 -p1
|
||||
%patch1 -p1
|
||||
%patch2 -p1
|
||||
%patch3 -p1
|
||||
%patch4 -p1
|
||||
%patch5 -p1
|
||||
%patch6 -p1
|
||||
%patch7 -p1
|
||||
%patch8 -p1
|
||||
%patch9 -p1
|
||||
%patch10 -p1
|
||||
%patch11 -p1
|
||||
tar -xvjf %{S:1}
|
||||
%setup -q -n boinc_core_release_%{version_}
|
||||
%patch0
|
||||
%patch1
|
||||
%patch2
|
||||
%patch3
|
||||
%patch4
|
||||
%patch5
|
||||
%patch6
|
||||
|
||||
# Unpack icons
|
||||
%{__tar} -xvjf %{S:5}
|
||||
|
||||
# Install user hints
|
||||
%{__install} -m0644 %{S:3} README.SUSE
|
||||
|
||||
# Fix lang directories (refer patch2)
|
||||
%{__mv} locale/pt_PT locale/pt
|
||||
%{__mv} locale/sv_SE locale/sv
|
||||
|
||||
# fix warning: deprecated conversion from string constant to 'char*'
|
||||
pushd clientgui/common/
|
||||
%{__sed} -i 's/static char/static const char/g' wxFlatNotebookImages.h
|
||||
popd
|
||||
pushd clientgui/res/
|
||||
%{__sed} -i 's/static char/static const char/g' *.xpm
|
||||
popd
|
||||
pushd clientgui/res/skins/default/graphic/
|
||||
%{__sed} -i 's/static char/static const char/g' *.xpm
|
||||
popd
|
||||
|
||||
%build
|
||||
export CFLAGS="%{optflags} -fno-strict-aliasing"
|
||||
export CXXFLAGS="%{optflags} -fno-strict-aliasing"
|
||||
./_autosetup
|
||||
%configure --prefix=%{_prefix} \
|
||||
--libdir=%{_libdir} \
|
||||
--mandir=%{_mandir} \
|
||||
--disable-server \
|
||||
--disable-static \
|
||||
--enable-client \
|
||||
--enable-unicode
|
||||
# does not work with parallel make
|
||||
make
|
||||
#remove ltmain.sh & run libtoolize and ./_autosetup
|
||||
%{__rm} ltmain.sh
|
||||
/usr/bin/libtoolize --force
|
||||
./_autosetup
|
||||
|
||||
%configure --disable-dependency-tracking \
|
||||
--enable-dynamic-client-linkage \
|
||||
--disable-server \
|
||||
--disable-fcgi \
|
||||
--enable-unicode \
|
||||
--with-ssl \
|
||||
--with-x \
|
||||
--disable-static
|
||||
|
||||
# Disable rpaths
|
||||
%{__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
|
||||
|
||||
# Export Path and make
|
||||
%{__make} clean
|
||||
%{__make} libboinc_la_LIBADD="-lssl -ldl" \
|
||||
CFLAGS="%{optflags} -g -W -pipe -fno-strict-aliasing -D_REENTRANT" \
|
||||
CXXFLAGS="%{optflags} -g -W -pipe -fno-strict-aliasing -D_REENTRANT" \
|
||||
DESTDIR=%{_prefix}
|
||||
|
||||
%install
|
||||
%makeinstall
|
||||
# create symlink for boinc_client
|
||||
ln -s %{_bindir}/boinc_client $RPM_BUILD_ROOT%{_bindir}/boinc
|
||||
# remove /etc/sysconfig/boinc-client
|
||||
rm -f %{buildroot}%{_sysconfdir}/sysconfig/boinc
|
||||
# install logrotate and create symlink to /etc/int.d/boinc-client
|
||||
install -d -m755 $RPM_BUILD_ROOT%{_sbindir}
|
||||
ln -s %{_sysconfdir}/init.d/boinc $RPM_BUILD_ROOT%{_sbindir}/rcboinc-client
|
||||
install -D -m644 %{S:2} $RPM_BUILD_ROOT%{_sysconfdir}/logrotate.d/boinc-client
|
||||
# install desktop-file and icons
|
||||
%{makeinstall}
|
||||
|
||||
# Creates default folders
|
||||
%{__mkdir} -p %{buildroot}%{_datadir}/icons/hicolor/16x16/apps
|
||||
%{__mkdir} -p %{buildroot}%{_datadir}/icons/hicolor/32x32/apps
|
||||
%{__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
|
||||
%{__rm} -f %{buildroot}%{_bindir}/boinc
|
||||
%{__mv} -f %{buildroot}%{_bindir}/boinc_client %{buildroot}%{_bindir}/boinc-client
|
||||
|
||||
# Use symlink instead of hardlink
|
||||
pushd %{buildroot}%{_bindir}
|
||||
/bin/ln -sf boinc-client boinc
|
||||
popd
|
||||
|
||||
# Rename boincmgr and wrap it
|
||||
%{__mv} %{buildroot}%{_bindir}/boincmgr %{buildroot}%{_bindir}/boinc_gui
|
||||
|
||||
# Install boincmanager wrapper script
|
||||
%{__install} -Dm0755 %{S:6} %{buildroot}%{_bindir}/boincmanager
|
||||
|
||||
# Remove /etc/sysconfig/boinc-client, it is added by %%fillup_and_insserv
|
||||
%{__rm} -f %{buildroot}%{_sysconfdir}/sysconfig/boinc-client
|
||||
|
||||
# Install logrotate and create symlink to /etc/init.d/boinc-client
|
||||
%{__install} -dm0755 %{buildroot}%{_sbindir}
|
||||
/bin/ln -sf %{_sysconfdir}/init.d/boinc-client %{buildroot}%{_sbindir}/rcboinc-client
|
||||
%{__install} -Dm0644 %{S:1} %{buildroot}%{_sysconfdir}/logrotate.d/%{name}
|
||||
|
||||
# Install bash completition
|
||||
%{__install} -Dpm0644 client/scripts/boinc.bash %{buildroot}%{_sysconfdir}/bash_completion.d/boinc
|
||||
|
||||
# Install template for sysconfig
|
||||
%{__install} -Dm0644 %{S:4} %{buildroot}/var/adm/fillup-templates/sysconfig.boinc-client
|
||||
|
||||
# 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
|
||||
%{__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-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
|
||||
|
||||
# Move and rename icons
|
||||
%{__mv} %{buildroot}%{_datadir}/boinc/boincmgr.16x16.png %{buildroot}%{_datadir}/icons/hicolor/16x16/apps/boincmgr.png
|
||||
%{__mv} %{buildroot}%{_datadir}/boinc/boincmgr.32x32.png %{buildroot}%{_datadir}/icons/hicolor/32x32/apps/boincmgr.png
|
||||
%{__mv} %{buildroot}%{_datadir}/boinc/boincmgr.48x48.png %{buildroot}%{_datadir}/icons/hicolor/48x48/apps/boincmgr.png
|
||||
|
||||
# Install *.desktop File
|
||||
%suse_update_desktop_file -i boinc-gui Utility
|
||||
install -D -m644 boinc-gui-128.png $RPM_BUILD_ROOT%{_datadir}/icons/hicolor/128x128/apps/boinc-gui.png
|
||||
install -D -m644 boinc-gui-64.png $RPM_BUILD_ROOT%{_datadir}/icons/hicolor/64x64/apps/boinc-gui.png
|
||||
install -D -m644 boinc-gui-48.png $RPM_BUILD_ROOT%{_datadir}/icons/hicolor/48x48/apps/boinc-gui.png
|
||||
install -D -m644 boinc-gui-32.png $RPM_BUILD_ROOT%{_datadir}/icons/hicolor/32x32/apps/boinc-gui.png
|
||||
install -D -m644 boinc-gui-22.png $RPM_BUILD_ROOT%{_datadir}/icons/hicolor/22x22/apps/boinc-gui.png
|
||||
install -D -m644 boinc-gui-16.png $RPM_BUILD_ROOT%{_datadir}/icons/hicolor/16x16/apps/boinc-gui.png
|
||||
# install boincmgr
|
||||
install -D -m755 %{S:4} $RPM_BUILD_ROOT%{_bindir}/boincmgr
|
||||
# install template for sysconfig
|
||||
install -D -m644 %{S:5} %{buildroot}/var/adm/fillup-templates/sysconfig.boinc
|
||||
# remove static Libs
|
||||
rm %{buildroot}%{_libdir}/*.a
|
||||
|
||||
# Remove libtool archives
|
||||
%{__rm} %{buildroot}%{_libdir}/*.la
|
||||
|
||||
# Relinking Manpages
|
||||
/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 boinc.1.gz %{buildroot}%{_mandir}/man1/boinc.1.gz
|
||||
|
||||
# Fix spurious-executable-perm
|
||||
%{__chmod} 0644 doc/*.php
|
||||
|
||||
# Install fake /var/lib/boinc
|
||||
%{__install} -dm0755 %{buildroot}%{_var}/lib/boinc
|
||||
|
||||
# Prepare $LANG Packages
|
||||
%find_lang BOINC-Manager
|
||||
|
||||
%fdupes -s %{buildroot}
|
||||
|
||||
%clean
|
||||
rm -rf $RPM_BUILD_ROOT
|
||||
%{__rm} -rf '%{buildroot}'
|
||||
|
||||
%pre
|
||||
# Add boinc user and group
|
||||
getent group boinc >/dev/null || groupadd -r boinc
|
||||
getent passwd boinc >/dev/null || \
|
||||
useradd -r -g boinc -d %{_localstatedir}/lib/boinc -s /sbin/nologin \
|
||||
-c "BOINC client account." boinc
|
||||
exit 0
|
||||
|
||||
%post
|
||||
# Macro to use an sysconfig File
|
||||
%{fillup_and_insserv -y boinc}
|
||||
%{fillup_and_insserv boinc-client}
|
||||
|
||||
%preun
|
||||
%stop_on_removal boinc
|
||||
%stop_on_removal boinc-client
|
||||
|
||||
%postun
|
||||
%restart_on_update boinc
|
||||
%postun
|
||||
%restart_on_update boinc-client
|
||||
%insserv_cleanup
|
||||
|
||||
%post -n boinc-manager
|
||||
/usr/bin/touch --no-create %{_datadir}/icons/hicolor || :
|
||||
if [ -x %{_bindir}/gtk-update-icon-cache ]; then
|
||||
%{_bindir}/gtk-update-icon-cache --quiet %{_datadir}/icons/hicolor || :
|
||||
fi
|
||||
|
||||
%postun -n boinc-manager
|
||||
/usr/bin/touch --no-create %{_datadir}/icons/hicolor || :
|
||||
if [ -x %{_bindir}/gtk-update-icon-cache ]; then
|
||||
%{_bindir}/gtk-update-icon-cache --quiet %{_datadir}/icons/hicolor || :
|
||||
fi
|
||||
|
||||
%post -n libboinc%{soname} -p /sbin/ldconfig
|
||||
|
||||
%postun -n libboinc%{soname} -p /sbin/ldconfig
|
||||
|
||||
%post devel -p /sbin/ldconfig
|
||||
|
||||
%postun devel -p /sbin/ldconfig
|
||||
|
||||
%files
|
||||
%defattr(-,root,root)
|
||||
%defattr(-,root,root,-)
|
||||
%doc COPYING COPYRIGHT INSTALL notes todo TODO_OLD README.SUSE
|
||||
%config(noreplace) %{_sysconfdir}/logrotate.d/%{name}
|
||||
%config(noreplace) %{_sysconfdir}/bash_completion.d/
|
||||
/var/adm/fillup-templates/sysconfig.boinc-client
|
||||
%{_bindir}/boinc
|
||||
%{_bindir}/boinc_client
|
||||
%{_bindir}/boinc_cmd
|
||||
%{_bindir}/crypt_prog
|
||||
%{_bindir}/boinc-client
|
||||
%{_sbindir}/rcboinc-client
|
||||
%{_bindir}/boinccmd
|
||||
%{_bindir}/switcher
|
||||
%{_sbindir}/*
|
||||
%config %{_sysconfdir}/boinc-client.conf
|
||||
/var/adm/fillup-templates/sysconfig.boinc
|
||||
%config %{_sysconfdir}/init.d/*
|
||||
%config(noreplace) %{_sysconfdir}/logrotate.d/*
|
||||
%{_mandir}/man*/*
|
||||
%{_initrddir}/%{name}
|
||||
%{_mandir}/man1/boinccmd.1.gz
|
||||
%{_mandir}/man1/boinc.1.gz
|
||||
%defattr(-,boinc,boinc,-)
|
||||
%{_localstatedir}/lib/boinc/
|
||||
|
||||
%files -n boinc-doc
|
||||
%defattr(-,root,root)
|
||||
%doc COPYING COPYRIGHT checkin_* INSTALL notes todo TODO_OLD doc/*.txt doc/bolt doc/logo doc/*.php doc/*.png doc/*.html
|
||||
%files doc
|
||||
%defattr(-,root,root,-)
|
||||
%doc checkin_*
|
||||
%doc doc/*.txt doc/bolt doc/logo doc/*.php doc/*.png doc/*.html
|
||||
|
||||
%files -n boinc-gui
|
||||
%defattr(-,root,root)
|
||||
%{_bindir}/boincmgr
|
||||
%files -n boinc-manager
|
||||
%defattr(-,root,root,-)
|
||||
%{_bindir}/boinc_gui
|
||||
%{_datadir}/applications/*
|
||||
%{_datadir}/icons/hicolor/*/apps/*
|
||||
%{_bindir}/boincmanager
|
||||
%{_datadir}/applications/boinc-gui.desktop
|
||||
%{_datadir}/icons/hicolor/*/apps/*
|
||||
%{_mandir}/man1/boincmgr.1.gz
|
||||
%{_mandir}/man1/boincmanager.1.gz
|
||||
|
||||
%files -n boinc-gui-lang
|
||||
%defattr(-,root,root)
|
||||
%{_datadir}/locale/*/LC_MESSAGES/*
|
||||
%dir %{_datadir}/locale/ko_KR
|
||||
%dir %{_datadir}/locale/ko_KR/LC_MESSAGES
|
||||
%dir %{_datadir}/locale/sv_SE
|
||||
%dir %{_datadir}/locale/sv_SE/LC_MESSAGES
|
||||
%files -n boinc-manager-lang -f BOINC-Manager.lang
|
||||
|
||||
%files -n libboinc%{soname}
|
||||
%defattr(-,root,root,-)
|
||||
%{_libdir}/*.so.*
|
||||
|
||||
%files devel
|
||||
%defattr(-,root,root)
|
||||
%dir %{_includedir}/boinc
|
||||
%{_includedir}/boinc/*.h
|
||||
# %{_libdir}/*a
|
||||
%defattr(-,root,root,-)
|
||||
%{_libdir}/*.so
|
||||
%{_includedir}/boinc
|
||||
|
||||
%changelog
|
||||
|
11
boinc-completion.patch
Normal file
11
boinc-completion.patch
Normal file
@ -0,0 +1,11 @@
|
||||
--- client/scripts/boinc.bash 2008-05-16 10:01:52.000000000 -0500
|
||||
+++ client/scripts/boinc.bash.orig 2010-10-04 11:19:36.000000000 -0500
|
||||
@@ -36,7 +36,7 @@
|
||||
return 0
|
||||
fi
|
||||
}
|
||||
-complete -F _boinc -o default boinc
|
||||
+complete -F _boinc -o default boinc-client
|
||||
|
||||
_boinccmd()
|
||||
{
|
@ -1,7 +1,6 @@
|
||||
diff -Naur boinc_core_release_6_6_1/configure.ac boinc_core_release_6_6_1p/configure.ac
|
||||
--- boinc_core_release_6_6_1/configure.ac 2009-01-18 23:52:57.000000000 +0100
|
||||
+++ boinc_core_release_6_6_1p/configure.ac 2009-01-23 13:02:07.000000000 +0100
|
||||
@@ -153,7 +153,7 @@
|
||||
--- configure.ac 2010-07-01 12:09:41.000000000 -0500
|
||||
+++ configure.ac.orig 2010-10-03 16:24:03.000000000 -0500
|
||||
@@ -284,7 +284,7 @@
|
||||
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 the manpages only if docbook2x-man is available.
|
||||
|
@ -1,40 +0,0 @@
|
||||
diff -Naur boinc_core_release_6_5_0/client/scripts/boinc-client.in boinc_core_release_6_5_0p/client/scripts/boinc-client.in
|
||||
--- boinc_core_release_6_5_0/client/scripts/boinc-client.in 2009-01-12 13:21:03.000000000 +0100
|
||||
+++ boinc_core_release_6_5_0p/client/scripts/boinc-client.in 2009-01-12 18:04:25.000000000 +0100
|
||||
@@ -19,12 +19,12 @@
|
||||
# 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/boinc
|
||||
#
|
||||
### BEGIN INIT INFO
|
||||
# Provides: boinc
|
||||
-# Required-Start: $network
|
||||
-# Required-Stop: $network
|
||||
+# Required-Start: $remote_fs $network
|
||||
+# Required-Stop: $remote_fs $network
|
||||
# Default-Start: 3 4 5
|
||||
# Default-Stop: 0 1 2 6
|
||||
# Short-Description: This script monitors the BOINC client.
|
||||
@@ -231,16 +231,16 @@
|
||||
config_files="
|
||||
./boinc-client.conf
|
||||
./boinc.conf
|
||||
-/etc/sysconfig/boinc-client
|
||||
+/etc/boinc/boinc-client
|
||||
/etc/default/boinc-client
|
||||
/etc/boinc-client.conf
|
||||
-${sysconfdir}/sysconfig/boinc-client
|
||||
+${sysconfdir}/boinc/boinc-client
|
||||
${sysconfdir}/default/boinc-client
|
||||
${sysconfdir}/boinc-client.conf
|
||||
-/etc/sysconfig/boinc
|
||||
+/etc/boinc
|
||||
/etc/default/boinc
|
||||
/etc/boinc.conf
|
||||
-${sysconfdir}/sysconfig/boinc
|
||||
+${sysconfdir}/boinc/boinc
|
||||
${sysconfdir}/default/boinc
|
||||
${sysconfdir}/boinc.conf
|
||||
none
|
@ -1,6 +1,6 @@
|
||||
[Desktop Entry]
|
||||
Encoding=UTF-8
|
||||
Exec=boincmgr
|
||||
Exec=boincmanager
|
||||
Icon=boinc-gui
|
||||
Terminal=false
|
||||
Type=Application
|
||||
|
16
boinc-guirpcauth.patch
Normal file
16
boinc-guirpcauth.patch
Normal file
@ -0,0 +1,16 @@
|
||||
--- client/gui_rpc_server.cpp 2010-06-18 11:45:45.000000000 -0500
|
||||
+++ client/gui_rpc_server.cpp.orig 2010-10-04 13:23:39.000000000 -0500
|
||||
@@ -146,12 +146,7 @@
|
||||
// they can cause code to execute as this user.
|
||||
// So better protect it.
|
||||
//
|
||||
- if (g_use_sandbox) {
|
||||
- // Allow group access so authorized administrator can modify it
|
||||
- chmod(GUI_RPC_PASSWD_FILE, S_IRUSR|S_IWUSR | S_IRGRP | S_IWGRP);
|
||||
- } else {
|
||||
- chmod(GUI_RPC_PASSWD_FILE, S_IRUSR|S_IWUSR);
|
||||
- }
|
||||
+ chmod(GUI_RPC_PASSWD_FILE, S_IRUSR|S_IWUSR | S_IRGRP | S_IWGRP);
|
||||
#endif
|
||||
}
|
||||
}
|
@ -1,10 +0,0 @@
|
||||
diff -Naur boinc_core_release_6_4_5/clientgui/res/Makefile.am boinc_core_release_6_4_5p/clientgui/res/Makefile.am
|
||||
--- boinc_core_release_6_4_5/clientgui/res/Makefile.am 2009-02-07 10:13:25.000000000 +0100
|
||||
+++ boinc_core_release_6_4_5p/clientgui/res/Makefile.am 2009-02-07 13:16:20.000000000 +0100
|
||||
@@ -2,5 +2,5 @@
|
||||
|
||||
include $(top_srcdir)/Makefile.incl
|
||||
|
||||
-dist_pkgdata_DATA = boincmgr.16x16.png boincmgr.32x32.png boincmgr.48x48.png
|
||||
+# dist_pkgdata_DATA = boincmgr.16x16.png boincmgr.32x32.png boincmgr.48x48.png
|
||||
|
75
boinc-init.patch
Normal file
75
boinc-init.patch
Normal file
@ -0,0 +1,75 @@
|
||||
Index: client/scripts/boinc-client.in
|
||||
===================================================================
|
||||
--- client/scripts/boinc-client.in.orig
|
||||
+++ client/scripts/boinc-client.in
|
||||
@@ -19,13 +19,13 @@
|
||||
# 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
|
||||
+# Required-Start: $network $remote_fs
|
||||
+# Required-Stop: $network $remote_fs
|
||||
+# 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
|
||||
@@ -117,6 +117,10 @@ fi
|
||||
#
|
||||
BOINCUSER=boinc
|
||||
|
||||
+# Name of group to run as:
|
||||
+#
|
||||
+BOINCGROUP=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 +132,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}
|
||||
@@ -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,10 @@ 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
|
||||
+ if [ -z `sudo -u $BOINCUSER /bin/sh -c "if test -O ${BOINCDIR} ;
|
||||
+ then echo success ; fi"` ]; then
|
||||
echo -n ERROR: $BOINCDIR is not owned by $BOINCUSER.
|
||||
echo_failure
|
||||
echo
|
@ -1,4 +1,4 @@
|
||||
/var/log/boinc_client.log {
|
||||
/var/log/boinc-client.log {
|
||||
daily
|
||||
compress
|
||||
dateext
|
||||
@ -12,7 +12,7 @@
|
||||
endscript
|
||||
}
|
||||
|
||||
/var/log/boinc_client_err.log {
|
||||
/var/log/boinc-client_err.log {
|
||||
daily
|
||||
compress
|
||||
dateext
|
||||
|
@ -1,55 +0,0 @@
|
||||
diff -Naur boinc_core_release_6_4_5/client/scripts/boinc-client.in boinc_core_release_6_4_5p/client/scripts/boinc-client.in
|
||||
--- boinc_core_release_6_4_5/client/scripts/boinc-client.in 2009-02-07 10:14:32.000000000 +0100
|
||||
+++ boinc_core_release_6_4_5p/client/scripts/boinc-client.in 2009-02-10 19:51:39.000000000 +0100
|
||||
@@ -59,8 +59,8 @@
|
||||
|
||||
# Find the correct ps to use. On solaris /usr/ucb/ps is the one to use
|
||||
# on everything else, we hope the first one in the path is the right one.
|
||||
-if [ -x /usr/ucb/ps ] ; then
|
||||
- PS=/usr/ucb/ps
|
||||
+if [ -x /usr/ps ] ; then
|
||||
+ PS=/usr/ps
|
||||
else
|
||||
PS=ps
|
||||
fi
|
||||
@@ -115,7 +115,7 @@
|
||||
|
||||
# Name of user to run as:
|
||||
#
|
||||
-BOINCUSER=boinc
|
||||
+BOINCUSER=root
|
||||
|
||||
# Working directory. Could be /home/boinc, /var/lib/boinc, etc..
|
||||
# The reason I prefer /var/lib/boinc is that this works best for a
|
||||
@@ -128,9 +128,9 @@
|
||||
# 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
|
||||
BOINCEXE=${bindir}/${BOINCEXE_NAME}
|
||||
-BOINCCMD_NAME=boinccmd
|
||||
+BOINCCMD_NAME=boinc_cmd
|
||||
BOINCCMD=${bindir}/${BOINCCMD_NAME}
|
||||
|
||||
# Log files (you should rotate these occasionally)
|
||||
@@ -178,8 +178,8 @@
|
||||
# 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 +279,7 @@
|
||||
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
|
13
boinc-server.patch
Normal file
13
boinc-server.patch
Normal file
@ -0,0 +1,13 @@
|
||||
--- sched/handle_request.cpp 2010-01-14 15:18:06.000000000 -0600
|
||||
+++ sched/handle_request.cpp.orig 2010-10-04 11:24:03.000000000 -0500
|
||||
@@ -143,7 +143,9 @@
|
||||
// write PID into the CGI_<HOSTID> file and flush to disk
|
||||
//
|
||||
count = sprintf(pid_string, "%d\n", getpid());
|
||||
- write(fd, pid_string, count);
|
||||
+ if( write(fd, pid_string, count) < 0 ) {
|
||||
+ perror("Cannot write PID to host-file") ; exit(errno) ;
|
||||
+ };
|
||||
fsync(fd);
|
||||
|
||||
g_reply->lockfile_fd = fd;
|
@ -1,17 +0,0 @@
|
||||
diff -Naur boinc_core_release_6_4_5/client/scripts/Makefile.am boinc_core_release_6_4_5p/client/scripts/Makefile.am
|
||||
--- boinc_core_release_6_4_5/client/scripts/Makefile.am 2009-02-07 10:14:32.000000000 +0100
|
||||
+++ boinc_core_release_6_4_5p/client/scripts/Makefile.am 2009-02-10 19:37:40.000000000 +0100
|
||||
@@ -3,10 +3,10 @@
|
||||
install-exec-hook:
|
||||
chmod +x boinc-client
|
||||
$(INSTALL) -d $(DESTDIR)/etc/init.d
|
||||
- $(INSTALL) -b boinc-client $(DESTDIR)/etc/init.d/boinc-client
|
||||
+ $(INSTALL) -b boinc-client $(DESTDIR)/etc/init.d/boinc
|
||||
if [ -d /etc/sysconfig ] ; then \
|
||||
- $(INSTALL) -d $(DESTDIR)/etc/sysconfig ; \
|
||||
- $(INSTALL) boinc-client.conf $(DESTDIR)/etc/sysconfig/boinc-client ; \
|
||||
+ $(INSTALL) -d $(DESTDIR)/etc ; \
|
||||
+ $(INSTALL) -m644 boinc-client.conf $(DESTDIR)/etc/boinc-client.conf ; \
|
||||
elif [ -d /etc/default ] ; then \
|
||||
$(INSTALL) -d $(DESTDIR)/etc/default ; \
|
||||
$(INSTALL) boinc-client.conf $(DESTDIR)/etc/default/boinc-client ; \
|
3
boinc_core_release-6_10_58.tar.bz2
Normal file
3
boinc_core_release-6_10_58.tar.bz2
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:6b51785ab609c46b30b1f0ee675cdb8de9f624a19fab98ac6f4964b217913676
|
||||
size 18313666
|
@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:785ae93cba2444e2a7b2e81eedac701054571b445affa9edd383272d9a546889
|
||||
size 11666731
|
@ -9,6 +9,9 @@
|
||||
#
|
||||
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
|
||||
@ -19,11 +22,11 @@ for config_file in $config_files ; do
|
||||
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
|
||||
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
|
||||
cd "$BOINCDIR"
|
||||
exec boinc-gui
|
29
generate-tarball.sh
Normal file
29
generate-tarball.sh
Normal file
@ -0,0 +1,29 @@
|
||||
#!/bin/sh
|
||||
|
||||
VERSION=$1
|
||||
|
||||
svn co http://boinc.berkeley.edu/svn/tags/boinc_core_release_$VERSION boinc_core_release_$VERSION
|
||||
if [ -z $1 ]; then
|
||||
echo "No path specified: use \"trim [PATH_TO_SOURCE_TOP_DIR]\"";
|
||||
exit 1;
|
||||
fi
|
||||
|
||||
# remove all binaries and other unnecessary things
|
||||
|
||||
echo "Trimming directories..."
|
||||
|
||||
DIRS="win_build html openssl client/os2 client/win clientgui/mac clientlib clienttray curl/include curl/mswin curl/patches lib/mac mac_build mac_installer zip/zip/macos zip/zip/win32 zip/unzip/macos zip/unzip/win32 zlib RSAEuro stripchart coprocs"
|
||||
|
||||
for DIR in $DIRS; do
|
||||
/bin/rm -rf $1/$DIR;
|
||||
echo $1/$DIR;
|
||||
done
|
||||
|
||||
echo "Trimming wxWidgets translations..."
|
||||
|
||||
# remove wxWidgets translations
|
||||
find $1/locale -name wxstd.mo -delete
|
||||
|
||||
echo "Done."
|
||||
|
||||
tar -cvjf boinc_core_release-$VERSION.tar.bz2 boinc_core_release_$VERSION --exclude=.svn
|
@ -1,32 +1,35 @@
|
||||
#
|
||||
# -*- mode:sh; mode:font-lock; -*-
|
||||
# Default variable values for the boinc-client /etc/init.d script
|
||||
#
|
||||
#BOINCEXE_NAME=boinc_client
|
||||
#BOINCCMD_NAME=boinccmd
|
||||
BOINCEXE_NAME=boinc-client
|
||||
BOINCCMD_NAME=boinccmd
|
||||
|
||||
# The userid under which boinc_client is run
|
||||
#BOINCUSER=boinc
|
||||
# The userid under which boinc-client is run
|
||||
BOINCUSER=boinc
|
||||
BOINCGROUP=boinc
|
||||
|
||||
# The directory in which boinc_client is run
|
||||
#BOINCDIR=/var/lib/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
|
||||
LOGFILE=/var/log/${BOINCEXE_NAME}.log
|
||||
ERRORLOG=/var/log/${BOINCEXE_NAME}_err.log
|
||||
|
||||
# pid file
|
||||
#PIDFILE=/var/run/${BOINCEXE_NAME}.pid
|
||||
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/subsys/${BOINCEXE_NAME}
|
||||
#LOCKFILE=/var/lock/${BOINCEXE_NAME}
|
||||
#LOCKFILE=/var/run/${BOINCEXE_NAME}.lock
|
||||
LOCKFILE=/var/lock/subsys/${BOINCEXE_NAME}
|
||||
|
||||
|
||||
# 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.
|
||||
BOINCOPTS=
|
||||
# Add this option if you want to allow boinc manager connections from remote
|
||||
# machines
|
||||
#BOINCOPTS="--allow_remote_gui_rpc"
|
||||
@ -38,5 +41,3 @@
|
||||
# Add this option if you want to run only when no logins from anywhere are
|
||||
# active
|
||||
#BOINCOPTS="--check_all_logins"
|
||||
# The default is no options.
|
||||
#BOINCOPTS=
|
Loading…
Reference in New Issue
Block a user