Accepting request 70475 from network
Fix buffer overflow in lib/filesys.c(dir_size) OBS-URL: https://build.opensuse.org/request/show/70475 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/boinc-client?expand=0&rev=16
This commit is contained in:
commit
786f374225
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
|
--- locale/Makefile.am 2010-04-15 13:59:36.000000000 -0500
|
||||||
--- boinc_core_release_6_4_5/locale/client/Makefile.am 2009-02-07 10:14:49.000000000 +0100
|
+++ locale/Makefile.am.orig 2010-10-04 11:03:57.000000000 -0500
|
||||||
+++ boinc_core_release_6_4_5p/locale/client/Makefile.am 2009-02-10 22:53:18.000000000 +0100
|
|
||||||
@@ -45,9 +45,9 @@
|
@@ -45,9 +45,9 @@
|
||||||
install-exec-hook:
|
install-exec-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) $$ldir/BOINC-Manager.mo $$mydir/$$ldir/BOINC-Manager.mo ; \
|
||||||
+ $(INSTALL) "$$ldir/BOINC Manager.mo" "$$mydir/$$ldir/LC_MESSAGES/BOINC-Manager.mo" ; \
|
+ $(INSTALL) $$ldir/BOINC-Manager.mo $$mydir/$$ldir/LC_MESSAGES/BOINC-Manager.mo ; \
|
||||||
fi ;\
|
fi ;\
|
||||||
done
|
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)
|
|
41
boinc-client-dynamic_buffers.patch
Normal file
41
boinc-client-dynamic_buffers.patch
Normal file
@ -0,0 +1,41 @@
|
|||||||
|
Index: lib/filesys.cpp
|
||||||
|
===================================================================
|
||||||
|
--- lib/filesys.cpp.orig 2011-05-16 18:13:03.000000000 +0200
|
||||||
|
+++ lib/filesys.cpp 2011-05-16 18:49:23.426248908 +0200
|
||||||
|
@@ -36,6 +36,7 @@
|
||||||
|
#include <sys/time.h>
|
||||||
|
#include <unistd.h>
|
||||||
|
#include <dirent.h>
|
||||||
|
+#include <climits>
|
||||||
|
|
||||||
|
#ifdef HAVE_SYS_RESOURCE_H
|
||||||
|
#include <sys/resource.h>
|
||||||
|
@@ -371,7 +372,8 @@ int dir_size(const char* dirpath, double
|
||||||
|
} while (FindNextFileA(hFind, &findData));
|
||||||
|
::FindClose(hFind);
|
||||||
|
#else
|
||||||
|
- char filename[256], subdir[256];
|
||||||
|
+ char filename[PATH_MAX];
|
||||||
|
+ char *subdir;
|
||||||
|
int retval=0;
|
||||||
|
DIRREF dirp;
|
||||||
|
double x;
|
||||||
|
@@ -382,7 +384,7 @@ int dir_size(const char* dirpath, double
|
||||||
|
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) {
|
||||||
|
@@ -395,6 +397,9 @@ int dir_size(const char* dirpath, double
|
||||||
|
if (retval) continue;
|
||||||
|
size += x;
|
||||||
|
}
|
||||||
|
+
|
||||||
|
+ if(subdir != NULL)
|
||||||
|
+ free(subdir);
|
||||||
|
}
|
||||||
|
dir_close(dirp);
|
||||||
|
#endif
|
@ -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
|
# This line is mandatory to access the configuration functions
|
||||||
from Config import *
|
from Config import *
|
||||||
|
|
||||||
addFilter("incoherent-init-script-name")
|
addFilter("suse-branding-unversioned-requires hicolor-icon-theme")
|
||||||
addFilter("invalid-lc-messages-dir")
|
addFilter("non-standard-uid")
|
||||||
addFilter("file-not-in-%lang")
|
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
|
Index: 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
|
--- lib/str_util.h.orig
|
||||||
|
+++ lib/str_util.h
|
||||||
@@ -17,6 +17,7 @@
|
@@ -17,6 +17,7 @@
|
||||||
|
|
||||||
#ifndef STR_UTIL_H
|
#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,56 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Mon May 16 18:49:58 CEST 2011 - pth@suse.de
|
||||||
|
|
||||||
|
- Avoid buffer overflow in filesys.cpp(dir_size).
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Sun May 1 23:27:45 UTC 2011 - chris@computersalat.de
|
||||||
|
|
||||||
|
- update to 6.10.60
|
||||||
|
* Fix: Project list issue in the attach wizard that lead to a crash
|
||||||
|
- fix deps
|
||||||
|
o wxGTK-devel
|
||||||
|
- enable parallel build
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Fri Apr 29 06:11:10 UTC 2011 - saigkill@opensuse.org
|
||||||
|
|
||||||
|
- filed shared-lib-calls-exit in boinc as
|
||||||
|
http://boinc.berkeley.edu/trac/ticket/1098
|
||||||
|
- filed binary-or-shlib-calls-gethostbyname as
|
||||||
|
http://boinc.berkeley.edu/trac/ticket/1099
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
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
|
Tue Dec 28 18:21:51 CET 2010 - sbrabec@suse.cz
|
||||||
|
|
||||||
- Compile with wxWidgets (STL variant).
|
- 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
|
Mon Mar 15 16:06:23 UTC 2010 - coolo@novell.com
|
||||||
|
|
||||||
|
@ -1,7 +1,5 @@
|
|||||||
#
|
#
|
||||||
# spec file for package boinc-client
|
# Copyright (c) 2011 by Sascha Manns <saigkill@opensuse.org>
|
||||||
#
|
|
||||||
# Copyright (c) 2011 SUSE LINUX Products GmbH, Nuernberg, Germany.
|
|
||||||
#
|
#
|
||||||
# All modifications and additions to the file contributed by third parties
|
# All modifications and additions to the file contributed by third parties
|
||||||
# remain the property of their copyright owners, unless otherwise agreed
|
# remain the property of their copyright owners, unless otherwise agreed
|
||||||
@ -14,281 +12,379 @@
|
|||||||
|
|
||||||
# Please submit bugfixes or comments via http://bugs.opensuse.org/
|
# Please submit bugfixes or comments via http://bugs.opensuse.org/
|
||||||
#
|
#
|
||||||
|
# norootforbuild
|
||||||
|
|
||||||
|
# Global definitions
|
||||||
|
|
||||||
Name: boinc-client
|
|
||||||
Summary: The Berkeley Open Infrastructure for Network Computing (BOINC)
|
|
||||||
Version: 6.4.5
|
|
||||||
Release: 11
|
|
||||||
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
|
|
||||||
%define _use_internal_dependency_generator 0
|
%define _use_internal_dependency_generator 0
|
||||||
%define __find_requires %wx_requires
|
%define __find_requires %wx_requires
|
||||||
|
%define version_ 6_10_60
|
||||||
|
%define soname 6
|
||||||
|
|
||||||
|
Name: boinc-client
|
||||||
|
Version: 6.10.60
|
||||||
|
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-icons.tar.bz2
|
||||||
|
Source2: boinc-gui.desktop
|
||||||
|
Source3: README.SUSE
|
||||||
|
Source4: sysconfig.boinc-client
|
||||||
|
Source5: boinc-logrotate
|
||||||
|
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
|
||||||
|
Source100: %{name}-rpmlintrc
|
||||||
|
|
||||||
|
# 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
|
||||||
|
# PATCH-FIX-OPENSUSE pth@suse.de use asprintf to fix buffer overflow
|
||||||
|
Patch7: boinc-client-dynamic_buffers.patch
|
||||||
|
#
|
||||||
|
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
||||||
|
|
||||||
|
Requires(pre): pwdutils
|
||||||
|
Requires(pre): %insserv_prereq
|
||||||
|
Requires(pre): %fillup_prereq
|
||||||
|
|
||||||
|
BuildRequires: Mesa-devel
|
||||||
|
#BuildRequires: autoconf
|
||||||
|
#BuildRequires: automake
|
||||||
|
BuildRequires: update-desktop-files
|
||||||
|
BuildRequires: docbook2x
|
||||||
|
BuildRequires: docbook_4
|
||||||
|
#BuildRequires: fcgi-devel
|
||||||
|
BuildRequires: fdupes
|
||||||
|
BuildRequires: freeglut-devel
|
||||||
|
BuildRequires: gcc-c++
|
||||||
|
BuildRequires: gcc-fortran
|
||||||
|
BuildRequires: gettext-runtime
|
||||||
|
#BuildRequires: gnutls-devel
|
||||||
|
BuildRequires: libcurl-devel >= 7.17.1
|
||||||
|
BuildRequires: libjpeg-devel
|
||||||
|
#BuildRequires: libtool
|
||||||
|
BuildRequires: libxslt
|
||||||
|
#BuildRequires: m4
|
||||||
|
#BuildRequires: make
|
||||||
|
BuildRequires: mysql-devel
|
||||||
|
BuildRequires: openssl-devel
|
||||||
|
#BuildRequires: patch
|
||||||
|
BuildRequires: pkg-config
|
||||||
|
BuildRequires: pwdutils
|
||||||
|
BuildRequires: python-mysql
|
||||||
|
BuildRequires: sqlite3-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: logrotate
|
||||||
|
Requires: cron
|
||||||
|
#Requires: libboinc%{soname} = %{version}-%{release}
|
||||||
|
|
||||||
|
%lang_package
|
||||||
|
|
||||||
%description
|
%description
|
||||||
The Berkeley Open Infrastructure for Network Computing (BOINC) is an
|
The Berkeley Open Infrastructure for Network Computing (BOINC) is an open-
|
||||||
open-source software platform which supports distributed computing,
|
source software platform which supports distributed computing, primarily in
|
||||||
primarily in the form of "volunteer" computing and "desktop Grid"
|
the form of "volunteer" computing and "desktop Grid" computing. It is well
|
||||||
computing. It is well suited for problems which are often described as
|
suited for problems which are often described as "trivially parallel". BOINC
|
||||||
"trivially parallel".
|
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,
|
This package installs the BOINC client software, which will allow your
|
||||||
Einstein@Home, ClimatePrediciton.net, the World Community Grid, and
|
computer to participate in one or more BOINC projects, using your spare
|
||||||
many other distributed computing projects.
|
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: %{name} = %{version}-%{release}
|
||||||
|
Requires: boinc-manager-lang = %{version}-%{release}
|
||||||
|
Requires: hicolor-icon-theme
|
||||||
|
|
||||||
|
%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.
|
||||||
|
|
||||||
Authors:
|
%lang_package -n boinc-manager
|
||||||
--------
|
|
||||||
University of California, Berkeley
|
|
||||||
Dr. David P. Anderson <davea@ssl.berkeley.edu>
|
|
||||||
Rom Walton <rwalton@ssl.berkeley.edu>
|
|
||||||
Charlie Fenton
|
|
||||||
|
|
||||||
%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
|
|
||||||
|
|
||||||
%package devel
|
%package devel
|
||||||
License: LGPLv2.1
|
Summary: Development files for %{name}
|
||||||
Summary: The Berkeley Open Infrastructure for Network Computing (BOINC)
|
Group: Development/Libraries/C and C++
|
||||||
Group: Productivity/Clustering/Computing
|
Requires: %{name} = %{version}-%{release}
|
||||||
Requires: boinc-client = %{version}-%{release}
|
Requires: mysql-devel
|
||||||
|
Requires: openssl-devel
|
||||||
|
|
||||||
%description devel
|
%description devel
|
||||||
The Berkeley Open Infrastructure for Network Computing (BOINC) is an
|
This package contains development files for %{name}.
|
||||||
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,
|
%package -n libboinc%{soname}
|
||||||
Einstein@Home, ClimatePrediciton.net, the World Community Grid, and
|
Summary: Shared Libs for %{name}
|
||||||
many other distributed computing projects.
|
Group: System/Libraries
|
||||||
|
|
||||||
|
%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
|
||||||
|
|
||||||
Authors:
|
%description doc
|
||||||
--------
|
This package contains documentation files for %{name}.
|
||||||
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
|
|
||||||
|
|
||||||
%prep
|
%prep
|
||||||
%setup -q -n boinc_core_release_6_4_5
|
%setup -q -n boinc_core_release_%{version_} -D -a 1
|
||||||
%patch0 -p1
|
%patch0
|
||||||
%patch1 -p1
|
%patch1
|
||||||
%patch2 -p1
|
%patch2
|
||||||
%patch3 -p1
|
%patch3
|
||||||
%patch4 -p1
|
%patch4
|
||||||
%patch5 -p1
|
%patch5
|
||||||
%patch6 -p1
|
%patch6
|
||||||
%patch7 -p1
|
%patch7
|
||||||
%patch8 -p1
|
|
||||||
%patch9 -p1
|
# Install user hints
|
||||||
%patch10 -p1
|
%{__install} -m0644 %{S:3} README.SUSE
|
||||||
%patch11 -p1
|
|
||||||
tar -xvjf %{S:1}
|
# 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
|
%build
|
||||||
export CFLAGS="%{optflags} -fno-strict-aliasing"
|
#remove ltmain.sh & run libtoolize and ./_autosetup
|
||||||
export CXXFLAGS="%{optflags} -fno-strict-aliasing"
|
%{__rm} ltmain.sh
|
||||||
./_autosetup
|
/usr/bin/libtoolize --force
|
||||||
%configure --prefix=%{_prefix} \
|
./_autosetup
|
||||||
--libdir=%{_libdir} \
|
|
||||||
--mandir=%{_mandir} \
|
%configure \
|
||||||
--disable-server \
|
--disable-static \
|
||||||
--disable-static \
|
--enable-dynamic-client-linkage \
|
||||||
--enable-client \
|
--disable-server \
|
||||||
--enable-unicode
|
--disable-fcgi \
|
||||||
# does not work with parallel make
|
--enable-unicode \
|
||||||
make
|
--with-ssl \
|
||||||
|
--with-x
|
||||||
|
|
||||||
|
# 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="-L%{_libdir} -lssl -ldl" \
|
||||||
|
CFLAGS="%{optflags} -g -W -pipe -fno-strict-aliasing -D_REENTRANT" \
|
||||||
|
CXXFLAGS="%{optflags} -g -W -pipe -fno-strict-aliasing -D_REENTRANT" \
|
||||||
|
DESTDIR=%{_prefix} %{?_smp_mflags}
|
||||||
|
|
||||||
%install
|
%install
|
||||||
%makeinstall
|
%{makeinstall}
|
||||||
# create symlink for boinc_client
|
|
||||||
ln -s %{_bindir}/boinc_client $RPM_BUILD_ROOT%{_bindir}/boinc
|
# Creates default folders
|
||||||
# remove /etc/sysconfig/boinc-client
|
%{__mkdir} -p %{buildroot}%{_datadir}/icons/hicolor/16x16/apps
|
||||||
rm -f %{buildroot}%{_sysconfdir}/sysconfig/boinc
|
%{__mkdir} -p %{buildroot}%{_datadir}/icons/hicolor/32x32/apps
|
||||||
# install logrotate and create symlink to /etc/int.d/boinc-client
|
%{__mkdir} -p %{buildroot}%{_datadir}/icons/hicolor/48x48/apps
|
||||||
install -d -m755 $RPM_BUILD_ROOT%{_sbindir}
|
%{__mkdir} -p %{buildroot}%{_initrddir}
|
||||||
ln -s %{_sysconfdir}/init.d/boinc $RPM_BUILD_ROOT%{_sbindir}/rcboinc-client
|
%{__mkdir} -p %{buildroot}%{_localstatedir}/lib/boinc
|
||||||
install -D -m644 %{S:2} $RPM_BUILD_ROOT%{_sysconfdir}/logrotate.d/boinc-client
|
%{__mkdir} -p %{buildroot}%{_mandir}/man1
|
||||||
# install desktop-file and icons
|
%{__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:5} %{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
|
%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
|
# Remove libtool archives
|
||||||
install -D -m644 boinc-gui-48.png $RPM_BUILD_ROOT%{_datadir}/icons/hicolor/48x48/apps/boinc-gui.png
|
%{__rm} %{buildroot}%{_libdir}/*.la
|
||||||
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
|
# Relinking Manpages
|
||||||
install -D -m644 boinc-gui-16.png $RPM_BUILD_ROOT%{_datadir}/icons/hicolor/16x16/apps/boinc-gui.png
|
/bin/ln -sf boincmgr.1.gz %{buildroot}%{_mandir}/man1/boincmanager.1.gz
|
||||||
# install boincmgr
|
/bin/ln -sf boinccmd.1.gz %{buildroot}%{_mandir}/man1/boinccmd.1.gz
|
||||||
install -D -m755 %{S:4} $RPM_BUILD_ROOT%{_bindir}/boincmgr
|
/bin/ln -sf boinc.1.gz %{buildroot}%{_mandir}/man1/boinc.1.gz
|
||||||
# install template for sysconfig
|
|
||||||
install -D -m644 %{S:5} %{buildroot}/var/adm/fillup-templates/sysconfig.boinc
|
# Fix spurious-executable-perm
|
||||||
# remove static Libs
|
%{__chmod} 0644 doc/*.php
|
||||||
rm %{buildroot}%{_libdir}/*.a
|
|
||||||
|
# Install fake /var/lib/boinc
|
||||||
|
%{__install} -dm0755 %{buildroot}%{_var}/lib/boinc
|
||||||
|
|
||||||
|
# Prepare $LANG Packages
|
||||||
|
%find_lang BOINC-Manager
|
||||||
|
|
||||||
|
%fdupes -s %{buildroot}
|
||||||
|
|
||||||
%clean
|
%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
|
%post
|
||||||
# Macro to use an sysconfig File
|
%{fillup_and_insserv boinc-client}
|
||||||
%{fillup_and_insserv -y boinc}
|
|
||||||
|
|
||||||
%preun
|
%preun
|
||||||
%stop_on_removal boinc
|
%stop_on_removal boinc-client
|
||||||
|
|
||||||
%postun
|
%postun
|
||||||
%restart_on_update boinc
|
%restart_on_update boinc-client
|
||||||
%insserv_cleanup
|
%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
|
%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
|
||||||
%{_bindir}/boinc_client
|
%{_bindir}/boinc-client
|
||||||
%{_bindir}/boinc_cmd
|
%{_sbindir}/rcboinc-client
|
||||||
%{_bindir}/crypt_prog
|
%{_bindir}/boinccmd
|
||||||
%{_bindir}/switcher
|
%{_bindir}/switcher
|
||||||
%{_sbindir}/*
|
%{_initrddir}/%{name}
|
||||||
%config %{_sysconfdir}/boinc-client.conf
|
%{_mandir}/man1/boinccmd.1.gz
|
||||||
/var/adm/fillup-templates/sysconfig.boinc
|
%{_mandir}/man1/boinc.1.gz
|
||||||
%config %{_sysconfdir}/init.d/*
|
%defattr(-,boinc,boinc,-)
|
||||||
%config(noreplace) %{_sysconfdir}/logrotate.d/*
|
%{_localstatedir}/lib/boinc/
|
||||||
%{_mandir}/man*/*
|
|
||||||
|
|
||||||
%files -n boinc-doc
|
%files doc
|
||||||
%defattr(-,root,root)
|
%defattr(-,root,root,-)
|
||||||
%doc COPYING COPYRIGHT checkin_* INSTALL notes todo TODO_OLD doc/*.txt doc/bolt doc/logo doc/*.php doc/*.png doc/*.html
|
%doc checkin_*
|
||||||
|
%doc doc/*.txt doc/bolt doc/logo doc/*.php doc/*.png doc/*.html
|
||||||
|
|
||||||
%files -n boinc-gui
|
%files -n boinc-manager
|
||||||
%defattr(-,root,root)
|
%defattr(-,root,root,-)
|
||||||
%{_bindir}/boincmgr
|
|
||||||
%{_bindir}/boinc_gui
|
%{_bindir}/boinc_gui
|
||||||
%{_datadir}/applications/*
|
%{_bindir}/boincmanager
|
||||||
%{_datadir}/icons/hicolor/*/apps/*
|
%{_datadir}/applications/boinc-gui.desktop
|
||||||
|
%{_datadir}/icons/hicolor/*/apps/*
|
||||||
|
%{_mandir}/man1/boincmgr.1.gz
|
||||||
|
%{_mandir}/man1/boincmanager.1.gz
|
||||||
|
|
||||||
%files -n boinc-gui-lang
|
%files -n boinc-manager-lang -f BOINC-Manager.lang
|
||||||
%defattr(-,root,root)
|
|
||||||
%{_datadir}/locale/*/LC_MESSAGES/*
|
%files -n libboinc%{soname}
|
||||||
%dir %{_datadir}/locale/ko_KR
|
%defattr(-,root,root,-)
|
||||||
%dir %{_datadir}/locale/ko_KR/LC_MESSAGES
|
%{_libdir}/*.so.*
|
||||||
%dir %{_datadir}/locale/sv_SE
|
|
||||||
%dir %{_datadir}/locale/sv_SE/LC_MESSAGES
|
|
||||||
|
|
||||||
%files devel
|
%files devel
|
||||||
%defattr(-,root,root)
|
%defattr(-,root,root,-)
|
||||||
%dir %{_includedir}/boinc
|
%{_libdir}/*.so
|
||||||
%{_includedir}/boinc/*.h
|
%{_includedir}/boinc
|
||||||
# %{_libdir}/*a
|
|
||||||
|
|
||||||
%changelog
|
%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
|
--- configure.ac 2010-07-01 12:09:41.000000000 -0500
|
||||||
--- boinc_core_release_6_6_1/configure.ac 2009-01-18 23:52:57.000000000 +0100
|
+++ configure.ac.orig 2010-10-03 16:24:03.000000000 -0500
|
||||||
+++ boinc_core_release_6_6_1p/configure.ac 2009-01-23 13:02:07.000000000 +0100
|
@@ -284,7 +284,7 @@
|
||||||
@@ -153,7 +153,7 @@
|
|
||||||
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.
|
||||||
|
@ -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]
|
[Desktop Entry]
|
||||||
Encoding=UTF-8
|
Encoding=UTF-8
|
||||||
Exec=boincmgr
|
Exec=boincmanager
|
||||||
Icon=boinc-gui
|
Icon=boinc-gui
|
||||||
Terminal=false
|
Terminal=false
|
||||||
Type=Application
|
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
|
daily
|
||||||
compress
|
compress
|
||||||
dateext
|
dateext
|
||||||
@ -12,7 +12,7 @@
|
|||||||
endscript
|
endscript
|
||||||
}
|
}
|
||||||
|
|
||||||
/var/log/boinc_client_err.log {
|
/var/log/boinc-client_err.log {
|
||||||
daily
|
daily
|
||||||
compress
|
compress
|
||||||
dateext
|
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_60.tar.bz2
Normal file
3
boinc_core_release_6_10_60.tar.bz2
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:dcfbf80fe432d3332f9a407e8a014234840431b5e97f562db204790c80321189
|
||||||
|
size 17848931
|
@ -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"
|
config_files="/etc/boinc-client.conf /etc/sysconfig/boinc-client"
|
||||||
|
|
||||||
|
# provide a default
|
||||||
|
BOINCDIR=/var/lib/boinc
|
||||||
|
|
||||||
# Find the correct config file
|
# Find the correct config file
|
||||||
#
|
#
|
||||||
for config_file in $config_files ; do
|
for config_file in $config_files ; do
|
||||||
@ -19,11 +22,11 @@ for config_file in $config_files ; do
|
|||||||
done
|
done
|
||||||
|
|
||||||
# Checking for gui_rpc_auth.cfg
|
# Checking for gui_rpc_auth.cfg
|
||||||
if ! test -f ~/gui_rpc_auth.cfg ; then
|
if ! test -f ~/gui_rpc_auth.cfg ; then
|
||||||
ln -s /var/lib/boinc/gui_rpc_auth.cfg .
|
ln -s /var/lib/boinc/gui_rpc_auth.cfg .
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Change directory and start BOINC Manager
|
# Change directory and start BOINC Manager
|
||||||
#
|
#
|
||||||
cd $BOINCDIR
|
cd "$BOINCDIR"
|
||||||
exec boinc_gui
|
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
|
# Default variable values for the boinc-client /etc/init.d script
|
||||||
#
|
#
|
||||||
#BOINCEXE_NAME=boinc_client
|
BOINCEXE_NAME=boinc-client
|
||||||
#BOINCCMD_NAME=boinccmd
|
BOINCCMD_NAME=boinccmd
|
||||||
|
|
||||||
# The userid under which boinc_client is run
|
# The userid under which boinc-client is run
|
||||||
#BOINCUSER=boinc
|
BOINCUSER=boinc
|
||||||
|
BOINCGROUP=boinc
|
||||||
|
|
||||||
# The directory in which boinc_client is run
|
# The directory in which boinc-client is run
|
||||||
#BOINCDIR=/var/lib/boinc
|
BOINCDIR=/var/lib/boinc
|
||||||
|
|
||||||
# log files
|
# log files
|
||||||
#LOGFILE=/var/log/${BOINCEXE_NAME}.log
|
LOGFILE=/var/log/${BOINCEXE_NAME}.log
|
||||||
#ERRORLOG=/var/log/${BOINCEXE_NAME}_err.log
|
ERRORLOG=/var/log/${BOINCEXE_NAME}_err.log
|
||||||
|
|
||||||
# pid file
|
# pid file
|
||||||
#PIDFILE=/var/run/${BOINCEXE_NAME}.pid
|
PIDFILE=/var/run/${BOINCEXE_NAME}.pid
|
||||||
|
|
||||||
# placement of the lockfile depends upon the operating system
|
# placement of the lockfile depends upon the operating system
|
||||||
# it will probably be one of the following:
|
# it will probably be one of the following:
|
||||||
#LOCKFILE=/var/lock/subsys/${BOINCEXE_NAME}
|
|
||||||
#LOCKFILE=/var/lock/${BOINCEXE_NAME}
|
#LOCKFILE=/var/lock/${BOINCEXE_NAME}
|
||||||
#LOCKFILE=/var/run/${BOINCEXE_NAME}.lock
|
#LOCKFILE=/var/run/${BOINCEXE_NAME}.lock
|
||||||
|
LOCKFILE=/var/lock/subsys/${BOINCEXE_NAME}
|
||||||
|
|
||||||
|
|
||||||
# BOINC options: for the command line when running the client.
|
# BOINC options: for the command line when running the client.
|
||||||
# Be aware that --allow_remote_gui_rpc opens up your machine to the world!
|
# 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
|
# Add this option if you want to allow boinc manager connections from remote
|
||||||
# machines
|
# machines
|
||||||
#BOINCOPTS="--allow_remote_gui_rpc"
|
#BOINCOPTS="--allow_remote_gui_rpc"
|
||||||
@ -38,5 +41,3 @@
|
|||||||
# Add this option if you want to run only when no logins from anywhere are
|
# Add this option if you want to run only when no logins from anywhere are
|
||||||
# active
|
# active
|
||||||
#BOINCOPTS="--check_all_logins"
|
#BOINCOPTS="--check_all_logins"
|
||||||
# The default is no options.
|
|
||||||
#BOINCOPTS=
|
|
Loading…
Reference in New Issue
Block a user