diff --git a/bnc-431510.patch b/bnc-431510.patch deleted file mode 100644 index 5734dca..0000000 --- a/bnc-431510.patch +++ /dev/null @@ -1,937 +0,0 @@ -diff -Naur boinc-6.2.18/client/app_stats_mac.C boinc-6.2.18-mp/client/app_stats_mac.C ---- boinc-6.2.18/client/app_stats_mac.C 2008-08-25 22:29:18.000000000 +0200 -+++ boinc-6.2.18-mp/client/app_stats_mac.C 1970-01-01 01:00:00.000000000 +0100 -@@ -1,715 +0,0 @@ --// Berkeley Open Infrastructure for Network Computing --// http://boinc.berkeley.edu --// Copyright (C) 2006 University of California --// --// This is free software; you can redistribute it and/or --// modify it under the terms of the GNU Lesser General Public --// License as published by the Free Software Foundation; --// either version 2.1 of the License, or (at your option) any later version. --// --// This software is distributed in the hope that it will be useful, --// but WITHOUT ANY WARRANTY; without even the implied warranty of --// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. --// See the GNU Lesser General Public License for more details. --// --// To view the GNU Lesser General Public License visit --// http://www.gnu.org/copyleft/lesser.html --// or write to the Free Software Foundation, Inc., --// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA -- --// This file is adapted from code originally supplied by Apple Computer, Inc. --// The Berkeley Open Infrastructure for Network Computing project has modified --// the original code and made additions as of September 22, 2006. The original --// Apple Public Source License statement appears below: -- --/* -- * Copyright (c) 2002-2004 Apple Computer, Inc. All rights reserved. -- * -- * @APPLE_LICENSE_HEADER_START@ -- * -- * The contents of this file constitute Original Code as defined in and -- * are subject to the Apple Public Source License Version 1.1 (the -- * "License"). You may not use this file except in compliance with the -- * License. Please obtain a copy of the License at -- * http://www.apple.com/publicsource and read it before using this file. -- * -- * This Original Code and all software distributed under the License are -- * distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, EITHER -- * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, -- * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, -- * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT. Please see the -- * License for the specific language governing rights and limitations -- * under the License. -- * -- * @APPLE_LICENSE_HEADER_END@ -- */ -- --// app_stats_mac.C --// -- --// #define _DEBUG 1 -- --// Put a safety limit on recursion --#define MAX_DESCENDANT_LEVEL 4 -- --// Totals for non_BOINC processes are not useful because most OSs don't --// move idle processes out of RAM, so physical memory is always full --#define GET_NON_BOINC_INFO 0 -- --// We don't need swap space info because --// http://developer.apple.com/documentation/Performance/Conceptual/ManagingMemory/Articles/AboutMemory.html says: --// Unlike most UNIX-based operating systems, Mac OS X does not use a --// preallocated swap partition for virtual memory. Instead, it uses all --// of the available space on the machineÕs boot partition. --// However, the associated overhead is not significant if we are examining --// only BOINC descendant processes. --#define GET_SWAP_SIZE 1 -- --// The overhead for getting CPU times is not significant if we are --// examining only BOINC descendant processes. --#define GET_CPU_TIMES 1 -- -- --#include --#include --#include --#include --#include --#include -- --#include "procinfo.h" -- --using std::vector; -- --static int get_boinc_proc_info(int my_pid, int boinc_pid); --static int build_proc_list (vector& pi, int boinc_pid); --static void output_child_totals(PROCINFO& pinfo); --static boolean_t appstats_task_update(task_t a_task, vector& piv); --static void find_all_descendants(vector& piv, int pid, int rlvl); --static void add_child_totals(PROCINFO& pi, vector& piv, int pid, int rlvl); --//static void add_others(PROCINFO&, std::vector&); --static void sig_pipe(int signo); -- --#ifdef _DEBUG --static void print_procinfo(PROCINFO& pinfo); --static void vm_size_render(unsigned long long a_size); --#endif -- --// BOINC helper application to get info about each of the BOINC Client's --// child processes (including all its descendants) and also totals for --// all other processes. --// On the Mac, much of this information is accessible only by the super-user, --// so this helper application must be run setuid root. -- --int main(int argc, char** argv) { -- int boinc_pid, my_pid; -- int retval; -- char buf[256]; -- -- if (geteuid() != 0) // This must be run setuid root -- return EACCES; -- -- my_pid = getpid(); -- boinc_pid = getppid(); // Assumes we were called by BOINC client -- -- if (argc == 2) -- boinc_pid = atoi(argv[1]); // Pass in any desired valid pid for testing -- -- if (signal(SIGPIPE, sig_pipe) == SIG_ERR) { -- fprintf(stderr, "signal error"); -- return 0; -- } -- -- setbuf(stdin, 0); -- setbuf(stdout, 0); -- -- while (1) { -- if (fgets(buf, sizeof(buf), stdin) == NULL) -- return 0; -- -- if (feof(stdin)) -- return 0; -- -- retval = get_boinc_proc_info(my_pid, boinc_pid); -- } -- -- return 0; --} -- --static int get_boinc_proc_info(int my_pid, int boinc_pid) { -- int retval; -- vector piv; -- PROCINFO child_total; -- unsigned int i; -- -- -- retval = build_proc_list(piv, boinc_pid); -- if (retval) -- return retval; -- -- for (i=0; i& pi, int boinc_pid) { -- boolean_t retval = FALSE; -- kern_return_t error; -- mach_port_t appstats_port; -- processor_set_t *psets, pset; -- task_t *tasks; -- unsigned i, j, pcnt, tcnt; -- PROCINFO pinfo; -- int pid, mib[4]; -- struct kinfo_proc kinfo; -- size_t kinfosize; -- -- appstats_port = mach_host_self(); -- -- // First, get a list of all tasks / processes -- -- error = host_processor_sets(appstats_port, &psets, &pcnt); -- if (error != KERN_SUCCESS) { -- fprintf(stderr, -- "Error in host_processor_sets(): %s", -- mach_error_string(error)); -- retval = TRUE; -- goto RETURN; -- } -- -- for (i = 0; i < pcnt; i++) { -- if (retval) -- break; -- -- error = host_processor_set_priv(appstats_port, psets[i], &pset); -- if (error != KERN_SUCCESS) { -- fprintf(stderr, -- "Error in host_processor_set_priv(): %s", -- mach_error_string(error)); -- retval = TRUE; -- break; -- } -- -- error = processor_set_tasks(pset, &tasks, &tcnt); -- if (error != KERN_SUCCESS) { -- fprintf(stderr, -- "Error in processor_set_tasks(): %s", -- mach_error_string(error)); -- retval = TRUE; -- break; -- } -- -- for (j = 0; j < tcnt; j++) { -- if (retval) -- break; -- -- memset(&pinfo, 0, sizeof(PROCINFO)); -- -- /* Get pid for this task. */ -- error = pid_for_task(tasks[j], &pid); -- if (error != KERN_SUCCESS) { -- /* Not a process, or the process is gone. */ -- continue; -- } -- -- // Get parent pid for each process -- /* Get kinfo structure for this task. */ -- kinfosize = sizeof(struct kinfo_proc); -- mib[0] = CTL_KERN; -- mib[1] = KERN_PROC; -- mib[2] = KERN_PROC_PID; -- mib[3] = pid; -- -- if (sysctl(mib, 4, &kinfo, &kinfosize, NULL, 0) == -1) { -- fprintf(stderr, -- "%s(): Error in sysctl(): %s", __FUNCTION__, -- strerror(errno)); -- retval = TRUE; -- break; -- } -- -- if (kinfo.kp_proc.p_stat == 0) { -- /* Zombie process. */ -- continue; -- } -- -- pinfo.id = pid; -- pinfo.parentid = kinfo.kp_eproc.e_ppid; -- -- pi.push_back(pinfo); -- } -- } -- --#if ! GET_NON_BOINC_INFO -- // Next, find all BOINC's decendants and mark them for further study -- if (! retval) -- find_all_descendants(pi, boinc_pid, 0); --#endif -- -- // Now get the process information for each descendant -- for (i = 0; i < pcnt; i++) { -- for (j = 0; j < tcnt; j++) { -- if (! retval) -- if (appstats_task_update(tasks[j], pi)) { -- retval = TRUE; -- goto RETURN; -- } -- -- /* Delete task port if it isn't our own. */ -- if (tasks[j] != mach_task_self()) { -- mach_port_deallocate(mach_task_self(), -- tasks[j]); -- } -- } -- -- error = vm_deallocate((vm_map_t)mach_task_self(), -- (vm_address_t)tasks, tcnt * sizeof(task_t)); -- if (error != KERN_SUCCESS) { -- if (!retval) -- fprintf(stderr, -- "Error in vm_deallocate(): %s", -- mach_error_string(error)); -- retval = TRUE; -- goto RETURN; -- } -- if ((error = mach_port_deallocate(mach_task_self(), -- pset)) != KERN_SUCCESS -- || (error = mach_port_deallocate(mach_task_self(), -- psets[i])) != KERN_SUCCESS) { -- if (!retval) -- fprintf(stderr, -- "Error in mach_port_deallocate(): %s", -- mach_error_string(error)); -- retval = TRUE; -- goto RETURN; -- } -- } -- -- error = vm_deallocate((vm_map_t)mach_task_self(), -- (vm_address_t)psets, pcnt * sizeof(processor_set_t)); -- if (error != KERN_SUCCESS) { -- if (!retval) -- fprintf(stderr, -- "Error in vm_deallocate(): %s", -- mach_error_string(error)); -- retval = TRUE; -- goto RETURN; -- } -- -- RETURN: -- return retval; -- --} -- --/* Update statistics for task a_task. */ --static boolean_t appstats_task_update(task_t a_task, vector& piv) --{ -- boolean_t retval; -- kern_return_t error; -- mach_msg_type_number_t count; -- task_basic_info_data_t ti; -- vm_address_t address; -- mach_port_t object_name; -- vm_region_top_info_data_t info; -- vm_size_t size; -- thread_array_t thread_table; -- unsigned int table_size; -- thread_basic_info_t thi; -- thread_basic_info_data_t thi_data; -- unsigned i; -- task_events_info_data_t events; -- vm_size_t vsize, rsize; -- PROCINFO *pinfo; -- int pid; -- -- /* Get pid for this task. */ -- error = pid_for_task(a_task, &pid); -- if (error != KERN_SUCCESS) { -- /* Not a process, or the process is gone. */ -- retval = FALSE; -- goto GONE; -- } -- -- for (i=0; iid == pid) -- break; -- } -- -- if (pinfo->id != pid) { -- fprintf(stderr, "pid %d missing from list\n", pid); -- retval = FALSE; -- goto RETURN; -- } -- --#if ! GET_NON_BOINC_INFO -- if (!pinfo->is_boinc_app) { -- retval = FALSE; -- goto RETURN; -- } --#endif -- /* -- * Get task_info, which is used for memory usage and CPU usage -- * statistics. -- */ -- count = TASK_BASIC_INFO_COUNT; -- error = task_info(a_task, TASK_BASIC_INFO, (task_info_t)&ti, &count); -- if (error != KERN_SUCCESS) { -- retval = FALSE; -- goto GONE; -- } -- -- /* -- * Get memory usage statistics. -- */ -- -- /* -- * Set rsize and vsize; they require no calculation. (Well, actually, -- * we adjust vsize if traversing memory objects to not include the -- * globally shared text and data regions). -- */ -- rsize = ti.resident_size; --#if GET_SWAP_SIZE -- vsize = ti.virtual_size; -- /* -- * Iterate through the VM regions of the process and determine -- * the amount of memory of various types it has mapped. -- */ -- for (address = 0; ; address += size) { -- /* Get memory region. */ -- count = VM_REGION_TOP_INFO_COUNT; -- if (vm_region(a_task, &address, &size, -- VM_REGION_TOP_INFO, (vm_region_info_t)&info, &count, -- &object_name) != KERN_SUCCESS) { -- /* No more memory regions. */ -- break; -- } -- -- if (address >= GLOBAL_SHARED_TEXT_SEGMENT -- && address < (GLOBAL_SHARED_DATA_SEGMENT -- + SHARED_DATA_REGION_SIZE)) { -- /* This region is private shared. */ -- -- /* -- * Check if this process has the globally shared -- * text and data regions mapped in. If so, adjust -- * virtual memory size and exit loop. -- */ -- if (info.share_mode == SM_EMPTY) { -- vm_region_basic_info_data_64_t b_info; -- -- count = VM_REGION_BASIC_INFO_COUNT_64; -- if (vm_region_64(a_task, &address, -- &size, VM_REGION_BASIC_INFO, -- (vm_region_info_t)&b_info, &count, -- &object_name) != KERN_SUCCESS) { -- break; -- } -- -- if (b_info.reserved) { -- vsize -= (SHARED_TEXT_REGION_SIZE + SHARED_DATA_REGION_SIZE); -- break; -- } -- } -- } -- } --#else -- vsize = 0; --#endif // GET_SWAP_SIZE -- pinfo->working_set_size = rsize; -- pinfo->swap_size = vsize; -- -- /* -- * Get CPU usage statistics. -- */ -- -- pinfo->user_time = (double)ti.user_time.seconds + (((double)ti.user_time.microseconds)/1000000.); -- pinfo->kernel_time = (double)ti.system_time.seconds + (((double)ti.system_time.microseconds)/1000000.); -- -- /* Get number of threads. */ -- error = task_threads(a_task, &thread_table, &table_size); -- if (error != KERN_SUCCESS) { -- retval = FALSE; -- goto RETURN; -- } -- --#if GET_CPU_TIMES -- /* Iterate through threads and collect usage stats. */ -- thi = &thi_data; -- for (i = 0; i < table_size; i++) { -- count = THREAD_BASIC_INFO_COUNT; -- if (thread_info(thread_table[i], THREAD_BASIC_INFO, -- (thread_info_t)thi, &count) == KERN_SUCCESS) { -- if ((thi->flags & TH_FLAGS_IDLE) == 0) { -- pinfo->user_time += (double)thi->user_time.seconds + (((double)thi->user_time.microseconds)/1000000.); -- pinfo->kernel_time += (double)thi->system_time.seconds + (((double)thi->system_time.microseconds)/1000000.); -- } -- } -- if (a_task != mach_task_self()) { -- if ((error = mach_port_deallocate(mach_task_self(), -- thread_table[i])) != KERN_SUCCESS) { -- fprintf(stderr, -- "Error in mach_port_deallocate(): %s", -- mach_error_string(error)); -- retval = TRUE; -- goto RETURN; -- } -- } -- } -- if ((error = vm_deallocate(mach_task_self(), (vm_offset_t)thread_table, -- table_size * sizeof(thread_array_t)) != KERN_SUCCESS)) { -- fprintf(stderr, -- "Error in vm_deallocate(): %s", -- mach_error_string(error)); -- retval = TRUE; -- goto RETURN; -- } --#endif GET_CPU_TIMES -- -- /* -- * Get event counters. -- */ -- -- count = TASK_EVENTS_INFO_COUNT; -- if (task_info(a_task, TASK_EVENTS_INFO, -- (task_info_t)&events, &count) != KERN_SUCCESS) { -- /* Error. */ -- retval = FALSE; -- goto RETURN; -- } else { -- pinfo->page_fault_count = events.pageins; -- } -- -- retval = FALSE; -- RETURN: -- GONE: -- -- return retval; --} -- --// Scan the process table marking all the decendants of the parent --// process. Loop thru entire table as the entries aren't in order. --// Recurse at most 5 times to get additional child processes. --// --static void find_all_descendants(vector& piv, int pid, int rlvl) { -- unsigned int i; -- -- if (rlvl > MAX_DESCENDANT_LEVEL) { -- return; -- } -- for (i=0; i& piv, int pid, int rlvl) { -- unsigned int i; -- -- if (rlvl > (MAX_DESCENDANT_LEVEL - 1)) { -- return; -- } -- for (i=0; i& piv) { -- unsigned int i; -- -- memset(&pi, 0, sizeof(pi)); -- for (i=0; i. -- */ -- -- --#ifdef __cplusplus --extern "C" { --#endif -- -- --#define OLD_GDB_DYLD_INTERFACE __ppc__ || __i386__ -- --#if OLD_GDB_DYLD_INTERFACE --/* -- * gdb_dyld_version is the version of gdb interface that dyld is currently -- * exporting. For the interface described in this header file gdb_dyld_version -- * is 2. As the gdb/dyld interface changes this number will be incremented and -- * comments will be added as to what are the are changes for the various -- * versions. -- */ --extern unsigned int gdb_dyld_version; -- --/* -- * gdb_dyld_state_changed is the internal dyld routine called by dyld to notify -- * gdb that the state of the data structures has changed. gdb is expected to -- * put a break point on this routine and re-read the internal dyld data -- * structures below when this break point is hit. -- */ --extern void gdb_dyld_state_changed(void); -- --/* -- * gdb looks directly at parts of two of dyld's internal data structures. The -- * list of object file images and the list of library images. The parts of -- * these structures that gdb looks at will not change unless the value of -- * gdb_dyld_version changes. The size of these structures and the other fields -- * that gdb does not look at may change. -- * -- * struct object_images { -- * struct object_image images[NOBJECT_IMAGES]; -- * unsigned long nimages; -- * struct object_images *next_images; -- * ... -- * }; -- * -- * struct library_images { -- * struct library_image images[NLIBRARY_IMAGES]; -- * unsigned long nimages; -- * struct library_images *next_images; -- * ... -- * }; -- * -- * Both the object_image structure and the library_image structure -- * start with a structure containing the following fields: -- * -- * struct image { -- * char *physical_name; physical image name (file name) -- * unsigned long vmaddr_slide; the slide from the staticly linked address -- * struct mach_header *mh; address of the mach header of the image -- * unsigned long valid; TRUE if this is struct is valid -- * char *name; image name for reporting errors -- * ... -- * }; -- * -- * In gdb_dyld_version 1 the first field was "name". In gdb_dyld_version 2 the -- * first field was changed to "physical_name" and a new fifth field "name" was -- * added. These two fields are set to the same values except in the case of -- * zero-link. In zero-link the NSLinkModule() option -- * NSLINKMODULE_OPTION_TRAILING_PHYS_NAME is used and then the physical_name is -- * the file name of the module zero-link loaded that is part of the logical -- * image "name". -- */ -- --/* object_images is the global object_images structure */ -- --/* the number of gdb_object_image structures present per bucket */ --extern unsigned int gdb_nobject_images; -- --/* the size of each gdb_object_image structure */ --extern unsigned int gdb_object_image_size; -- --/* library_images is the global library_images structure */ -- --/* the number of gdb_library_image structures present per bucket */ --extern unsigned int gdb_nlibrary_images; -- --/* the size of each gdb_library_image structure */ --extern unsigned int gdb_library_image_size; -- --#endif /* OLD_GDB_DYLD_INTERFACE */ -- -- --/* -- * Beginning in Mac OS X 10.4, there is a new mechanism for dyld to notify gdb and other about new images. -- * -- * -- */ -- --enum dyld_image_mode { dyld_image_adding=0, dyld_image_removing=1 }; -- --struct dyld_image_info { -- const struct mach_header* imageLoadAddress; /* base address image is mapped into */ -- const char* imageFilePath; /* path dyld used to load the image */ -- uintptr_t imageFileModDate; /* time_t of image file */ -- /* if stat().st_mtime of imageFilePath does not match imageFileModDate, */ -- /* then file has been modified since dyld loaded it */ --}; -- -- --typedef void (*dyld_image_notifier)(enum dyld_image_mode mode, uint32_t infoCount, const struct dyld_image_info info[]); -- --/* -- * gdb looks for the symbol "_dyld_all_image_infos" in dyld. It contains the fields below. -- * -- * For a snap shot of what images are currently loaded, the infoArray fields contain a pointer -- * to an array of all images. If infoArray is NULL, it means it is being modified, come back later. -- * -- * To be notified of changes, gdb sets a break point on the notification field. The function -- * it points to is called by dyld with an array of information about what images have been added -- * (dyld_image_adding) or are about to be removed (dyld_image_removing). -- * -- * The notification is called after infoArray is updated. This means that if gdb attaches to a process -- * and infoArray is NULL, gdb can set a break point on notification and let the proccess continue to -- * run until the break point. Then gdb can inspect the full infoArray. -- */ -- struct dyld_all_image_infos { -- uint32_t version; /* == 1 in Mac OS X 10.4 */ -- uint32_t infoArrayCount; -- const struct dyld_image_info* infoArray; -- dyld_image_notifier notification; -- bool processDetachedFromSharedRegion; --}; --extern struct dyld_all_image_infos dyld_all_image_infos; -- -- -- -- --#ifdef __cplusplus --} --#endif -- --#endif /* _DYLD_GDB_ */ diff --git a/bnc_439037.patch b/bnc_439037.patch deleted file mode 100644 index a558686..0000000 --- a/bnc_439037.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -Naur boinc-6.2.18/client/hostinfo_unix.C boinc-6.2.18-mp/client/hostinfo_unix.C ---- boinc-6.2.18/client/hostinfo_unix.C 2008-08-25 20:29:18.000000000 +0000 -+++ boinc-6.2.18-mp/client/hostinfo_unix.C 2008-11-03 17:50:19.000000000 +0000 -@@ -248,7 +248,7 @@ - // we need to find the right ac adapter first - DirScanner dir("/proc/acpi/ac_adapter/"); - while (dir.scan(ac_name)) { -- if ((ac_name.c_str()==".")||(ac_name.c_str()=="..")) continue; -+ if ((strcmp(ac_name.c_str(),".")==0)||(strcmp(ac_name.c_str(),"..")==0)) continue; - - // newer ACPI versions use "state" as filename - sprintf(ac_state, "/proc/acpi/ac_adapter/%s/state", ac_name.c_str()); diff --git a/bnc_442904.patch b/bnc_442904.patch deleted file mode 100644 index f837a26..0000000 --- a/bnc_442904.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -Naur boinc-6.2.18/win_build/installerv2/redist/Windows/src/boinccas/password.cpp boinc-6.2.18-mp/win_build/installerv2/redist/Windows/src/boinccas/password.cpp ---- boinc-6.2.18/win_build/installerv2/redist/Windows/src/boinccas/password.cpp 2008-08-25 22:28:08.000000000 +0200 -+++ boinc-6.2.18-mp/win_build/installerv2/redist/Windows/src/boinccas/password.cpp 2008-12-23 17:36:53.645629000 +0100 -@@ -105,7 +105,7 @@ - //Clean up memory. - if (pRandomBuf) - { -- delete pRandomBuf; -+ delete [] pRandomBuf; - pRandomBuf = NULL; - } - diff --git a/bnc_465676.patch b/bnc_465676.patch deleted file mode 100644 index 4ab6b92..0000000 --- a/bnc_465676.patch +++ /dev/null @@ -1,81 +0,0 @@ -diff -Naur boinc-6.2.18/checkin_notes boinc-6.2.18-mp/checkin_notes ---- boinc-6.2.18/checkin_notes 2008-08-25 16:29:18.000000000 -0400 -+++ boinc-6.2.18-mp/checkin_notes 2009-01-14 14:05:04.000000000 -0500 -@@ -1,3 +1,13 @@ -+David Jan 12 2009 -+ - lib: check return values of RSA_*() functions. -+ Also fix a memory leak, missing RSA_free(). -+ Fixes #823. -+ -+ lib/ -+ crypt.cpp -+ error_numbers.h -+ str_util.cpp -+ - David Jan 1 2008 - - fixed bug in upgrade - -diff -Naur boinc-6.2.18/lib/crypt.C boinc-6.2.18-mp/lib/crypt.C ---- boinc-6.2.18/lib/crypt.C 2008-08-25 16:27:59.000000000 -0400 -+++ boinc-6.2.18-mp/lib/crypt.C 2009-01-14 14:08:24.000000000 -0500 -@@ -210,7 +210,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; -@@ -219,17 +219,27 @@ - } - 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); -+ RSA_free(rp); - return 0; - } - -diff -Naur boinc-6.2.18/lib/error_numbers.h boinc-6.2.18-mp/lib/error_numbers.h ---- boinc-6.2.18/lib/error_numbers.h 2008-08-25 16:27:59.000000000 -0400 -+++ boinc-6.2.18-mp/lib/error_numbers.h 2009-01-14 14:12:59.000000000 -0500 -@@ -187,6 +187,7 @@ - #define ERR_CHILD_FAILED -228 - #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-6.2.18/lib/str_util.C boinc-6.2.18-mp/lib/str_util.C ---- boinc-6.2.18/lib/str_util.C 2008-08-25 16:27:59.000000000 -0400 -+++ boinc-6.2.18-mp/lib/str_util.C 2009-01-14 14:13:57.000000000 -0500 -@@ -735,6 +735,7 @@ - case ERR_BAD_FILENAME: return "file name is empty or has '..'"; - case ERR_TOO_MANY_EXITS: return "application exited too many times"; - case ERR_RMDIR: return "rmdir() failed"; -+ 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"; diff --git a/boinc-6.2.18.tar.bz2 b/boinc-6.2.18.tar.bz2 deleted file mode 100644 index 7808364..0000000 --- a/boinc-6.2.18.tar.bz2 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:8a58f7ae15461724ac02934f03da58b63a9c24edb6d8999c1691256b2cde04c5 -size 28771307 diff --git a/boinc-LC_MESSAGES.patch b/boinc-LC_MESSAGES.patch index 8771d78..c39b081 100644 --- a/boinc-LC_MESSAGES.patch +++ b/boinc-LC_MESSAGES.patch @@ -1,66 +1,15 @@ ---- locale/client/Makefile.am.orig 2008-08-25 22:38:54.000000000 +0200 -+++ locale/client/Makefile.am 2008-08-25 22:38:22.000000000 +0200 -@@ -0,0 +1,53 @@ -+## -*- mode: makefile; tab-width: 4 -*- -+ -+include $(top_srcdir)/Makefile.incl -+ -+datadir = $(prefix)/share/locale -+ -+locale_dirs = \ -+ af_ZA \ -+ ar \ -+ be \ -+ bg \ -+ ca \ -+ cs \ -+ cs_CZ \ -+ da \ -+ de \ -+ el \ -+ en_US \ -+ es \ -+ eu \ -+ fi \ -+ fr \ -+ hr \ -+ hu \ -+ it \ -+ ja \ -+ ko_KR \ -+ lt \ -+ lv \ -+ nb \ -+ nl \ -+ pl \ -+ pt \ -+ pt_BR \ -+ ro \ -+ ru \ -+ sk \ -+ sl \ -+ sv_SE \ -+ tr \ -+ uk \ -+ zh_CN \ -+ zh_TW -+ -+install-exec-hook: -+ mydir=$(DESTDIR)$(datadir) ;\ -+ for ldir in $(locale_dirs) ; do \ +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 +@@ -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/LC_MESSAGES/"BOINC Manager.mo" ; \ -+ fi ;\ -+ done -+ ---- configure.ac.orig 2008-08-25 22:29:18.000000000 +0200 -+++ configure.ac 2008-08-25 23:19:42.000000000 +0200 -@@ -670,6 +670,7 @@ - doc/Makefile - doc/manpages/Makefile - lib/Makefile -+ locale/client/Makefile - Makefile - py/Boinc/boinc_path_config.py:py/Boinc/boinc_path_config.py.in - py/Boinc/Makefile + 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 + diff --git a/boinc-bnc_465676.patch b/boinc-bnc_465676.patch new file mode 100644 index 0000000..8f7025b --- /dev/null +++ b/boinc-bnc_465676.patch @@ -0,0 +1,64 @@ +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"; diff --git a/boinc-ca_cert_deactivate.patch b/boinc-ca_cert_deactivate.patch new file mode 100644 index 0000000..af654c1 --- /dev/null +++ b/boinc-ca_cert_deactivate.patch @@ -0,0 +1,12 @@ +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 + diff --git a/boinc-client-hostinfo.patch b/boinc-client-hostinfo.patch new file mode 100644 index 0000000..dd7fd7e --- /dev/null +++ b/boinc-client-hostinfo.patch @@ -0,0 +1,11 @@ +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; diff --git a/boinc-client-rpmlintrc b/boinc-client-rpmlintrc new file mode 100644 index 0000000..f61cfaa --- /dev/null +++ b/boinc-client-rpmlintrc @@ -0,0 +1,6 @@ +# 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") diff --git a/boinc-client-wxWindowListNode.patch b/boinc-client-wxWindowListNode.patch new file mode 100644 index 0000000..02a72f2 --- /dev/null +++ b/boinc-client-wxWindowListNode.patch @@ -0,0 +1,12 @@ +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); diff --git a/boinc-client.changes b/boinc-client.changes index 5983e43..759aeef 100644 --- a/boinc-client.changes +++ b/boinc-client.changes @@ -1,31 +1,103 @@ ------------------------------------------------------------------- -Wed Jan 14 14:39:47 EST 2009 - mauro@suse.de +Fri Mar 27 11:57:43 CET 2009 - saigkill@opensuse.org -- Added bnc_465676.patch to fix bnc#465676. +- removed boinctray depency +------------------------------------------------------------------- +Sat Mar 14 18:41:07 CET 2009 - saigkill@opensuse.org + +- added rpmlintrc +------------------------------------------------------------------- +Wed Feb 25 15:06:27 CET 2009 - pth@suse.de + +- Use wxWindowList::compatibility_iterator instead of wxWindowListNode* + as the latter is not defined when wxWindows is compiled to use + the STL. +- Include standard compiler flags. +- Reformat description +- Correct spelling boinc-client-README.SuSE +------------------------------------------------------------------ +Thu Feb 12 11:10:00 CET 2009 - saigkill@opensuse.org + +- added wxstring_conversion.patch (fix Bug #774 Berkeley Bug) +------------------------------------------------------------------ +Wed Feb 11 17:41:00 CET 2009 - saigkill@opensuse.org + +- first stable Version +- fixed boincmgr to copy gui_rpc_auth.cfg to every /home +------------------------------------------------------------------ +Wed Feb 11 11:48:44 CET 2009 - saigkill@opensuse.org + +- Export %%changelog to boinc-client.changes +------------------------------------------------------------------ +Tue Feb 10 12:00:00 CET 2009 - saigkill@opensuse.org + +- changed $BOINCEXE from boinc_client to boinc +------------------------------------------------------------------ +Wed Feb 04 12:00:00 CET 2009 - saigkill@opensuse.org + +- Fixed OpenSUSE Bugzilla Bug #468414 +------------------------------------------------------------------ +Tue Feb 03 12:00:00 CET 2009 - saigkill@opensuse.org + +- updated to Version 6.4 +- deleted bnc_465676 (was fixed in sourcecode by boinc-team) +------------------------------------------------------------------ +Mon Feb 02 12:00:00 CET 2009 - dl9pf@gmx.de + +- tweaked -doc package +------------------------------------------------------------------ +Mon Feb 02 12:00:00 CET 2009 - saigkill@opensuse.org + +- added README.SuSE to %%doc +- added own Patches: + + boinc-docbook2x (fix using docbook2x) + + boinc-LC_MESSAGES (fix handling .mo LC Messages) + + boinc-rcscript (fix using init.d instead of rc.d) + (fix BOINC User root) + + boinc-sysconfig (fix installing conf in /etc/boinc-client.conf) + (fix init File as boinc) + + ca_cert_deactivate (fix deactivate using of ca_cert) + + fs_start_included (fix add $fs_network to init.d Script) +------------------------------------------------------------------ +Sun Feb 01 12:00:00 CET 2009 - saigkill@opensuse.org + +- added fillup Macro to use sysconfig +- use sysconfig.boinc as source from fillup macro +------------------------------------------------------------------ +Sat Jan 31 12:00:00 CET 2009 - saigkill@opensuse.org + +- deleted bnc_431510 not relevant (for Mac). +- deleted bnc_439037 not relevant +- deleted bnc_442904 for Win. In my Package no Win/Mac Source +- added bnc_465676.patch fix CVE-ID: CVE-2009-0126 +- branched for Factory:Contrib +------------------------------------------------------------------ +Fri Jan 23 12:00:00 CET 2009 - saigkill@opensuse.org + +- deleted mac/mac_build/win Folders from the Sourcecode +------------------------------------------------------------------ +Wed Jan 14 12:00:00 CET 2009 - mauro@suse.de + +- Added bnc_465676.patch to fix bnc#465676. + Fixes CVE-2008-5077 + check return values of RSA_*() functions. - + fix a memory leak, missing RSA_free(). + + fix a memory leak, missing RSA_free(). +------------------------------------------------------------------ +Tue Dec 23 12:00:00 CET 2008 - mauro@suse.de -------------------------------------------------------------------- -Tue Dec 23 20:24:44 CET 2008 - mauro@suse.de - -- Added bnc_442904.patch to fix bnc#442904. +- Added bnc_442904.patch to fix bnc#442904. + Use the proper delete. +------------------------------------------------------------------ +Mon Nov 03 12:00:00 CET 2008 - mauro@suse.de -------------------------------------------------------------------- -Mon Nov 3 17:57:24 UTC 2008 - mauro@suse.de - -- Add bnc_439037.patch to fix bnc#439037. We now use strcmp +- Add bnc_439037.patch to fix bnc#439037. We now use strcmp instead of the original ==. +------------------------------------------------------------------ +Fri Oct 03 12:00:00 CET 2008 - mauro@suse.de -------------------------------------------------------------------- -Sat Oct 4 05:44:49 CEST 2008 - mauro@suse.de +- Add bnc-431510.patch to fix bnc#431510. +------------------------------------------------------------------ +Mon Sep 08 12:00:00 CET 2008 - mauro@suse.de -- Add bnc-431510.patch to fix bnc#431510. - -------------------------------------------------------------------- -Mon Sep 8 22:15:35 CEST 2008 - mauro@suse.de - -- initial package for SuSE. boinc 6.2.18 (based on the enzokiel's - opensuse version). - +- initial package for SuSE. boinc 6.2.18 (based on the enzokiel's + (opensuse version). diff --git a/boinc-client.spec b/boinc-client.spec index bec1ea4..3c289ea 100644 --- a/boinc-client.spec +++ b/boinc-client.spec @@ -1,5 +1,5 @@ # -# spec file for package boinc-client (Version 6.2.18) +# spec file for package boinc-client (Version 6.4.5) # # Copyright (c) 2009 SUSE LINUX Products GmbH, Nuernberg, Germany. # @@ -15,35 +15,40 @@ # Please submit bugfixes or comments via http://bugs.opensuse.org/ # -# norootforbuild Name: boinc-client Summary: The Berkeley Open Infrastructure for Network Computing (BOINC) -Version: 6.2.18 -Release: 5 +Version: 6.4.5 +Release: 1 +License: LGPL v2.1 only Url: http://boinc.berkeley.edu/ -Source0: boinc-%{version}.tar.bz2 +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-LC_MESSAGES.patch -Patch2: boinc-rcscript.patch +Patch1: boinc-rcscript.patch +Patch2: boinc-fs_start_included.patch Patch3: boinc-sysconfig.patch -Patch4: boinc-subdirs.patch -Patch5: bnc-431510.patch -Patch6: bnc_439037.patch -Patch7: bnc_442904.patch -Patch8: bnc_465676.patch -License: LGPL v2.1 only +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 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 wxGTK-devel >= 2.8.7 BuildRequires: docbook2x libjpeg-devel libxslt xorg-x11-libXmu-devel -Requires: logrotate +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 %description @@ -59,31 +64,6 @@ many other distributed computing projects. -Authors: --------- - University of California, Berkeley - Dr. David P. Anderson - Rom Walton - Charlie Fenton - -%package -n boinc-gui-lang -License: LGPL v2.1 only -Summary: The Berkeley Open Infrastructure for Network Computing (BOINC) -Group: Productivity/Clustering/Computing - -%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 @@ -95,7 +75,9 @@ Authors: License: LGPL v2.1 only Summary: The Berkeley Open Infrastructure for Network Computing (BOINC) Group: Productivity/Clustering/Computing -Requires: boinc-client = %{version}-%{release}, boinc-gui-lang = %{version}-%{release} +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 @@ -121,7 +103,6 @@ Authors: License: LGPL v2.1 only Summary: The Berkeley Open Infrastructure for Network Computing (BOINC) Group: Productivity/Clustering/Computing -Provides: boinc-client-devel = %{version} Requires: boinc-client = %{version}-%{release} %description devel @@ -137,6 +118,60 @@ many other distributed computing projects. +Authors: +-------- + University of California, Berkeley + Dr. David P. Anderson + Rom Walton + Charlie Fenton + +%package -n boinc-doc +License: LGPL v2.1 only +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 + Rom Walton + Charlie Fenton + +%package -n boinc-gui-lang +License: LGPL v2.1 only +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 @@ -145,104 +180,160 @@ Authors: Charlie Fenton %prep -rm -rf $RPM_BUILD_ROOT -mkdir $RPM_BUILD_ROOT -%setup -q -n boinc-%{version} -%patch0 -%patch1 -%patch2 -%patch3 -%patch4 +%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 +%patch8 -p1 +%patch9 -p1 tar -xvjf %{S:1} %build -export RPM_OPT_FLAGS="-O3 -funroll-loops -fforce-addr -ffast-math" -export CFLAGS="$RPM_OPT_FLAGS" +export CFLAGS="%{optflags} -fno-strict-aliasing" +export CXXFLAGS="%{optflags} -fno-strict-aliasing" ./_autosetup -./configure \ - --prefix=%{_prefix} \ - --libdir=%{_libdir} \ - --mandir=%{_mandir} \ - --disable-server \ - --enable-client \ - --enable-unicode -make +%configure --prefix=%{_prefix} \ + --libdir=%{_libdir} \ + --mandir=%{_mandir} \ + --disable-server \ + --disable-static \ + --enable-client \ + --enable-unicode +make %{?jobs:-j %jobs} %install -make DESTDIR=$RPM_BUILD_ROOT 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-client $RPM_BUILD_ROOT%{_sbindir}/rcboinc-client -install -D -m644 %{S:2} $RPM_BUILD_ROOT%{_sysconfdir}/logrotate.d/boinc -# istall desktop-file and icons -install -D -m644 %{S:3} $RPM_BUILD_ROOT%{_datadir}/applications/boinc-gui.desktop +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 +%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 -#removing sysconfig entry -rm $RPM_BUILD_ROOT%{_sysconfdir}/sysconfig/boinc-client # 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 %clean rm -rf $RPM_BUILD_ROOT -%pre - %post +# Macro to use an sysconfig File +%{fillup_and_insserv -y boinc} %preun -%stop_on_removal boinc-client +%stop_on_removal boinc %postun -%restart_on_update boinc-client +%restart_on_update boinc +%insserv_cleanup %files %defattr(-,root,root) %{_bindir}/boinc %{_bindir}/boinc_client %{_bindir}/boinc_cmd -%{_bindir}/ca-bundle.crt %{_bindir}/crypt_prog %{_bindir}/switcher %{_sbindir}/* +%config %{_sysconfdir}/boinc-client.conf +/var/adm/fillup-templates/sysconfig.boinc %config %{_sysconfdir}/init.d/* %config(noreplace) %{_sysconfdir}/logrotate.d/* -#%{_sysconfdir}/sysconfig/* %{_mandir}/man*/* -%doc COPYING COPYRIGHT checkin_* INSTALL notes todo TODO_OLD -%files -n boinc-gui-lang +%files -n boinc-doc %defattr(-,root,root) -%{_datadir}/locale/*/LC_MESSAGES/* -%{_datadir}/locale/ko_KR -%{_datadir}/locale/ko_KR/LC_MESSAGES -%{_datadir}/locale/sv_SE -%{_datadir}/locale/sv_SE/LC_MESSAGES +%doc COPYING COPYRIGHT checkin_* INSTALL notes todo TODO_OLD doc/*.txt doc/bolt doc/logo doc/*.php doc/*.png doc/*.html %files -n boinc-gui %defattr(-,root,root) %{_bindir}/boincmgr %{_bindir}/boinc_gui %{_datadir}/applications/* -%{_datadir}/icons/hicolor/*/apps/* +%{_datadir}/icons/hicolor/*/apps/* + +%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 devel %defattr(-,root,root) -%dir %{_includedir}/BOINC -%{_includedir}/BOINC/*.h -%{_libdir}/*a +%dir %{_includedir}/boinc +%{_includedir}/boinc/*.h +# %{_libdir}/*a %changelog +* Fri Mar 27 2009 saigkill@opensuse.org +- removed boinctray depency +* Sat Mar 14 2009 saigkill@opensuse.org +- added rpmlintrc +* Wed Feb 25 2009 pth@suse.de +- Use wxWindowList::compatibility_iterator instead of wxWindowListNode* + as the latter is not defined when wxWindows is compiled to use + the STL. +- Include standard compiler flags. +- Reformat description +- Correct spelling boinc-client-README.SuSE +* Thu Feb 12 2009 saigkill@opensuse.org +- added wxstring_conversion.patch (fix Bug #774 Berkeley Bug) +* Wed Feb 11 2009 saigkill@opensuse.org +- first stable Version +- fixed boincmgr to copy gui_rpc_auth.cfg to every /home +* Wed Feb 11 2009 saigkill@opensuse.org +- Export %%changelog to boinc-client.changes +* Tue Feb 10 2009 saigkill@opensuse.org +- changed $BOINCEXE from boinc_client to boinc +* Wed Feb 04 2009 saigkill@opensuse.org +- Fixed OpenSUSE Bugzilla Bug #468414 +* Tue Feb 03 2009 saigkill@opensuse.org +- updated to Version 6.4 +- deleted bnc_465676 (was fixed in sourcecode by boinc-team) +* Mon Feb 02 2009 dl9pf@gmx.de +- tweaked -doc package +* Mon Feb 02 2009 saigkill@opensuse.org +- added README.SuSE to %%doc +- added own Patches: + + boinc-docbook2x (fix using docbook2x) + + boinc-LC_MESSAGES (fix handling .mo LC Messages) + + boinc-rcscript (fix using init.d instead of rc.d) + (fix BOINC User root) + + boinc-sysconfig (fix installing conf in /etc/boinc-client.conf) + (fix init File as boinc) + + ca_cert_deactivate (fix deactivate using of ca_cert) + + fs_start_included (fix add $fs_network to init.d Script) +* Sun Feb 01 2009 saigkill@opensuse.org +- added fillup Macro to use sysconfig +- use sysconfig.boinc as source from fillup macro +* Sat Jan 31 2009 saigkill@opensuse.org +- deleted bnc_431510 not relevant (for Mac). +- deleted bnc_439037 not relevant +- deleted bnc_442904 for Win. In my Package no Win/Mac Source +- added bnc_465676.patch fix CVE-ID: CVE-2009-0126 +- branched for Factory:Contrib +* Fri Jan 23 2009 saigkill@opensuse.org +- deleted mac/mac_build/win Folders from the Sourcecode * Wed Jan 14 2009 mauro@suse.de - Added bnc_465676.patch to fix bnc#465676. + Fixes CVE-2008-5077 @@ -258,4 +349,4 @@ rm -rf $RPM_BUILD_ROOT - Add bnc-431510.patch to fix bnc#431510. * Mon Sep 08 2008 mauro@suse.de - initial package for SuSE. boinc 6.2.18 (based on the enzokiel's - opensuse version). + (opensuse version). diff --git a/boinc-docbook2x.patch b/boinc-docbook2x.patch index e7513d4..3b4928a 100644 --- a/boinc-docbook2x.patch +++ b/boinc-docbook2x.patch @@ -1,6 +1,7 @@ ---- configure.ac.orig 2008-08-25 22:29:18.000000000 +0200 -+++ configure.ac 2008-08-25 23:06:01.000000000 +0200 -@@ -150,7 +150,7 @@ +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 @@ 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. diff --git a/boinc-fs_start_included.patch b/boinc-fs_start_included.patch new file mode 100644 index 0000000..30a3e04 --- /dev/null +++ b/boinc-fs_start_included.patch @@ -0,0 +1,40 @@ +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 diff --git a/boinc-gui.desktop b/boinc-gui.desktop index 56decfd..07c83fa 100644 --- a/boinc-gui.desktop +++ b/boinc-gui.desktop @@ -1,4 +1,3 @@ - [Desktop Entry] Encoding=UTF-8 Exec=boincmgr @@ -16,5 +15,4 @@ Comment[pt]=Configurar ou monitorizar o cliente básico do BOINC Comment[cs]=Monitoruje a nastavuje klienta BOINC Categories=Utility;X-SuSE-WebUtility;GTK; X-KDE-StartupNotify=true -X-SuSE-translate=true diff --git a/boinc-icon_old.patch b/boinc-icon_old.patch new file mode 100644 index 0000000..3a9c1c8 --- /dev/null +++ b/boinc-icon_old.patch @@ -0,0 +1,10 @@ +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 + diff --git a/boinc-logrotate b/boinc-logrotate index 5e46b3c..82e23ea 100644 --- a/boinc-logrotate +++ b/boinc-logrotate @@ -1,4 +1,4 @@ -/var/log/boinc_client.log { +/var/log/boinc_client.log { daily compress dateext diff --git a/boinc-rcscript.patch b/boinc-rcscript.patch index 6120ac7..1185952 100644 --- a/boinc-rcscript.patch +++ b/boinc-rcscript.patch @@ -1,50 +1,18 @@ ---- client/scripts/boinc-client.in.orig Wed Sep 03 13:08:27 2008 -+++ client/scripts/boinc-client.in Wed Sep 03 13:21:19 2008 -@@ -25,7 +25,7 @@ - # Provides: boinc - # Required-Start: $network - # Required-Stop: $network --# Default-Start: 3 4 5 -+# Default-Start: 3 4 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 -@@ -54,12 +54,13 @@ - ######################################################################## - - # set the basic PATH --export PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/ucb/bin -+PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/ucb/bin -+export PATH +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 /bin/ps ] ; then -+ PS=/bin/ps ++if [ -x /usr/ps ] ; then ++ PS=/usr/ps else PS=ps fi -@@ -72,7 +73,7 @@ - ######################################################################## - SHELLS="bash ksh zsh" - # count how many times we've tried to restart --TRIES=$1 -+TRIES=$2 - if [ -z "$TRIES" ] ; then - TRIES=0 - fi -@@ -92,7 +93,7 @@ - for try in $SHELLS ; do - ex=`which $try` - if [ ! -z "${ex}" -a -x "${ex}" ] ; then -- if ${ex} $0 $TRIES ; then -+ if ${ex} $0 $1 $TRIES ; then - # it worked, we can exit - exit 0 - else -@@ -114,7 +115,7 @@ +@@ -115,7 +115,7 @@ # Name of user to run as: # @@ -53,154 +21,35 @@ # Working directory. Could be /home/boinc, /var/lib/boinc, etc.. # The reason I prefer /var/lib/boinc is that this works best for a -@@ -129,7 +130,7 @@ +@@ -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_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) -@@ -161,9 +162,11 @@ - - # If there is the subsys directory, then use it ... - if [ -d /var/lock/subsys/ ]; then -- LOCKFILE=/var/lock/subsys/boinc-client -+ LOCKFILE=/var/lock/subsys/${BOINCEXE_NAME} - elif [ -d /var/lock ]; then -- LOCKFILE=/var/lock/boinc-client -+ LOCKFILE=/var/lock/${BOINCEXE_NAME} -+elif [ -d /var/run ]; then -+ LOCKFILE=/var/run/${BOINCEXE_NAME}.lock - fi - - # su on Linux seems to need this to be set to work properly in a script -@@ -175,25 +178,26 @@ +@@ -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 `printf "Hello" >/dev/null 2>/dev/null` ; then +if [ -f /etc/init.d/functions ] ; then + . /etc/init.d/functions -+else -+ if printf "Hello" >/dev/null 2>/dev/null ; then + else + if printf "Hello" >/dev/null 2>/dev/null ; then # printf works - printcol='printf \033[60G%s' -- if `echo -en "Hello" >/dev/null 2>/dev/null` ; then -+ elif echo -en "Hello" >/dev/null 2>/dev/null ; then - # echo -en works - printcol='echo -en \033[60G' -- else -+ else - # no printf make do with echo -n - printcol="echo -n .........." -- fi -- function echo_success () { $printcol "[OK]" ; } -- function echo_failure () { $printcol "[FAILED]" ; } -- function echo_warning () { $printcol "[WARNING]" ; } -- function killproc() { -+ fi -+ function echo_success () { $printcol "[OK]" ; } -+ function echo_failure () { $printcol "[FAILED]" ; } -+ function echo_warning () { $printcol "[WARNING]" ; } -+ function killproc() { - PID=`local_pidof $1` - [ $PID ] && kill $PID -- } -+ } - fi - - # check if we have pidof. If not use ps and grep for the same job. -@@ -212,7 +216,9 @@ - # If we don't have it, use su for the same job. - # - if [ ! -x /sbin/runuser ] ; then -- alias runuser=su -+ RUNUSER=su -+else -+ RUNUSER=runuser - fi - - # Some additional places to look for executables -@@ -226,16 +232,16 @@ - ./boinc-client.conf - ./boinc.conf - /etc/sysconfig/boinc-client --/etc/default/boinc-client --/etc/boinc-client.conf --${sysconfdir}/sysconfig/boinc-client --${sysconfdir}/default/boinc-client --${sysconfdir}/boinc-client.conf - /etc/sysconfig/boinc -+/etc/default/boinc-client - /etc/default/boinc -+/etc/boinc-client.conf - /etc/boinc.conf -+${sysconfdir}/sysconfig/boinc-client - ${sysconfdir}/sysconfig/boinc -+${sysconfdir}/default/boinc-client - ${sysconfdir}/default/boinc -+${sysconfdir}/boinc-client.conf - ${sysconfdir}/boinc.conf - none - " -@@ -264,6 +270,9 @@ - . ${config_file} - fi - -+## Get group-id for user $BOINCUSER in stringformat -+BOINCGROUP=`id -gn $BOINCUSER` -+ - ## Add ${BOINCDIR} to the path, just in case the executables are stored there. - export PATH=${PATH}:${BOINCDIR} - -@@ -272,7 +281,7 @@ +@@ -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 ++ if chown $BOINCUSER $BOINCGROUP $BOINCDIR ; then echo_success else echo_failure -@@ -288,7 +297,8 @@ - fi - - ## Check what user we are running as: --USERNOW=`whoami` -+# we can't rely on the existence of "whoami" or "logname", so we'll use ps. -+USERNOW=`${PS} u $$ | tail -1 | awk '{print $1}'` - if [ -z "$BOINCUSER" ] ; then - BOINCUSER="${USERNOW}" - fi -@@ -321,7 +331,8 @@ - exit 8 - fi - elif [ "${USERNOW}" = "root" ] ; then -- if [ -z `su -s /bin/sh $BOINCUSER -c "if test -O ${BOINCDIR} ; then echo success ; fi"` ]; then -+ cmd="if test -O ${BOINCDIR} ; then echo success ; fi" -+ if [ -z `su $BOINCUSER -c "$cmd"` ]; then - echo -n ERROR: $BOINCDIR is not owned by $BOINCUSER. - echo_failure - echo -@@ -389,6 +400,7 @@ - echo - fi - -+ touch ${LOGFILE} ${ERRORLOG} - NOCORE="ulimit -c 0 2>&1 >/dev/null" - echo -n "Starting BOINC client as a daemon: " - if [ "${BOINCUSER}" = "${USERNOW}" ] ; then -@@ -396,7 +408,8 @@ - $NOCORE - $BOINCEXE $BOINCOPTS >>$LOGFILE 2>>$ERRORLOG & - else -- runuser - $BOINCUSER -c "$NOCORE ; $BOINCEXE $BOINCOPTS >>$LOGFILE 2>>$ERRORLOG" -+ chown ${BOINCUSER}:$BOINCGROUP ${LOGFILE} ${ERRORLOG} -+ ${RUNUSER} - $BOINCUSER -c "$NOCORE ; $BOINCEXE $BOINCOPTS >>$LOGFILE 2>>$ERRORLOG" 2>/dev/null > /dev/null & - fi - sleep 3 - PID=`local_pidof $BOINCEXE_NAME` diff --git a/boinc-subdirs.patch b/boinc-subdirs.patch deleted file mode 100644 index cc3b67a..0000000 --- a/boinc-subdirs.patch +++ /dev/null @@ -1,16 +0,0 @@ ---- Makefile.am.orig 2008-08-25 22:29:18.000000000 +0200 -+++ Makefile.am 2008-08-25 22:43:08.000000000 +0200 -@@ -13,11 +13,11 @@ - endif - - if ENABLE_CLIENT -- CLIENT_SUBDIRS = client -+ CLIENT_SUBDIRS = client client/scripts - endif - - if BUILD_CLIENTGUI -- CLIENTGUI_SUBDIRS = clientgui sea -+ CLIENTGUI_SUBDIRS = clientgui sea locale/client - endif - - # ORDER MATTERS below. One must build dependencies FIRST, then things diff --git a/boinc-sysconfig.patch b/boinc-sysconfig.patch index c732719..12d289a 100644 --- a/boinc-sysconfig.patch +++ b/boinc-sysconfig.patch @@ -1,91 +1,17 @@ ---- client/scripts/boinc-client.conf.orig 2008-08-28 14:24:15.000000000 +0200 -+++ client/scripts/boinc-client.conf 2008-08-28 14:22:55.000000000 +0200 -@@ -0,0 +1,63 @@ -+## Path: Applications/BOINC -+## Description: Define userid under which boinc-client is run -+## Type: string -+## Default: "root" -+## Config: boinc-client -+# Here you should change the default value to another existing user, -+# for example use your (non-root) account. -+BOINCUSER="root" -+## Path: Applications/BOINC -+## Description: Define directory in which boinc-client is run -+## Type: string -+## Default: "/var/lib/boinc" -+## Config: boinc-client -+# Enter the dirctory where boinc-client shall store the project data. -+BOINCDIR="/var/lib/boinc" -+## Path: Applications/BOINC -+## Description: Define log file -+## Type: string -+## Default: "/var/log/boinc_client.log" -+## Config: boinc-client -+# Name and location of boinc logfile, normally no change necessary. -+LOGFILE="/var/log/boinc_client.log" -+## Path: Applications/BOINC -+## Description: Define error log file -+## Type: string -+## Default: "/var/log/boinc_client_err.log" -+## Config: boinc-client -+# Name and location of boinc error-logfile, normally no change necessary. -+ERRORLOG="/var/log/boinc_client_err.log" -+## Path: Applications/BOINC -+## Description: Define pid file -+## Type: string -+## Default: "/var/run/boinc_client.pid" -+## Config: boinc-client -+# Name and location of boinc pid-file, normally no change necessary. -+PIDFILE="/var/run/boinc_client.pid" -+## Path: Applications/BOINC -+## Description: Define lockfile -+## Type: string -+## Default: "/var/lock/subsys/boinc_client" -+## Config: boinc-client -+# Name and location of boinc lockfile, normally no change necessary. -+LOCKFILE="/var/lock/subsys/boinc_client" -+## Path: Applications/BOINC -+## Description: Define BOINC options -+## Type: string -+## Default: "--dir $BOINCDIR" -+## Config: boinc-client -+# Add this option if you want to allow boinc manager connections from remote machines -+# BOINCOPTS="--allow_remote_gui_rpc" -+# -+# Add this option if you want to turn off all logging -+# BOINCOPTS="--daemon" -+# -+# Add this option if you want to redirect logging to the files stderrdae.txt -+# and stdoutdae.txt in BOINCDIR rather than LOGFILE and ERRORLOG -+# BOINCOPTS="--redirectio" -+# -+# Add this option if you want to run only when no logins from anywhere are active -+# BOINCOPTS="--check_all_logins" -+# -+# For more options read the manpages. -+BOINCOPTS="--dir $BOINCDIR" ---- client/scripts/Makefile.am.orig 2008-08-25 22:29:15.000000000 +0200 -+++ client/scripts/Makefile.am 2008-08-25 22:47:29.000000000 +0200 -@@ -1,7 +1,17 @@ --all: -- chmod +x boinc-client -- --install: -- $(INSTALL) -b boinc-client /etc/init.d/ -+## -*- mode: makefile; tab-width: 4 -*- - -+install-exec-hook: -+ chmod +x boinc-client -+ $(INSTALL) -d $(DESTDIR)/etc/init.d -+ $(INSTALL) -b boinc-client $(DESTDIR)/etc/init.d/boinc-client -+ if [ -d /etc/sysconfig ] ; then \ -+ $(INSTALL) -d $(DESTDIR)/etc/sysconfig ; \ -+ $(INSTALL) -m644 boinc-client.conf $(DESTDIR)/etc/sysconfig/boinc-client ; \ -+ elif [ -d /etc/default ] ; then \ -+ $(INSTALL) - $(DESTDIR)/etc/default ; \ -+ $(INSTALL) -m644 boinc-client.conf $(DESTDIR)/etc/default/boinc-client ; \ -+ else \ +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 ; \ -+ fi - + elif [ -d /etc/default ] ; then \ + $(INSTALL) -d $(DESTDIR)/etc/default ; \ + $(INSTALL) boinc-client.conf $(DESTDIR)/etc/default/boinc-client ; \ diff --git a/boinc_core_release_6_4_5.tar.bz2 b/boinc_core_release_6_4_5.tar.bz2 new file mode 100644 index 0000000..adf5c79 --- /dev/null +++ b/boinc_core_release_6_4_5.tar.bz2 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:785ae93cba2444e2a7b2e81eedac701054571b445affa9edd383272d9a546889 +size 11666731 diff --git a/boincmgr b/boincmgr index 055e36c..be1d5a2 100644 --- a/boincmgr +++ b/boincmgr @@ -7,7 +7,7 @@ # Source the configuration file for the boinc-client init script. # -config_files="./boinc-client.conf /etc/sysconfig/boinc-client" +config_files="/etc/boinc-client.conf /etc/sysconfig/boinc-client" # Find the correct config file # @@ -18,6 +18,11 @@ for config_file in $config_files ; do fi done +# Checking for gui_rpc_auth.cfg +if ! test -f ~/gui_rpc_auth.cfg ; then +    ln -s /var/lib/boinc/gui_rpc_auth.cfg . +fi + # Change directory and start BOINC Manager # cd $BOINCDIR diff --git a/sysconfig.boinc b/sysconfig.boinc new file mode 100644 index 0000000..a1f8cc2 --- /dev/null +++ b/sysconfig.boinc @@ -0,0 +1,42 @@ +# +# Default variable values for the boinc-client /etc/init.d script +# +#BOINCEXE_NAME=boinc_client +#BOINCCMD_NAME=boinccmd + +# The userid under which boinc_client is run +#BOINCUSER=boinc + +# The directory in which boinc_client is run +#BOINCDIR=/var/lib/boinc + +# log files +#LOGFILE=/var/log/${BOINCEXE_NAME}.log +#ERRORLOG=/var/log/${BOINCEXE_NAME}_err.log + +# pid file +#PIDFILE=/var/run/${BOINCEXE_NAME}.pid + +# placement of the lockfile depends upon the operating system +# it will probably be one of the following: +#LOCKFILE=/var/lock/subsys/${BOINCEXE_NAME} +#LOCKFILE=/var/lock/${BOINCEXE_NAME} +#LOCKFILE=/var/run/${BOINCEXE_NAME}.lock + + +# BOINC options: for the command line when running the client. +# Be aware that --allow_remote_gui_rpc opens up your machine to the world! +# +# Add this option if you want to allow boinc manager connections from remote +# machines +#BOINCOPTS="--allow_remote_gui_rpc" +# Add this option if you want to turn off all logging +#BOINCOPTS="--daemon" +# Add this option if you want to redirect logging to the files stderrdae.txt +# and stdoutdae.txt in BOINCDIR rather than LOGFILE and ERRORLOG +#BOINCOPTS="--redirectio" +# 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=