File boinc-client.spec of Package boinc-client

#
# spec file for package boinc-client
#
# Copyright (c) 2011 SUSE LINUX Products GmbH, Nuernberg, Germany.
#
# 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/
#



Name:           boinc-client
Summary:        The Berkeley Open Infrastructure for Network Computing (BOINC)
Version:        6.4.5
Release:        11
License:        LGPLv2.1
Url:            http://boinc.berkeley.edu/
Source0:        boinc_core_release_6_4_5.tar.bz2
Source1:        boinc-icons.tar.bz2
Source2:        boinc-logrotate
Source3:        boinc-gui.desktop
Source4:        boincmgr
Source5:        sysconfig.boinc
Source100:      boinc-client-rpmlintrc
Patch0:         boinc-docbook2x.patch
Patch1:         boinc-rcscript.patch
Patch2:         boinc-fs_start_included.patch
Patch3:         boinc-sysconfig.patch
Patch4:         boinc-ca_cert_deactivate.patch
Patch5:         boinc-LC_MESSAGES.patch	
Patch6:         boinc-icon_old.patch
Patch7:         boinc-bnc_465676.patch
Patch8:         boinc-client-wxWindowListNode.patch
Patch9:         boinc-client-hostinfo.patch
Patch10:        boinc-client-NotebookWxPanel.patch
Patch11:        boinc-client-str_util.patch
Group:          Productivity/Clustering/Computing
BuildRequires:  libcurl-devel >= 7.15.2 python-mysql update-desktop-files
BuildRequires:  Mesa-devel freeglut-devel libopenssl-devel
BuildRequires:  gcc-c++ gettext-runtime mysql-devel wxWidgets-devel >= 2.8.7
BuildRequires:  docbook2x libjpeg-devel libxslt xorg-x11-libXmu-devel
BuildRequires:  autoconf automake libtool m4 pkg-config
PreReq:         %insserv_prereq  %fillup_prereq
Requires:       logrotate cron
Requires:       boinc-doc = %{version}-%{release}
BuildRoot:      %{_tmppath}/%{name}-%{version}-build
%define _use_internal_dependency_generator 0
%define __find_requires %wx_requires

%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.



Authors:
--------
    University of California, Berkeley
    Dr. David P. Anderson <davea@ssl.berkeley.edu>
    Rom Walton <rwalton@ssl.berkeley.edu>
    Charlie Fenton

%package -n boinc-gui
License:        LGPLv2.1
Summary:        The Berkeley Open Infrastructure for Network Computing (BOINC)
Group:          Productivity/Clustering/Computing
Requires:       boinc-client = %{version}-%{release}
Requires:       boinc-doc = %{version}-%{release}
Requires:       boinc-gui-lang = %{version}-%{release}

%description -n boinc-gui
The Berkeley Open Infrastructure for Network Computing (BOINC) is an
open-source software platform which supports distributed computing,
primarily in the form of "volunteer" computing and "desktop Grid"
computing. It is well suited for problems which are often described as
"trivially parallel".

BOINC is the underlying software used by projects such as SETI@home,
Einstein@Home, ClimatePrediciton.net, the World Community Grid, and
many other distributed computing projects.



Authors:
--------
    University of California, Berkeley
    Dr. David P. Anderson <davea@ssl.berkeley.edu>
    Rom Walton <rwalton@ssl.berkeley.edu>
    Charlie Fenton

%package devel
License:        LGPLv2.1
Summary:        The Berkeley Open Infrastructure for Network Computing (BOINC)
Group:          Productivity/Clustering/Computing
Requires:       boinc-client = %{version}-%{release}

%description devel
The Berkeley Open Infrastructure for Network Computing (BOINC) is an
open-source software platform which supports distributed computing,
primarily in the form of "volunteer" computing and "desktop Grid"
computing. It is well suited for problems which are often described as
"trivially parallel".

BOINC is the underlying software used by projects such as SETI@home,
Einstein@Home, ClimatePrediciton.net, the World Community Grid, and
many other distributed computing projects.



Authors:
--------
    University of California, Berkeley
    Dr. David P. Anderson <davea@ssl.berkeley.edu>
    Rom Walton <rwalton@ssl.berkeley.edu>
    Charlie Fenton

%package -n boinc-doc
License:        LGPLv2.1
Summary:        The Berkeley Open Infrastructure for Network Computing (BOINC)
Group:          Productivity/Clustering/Computing
Requires:       boinc-client = %{version}-%{release}
Requires:       boinc-gui = %{version}-%{release}

%description -n boinc-doc
The Berkeley Open Infrastructure for Network Computing (BOINC) is an
open-source software platform which supports distributed computing,
primarily in the form of "volunteer" computing and "desktop Grid"
computing. It is well suited for problems which are often described as
"trivially parallel".

BOINC is the underlying software used by projects such as SETI@home,
Einstein@Home, ClimatePrediciton.net, the World Community Grid, and
many other distributed computing projects.



Authors:
--------
    University of California, Berkeley
    Dr. David P. Anderson <davea@ssl.berkeley.edu>
    Rom Walton <rwalton@ssl.berkeley.edu>
    Charlie Fenton

%package -n boinc-gui-lang
License:        LGPLv2.1
Summary:        The Berkeley Open Infrastructure for Network Computing (BOINC)
Group:          Productivity/Clustering/Computing
Requires:       boinc-client = %{version}-%{release}
Requires:       boinc-gui = %{version}-%{release}

%description -n boinc-gui-lang
The Berkeley Open Infrastructure for Network Computing (BOINC) is an
open-source software platform which supports distributed computing,
primarily in the form of "volunteer" computing and "desktop Grid"
computing. It is well suited for problems which are often described as
"trivially parallel".

BOINC is the underlying software used by projects such as SETI@home,
Einstein@Home, ClimatePrediciton.net, the World Community Grid, and
many other distributed computing projects.



Authors:
--------
    University of California, Berkeley
    Dr. David P. Anderson <davea@ssl.berkeley.edu>
    Rom Walton <rwalton@ssl.berkeley.edu>
    Charlie Fenton

%prep
%setup -q -n boinc_core_release_6_4_5
%patch0 -p1
%patch1 -p1
%patch2 -p1
%patch3 -p1
%patch4 -p1
%patch5 -p1
%patch6 -p1
%patch7 -p1
%patch8 -p1
%patch9 -p1
%patch10 -p1
%patch11 -p1
tar -xvjf %{S:1}

%build
export CFLAGS="%{optflags} -fno-strict-aliasing"
export CXXFLAGS="%{optflags} -fno-strict-aliasing"
./_autosetup
%configure --prefix=%{_prefix} \
	   --libdir=%{_libdir} \
	   --mandir=%{_mandir} \
	   --disable-server \
	   --disable-static \
	   --enable-client \
	   --enable-unicode 
# does not work with parallel make
make

%install
%makeinstall
# create symlink for boinc_client
ln -s %{_bindir}/boinc_client $RPM_BUILD_ROOT%{_bindir}/boinc
# remove /etc/sysconfig/boinc-client
rm -f %{buildroot}%{_sysconfdir}/sysconfig/boinc
# install logrotate and create symlink to /etc/int.d/boinc-client
install -d -m755 $RPM_BUILD_ROOT%{_sbindir}
ln -s %{_sysconfdir}/init.d/boinc $RPM_BUILD_ROOT%{_sbindir}/rcboinc-client
install -D -m644 %{S:2} $RPM_BUILD_ROOT%{_sysconfdir}/logrotate.d/boinc-client
# install desktop-file and icons
%suse_update_desktop_file -i boinc-gui Utility
install -D -m644 boinc-gui-128.png $RPM_BUILD_ROOT%{_datadir}/icons/hicolor/128x128/apps/boinc-gui.png
install -D -m644 boinc-gui-64.png $RPM_BUILD_ROOT%{_datadir}/icons/hicolor/64x64/apps/boinc-gui.png
install -D -m644 boinc-gui-48.png $RPM_BUILD_ROOT%{_datadir}/icons/hicolor/48x48/apps/boinc-gui.png
install -D -m644 boinc-gui-32.png $RPM_BUILD_ROOT%{_datadir}/icons/hicolor/32x32/apps/boinc-gui.png
install -D -m644 boinc-gui-22.png $RPM_BUILD_ROOT%{_datadir}/icons/hicolor/22x22/apps/boinc-gui.png
install -D -m644 boinc-gui-16.png $RPM_BUILD_ROOT%{_datadir}/icons/hicolor/16x16/apps/boinc-gui.png
# install boincmgr
install -D -m755 %{S:4} $RPM_BUILD_ROOT%{_bindir}/boincmgr
# install template for sysconfig
install -D -m644 %{S:5} %{buildroot}/var/adm/fillup-templates/sysconfig.boinc
# remove static Libs
rm %{buildroot}%{_libdir}/*.a

%clean
rm -rf $RPM_BUILD_ROOT

%post
# Macro to use an sysconfig File
%{fillup_and_insserv -y boinc}

%preun
%stop_on_removal boinc

%postun
%restart_on_update boinc
%insserv_cleanup

%files
%defattr(-,root,root)
%{_bindir}/boinc
%{_bindir}/boinc_client
%{_bindir}/boinc_cmd
%{_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/*
%{_mandir}/man*/*

%files -n boinc-doc
%defattr(-,root,root)
%doc COPYING COPYRIGHT checkin_* INSTALL notes todo TODO_OLD doc/*.txt doc/bolt doc/logo doc/*.php doc/*.png doc/*.html

%files -n boinc-gui
%defattr(-,root,root)
%{_bindir}/boincmgr
%{_bindir}/boinc_gui
%{_datadir}/applications/*
%{_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

%changelog