lib: added belt-and-suspenders fix to usb Read functions
[barry.git] / rpm / barry.spec
blob27d9223956f4adc31490dd7ac5d30542290a9cb5
1 %dump
3 # always build with GUI
4 %define with_gui 1
6 # Fedora 9 doesn't support opensync 0.22
7 %if 0%{?fc9}
8 %define with_opensync 0
9 %else
10 %define with_opensync 1
11 %endif
13 %if 0%{?fc12} || 0%{?fc13}
14 %define use_69_rules 1
15 %else
16 %define use_69_rules 0
17 %endif
20 Summary: BlackBerry(tm) Desktop for Linux
21 Name: barry
22 Version: 0.17
23 Release: 0
24 Group: Applications/Productivity
25 License: GPLv2+
26 Source: %{name}-%{version}.tar.bz2
27 URL: http://www.netdirect.ca/software/packages/barry
28 Vendor: Net Direct Inc.
29 BuildRoot: %{_tmppath}/%{name}-%{release}-%{version}-root
31 %if 0%{?suse_version}
32 BuildRequires: libusb, gcc-c++, pkgconfig, boost-devel, fuse-devel, zlib-devel
33 %else
34 BuildRequires: libusb-devel, gcc-c++, pkgconfig, boost-devel, fuse-devel, zlib-devel
35 %endif
37 %if %{with_gui}
38 BuildRequires: desktop-file-utils
39 %endif
41 %define barryroot %{_builddir}/%{name}-%{version}
43 %description
44 Barry is a desktop toolset for managing your BlackBerry(tm) device. (BlackBerry
45 is a registered trademark of Research in Motion Limited.)
48 %package -n libbarry0
49 Summary: BlackBerry(tm) Desktop for Linux - libbarry libraries
50 Group: Development/Libraries
51 Requires: libusb boost
53 %description -n libbarry0
54 Barry is a desktop toolset for managing your BlackBerry(tm) device. (BlackBerry
55 is a registered trademark of Research in Motion Limited.)
57 This package contains the library files, license agreement, README file,
58 and most other assorted documentation common to all sub-packages. You most
59 likely want to also install barry-util and barry-gui.
62 %package -n libbarry-devel
63 Summary: BlackBerry(tm) Desktop for Linux - libbarry libraries
64 Group: Development/Libraries
65 %if 0%{?suse_version}
66 Requires: libbarry0 libusb boost-devel
67 %else
68 Requires: libbarry0 libusb-devel boost-devel
69 %endif
71 %description -n libbarry-devel
72 Barry is a desktop toolset for managing your BlackBerry(tm) device. (BlackBerry
73 is a registered trademark of Research in Motion Limited.)
75 This package contains the development library files for Barry, libbarry.
78 %package util
79 Summary: BlackBerry(tm) Desktop for Linux - bcharge, btool, breset and others
80 Group: Applications/Productivity
81 Requires: libbarry0 fuse
82 Conflicts: barry-bcharge
84 %description util
85 Barry is a desktop toolset for managing your BlackBerry(tm) device. (BlackBerry
86 is a registered trademark of Research in Motion Limited.)
88 This package contains the commandline tools bcharge, btool, breset and others
89 which will enable you to charge your device with a proper 500mA and be able
90 to access the data on the device in many ways.
93 %if %{with_gui}
94 %package gui
95 Summary: BlackBerry(tm) Desktop for Linux - bcharge, btool, breset and others
96 Group: Applications/Productivity
97 %if 0%{?suse_version}
98 Requires: libbarry0 gtkmm2 libglademm libtar
99 BuildRequires: gtkmm2-devel libglademm-devel libtar-devel
100 %else
101 Requires: libbarry0 gtkmm24 libglademm24 libtar
102 BuildRequires: gtkmm24-devel libglademm24-devel libtar-devel
103 %endif
105 %description gui
106 Barry is a desktop toolset for managing your BlackBerry(tm) device. (BlackBerry
107 is a registered trademark of Research in Motion Limited.)
109 This package contains the GUI applications built on top of libbarry.
110 %endif
113 %if %{with_opensync}
114 %package opensync
115 Summary: BlackBerry(tm) Desktop for Linux - opensync plugin
116 Group: Applications/Productivity
117 Requires: libbarry0, libopensync >= 0.22
118 BuildRequires: libopensync-devel
120 %description opensync
121 Barry is a desktop toolset for managing your BlackBerry(tm) device. (BlackBerry
122 is a registered trademark of Research in Motion Limited.)
124 This package contains the opensync plugin.
125 %endif
127 %prep
128 %setup -q
130 %build
131 # main tree
132 %{configure} --enable-boost --enable-nls --with-zlib
133 %{__make} %{?_smp_mflags}
135 # gui tree
136 %if %{with_gui}
137 cd gui/
138 %{configure} PKG_CONFIG_PATH="..:$PKG_CONFIG_PATH" CXXFLAGS="-I../.." LDFLAGS="-L../../src" --enable-nls
139 %{__make} %{?_smp_mflags}
140 cd ../
141 %endif
143 # opensync tree
144 %if %{with_opensync}
145 cd opensync-plugin/
146 %{configure} PKG_CONFIG_PATH="..:$PKG_CONFIG_PATH" CXXFLAGS="-I../.." LDFLAGS="-L../../src" --enable-nls
147 %{__make} %{?_smp_mflags}
148 cd ../
149 %endif
151 %install
152 # main tree
153 %{__make} DESTDIR=%{buildroot} install
154 # delete some test-only programs
155 %{__rm} -f %{buildroot}%{_bindir}/bdptest
156 %{__rm} -f %{buildroot}%{_bindir}/bjvmdebug
157 # proceed as usual...
158 %{__mkdir_p} %{buildroot}%{_sysconfdir}/udev/rules.d
159 %{__cp} udev/10-blackberry.rules %{buildroot}%{_sysconfdir}/udev/rules.d/
160 %if %{use_69_rules}
161 %{__cp} udev/69-blackberry.rules %{buildroot}%{_sysconfdir}/udev/rules.d/
162 %else
163 %{__cp} udev/99-blackberry-perms.rules %{buildroot}%{_sysconfdir}/udev/rules.d/
164 %endif
165 %{__mkdir_p} %{buildroot}%{_sysconfdir}/modprobe.d
166 %{__cp} modprobe/blacklist-berry_charge.conf %{buildroot}%{_sysconfdir}/modprobe.d/
167 %{__mkdir_p} %{buildroot}%{_sysconfdir}/ppp/peers
168 %{__cp} ppp/barry-rogers %{buildroot}%{_sysconfdir}/ppp/peers/
169 %{__cp} ppp/barry-verizon %{buildroot}%{_sysconfdir}/ppp/peers/
170 %{__cp} ppp/barry-sprint %{buildroot}%{_sysconfdir}/ppp/peers/
171 %{__cp} ppp/barry-telus %{buildroot}%{_sysconfdir}/ppp/peers/
172 %{__cp} ppp/barry-o2ireland %{buildroot}%{_sysconfdir}/ppp/peers/
173 %{__cp} ppp/barry-tmobileus %{buildroot}%{_sysconfdir}/ppp/peers/
174 %{__cp} ppp/barry-att_cingular %{buildroot}%{_sysconfdir}/ppp/peers/
175 %{__cp} ppp/barry-chinamobile %{buildroot}%{_sysconfdir}/ppp/peers/
176 %{__cp} ppp/barry-kpn %{buildroot}%{_sysconfdir}/ppp/peers/
177 %{__cp} ppp/barry-orange-spain %{buildroot}%{_sysconfdir}/ppp/peers/
178 %{__mkdir_p} %{buildroot}%{_sysconfdir}/chatscripts
179 %{__cp} ppp/barry-rogers.chat %{buildroot}%{_sysconfdir}/chatscripts/
180 %{__cp} ppp/barry-verizon.chat %{buildroot}%{_sysconfdir}/chatscripts/
181 %{__cp} ppp/barry-sprint.chat %{buildroot}%{_sysconfdir}/chatscripts/
182 %{__cp} ppp/barry-telus.chat %{buildroot}%{_sysconfdir}/chatscripts/
183 %{__cp} ppp/barry-o2ireland.chat %{buildroot}%{_sysconfdir}/chatscripts/
184 %{__cp} ppp/barry-tmobileus.chat %{buildroot}%{_sysconfdir}/chatscripts/
185 %{__cp} ppp/barry-att_cingular.chat %{buildroot}%{_sysconfdir}/chatscripts/
186 %{__cp} ppp/barry-chinamobile.chat %{buildroot}%{_sysconfdir}/chatscripts/
187 %{__cp} ppp/barry-kpn.chat %{buildroot}%{_sysconfdir}/chatscripts/
188 %{__cp} ppp/barry-orange-spain.chat %{buildroot}%{_sysconfdir}/chatscripts/
189 # Install hal fdi config
190 %{__mkdir_p} %{buildroot}%{_datadir}/hal/fdi/information/10freedesktop
191 %{__mkdir_p} %{buildroot}%{_datadir}/hal/fdi/policy/10osvendor
192 %{__cp} hal/fdi/information/10freedesktop/10-blackberry.fdi %{buildroot}%{_datadir}/hal/fdi/information/10freedesktop
193 %{__cp} hal/fdi/policy/10osvendor/19-blackberry-acl.fdi %{buildroot}%{_datadir}/hal/fdi/policy/10osvendor
194 # Install hal support script
195 %{__mkdir_p} %{buildroot}%{_bindir}
196 %{__cp} hal/hal-blackberry %{buildroot}%{_bindir}
197 # Install bash completion scripts
198 %{__mkdir_p} %{buildroot}%{_sysconfdir}/bash_completion.d
199 %{__cp} bash/bjavaloader %{buildroot}%{_sysconfdir}/bash_completion.d
200 %{__cp} bash/btool %{buildroot}%{_sysconfdir}/bash_completion.d
202 # gui tree
203 %if %{with_gui}
204 cd gui/
205 %{__make} DESTDIR=%{buildroot} install
206 # Install barry logo icon
207 cd ../
208 %{__mkdir_p} %{buildroot}%{_datadir}/pixmaps
209 %{__cp} logo/barry_logo_icon.png %{buildroot}%{_datadir}/pixmaps
210 desktop-file-install --vendor netdirect \
211 --dir %{buildroot}%{_datadir}/applications \
212 menu/barrybackup.desktop
213 %endif
215 # opensync tree
216 %if %{with_opensync}
217 cd opensync-plugin/
218 %{__make} DESTDIR=%{buildroot} install
219 cd ../
220 %endif
222 %files -n libbarry0
223 %defattr(-,root,root)
224 %attr(-,root,root) %{_libdir}/*.so*
225 %doc AUTHORS ChangeLog COPYING NEWS README
227 %files -n libbarry-devel
228 %defattr(-,root,root)
229 %attr(0644,root,root) %{_includedir}/barry/*
230 %attr(0644,root,root) %{_libdir}/*.a
231 %attr(0755,root,root) %{_libdir}/*.la
232 %attr(0644,root,root) %{_libdir}/pkgconfig/*.pc
233 %doc COPYING TODO doc/* examples/*.cc
235 %files util
236 %defattr(-,root,root)
237 %attr(0755,root,root) %{_sbindir}/bcharge
238 %attr(0755,root,root) %{_sbindir}/breset
239 %attr(0755,root,root) %{_sbindir}/pppob
240 %attr(0755,root,root) %{_bindir}/btool
241 %attr(0755,root,root) %{_bindir}/bfuse
242 %attr(0755,root,root) %{_bindir}/bjavaloader
243 %attr(0755,root,root) %{_bindir}/bjdwp
244 %attr(0755,root,root) %{_bindir}/brawchannel
245 %attr(0755,root,root) %{_bindir}/bs11nread
246 %attr(0755,root,root) %{_bindir}/bidentify
247 %attr(0755,root,root) %{_bindir}/brecsum
248 %attr(0755,root,root) %{_bindir}/upldif
249 %attr(0755,root,root) %{_bindir}/bktrans
250 %attr(0755,root,root) %{_bindir}/btranslate
251 %attr(0755,root,root) %{_bindir}/brimtrans
252 %attr(0755,root,root) %{_bindir}/hal-blackberry
253 %attr(0644,root,root) %{_mandir}/man1/btool*
254 %attr(0644,root,root) %{_mandir}/man1/bfuse*
255 %attr(0644,root,root) %{_mandir}/man1/bjavaloader*
256 %attr(0644,root,root) %{_mandir}/man1/bjdwp*
257 %attr(0644,root,root) %{_mandir}/man1/brawchannel*
258 %attr(0644,root,root) %{_mandir}/man1/bs11nread*
259 %attr(0644,root,root) %{_mandir}/man1/bidentify*
260 %attr(0644,root,root) %{_mandir}/man1/bcharge*
261 %attr(0644,root,root) %{_mandir}/man1/pppob*
262 %attr(0644,root,root) %{_mandir}/man1/brecsum*
263 %attr(0644,root,root) %{_mandir}/man1/breset*
264 %attr(0644,root,root) %{_mandir}/man1/upldif*
265 %attr(0644,root,root) %{_datadir}/locale/*
266 %attr(0644,root,root) %{_datadir}/hal/fdi/information/10freedesktop/10-blackberry.fdi
267 %attr(0644,root,root) %{_datadir}/hal/fdi/policy/10osvendor/19-blackberry-acl.fdi
268 %attr(0644,root,root) %config %{_sysconfdir}/udev/rules.d/*
269 %attr(0644,root,root) %config %{_sysconfdir}/modprobe.d/blacklist-berry_charge.conf
270 %attr(0644,root,root) %config %{_sysconfdir}/ppp/peers/barry-rogers
271 %attr(0644,root,root) %config %{_sysconfdir}/ppp/peers/barry-verizon
272 %attr(0644,root,root) %config %{_sysconfdir}/ppp/peers/barry-sprint
273 %attr(0644,root,root) %config %{_sysconfdir}/ppp/peers/barry-telus
274 %attr(0644,root,root) %config %{_sysconfdir}/ppp/peers/barry-o2ireland
275 %attr(0644,root,root) %config %{_sysconfdir}/ppp/peers/barry-tmobileus
276 %attr(0644,root,root) %config %{_sysconfdir}/ppp/peers/barry-att_cingular
277 %attr(0644,root,root) %config %{_sysconfdir}/ppp/peers/barry-chinamobile
278 %attr(0644,root,root) %config %{_sysconfdir}/ppp/peers/barry-kpn
279 %attr(0644,root,root) %config %{_sysconfdir}/ppp/peers/barry-orange-spain
280 %attr(0640,root,root) %config %{_sysconfdir}/chatscripts/barry-rogers.chat
281 %attr(0640,root,root) %config %{_sysconfdir}/chatscripts/barry-verizon.chat
282 %attr(0640,root,root) %config %{_sysconfdir}/chatscripts/barry-sprint.chat
283 %attr(0640,root,root) %config %{_sysconfdir}/chatscripts/barry-telus.chat
284 %attr(0640,root,root) %config %{_sysconfdir}/chatscripts/barry-o2ireland.chat
285 %attr(0640,root,root) %config %{_sysconfdir}/chatscripts/barry-tmobileus.chat
286 %attr(0640,root,root) %config %{_sysconfdir}/chatscripts/barry-att_cingular.chat
287 %attr(0640,root,root) %config %{_sysconfdir}/chatscripts/barry-chinamobile.chat
288 %attr(0640,root,root) %config %{_sysconfdir}/chatscripts/barry-kpn.chat
289 %attr(0640,root,root) %config %{_sysconfdir}/chatscripts/barry-orange-spain.chat
290 %attr(0640,root,root) %config %{_sysconfdir}/bash_completion.d/bjavaloader
291 %attr(0640,root,root) %config %{_sysconfdir}/bash_completion.d/btool
292 %doc COPYING
293 %doc zsh
294 %doc ppp/README
296 %if %{with_gui}
297 %files gui
298 %defattr(-,root,root)
299 %attr(0755,root,root) %{_bindir}/barrybackup
300 %attr(0644,root,root) %{_datadir}/barry/glade/*.glade
301 %attr(0644,root,root) %{_datadir}/pixmaps/barry_logo_icon.png
302 %attr(0644,root,root) %{_datadir}/applications/*barrybackup.desktop
303 %attr(0644,root,root) %{_mandir}/man1/barrybackup*
304 %doc COPYING
305 %endif
307 %if %{with_opensync}
308 %files opensync
309 %defattr(-,root,root)
310 %attr(0755,root,root) %{_libdir}/opensync/plugins/*
311 %attr(0644,root,root) %{_datadir}/opensync/defaults/*
312 %doc COPYING
313 %endif
315 %clean
316 [ "%{buildroot}" != "/" ] && %{__rm} -rf %{buildroot}
317 [ "%{barryroot}" != "/" ] && %{__rm} -rf %{barryroot}
319 %post -n libbarry0
320 /sbin/ldconfig
322 %postun -n libbarry0
323 /sbin/ldconfig
325 %changelog
326 * Fri May 28 2010 Chris Frey <cdfrey@foursquare.net> 0.17-0
327 - version bump
328 - added NLS support
329 - cleaned up conditionals
330 - added Fedora 13 support
331 - added new ppp chat script for Orange Spain
332 - added copy of barry-sprint as barry-telus
333 - added brawchannel
335 * Sat Sep 29 2009 Chris Frey <cdfrey@foursquare.net> 0.16-0
336 - version bump
337 - added new ppp chat script for KPN Nederland
338 - using new udev rules set
339 - added bjdwp and manpage, and removed some test-only programs
340 - added bash and zsh completion scripts
341 - added .desktop file and icon for barrybackup
343 * Fri Apr 10 2009 Chris Frey <cdfrey@foursquare.net> 0.15-0
344 - version bump
345 - added HAL FDI scripts
346 - added bjavaloader and bfuse
347 - updated for udev directory reorganization in Barry source tree
348 - added zlib-devel to BuildRequires list
349 - added brimtrans
351 * Wed Sep 24 2008 Chris Frey <cdfrey@foursquare.net> 0.14-0
352 - version bump
353 - added new ppp chat script for T-Mobile US
354 - renamed libbarry to libbarry0
356 * Thu May 29 2008 Chris Frey <cdfrey@foursquare.net> 0.13-1
357 - version bump
358 - added brecsum
359 - added ppp options and chat scripts
360 - added manpages for pppob, brecsum, breset, upldif, barrybackup
361 - spec file now assumes gui and opensync, with conditional checks depending on host
363 * Fri Dec 07 2007 Chris Frey <cdfrey@foursquare.net> 0.12-1
364 - version bump
366 * Fri Nov 30 2007 Chris Frey <cdfrey@foursquare.net> 0.11-1
367 - version bump
369 * Fri Nov 30 2007 Chris Frey <cdfrey@foursquare.net> 0.10-1
370 - version bump
371 - removed ktrans and translate from rpm package
372 - added bidentify
374 * Thu Aug 09 2007 Chris Frey <cdfrey@foursquare.net> 0.9-1
375 - version bump
377 * Fri Aug 03 2007 Chris Frey <cdfrey@foursquare.net> 0.8-1
378 - version bump
379 - changed tarball to bz2
381 * Tue May 01 2007 Chris Frey <cdfrey@foursquare.net> 0.7-2
382 - added pppob to utils
384 * Thu Mar 08 2007 Chris Frey <cdfrey@foursquare.net> 0.7-1
385 - removed barry base package that only contained docs, and put docs in libbarry*
386 - changed barrybackup reference to barry-gui
387 - removed the patch step, as version 0.7 shouldn't need it
388 - added license file to each package
390 * Sun Mar 04 2007 Troy Engel <tengel@users.sourceforge.net> 0.6-1
391 - initial build
392 - adding udev and console perms patch for raw 0.6