Hello community,

here is the log from the commit of package boinc-client.2591 for 
openSUSE:12.3:Update checked in at 2014-02-28 12:00:00
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:12.3:Update/boinc-client.2591 (Old)
 and      /work/SRC/openSUSE:12.3:Update/.boinc-client.2591.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "boinc-client.2591"

Changes:
--------
New Changes file:

--- /dev/null   2014-02-13 01:09:38.344032506 +0100
+++ /work/SRC/openSUSE:12.3:Update/.boinc-client.2591.new/boinc-client.changes  
2014-02-28 12:00:01.000000000 +0100
@@ -0,0 +1,294 @@
+-------------------------------------------------------------------
+Thu Feb 20 13:26:49 CET 2014 - [email protected]
+
+- Add libX11 and libgtk-x11-2.0 to the libraries boincmgr is
+  linked to: boinc-add_libs_for_boincmgr.patch
+- Remove INSTALL from package documentation.
+
+-------------------------------------------------------------------
+Tue Jul 10 13:50:30 UTC 2012 - [email protected]
+
+- rename patch
+  * fix-automake-conditional to boinc-client-AM_CONDITIONAL patch
+- fix build for SLE_11
+  * AM_CONDITIONAL patch >= 12.2
+
+-------------------------------------------------------------------
+Tue Jul 10 12:24:13 UTC 2012 - [email protected]
+
+- fix compilation for factory and 12.2
+
+-------------------------------------------------------------------
+Sun Jul  1 19:51:54 UTC 2012 - [email protected]
+
+- add BOINC_DIR to sysconfig
+  * make BOINC_DIR configurable (a proposal of Carsten Neumann)
+
+-------------------------------------------------------------------
+Sat Feb 11 00:56:07 UTC 2012 - [email protected]
+
+- add glib_h patch
+
+-------------------------------------------------------------------
+Fri Feb 10 23:40:19 UTC 2012 - [email protected]
+
+- update tp 6.12.43
+  * sorry but there is no ChangeLog :(
+- rework patches
+- remove obsolete patches
+  * boinc-server.patch
+  * boinc-client-str_util.patch
+- add boinc-client-lang subpkg
+- fix DSOLinkChange for suse >= 1210
+  * see https://fedoraproject.org/wiki/UnderstandingDSOLinkChange
+    for more info, special thanks to Stefan Dirsch :)
+
+-------------------------------------------------------------------
+Fri Feb 10 23:07:01 UTC 2012 - [email protected]
+
+- fix sed for boinc-manager
+
+-------------------------------------------------------------------
+Wed Feb  8 22:51:55 UTC 2012 - [email protected]
+
+- fix for bnc#745887 ( Confirm licensing of boinc-client 6.10.60 )
+- fix for bnc#744612 ( File /usr/bin/boinc_gui incorrectly named )
+- fix for bnc#744389 ( boinc-client will not run )
+- fix for bnc#732118 ( BOINC installs but will not run )
+
+-------------------------------------------------------------------
+Mon Feb  6 15:05:05 UTC 2012 - [email protected]
+
+- fix License (http://www.spdx.org/licenses/)
+  * LGPL-3.0
+
+-------------------------------------------------------------------
+Sun Feb  5 23:11:38 UTC 2012 - [email protected]
+
+- remove client dep of manager
+  * manager does not really need a local boinc-client ;)
+- fix desktop file
+
+-------------------------------------------------------------------
+Sat Feb  4 00:37:37 UTC 2012 - [email protected]
+
+- fix deps for boinc-client
+  * Requires libboinc6
+
+-------------------------------------------------------------------
+Thu Feb  2 20:32:57 UTC 2012 - [email protected]
+
+- rework patches
+- rework sysconfig file
+- rework logrotate file
+- add SuSElike init script
+- fix user add
+  * boinc needs a shell
+- fix wrapper
+  * replace boincmanager with boinc-manager and add symlink for
+    backward compatibility
+  * fix boinc_gui -> boinc-gui
+- fix License
+  * LGPLv3
+- fix for bnc#689499
+  * a blocked boinc client, the manager works
+
+-------------------------------------------------------------------
+Fri Sep 30 20:07:45 UTC 2011 - [email protected]
+
+- add libtool as buildrequire to make the spec file more reliable
+
+-------------------------------------------------------------------
+Tue Aug 30 18:18:14 UTC 2011 - [email protected]
+
+- fixed Bug bnc#714623 (/var/lock/subsys unsupported) 
+
+-------------------------------------------------------------------
+Mon May 16 18:49:58 CEST 2011 - [email protected]
+
+- Avoid buffer overflow in filesys.cpp(dir_size).
+
+-------------------------------------------------------------------
+Sun May  1 23:27:45 UTC 2011 - [email protected]
+
+- 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 - [email protected]
+
+- 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 - [email protected]
+
+- Rewritten the Spec based on Malcolm Lewis Improvements (THX) 
+
+-------------------------------------------------------------------
+Wed Apr 27 17:37:08 UTC 2011 - [email protected]
+
+- 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 - [email protected]
+
+- Compile with wxWidgets (STL variant).
+
+-------------------------------------------------------------------
+Tue Oct  5 04:24:40 UTC 2010 - [email protected]
+ 
+- Fix boinc-manager-lang requires
+ 
+-------------------------------------------------------------------
+Tue Oct  5 03:41:39 UTC 2010 - [email protected]
+ 
+- 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 - [email protected]
+
+- disable use of %jobs
+
+-------------------------------------------------------------------
+Sun May 31 23:27:04 CEST 2009 - [email protected]
+
+- fixed str_util.h while using newer gcc (THX to Jan) 
+
+-------------------------------------------------------------------
+Fri May 22 14:06:32 CEST 2009 - [email protected]
+
+- fixed Errors while using newer wx Version 
+
+-------------------------------------------------------------------
+Fri Mar 27 11:57:43 CET 2009 - [email protected]
+
+- removed boinctray depency
+
+-------------------------------------------------------------------
+Sat Mar 14 18:41:07 CET 2009 - [email protected]
+
+- added rpmlintrc
+
+-------------------------------------------------------------------
+Wed Feb 25 15:06:27 CET 2009 - [email protected]
+
+- 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 - [email protected]
+
+- added wxstring_conversion.patch (fix Bug #774 Berkeley Bug)
++++ 97 more lines (skipped)
++++ between /dev/null
++++ and 
/work/SRC/openSUSE:12.3:Update/.boinc-client.2591.new/boinc-client.changes

New:
----
  README.SUSE
  boinc-LC_MESSAGES.patch
  boinc-add_libs_for_boincmgr.patch
  boinc-client-AM_CONDITIONAL.patch
  boinc-client-dynamic_buffers.patch
  boinc-client-glib_h.patch
  boinc-client-rpmlintrc
  boinc-client.changes
  boinc-client.init
  boinc-client.spec
  boinc-completion.patch
  boinc-docbook2x.patch
  boinc-gui.desktop
  boinc-guirpcauth.patch
  boinc-icons.tar.bz2
  boinc-init.patch
  boinc-logrotate
  boinc-manager
  boinc_core_release_6_12_43.tar.bz2
  generate-tarball.sh
  sysconfig.boinc-client

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ boinc-client.spec ++++++
#
# spec file for package boinc-client
#
# Copyright (c) 2014 SUSE LINUX Products GmbH, Nuernberg, Germany.
# Copyright (c) 2011 by Sascha Manns <[email protected]>
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.

# Please submit bugfixes or comments via http://bugs.opensuse.org/
#


# Global definitions
%define _use_internal_dependency_generator 0
%if 0%{?suse_version} >= 1140
%define __find_requires %wx_requires
%endif
%define version_ 6_12_43
%define soname 6
%define boinc_dir %{_localstatedir}/lib/boinc

Name:           boinc-client
Version:        6.12.43
Release:        0
Summary:        The BOINC client core
License:        LGPL-3.0
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.%{name}
Source5:        boinc-logrotate
Source6:        boinc-manager
# 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
Source10:       %{name}.init
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 [email protected] use asprintf to fix buffer overflow
Patch5:         boinc-client-dynamic_buffers.patch
# PATCH-FIX-OPENSUSE computersalat - #error "Only <glib.h> can be included 
directly.
Patch6:         %{name}-glib_h.patch
# PATCH-FIX-OPENSUSE coolo - #error: am__fastdepOBJCXX does not appear in 
AM_CONDITIONAL
Patch7:         %{name}-AM_CONDITIONAL.patch
# PATCH-FIX-OPENSUSE [email protected] boincmgr needs libX11 and libgtk-x11-2.0
Patch8:         boinc-add_libs_for_boincmgr.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:  docbook2x
BuildRequires:  docbook_4
BuildRequires:  update-desktop-files
#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:  libnotify-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:       cron
Requires:       logrotate
### FIXME:
## updating boinc-client or boinc-manager does not update libboinc6
## hence we define this dependency
## !! Do not remove this dependency !!
Requires:       libboinc%{soname} = %{version}-%{release}

%lang_package
%lang_package -n boinc-manager

%description
The Berkeley Open Infrastructure for Network Computing (BOINC) is an open-
source software platform which supports distributed computing, primarily in
the form of "volunteer" computing and "desktop Grid" computing.  It is well
suited for problems which are often described as "trivially parallel".  BOINC
is the underlying software used by projects such as SETI@home, Einstein@Home,
ClimatePrediciton.net, the World Community Grid, and many other distributed
computing projects.

This package installs the BOINC client software, which will allow your
computer to participate in one or more BOINC projects, using your spare
computer time to search for cures for diseases, model protein folding, study
global warming, discover sources of gravitational waves, and many other types
of scientific and mathematical research.

%package -n boinc-manager
Summary:        GUI to control and monitor boinc-client
Group:          Productivity/Scientific/Astronomy
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.

%package devel
Summary:        Development files for boinc-client
Group:          Development/Libraries/C and C++
Requires:       %{name} = %{version}-%{release}
Requires:       mysql-devel
Requires:       openssl-devel

%description devel
This package contains development files for %{name}.

%package -n libboinc%{soname}
Summary:        Shared Libs for %{name}
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

%description doc
This package contains documentation files for %{name}.

%prep
%setup -q -n boinc_core_release_%{version_} -D -a 1
%patch0
%patch1
%patch2
%patch3
%patch4
%patch5
%if 0%{?suse_version} >= 1220
%patch6
%patch7
%endif
%patch8

# Install user hints
%{__install} -m0644 %{S:3} README.SUSE

# Fix lang directories (refer patch2)
%{__mv} locale/pt_PT locale/pt
%{__mv} locale/sv_SE locale/sv

# fix warning: deprecated conversion from string constant to 'char*'
pushd clientgui/common/
%{__sed} -i 's/static char/static const char/g' wxFlatNotebookImages.h
popd
pushd clientgui/res/
%{__sed} -i 's/static char/static const char/g' *.xpm
popd
pushd clientgui/res/skins/default/graphic/
%{__sed} -i 's/static char/static const char/g' *.xpm
popd

### bnc#745656
## remove files with questionable licenses
# removing NVIDIA owned file that does not clearly allow redistribution or
# modification
%{__rm} coprocs/CUDA/include/nvapi.h
# removing unnecessary APSL licensed files
%{__rm} client/app_stats_mac.cpp

%build
#run libtoolize and ./_autosetup
/usr/bin/libtoolize --force
./_autosetup 

%configure \
  --disable-static \
  --enable-dynamic-client-linkage \
  --disable-server \
  --disable-fcgi \
  --enable-unicode \
  --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}

### hmm, boincmgr is not build by default (but stated in configure)
# BOINC Default enable values
#   --enable-server --enable-client --enable-libraries
#   --enable-manager: builds server, client, and libraries
#
# hence we jump into clientgui and build it manually
pushd clientgui
%{__make} libboinc_la_LIBADD="-L%{_libdir} -lssl -ldl" \
%if 0%{?suse_version} >= 1210
   CFLAGS="%{optflags} -g -W -pipe -fno-strict-aliasing -D_REENTRANT 
-lgtk-x11-2.0" \
   CXXFLAGS="%{optflags} -g -W -pipe -fno-strict-aliasing -D_REENTRANT 
-lgtk-x11-2.0" \
%else
   CFLAGS="%{optflags} -g -W -pipe -fno-strict-aliasing -D_REENTRANT" \
   CXXFLAGS="%{optflags} -g -W -pipe -fno-strict-aliasing -D_REENTRANT" \
%endif
   DESTDIR=%{_prefix} %{?_smp_mflags}
popd
pushd locale
%{__make}
popd

%install
%{makeinstall}
for i in clientgui locale; do
  pushd $i
%{makeinstall}
  popd
done

# Creates default folders
%{__install} -dm0755 %{buildroot}%{boinc_dir}
%{__install} -dm0755 %{buildroot}%{_mandir}/man1

# Remove old boinc & rename boinc_client to boinc-client
%{__rm} -f %{buildroot}%{_bindir}/boinc
%{__mv} -f %{buildroot}%{_bindir}/boinc_client %{buildroot}%{_bindir}/%{name}

# Rename boincmgr and wrap it
%{__mv} %{buildroot}%{_bindir}/boincmgr %{buildroot}%{_bindir}/boinc-gui

# Install boinc-manager wrapper script
%{__install} -Dm0755 %{S:6} %{buildroot}%{_bindir}/boinc-manager

# Use symlink instead of hardlink
pushd %{buildroot}%{_bindir}
%{__ln_s} -f %{name} boinc
%{__ln_s} -f boinc-manager boincmgr
%{__ln_s} -f boinc-manager boincmanager
popd

# replace @boinc_dir@, @bindir@
%{__sed} -i \
  -e "s,@boinc_dir@,%{boinc_dir},g" \
  -e "s,@bindir@,%{_bindir},g" \
  %{buildroot}%{_bindir}/boinc-manager

# Remove /etc/sysconfig/boinc-client, it is added by %%fillup_and_insserv
%{__rm} -f %{buildroot}%{_sysconfdir}/sysconfig/%{name}

# Install init and create symlink to /etc/init.d/boinc-client
%{__install} -Dm0755 %{S:10} %{buildroot}%{_initrddir}/%{name}
%{__install} -dm0755 %{buildroot}%{_sbindir}
/bin/ln -sf %{_sysconfdir}/init.d/%{name} %{buildroot}%{_sbindir}/rc%{name}

# Install logrotate
%{__install} -Dm0644 %{S:5} %{buildroot}%{_sysconfdir}/logrotate.d/%{name}

# Install bash completion
%{__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.%{name}

# 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

# install icons
%{__install} -m0644 clientgui/res/boincmgr.16x16.png 
%{buildroot}%{_datadir}/icons/hicolor/16x16/apps/boincmanager.png
%{__install} -m0644 clientgui/res/boincmgr.32x32.png 
%{buildroot}%{_datadir}/icons/hicolor/32x32/apps/boincmanager.png
%{__install} -m0644 clientgui/res/boincmgr.48x48.png 
%{buildroot}%{_datadir}/icons/hicolor/48x48/apps/boincmanager.png

# Install *.desktop File
%suse_update_desktop_file -i boinc-gui Utility

# Remove libtool archives
%{__rm} %{buildroot}%{_libdir}/*.la

# Relinking Manpages
%{__ln_s} -f boincmgr.1.gz %{buildroot}%{_mandir}/man1/boinc-manager.1.gz
%{__ln_s} -f boinccmd.1.gz %{buildroot}%{_mandir}/man1/boinccmd.1.gz
%{__ln_s} -f boinc.1.gz %{buildroot}%{_mandir}/man1/boinc.1.gz 

# Fix spurious-executable-perm
%{__chmod} 0644 doc/*.php

# Install fake /var/lib/boinc
%{__install} -dm0755 %{buildroot}%{_var}/lib/boinc

# Prepare $LANG Packages
%find_lang BOINC-Client
%find_lang BOINC-Manager

%fdupes -s %{buildroot}

%clean
%{__rm} -rf '%{buildroot}'

%pre
# add group
%{_sbindir}/groupadd -r boinc 2>/dev/null || :
# add user
%{_sbindir}/useradd -c "BOINC Client" -d "%{_localstatedir}/lib/boinc" \
  -g boinc -r -s /sbin/nologin boinc 2>/dev/null || :
if [ -f %{_sysconfdir}/sysconfig/%{name} ]; then
  if [ "$(grep "BOINC_BOINC_USR" /etc/sysconfig/boinc-client | grep -v grep 
>/dev/null; echo $?)" == 1 ]; then
    mv -f %{_sysconfdir}/sysconfig/%{name} %{_sysconfdir}/sysconfig/%{name}.save
  fi
fi

%preun
%stop_on_removal %{name}

%post
%fillup_and_insserv %{name}
%{_sbindir}/usermod -c "BOINC Client" -s /sbin/nologin boinc 2>/dev/null || :

%postun
%restart_on_update %{name}
%insserv_cleanup

%post -n boinc-manager
/usr/bin/touch --no-create %{_datadir}/icons/hicolor || :
if [ -x %{_bindir}/gtk-update-icon-cache ]; then
  %{_bindir}/gtk-update-icon-cache --quiet %{_datadir}/icons/hicolor || :
fi

%postun -n boinc-manager
/usr/bin/touch --no-create %{_datadir}/icons/hicolor || :
if [ -x %{_bindir}/gtk-update-icon-cache ]; then
  %{_bindir}/gtk-update-icon-cache --quiet %{_datadir}/icons/hicolor || :
fi

%post -n libboinc%{soname} -p /sbin/ldconfig

%postun -n libboinc%{soname} -p /sbin/ldconfig

%post devel -p /sbin/ldconfig

%postun devel -p /sbin/ldconfig

%files
%defattr(-,root,root,-)
%doc COPYING* COPYRIGHT notes todo TODO_OLD README.SUSE
%config(noreplace) %{_sysconfdir}/logrotate.d/%{name}
%config(noreplace) %{_sysconfdir}/bash_completion.d/
/var/adm/fillup-templates/sysconfig.%{name}
%{_bindir}/boinc
%{_bindir}/%{name}
%{_sbindir}/rc%{name}
%{_bindir}/boinccmd
%{_bindir}/switcher
%{_initrddir}/%{name}
%{_mandir}/man1/boinccmd.1.gz
%{_mandir}/man1/boinc.1.gz
%defattr(-,boinc,boinc,-)
%{_localstatedir}/lib/boinc/

%files doc
%defattr(-,root,root,-)
%doc checkin_*
%doc doc/*.txt doc/bolt doc/logo doc/*.php doc/*.png doc/*.html

%files -n boinc-manager
%defattr(-,root,root,-)
%{_bindir}/boinc-gui
%{_bindir}/boinc-manager
%{_bindir}/boincmgr
%{_bindir}/boincmanager
%{_datadir}/applications/boinc-gui.desktop
%{_datadir}/icons/hicolor/*/apps/*
%{_mandir}/man1/boincmgr.1.gz
%{_mandir}/man1/boinc-manager.1.gz

%files -n %{name}-lang -f BOINC-Client.lang

%files -n boinc-manager-lang -f BOINC-Manager.lang

%files -n libboinc%{soname}
%defattr(-,root,root,-)
%{_libdir}/*.so.*

%files devel
%defattr(-,root,root,-)
%{_libdir}/*.so
%{_includedir}/boinc

%changelog
++++++ README.SUSE ++++++

#####################################################################################################################
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.
++++++ boinc-LC_MESSAGES.patch ++++++
Index: locale/Makefile.am
===================================================================
--- locale/Makefile.am.orig
+++ locale/Makefile.am
@@ -45,12 +45,12 @@ locale_dirs = \
 install-exec-hook:
        mydir=$(DESTDIR)$(datadir) ;\
        for ldir in $(locale_dirs) ; do \
-         $(INSTALL) -d $$mydir/$$ldir ; \
+         $(INSTALL) -d $$mydir/$$ldir/LC_MESSAGES ; \
          if [ -f $$ldir/BOINC-Manager.mo ] ; then \
-           $(INSTALL) $$ldir/BOINC-Manager.mo $$mydir/$$ldir/BOINC-Manager.mo 
; \
+           $(INSTALL) $$ldir/BOINC-Manager.mo 
$$mydir/$$ldir/LC_MESSAGES/BOINC-Manager.mo ; \
          fi ;\
          if [ -f $$ldir/BOINC-Client.mo ] ; then \
-           $(INSTALL) $$ldir/BOINC-Client.mo $$mydir/$$ldir/BOINC-Client.mo ; \
+           $(INSTALL) $$ldir/BOINC-Client.mo 
$$mydir/$$ldir/LC_MESSAGES/BOINC-Client.mo ; \
          fi ;\
        done
 
++++++ boinc-add_libs_for_boincmgr.patch ++++++
---
 clientgui/Makefile.am |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Index: clientgui/Makefile.am
===================================================================
--- clientgui/Makefile.am.orig  2014-02-20 13:21:51.023635507 +0100
+++ clientgui/Makefile.am       2014-02-20 13:24:08.836372516 +0100
@@ -119,7 +119,7 @@ EXTRA_DIST = *.h \
     locale $(mac_headers)
 
 boincmgr_CPPFLAGS = $(AM_CPPFLAGS) $(WX_CPPFLAGS) $(SQLITE3_CPPFLAGS) 
$(LIBNOTIFY_CFLAGS) $(CLIENTGUIFLAGS) $(GTK2_CFLAGS)
-boincmgr_LDADD = $(LIBBOINC) $(SQLITE3_LIBS) $(LIBNOTIFY_LIBS) 
$(CLIENTGUILIBS) $(BOINC_EXTRA_LIBS) $(CLIENTLIBS) $(GTK2_LIBS)
+boincmgr_LDADD = $(LIBBOINC) $(SQLITE3_LIBS) $(LIBNOTIFY_LIBS) 
$(CLIENTGUILIBS) $(BOINC_EXTRA_LIBS) $(CLIENTLIBS) -lgtk-x11-2.0 -lX11
 
 win_config.h: $(top_srcdir)/config.h
        grep '#define.*BOINC.*VERSION' $^ > $@
++++++ boinc-client-AM_CONDITIONAL.patch ++++++
Index: configure.ac
===================================================================
--- configure.ac.orig
+++ configure.ac
@@ -39,6 +39,7 @@ AC_PROG_CC
 AC_PROG_CXX
 AC_PROG_F77
 AC_PROG_CPP
+AC_PROG_OBJCXX
 AC_PROG_MAKE_SET
 SAH_LINKS
 AC_LANG_PUSH(C)
@@ -737,6 +738,8 @@ AM_CONDITIONAL(ENABLE_LIBRARIES, [test "
 AM_CONDITIONAL(INSTALL_HEADERS, [test "${enable_install_headers}" = yes])
 AM_CONDITIONAL(HAVE_CUDA_LIB, [test "${enable_client}" = yes -a -f 
./coprocs/CUDA/posix/${boinc_platform}/libcudart.so])
 
+PKG_CHECK_MODULES([GTK2], [gtk+-2.0])
+
 dnl ======================================================================
 dnl some more vodoo required for building portable client-binary (client, 
clientgui)
 dnl ======================================================================
Index: clientgui/Makefile.am
===================================================================
--- clientgui/Makefile.am.orig
+++ clientgui/Makefile.am
@@ -118,9 +118,8 @@ EXTRA_DIST = *.h \
     ../lib/error_numbers.h \
     locale $(mac_headers)
 
-boincmgr_CPPFLAGS = $(AM_CPPFLAGS) $(WX_CPPFLAGS) $(SQLITE3_CPPFLAGS) 
$(LIBNOTIFY_CFLAGS) $(CLIENTGUIFLAGS) `pkg-config --cflags gtk+-2.0`
-boincmgr_CXXFLAGS = $(AM_CXXFLAGS) $(WX_CXXFLAGS) $(SQLITE3_CPPFLAGS) 
$(LIBNOTIFY_CFLAGS) $(CLIENTGUIFLAGS) `pkg-config --cflags gtk+-2.0`
-boincmgr_LDADD = $(LIBBOINC) $(SQLITE3_LIBS) $(LIBNOTIFY_LIBS) 
$(CLIENTGUILIBS) $(BOINC_EXTRA_LIBS) $(CLIENTLIBS)
+boincmgr_CPPFLAGS = $(AM_CPPFLAGS) $(WX_CPPFLAGS) $(SQLITE3_CPPFLAGS) 
$(LIBNOTIFY_CFLAGS) $(CLIENTGUIFLAGS) $(GTK2_CFLAGS)
+boincmgr_LDADD = $(LIBBOINC) $(SQLITE3_LIBS) $(LIBNOTIFY_LIBS) 
$(CLIENTGUILIBS) $(BOINC_EXTRA_LIBS) $(CLIENTLIBS) $(GTK2_LIBS)
 
 win_config.h: $(top_srcdir)/config.h
        grep '#define.*BOINC.*VERSION' $^ > $@
++++++ boinc-client-dynamic_buffers.patch ++++++
Index: lib/filesys.cpp
===================================================================
--- lib/filesys.cpp.orig
+++ lib/filesys.cpp
@@ -46,6 +46,7 @@
 #include <sys/time.h>
 #include <unistd.h>
 #include <dirent.h>
+#include <climits>
 
 #ifdef HAVE_SYS_RESOURCE_H
 #include <sys/resource.h>
@@ -400,7 +401,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;
@@ -411,7 +413,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) {
@@ -424,6 +426,9 @@ int dir_size(const char* dirpath, double
             if (retval) continue;
             size += x;
         }
+
+        if(subdir != NULL)
+            free(subdir);
     }
     dir_close(dirp);
 #endif
++++++ boinc-client-glib_h.patch ++++++
Index: clientgui/gtk/taskbarex.cpp
===================================================================
--- clientgui/gtk/taskbarex.cpp.orig
+++ clientgui/gtk/taskbarex.cpp
@@ -20,7 +20,7 @@
 #include "stdwx.h"
 
 #include <libnotify/notify.h>
-#include <glib/gtypes.h>
+#include <glib.h>
 #include <glib-object.h>
 #include <dlfcn.h>
 
++++++ boinc-client-rpmlintrc ++++++
# This line is mandatory to access the configuration functions
from Config import *

addFilter("suse-branding-unversioned-requires hicolor-icon-theme")
addFilter("non-standard-uid")
addFilter("libdir-macro-in-noarch-package")
addFilter("no-manual-page-for-binary")
addFilter("macro-in-comment")
++++++ boinc-client.init ++++++
#!/bin/sh
#
# Copyright (c) 2012 Scorpio IT, Deidesheim, Germany
# All rights reserved
#
# Author: Christian Wittmer <[email protected]>
#
# /etc/init.d/boinc-client
#   and its symbolic link
# /(usr/)sbin/rcboinc-client
#
### BEGIN INIT INFO
# Provides:          boinc-client
# Required-Start:    $syslog $network $remote_fs
# Should-Start:      $time
# Required-Stop:     $syslog $network $remote_fs
# Should-Stop:       $time
# Default-Start:     3 5
# Default-Stop:      0 1 2 6
# Short-Description: BOINC daemon providing boinc-client
# Description:       Start BOINC client
#       For more information about BOINC (the Berkeley Open Infrastructure
#       for Network Computing) see http://boinc.berkeley.edu
### END INIT INFO
# 

# Note on runlevels:
# 0 - halt/poweroff                     6 - reboot
# 1 - single user                       2 - multiuser without network exported
# 3 - multiuser w/ network (text mode)  5 - multiuser w/ network and X11 (xdm)
# 
# Note on script names:
# http://www.linuxbase.org/spec/refspecs/LSB_1.3.0/gLSB/gLSB/scrptnames.html
# A registry has been set up to manage the init script namespace.
# http://www.lanana.org/
# Please use the names already registered or register one or use a
# vendor prefix.


# Check for missing binaries (stale symlinks should not happen)
# Note: Special treatment of stop for LSB conformance
BOINC_BIN=/usr/bin/boinc-client
test -x $BOINC_BIN || { echo "$BOINC_BIN not installed"; 
        if [ "$1" = "stop" ]; then exit 0;
        else exit 5; fi; }

# Check for existence of needed config file and read it
BOINC_CONFIG=/etc/sysconfig/boinc-client
test -r $BOINC_CONFIG || { echo "$BOINC_CONFIG not existing";
        if [ "$1" = "stop" ]; then exit 0;
        else exit 6; fi; }

# Read config   
. $BOINC_CONFIG

# some other VARS
BOINC_SVC="BOINC Client"

BOINCCMD_BIN="/usr/bin/boinccmd"
BOINC_LOG="/var/log/boinc-client.log"
BOINC_ERRLOG="/var/log/boinc-client.err.log"
BOINC_PIDFILE="/var/run/boinc-client.pid"
BOINC_LOCKFILE="/var/run/boinc-client.lock"

BOINC_USR=${BOINC_BOINC_USR:="boinc"}
BOINC_GRP=${BOINC_BOINC_GRP:="boinc"}
BOINC_DIR=${BOINC_BOINC_DIR:="/var/lib/boinc"}
BOINC_OPTS=${BOINC_BOINC_OPTS:=""}

# Source LSB init functions
# providing start_daemon, killproc, pidofproc, 
# log_success_msg, log_failure_msg and log_warning_msg.
# This is currently not used by UnitedLinux based distributions and
# not needed for init scripts for UnitedLinux only. If it is used,
# the functions from rc.status should not be sourced or used.
#. /lib/lsb/init-functions

# Shell functions sourced from /etc/rc.status:
#      rc_check         check and set local and overall rc status
#      rc_status        check and set local and overall rc status
#      rc_status -v     be verbose in local rc status and clear it afterwards
#      rc_status -v -r  ditto and clear both the local and overall rc status
#      rc_status -s     display "skipped" and exit with status 3
#      rc_status -u     display "unused" and exit with status 3
#      rc_failed        set local and overall rc status to failed
#      rc_failed <num>  set local and overall rc status to <num>
#      rc_reset         clear both the local and overall rc status
#      rc_exit          exit appropriate to overall rc status
#      rc_active        checks whether a service is activated by symlinks
. /etc/rc.status

# Reset status of this service
rc_reset

# Return values acc. to LSB for all commands but status:
# 0       - success
# 1       - generic or unspecified error
# 2       - invalid or excess argument(s)
# 3       - unimplemented feature (e.g. "reload")
# 4       - user had insufficient privileges
# 5       - program is not installed
# 6       - program is not configured
# 7       - program is not running
# 8--199  - reserved (8--99 LSB, 100--149 distrib, 150--199 appl)
# 
# Note that starting an already running service, stopping
# or restarting a not-running service as well as the restart
# with force-reload (in case signaling is not supported) are
# considered a success.

case "$1" in
    start)
        echo -n "Starting ${BOINC_SVC} "
        ## Start daemon with startproc(8). If this fails
        ## the return value is set appropriately by startproc.
        /sbin/startproc -u $BOINC_USR -g $BOINC_GRP -l $BOINC_LOG -s $BOINC_BIN 
--dir $BOINC_DIR $BOINC_OPTS

        # Remember status and be verbose
        rc_status -v
        ;;
    stop)
        echo -n "Shutting down ${BOINC_SVC} "
        ## Stop daemon with killproc(8) and if this fails
        ## killproc sets the return value according to LSB.

        /sbin/killproc $BOINC_BIN

        # Remember status and be verbose
        rc_status -v
        ;;
    try-restart|condrestart)
        ## Do a restart only if the service was active before.
        ## Note: try-restart is now part of LSB (as of 1.9).
        ## RH has a similar command named condrestart.
        if test "$1" = "condrestart"; then
                echo "${attn} Use try-restart ${done}(LSB)${attn} rather than 
condrestart ${warn}(RH)${norm}"
        fi
        $0 status
        if test $? = 0; then
                $0 restart
        else
                rc_reset        # Not running is not a failure.
        fi
        # Remember status and be quiet
        rc_status
        ;;
    restart)
        ## Stop the service and regardless of whether it was
        ## running or not, start it again.
        $0 stop
        $0 start

        # Remember status and be quiet
        rc_status
        ;;
    force-reload)
        ## Signal the daemon to reload its config. Most daemons
        ## do this on signal 1 (SIGHUP).
        ## If it does not support it, restart the service if it
        ## is running.

        echo -n "Reload service ${BOINC_SVC} "
        ## if it supports it:
        #/sbin/killproc -HUP $BOINC_BIN
        #touch /var/run/$BOINC_PIDFILE

        # Remember status and be verbose
        #rc_status -v

        ## Otherwise:
        $0 try-restart
        # Remember status and be quiet
        rc_status
        ;;
    reload)
        ## Like force-reload, but if daemon does not support
        ## signaling, do nothing (!)

        # If it supports signaling:
        echo -n "Reload service ${BOINC_SVC} "
        #/sbin/killproc -HUP $BOINC_BIN
        #touch /var/run/FOO.pid
        # Remember status and be verbose
        #rc_status -v

        
        ## Otherwise if it does not support reload:
        rc_failed 3
        # Remember status and be verbose
        rc_status -v
        ;;
    status)
        echo -n "Checking for service ${BOINC_SVC} "
        ## Check status with checkproc(8), if process is running
        ## checkproc will return with exit status 0.

        # Return value is slightly different for the status command:
        # 0 - service up and running
        # 1 - service dead, but /var/run/  pid  file exists
        # 2 - service dead, but /var/lock/ lock file exists
        # 3 - service not running (unused)
        # 4 - service status unknown :-(
        # 5--199 reserved (5--99 LSB, 100--149 distro, 150--199 appl.)
        
        # NOTE: checkproc returns LSB compliant status values.
        /sbin/checkproc $BOINC_BIN
        # NOTE: rc_status knows that we called this init script with
        # "status" option and adapts its messages accordingly.
        rc_status -v
        ;;
    *)
        echo "Usage: $0 
{start|stop|status|try-restart|restart|force-reload|reload}"
        exit 1
        ;;
esac
rc_exit
++++++ boinc-completion.patch ++++++
Index: client/scripts/boinc.bash
===================================================================
--- client/scripts/boinc.bash.orig
+++ client/scripts/boinc.bash
@@ -36,7 +36,7 @@ _boinc()
         return 0
     fi
 }
-complete -F _boinc -o default boinc
+complete -F _boinc -o default-boinc
 
 _boinccmd()
 {
++++++ boinc-docbook2x.patch ++++++
Index: configure.ac
===================================================================
--- configure.ac.orig
+++ configure.ac
@@ -285,7 +285,7 @@ AC_SUBST([TOP_BUILD_DIR], [`pwd`])
 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.
-AC_PATH_PROG(DOCBOOK2X_MAN, docbook2x-man)
+AC_PATH_PROG(DOCBOOK2X_MAN, docbook-to-man)
 AM_CONDITIONAL(HAVE_DOCBOOK2X_MAN, [test -n "${DOCBOOK2X_MAN}"])
 
 AC_SUBST([CLIENT_BIN_FILENAME],[boinc${EXEEXT}])
++++++ boinc-gui.desktop ++++++
[Desktop Entry]
Encoding=UTF-8
Exec=boinc-manager
Icon=boinc-gui
Terminal=false
Type=Application
Name=BOINC Manager
GenericName=BOINC monitor and control utility
GenericName[de]=BOINC Überwachungs- und Kontrollprogramm
GenericName[pt]=Monitorização BOINC e utilitário de controlo
GenericName[cs]=Monitorovací a ovládací nástroj pro BOINC
Comment=Configure or monitor a BOINC core client
Comment[de]=BOINC Basis Client konfigurieren oder überwachen
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

++++++ boinc-guirpcauth.patch ++++++
Index: client/gui_rpc_server.cpp
===================================================================
--- client/gui_rpc_server.cpp.orig
+++ client/gui_rpc_server.cpp
@@ -145,12 +145,7 @@ int GUI_RPC_CONN_SET::get_password() {
             // 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
         }
     }
++++++ boinc-init.patch ++++++
Index: client/scripts/boinc-client.in
===================================================================
--- client/scripts/boinc-client.in.orig
+++ client/scripts/boinc-client.in
@@ -19,14 +19,16 @@
 #         For more information about BOINC (the Berkeley Open Infrastructure
 #         for Network Computing) see http://boinc.berkeley.edu
 # processname: boinc
-# config: /etc/sysconfig/boinc
+# config: /etc/sysconfig/boinc-client
 #
 ### BEGIN INIT INFO
-# Provides: boinc
-# Required-Start: $network
-# Required-Stop:  $network
-# Default-Start: 3 4 5 
-# Default-Stop: 0 1 2 6
+# Provides:          boinc-client
+# Required-Start:    $network $remote_fs
+# Should-Start:      $time
+# Required-Stop:     $network $remote_fs
+# Should-Stop:       $time
+# Default-Start:     3 5
+# Default-Stop:      0 1 2 6
 # Short-Description: This script monitors the BOINC client.
 # Description: This script starts the local BOINC client as a daemon
 #         For more information about BOINC (the Berkeley Open Infrastructure
@@ -117,6 +119,10 @@ fi
 #
 BOINCUSER=boinc
 
+# Name of group to run as:
+#
+BOINCUSER=boinc
+
 # Working directory.  Could be /home/boinc, /var/lib/boinc, etc..
 # The reason I prefer /var/lib/boinc is that this works best for a 
 # cluster of computers where /home/anything might be shared between machines
@@ -128,7 +134,7 @@ BOINCDIR=/var/lib/boinc
 # but I like to rename it and put it in a public place.
 # (Hint: move boincmgr to /usr/local/bin too so anyone can easily use it).
 #
-BOINCEXE_NAME=boinc_client
+BOINCEXE_NAME=boinc-client
 BOINCEXE=${bindir}/${BOINCEXE_NAME}
 BOINCCMD_NAME=boinccmd
 BOINCCMD=${bindir}/${BOINCCMD_NAME}
@@ -161,9 +167,7 @@ BOINCOPTS=
 # Subsys lock file ...
 
 # If there is the subsys directory, then use it ...
-if [ -d /var/lock/subsys/ ]; then
-        LOCKFILE=/var/lock/subsys/${BOINCEXE_NAME}
-elif [ -d /var/lock ]; then
+if [ -d /var/lock ]; then
         LOCKFILE=/var/lock/${BOINCEXE_NAME}
 elif [ -d /var/run ]; then
         LOCKFILE=/var/run/${BOINCEXE_NAME}.lock
@@ -178,8 +182,8 @@ export TERM=dumb
 # but if the functions are not found we create our own simple replacements.
 # (The idea for replacing the functions comes from OpenAFS.  Thanks guys!)
 
-if [ -f /etc/rc.d/init.d/functions ] ; then
-      . /etc/rc.d/init.d/functions
+if [ -f /etc/init.d/functions ] ; then
+      . /etc/init.d/functions
 else
       if printf "Hello" >/dev/null 2>/dev/null ; then
            # printf works
@@ -279,7 +283,7 @@ if [ ! -d $BOINCDIR ]; then
   echo -n "Creating $BOINCDIR "
   if mkdir -p $BOINCDIR 2>/dev/null ; then
     if [ -n "$BOINCUSER" ] ; then
-      if chown $BOINCUSER $BOINCDIR ; then
+      if chown $BOINCUSER $BOINCGROUP $BOINCDIR ; then
         echo_success
       else
         echo_failure
@@ -329,8 +333,8 @@ if [ "${USERNOW}" = "${BOINCUSER}" ] ; t
     exit 8
   fi
 elif [ "${USERNOW}" = "root" ] ; then
-  cmd="if test -O ${BOINCDIR} ; then echo success ; fi"
-  if [ -z `su $BOINCUSER -c "$cmd"` ]; then
+ # cmd="if test -O ${BOINCDIR} ; then echo success ; fi"
+ # if [ -z `su $BOINCUSER -c "$cmd"` ]; then
     echo -n ERROR: $BOINCDIR is not owned by $BOINCUSER.
     echo_failure
     echo
++++++ boinc-logrotate ++++++
/var/log/boinc-client.log {
    daily
    compress
    dateext
    notifempty
    rotate 99
    size +4096k
    missingok
    create 644 root root
    postrotate
        /etc/init.d/boinc-client restart > /dev/null
    endscript
}

#/var/log/boinc-client_err.log {
#    daily
#    compress
#    dateext
#    notifempty
#    rotate 99
#    size +4096k
#    missingok
#    create 644 root root
#    postrotate
#        /etc/init.d/boinc-client restart > /dev/null
#    endscript
#}
++++++ boinc-manager ++++++
#!/bin/sh
#
# boinc-manager - a wrapper to start BOINC Client GUI
#
# Checking for gui_rpc_auth.cfg
if ! test -f ~/gui_rpc_auth.cfg ; then
    ln -s @boinc_dir@/gui_rpc_auth.cfg ~/.
fi

exec boinc-gui -e @bindir@
++++++ generate-tarball.sh ++++++
#!/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
++++++ sysconfig.boinc-client ++++++

## Path:        Productivity/Clustering/Computing
## Description: define BOINC user
## Type:        string
## Default:     "boinc"
## Config:      BOINC
#
# An empty setting will point to boinc
#
BOINC_BOINC_USR="boinc"

## Path:        Productivity/Clustering/Computing
## Description: define BOINC group
## Type:        string
## Default:     "boinc"
## Config:      BOINC
#
# An empty setting will point to boinc
#
BOINC_BOINC_GRP="boinc"

## Path:        Productivity/Clustering/Computing
## Description: define BOINC DIR
## Type:        string
## Default:     "/var/lib/boinc"
## Config:      BOINC
##
## An empty setting will point to /var/lib/boinc
##
BOINC_BOINC_DIR=""

## Path:        Productivity/Clustering/Computing
## Description: define BOINC options
## Type:        string
## Default:     ""
## Config:      BOINC
#
##  --allow_remote_gui_rpc 
##    allow boinc manager connections from remote machines
##
##  --daemon 
##    turn off all logging
##
##  --redirectio 
##    redirect logging to the files stderrdae.txt and stdoutdae.txt
##    in BOINCDIR rather than LOGFILE and ERRORLOG
##
##  --check_all_logins
##    run only when no logins from anywhere are active
##
#
BOINC_BOINC_OPTS=""
-- 
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to