/[packages]/updates/3/boinc-client/current/SPECS/boinc-client.spec
ViewVC logotype

Contents of /updates/3/boinc-client/current/SPECS/boinc-client.spec

Parent Directory Parent Directory | Revision Log Revision Log


Revision 796179 - (show annotations) (download)
Mon Nov 10 13:02:42 2014 UTC (9 years, 5 months ago) by eatdirt
File size: 8267 byte(s)
SILENT: fix call to docbook
1 %define Werror_cflags %nil
2 %define subrel 2
3
4 Summary: The BOINC client core
5 Name: boinc-client
6 Version: 7.2.42
7 Release: %mkrel 1
8 License: LGPLv2+
9 Group: Sciences/Other
10 URL: http://boinc.berkeley.edu/
11 # The source for this package was pulled from upstream's vcs. Use the
12 # following commands to generate the tarball:
13 # git clone git://boinc.berkeley.edu/boinc-v2.git boinc
14 # pushd boinc
15 # git checkout client_release/7.2/%{version}
16 # ../trim . Trim all binaries and other unnecessary things.
17 # rm -rf .git*
18 # popd
19 # tar -cJvf boinc-%%{version}.tar.xz boinc
20 # Full changelog: http://boinc.berkeley.edu/dev/forum_thread.php?id=8378
21 Source0: boinc-%{version}.tar.xz
22 Source1: boinc-client.service
23 Source2: boinc-client-tmpfiles.conf
24 Source3: boinc-manager.desktop
25 Source4: trim
26 # Wrapper to fix GPU detection (fedora)
27 Source5: boinc_gpu
28 Source6: boinc-client.logrotate
29 # Create password file rw for group, this enables passwordless connection
30 # of manager from users of the boinc group.
31 # This won't be probably upstreamed as it might be unsafe for common usage
32 # without setting proper group ownership of the password file.
33 Patch0: boinc-7.2.39-guirpcauth.patch
34 # Backport patch from 7.3 branch to fix idle time detection (fedora)
35 Patch1: boinc-7.2.39-idledetect.patch
36 # command docbook2x-man does not exist on mga3, only db2x_docbook2man
37 Patch2: boinc-7.2.42-docbook.patch
38 BuildRequires: curl-devel
39 BuildRequires: wxgtku-devel
40 BuildRequires: gettext
41 BuildRequires: jpeg-devel
42 BuildRequires: openssl-devel
43 BuildRequires: docbook2x
44 BuildRequires: sqlite3-devel
45 BuildRequires: glut-devel
46 BuildRequires: libxmu-devel
47 BuildRequires: libnotify-devel
48 BuildRequires: xcb-util-devel
49 BuildRequires: libgtk+2.0-devel
50 BuildRequires: libxscrnsaver-devel
51 BuildRequires: icoutils
52 Requires: logrotate
53
54 Requires(pre): rpm-helper >= %{rpmhelper_required_version}
55 Requires(post): rpm-helper >= %{rpmhelper_required_version}
56 Requires(preun): rpm-helper >= %{rpmhelper_required_version}
57 Requires(postun): rpm-helper >= %{rpmhelper_required_version}
58
59 %description
60 The Berkeley Open Infrastructure for Network Computing (BOINC) is an open-
61 source software platform which supports distributed computing, primarily in
62 the form of "volunteer" computing and "desktop Grid" computing. It is well
63 suited for problems which are often described as "trivially parallel". BOINC
64 is the underlying software used by projects such as SETI@home, Einstein@Home,
65 ClimatePrediciton.net, the World Community Grid, and many other distributed
66 computing projects.
67
68 This package installs the BOINC client software, which will allow your
69 computer to participate in one or more BOINC projects, using your spare
70 computer time to search for cures for diseases, model protein folding, study
71 global warming, discover sources of gravitational waves, and many other types
72 of scientific and mathematical research.
73
74 %package -n boinc-manager
75 Summary: GUI to control and monitor %{name}
76 Group: Sciences/Other
77 Requires: %{name} = %{version}-%{release}
78
79 %description -n boinc-manager
80 The BOINC Manager is a graphical monitor and control utility for the BOINC
81 core client. It gives a detailed overview of the state of the client it is
82 monitoring. The BOINC Manager has two modes of operation, the "Simple View" in
83 which it only displays the most important information and the "Advanced View"
84 in which all information and all control elements are available.
85
86 %package devel
87 Summary: Development files for %{name}
88 Group: Development/Other
89 Requires: %{name} = %{version}-%{release}
90 Requires: openssl-devel
91 Requires: mysql-devel
92
93 %description devel
94 This package contains development files for %{name}.
95
96 %package static
97 Summary: Static libraries for %{name}
98 Group: Sciences/Other
99 Requires: %{name}-devel = %{version}-%{release}
100
101 %description static
102 This package contains static libraries for %{name}.
103
104 %package doc
105 Summary: Documentation files for %{name}
106 Group: Sciences/Other
107 BuildArch: noarch
108 Requires: %{name} = %{version}-%{release}
109
110 %description doc
111 This package contains documentation files for %{name}.
112
113 %prep
114 %setup -qn boinc
115 %apply_patches
116
117 # fix utf8
118 iconv -f ISO88591 -t UTF8 < checkin_notes_2004 > checkin_notes_2004.utf8
119 touch -r checkin_notes_2004 checkin_notes_2004.utf8
120 mv checkin_notes_2004.utf8 checkin_notes_2004
121
122 iconv -f ISO88591 -t UTF8 < checkin_notes_2005 > checkin_notes_2005.utf8
123 touch -r checkin_notes_2005 checkin_notes_2005.utf8
124 mv checkin_notes_2005.utf8 checkin_notes_2005
125
126 iconv -f ISO88591 -t UTF8 < checkin_notes_2009 > checkin_notes_2009.utf8
127 touch -r checkin_notes_2009 checkin_notes_2009.utf8
128 mv checkin_notes_2009.utf8 checkin_notes_2009
129
130 iconv -f ISO88591 -t UTF8 < checkin_notes_2010 > checkin_notes_2010.utf8
131 touch -r checkin_notes_2010 checkin_notes_2010.utf8
132 mv checkin_notes_2010.utf8 checkin_notes_2010
133
134 iconv -f ISO88591 -t UTF8 < checkin_notes_2011 > checkin_notes_2011.utf8
135 touch -r checkin_notes_2011 checkin_notes_2011.utf8
136 mv checkin_notes_2011.utf8 checkin_notes_2011
137
138 %build
139 %ifarch x86_64
140 %global boinc_platform x86_64-pc-linux-gnu
141 %else
142 %global boinc_platform i686-pc-linux-gnu
143 %endif
144
145 ./_autosetup
146
147 %configure2_5x --disable-dependency-tracking \
148 --disable-fcgi \
149 --disable-shared \
150 --disable-server \
151 --enable-client \
152 --enable-manager \
153 --enable-unicode \
154 --enable-dynamic-client-linkage \
155 --with-ssl \
156 --with-x \
157 --with-boinc-platform=%{boinc_platform}
158
159 # Disable rpaths
160 sed -i 's|^hardcode_libdir_flag_spec=.*|hardcode_libdir_flag_spec=""|g' libtool
161 sed -i 's|^runpath_var=LD_RUN_PATH|runpath_var=DIE_RPATH_DIE|g' libtool
162
163 %make
164
165 %install
166 mkdir -p %{buildroot}%{_iconsdir}/hicolor/256x256/apps
167 mkdir -p %{buildroot}%{_unitdir}
168 mkdir -p %{buildroot}%{_localstatedir}/lib/boinc
169 mkdir -p %{buildroot}%{_mandir}/man1
170 mkdir -p %{buildroot}%{_sysconfdir}/logrotate.d/
171
172 %makeinstall_std
173
174 pushd %{buildroot}%{_bindir}
175
176 # use symlink instead of hardlink
177 rm boinc
178 cat > boinc <<EOF
179 #!/bin/bash
180 # wrapper script that redirects stdout/stderr to correct log paths
181
182 # we allow multiple clients so that the client does not think there is another instance running (namely this wrapper)
183 %{_bindir}/boinc_client --allow_multiple_clients \$@ >> %{_localstatedir}/log/boinc.log 2> %{_localstatedir}/log/boincerr.log
184 EOF
185 chmod a+x boinc
186
187 # remove libtool archives
188 rm %{buildroot}%{_libdir}/*.la
189
190 popd
191
192 # own systemd script and logrotate configuration file
193 rm -f %{buildroot}%{_sysconfdir}/init.d/%{name} %{buildroot}%{_sysconfdir}/sysconfig/%{name}
194 %{__install} -p -m 0755 %{SOURCE1} %{buildroot}%{_unitdir}/%{name}.service
195 %{__install} -D -p -m 0644 %{SOURCE2} %{buildroot}%{_tmpfilesdir}/%{name}.conf
196 %{__install} -D -p -m 0644 %{SOURCE6} %{buildroot}%{_sysconfdir}/logrotate.d/%{name}
197 install -p -m 0755 %{SOURCE5} %{buildroot}%{_bindir}
198
199
200 # create .png for app icon and install .desktop file
201 icotool -x -i 2 clientgui/res/BOINCGUIApp.ico -o %{buildroot}%{_datadir}/icons/hicolor/256x256/apps/boincmgr.png
202 install -Dp -m 0644 %{SOURCE3} %{buildroot}%{_datadir}/applications/boinc-manager.desktop
203
204 %find_lang BOINC-Client
205 %find_lang BOINC-Manager
206
207 # bash-completion
208 install -Dp -m 0644 client/scripts/boinc.bash %{buildroot}%{_sysconfdir}/bash_completion.d/boinc-client
209
210
211 %pre
212 %_pre_useradd boinc /dev/null /bin/false
213
214 %post
215 %_tmpfilescreate %{name}
216 %_post_service %{name}
217
218
219 %preun
220 %_preun_service %{name}
221
222 %postun
223 %_postun_userdel boinc
224
225
226 %files -f BOINC-Client.lang
227 %config(noreplace) %{_sysconfdir}/logrotate.d/%{name}
228 %config(noreplace) %{_sysconfdir}/bash_completion.d/
229 %doc COPYING COPYRIGHT
230 %{_bindir}/boinc
231 %{_bindir}/boinc_client
232 %{_bindir}/boinccmd
233 %{_bindir}/boinc_gpu
234 %{_bindir}/switcher
235 %{_unitdir}/%{name}.service
236 %{_tmpfilesdir}/%{name}.conf
237 %{_mandir}/man?/boinccmd.?.*
238 %{_mandir}/man?/boinc.?.*
239 %defattr(-,boinc,boinc,-)
240 %dir %{_localstatedir}/lib/boinc
241 %{_localstatedir}/lib/boinc/
242
243
244 %files doc
245 %doc checkin_notes checkin_notes_*
246
247 %files -n boinc-manager -f BOINC-Manager.lang
248 %{_bindir}/boincmgr
249 %{_bindir}/boincscr
250 %{_datadir}/applications/boinc-manager.desktop
251 %{_iconsdir}/*/*/apps/boincmgr.*
252 %{_mandir}/man?/boincmgr.?.*
253
254 %files static
255 %{_libdir}/libboinc.a
256 %{_libdir}/libboinc_api.a
257 %{_libdir}/libboinc_crypt.a
258 %{_libdir}/libboinc_graphics2.a
259 %{_libdir}/libboinc_opencl.a
260
261 %files devel
262 %{_includedir}/boinc

  ViewVC Help
Powered by ViewVC 1.1.30