]> git.sur5r.net Git - bacula/bacula/blob - bacula/platforms/redhat/bacula.spec.in
Add support for SUSE-11.1
[bacula/bacula] / bacula / platforms / redhat / bacula.spec.in
1 # Bacula RPM spec file
2 # Copyright (C) 2000-2008 Kern Sibbald
3
4 # Platform Build Configuration
5
6 # basic defines for every build
7 %define _version @VERSION@
8 %define _release 1
9 %define depkgs_version 11Sep08
10 %define _rescuever @VERSION@
11 %define docs_version @VERSION@
12
13 # any patches for this release
14 # be sure to check the setup section for patch macros
15
16 #--------------------------------------------------------------------------
17 # it should not be necessary to change anything below here for a release
18 # except for patch macros in the setup section
19 #--------------------------------------------------------------------------
20
21 %define single_dir 0
22 %{?single_dir_install:%define single_dir 1}
23 %if %{single_dir}
24 %define _prefix /opt/bacula
25 %else
26 %define _prefix /usr
27 %endif
28
29 # third party packagers
30 %define _packager D. Scott Barninger <barninger@fairfieldcomputers.com>
31 %{?contrib_packager:%define _packager %{contrib_packager}}
32
33 Summary: Bacula - The Network Backup Solution
34 Name: bacula
35 Version: %{_version}
36 Release: %{_release}
37 Group: System Environment/Daemons
38 License: GPL v2
39 Source0: http://www.prdownloads.sourceforge.net/bacula/%{name}-%{version}.tar.gz
40 Source1: http://www.prdownloads.sourceforge.net/bacula/depkgs-%{depkgs_version}.tar.gz
41 Source2: Release_Notes-%{version}-%{release}.tar.gz
42 Source3: http://www.prdownloads.sourceforge.net/bacula/%{name}-docs-%{docs_version}.tar.gz
43 Source4: http://www.prdownloads.sourceforge.net/bacula/%{name}-rescue-%{_rescuever}.tar.gz
44 Source5: bacula-2.2.7-postgresql.patch
45 BuildRoot: %{_tmppath}/%{name}-root
46 URL: http://www.bacula.org/
47 Vendor: The Bacula Team
48 Packager: %{_packager}
49 Prefix: %{_prefix}
50
51 # define the basic package description
52 %define blurb Bacula - It comes by night and sucks the vital essence from your computers.
53 %define blurb2 Bacula is a set of computer programs that permit you (or the system
54 %define blurb3 administrator) to manage backup, recovery, and verification of computer
55 %define blurb4 data across a network of computers of different kinds. In technical terms,
56 %define blurb5 it is a network client/server based backup program. Bacula is relatively
57 %define blurb6 easy to use and efficient, while offering many advanced storage management
58 %define blurb7 features that make it easy to find and recover lost or damaged files.
59 %define blurb8 Bacula source code has been released under the GPL version 2 license.
60
61 # source directory locations
62 %define _docsrc ../%{name}-docs-%{docs_version}
63 %define _rescuesrc ../%{name}-rescue-%{_rescuever}
64 %define depkgs ../depkgs
65
66 # directory locations
67 %if %{single_dir}
68 %define _sbindir /opt/bacula
69 %define _subsysdir /opt/bacula/working
70 %define sqlite_bindir /opt/bacula/sqlite
71 %define _mandir /usr/share/man
72 %define sysconf_dir /opt/bacula
73 %define script_dir /opt/bacula/scripts
74 %define working_dir /opt/bacula/working
75 %define pid_dir /opt/bacula/working
76 %else
77 %define _sbindir %_prefix/sbin
78 %define _subsysdir /var/lock/subsys
79 %define sqlite_bindir %_libdir/bacula/sqlite
80 %define _mandir %_prefix/share/man
81 %define sysconf_dir /etc/bacula
82 %define script_dir %_libdir/bacula
83 %define working_dir /var/lib/bacula
84 %define pid_dir /var/run
85 %endif
86
87 # NOTE these defines are used in some rather complex useradd and groupadd
88 # commands. If you change them examine the post scripts for consequences.
89 %define director_daemon_user bacula
90 %define storage_daemon_user bacula
91 %define file_daemon_user root
92 %define daemon_group bacula
93 # group that has write access to tape devices, usually disk on Linux
94 %define storage_daemon_group disk
95 %define user_file /etc/passwd
96 %define group_file /etc/group
97
98 # program locations
99 %define useradd /usr/sbin/useradd
100 %define groupadd /usr/sbin/groupadd
101 %define usermod /usr/sbin/usermod
102
103 # platform defines - set one below or define the build_xxx on the command line
104 # RedHat builds
105 %define rh7 0
106 %{?build_rh7:%define rh7 1}
107 %define rh8 0
108 %{?build_rh8:%define rh8 1}
109 %define rh9 0
110 %{?build_rh9:%define rh9 1}
111 # Fedora Core build
112 %define fc1 0
113 %{?build_fc1:%define fc1 1}
114 %define fc3 0
115 %{?build_fc3:%define fc3 1}
116 %define fc4 0
117 %{?build_fc4:%define fc4 1}
118 %define fc5 0
119 %{?build_fc5:%define fc5 1}
120 %define fc6 0
121 %{?build_fc6:%define fc6 1}
122 %define fc7 0
123 %{?build_fc7:%define fc7 1}
124 %define fc8 0
125 %{?build_fc8:%define fc8 1}
126 %define fc9 0
127 %{?build_fc9:%define fc9 1}
128 # Whitebox Enterprise build
129 %define wb3 0
130 %{?build_wb3:%define wb3 1}
131 # RedHat Enterprise builds
132 %define rhel3 0
133 %{?build_rhel3:%define rhel3 1}
134 %{?build_rhel3:%define wb3 1}
135 %define rhel4 0
136 %{?build_rhel4:%define rhel4 1}
137 %{?build_rhel4:%define fc3 1}
138 %define rhel5 0
139 %{?build_rhel5:%define rhel5 1}
140 %{?build_rhel5:%define fc6 1}
141 # CentOS build
142 %define centos3 0
143 %{?build_centos3:%define centos3 1}
144 %{?build_centos3:%define wb3 1}
145 %define centos4 0
146 %{?build_centos4:%define centos4 1}
147 %{?build_centos4:%define fc3 1}
148 %define centos5 0
149 %{?build_centos5:%define centos5 1}
150 %{?build_centos5:%define fc6 1}
151 # SL build
152 %define sl3 0
153 %{?build_sl3:%define sl3 1}
154 %{?build_sl3:%define wb3 1}
155 %define sl4 0
156 %{?build_sl4:%define sl4 1}
157 %{?build_sl4:%define fc3 1}
158 %define sl5 0
159 %{?build_sl5:%define sl5 1}
160 %{?build_sl5:%define fc6 1}
161 # SuSE build
162 %define su9 0
163 %{?build_su9:%define su9 1}
164 %define su10 0
165 %{?build_su10:%define su10 1}
166 %define su102 0
167 %{?build_su102:%define su102 1}
168 %define su103 0
169 %{?build_su103:%define su103 1}
170 %define su110 0
171 %{?build_su110:%define su110 1}
172 %define su111 0
173 %{?build_su111:%define su111 1}
174 # Mandrake builds
175 %define mdk 0
176 %{?build_mdk:%define mdk 1}
177 %define mdv 0
178 %{?build_mdv:%define mdv 1}
179 %{?build_mdv:%define mdk 1}
180
181 # client only build
182 %define client_only 0
183 %{?build_client_only:%define client_only 1}
184
185 # test for a platform definition
186 %if !%{rh7} && !%{rh8} && !%{rh9} && !%{fc1} && !%{fc3} && !%{fc4} && !%{fc5} && !%{fc6} && !%{fc7} && !%{fc8} && !%{fc9} && !%{wb3} && !%{su9} && !%{su10} && !%{su102} && !%{su103} && !%{su110} && !%{su111} && !%{mdk}
187 %{error: You must specify a platform. Please examine the spec file.}
188 exit 1
189 %endif
190
191 # database defines
192 # set for database support desired or define the build_xxx on the command line
193 %define mysql 0
194 %{?build_mysql:%define mysql 1}
195 # if using mysql 4.x define this and mysql above
196 # currently: Mandrake 10.1, SuSE 9.x & 10.0, RHEL4 and Fedora Core 4
197 %define mysql4 0
198 %{?build_mysql4:%define mysql4 1}
199 %{?build_mysql4:%define mysql 1}
200 # if using mysql 5.x define this and mysql above
201 # currently: SuSE 10.1 and Fedora Core 5
202 %define mysql5 0
203 %{?build_mysql5:%define mysql5 1}
204 %{?build_mysql5:%define mysql 1}
205 %define sqlite 0
206 %{?build_sqlite:%define sqlite 1}
207 %define postgresql 0
208 %{?build_postgresql:%define postgresql 1}
209
210 # test for a database definition
211 %if ! %{mysql} && ! %{sqlite} && ! %{postgresql} && ! %{client_only}
212 %{error: You must specify database support. Please examine the spec file.}
213 exit 1
214 %endif
215
216 %if %{mysql}
217 %define db_backend mysql
218 %endif
219 %if %{sqlite}
220 %define db_backend sqlite3
221 %endif
222 %if %{postgresql}
223 %define db_backend postgresql
224 %endif
225
226 # 64 bit support
227 %define x86_64 0
228 %{?build_x86_64:%define x86_64 1}
229
230 # check what distribution we are
231 %if %{rh7} || %{rh8} || %{rh9} || %{rhel3} || %{rhel4} || %{rhel5}
232 %define _dist %(grep Red /etc/redhat-release)
233 %endif
234 %if %{fc1} || %{fc4} || %{fc5} || %{fc7} || %{fc8} || %{fc9}
235 %define _dist %(grep Fedora /etc/redhat-release)
236 %endif
237 %if %{centos5} || %{centos4} || %{centos3}
238 %define _dist %(grep CentOS /etc/redhat-release)
239 %endif
240 %if %{sl5} ||%{sl4} || %{sl3}
241 %define _dist %(grep 'Scientific Linux' /etc/redhat-release)
242 %endif
243 %if %{fc3} && ! %{rhel4} && ! %{centos4} && ! %{sl4}
244 %define _dist %(grep Fedora /etc/redhat-release)
245 %endif
246 %if %{fc6} && ! %{rhel5} && ! %{centos5} && ! %{sl5}
247 %define _dist %(grep Fedora /etc/redhat-release)
248 %endif
249 %if %{wb3} && ! %{rhel3} && ! %{centos3} && ! %{sl3}
250 %define _dist %(grep White /etc/whitebox-release)
251 %endif
252 %if %{su9} || %{su10} || %{su102} || %{su103} || %{su110} || %{su111}
253 %define _dist %(grep -i SuSE /etc/SuSE-release)
254 %endif
255 %if %{mdk}
256 %define _dist %(grep Mand /etc/mandrake-release)
257 %endif
258 Distribution: %{_dist}
259
260 # Should we build gconsole, possible only if gtk= >= 2.4 available.
261 # leaving all the BuildRequires and Requires in place below for now.
262 # su10, fc3 and fc4 now nobuild, tray monitor fails to build as of 2.2.1 
263 # release as it needs 2.10
264
265 %define gconsole 1
266 %if %{rh7} || %{rh8} || %{rh9} || %{wb3} || %{fc1} || %{fc3} || %{fc4} || %{su9} || %{su10}
267 %define gconsole 0
268 %endif
269 %if %{mdk} && ! %{mdv}
270 %define gconsole 0
271 %endif
272
273 # specifically disallow gconsole if desired
274 %{?nobuild_gconsole:%define gconsole 0}
275
276 # specifically disallow rescue files if desired
277 %define rescue 1
278 %{?nobuild_rescue:%define rescue 0}
279
280 # Should we build wxconsole, only wxWidgets >=2.6 is supported
281 # SuSE 10 and FC4 and newer
282 %define wxconsole 0
283 %{?build_wxconsole:%define wxconsole 1}
284
285 # Should we build bat
286 # requires >= Qt-4.2
287 %define bat 0
288 %{?build_bat:%define bat 1}
289
290 # should we turn on python support
291 %define python 0
292 %{?build_python:%define python 1}
293
294 # specifically disallow build of mtx package if desired
295 %define mtx 1
296 %{?nobuild_mtx:%define mtx 0}
297
298 # do we need to patch for old postgresql version?
299 %define old_pgsql 0
300 %{?build_old_pgsql:%define old_pgsql 1}
301
302 # Mandriva somehow forces the manpage file extension to bz2 rather than gz
303 %if %{mdk}
304 %define manpage_ext bz2
305 %else
306 %define manpage_ext gz
307 %endif
308
309 # for client only build
310 %if %{client_only}
311 %define mysql 0
312 %define mysql4 0
313 %define mysql5 0
314 %define postgresql 0
315 %define sqlite 0
316 %define gconsole 0
317 %define wxconsole 0
318 %endif
319
320 %{expand: %%define gccver %(rpm -q --queryformat %%{version} gcc)}
321 %{expand: %%define gccrel %(rpm -q --queryformat %%{release} gcc)}
322
323 BuildRequires: gcc, gcc-c++, make, autoconf
324 BuildRequires: ncurses-devel, perl
325 BuildRequires: libstdc++-devel = %{gccver}-%{gccrel}, libxml2-devel, zlib-devel
326 BuildRequires: openssl-devel
327 %if %{python}
328 BuildRequires: python, python-devel
329 %{expand: %%define pyver %(python -c 'import sys;print(sys.version[0:3])')}
330 %endif
331 %if %{gconsole}
332 BuildRequires: pkgconfig, pango-devel, atk-devel
333 %endif
334 %if %{bat}
335 BuildRequires: pkgconfig
336 %endif
337
338 # Rh qt4 packages don't have a provide for, guess what, qt!
339 # still broken in fc8, ok in fc9
340 # so fix for broken rh
341 %define broken_rh 0
342 %if %{rhel5} || %{centos5} || %{sl5} || %{fc5} || %{fc6} || %{fc7} || %{fc8}
343 %define broken_rh 1
344 %endif
345 %if %{bat} && ! %{broken_rh}
346 BuildRequires: qt-devel >= 4.2
347 %endif
348 %if %{bat} && %{broken_rh}
349 BuildRequires: qt4-devel >= 4.2
350 %endif
351
352 %if %{rh7}
353 BuildRequires: libtermcap-devel
354 BuildRequires: glibc-devel >= 2.2
355 %endif
356 %if %{su9}
357 BuildRequires: termcap
358 BuildRequires: glibc-devel >= 2.3
359 %endif
360 %if %{su9} && %{gconsole}
361 BuildRequires: libgnome >= 2.0
362 BuildRequires: gtk2-devel >= 2.0
363 BuildRequires: libgnomeui-devel >= 2.0
364 BuildRequires: ORBit2-devel
365 BuildRequires: libart_lgpl-devel >= 2.0
366 BuildRequires: libbonobo-devel >= 2.0
367 BuildRequires: libbonoboui-devel >= 2.0
368 BuildRequires: bonobo-activation-devel
369 BuildRequires: gconf2-devel
370 BuildRequires: linc-devel
371 BuildRequires: freetype2-devel
372 %endif
373 %if %{su10}
374 BuildRequires: termcap
375 BuildRequires: glibc-devel >= 2.3
376 %endif
377 %if %{su10} && %{gconsole}
378 BuildRequires: libgnome >= 2.12
379 BuildRequires: gtk2-devel >= 2.8
380 BuildRequires: libgnomeui-devel >= 2.12
381 BuildRequires: ORBit2-devel
382 BuildRequires: libart_lgpl-devel >= 2.3
383 BuildRequires: libbonobo-devel >= 2.10
384 BuildRequires: libbonoboui-devel >= 2.10
385 BuildRequires: bonobo-activation-devel
386 BuildRequires: gconf2-devel
387 BuildRequires: freetype2-devel
388 BuildRequires: cairo-devel
389 BuildRequires: fontconfig-devel >= 2.3
390 BuildRequires: gnome-vfs2-devel >= 2.12
391 BuildRequires: libpng-devel
392 %endif
393 %if %{su102}
394 BuildRequires: termcap
395 BuildRequires: glibc-devel >= 2.5
396 %endif
397 %if %{su102} && %{gconsole}
398 BuildRequires: libgnome >= 2.16
399 BuildRequires: gtk2-devel >= 2.10
400 BuildRequires: libgnomeui-devel >= 2.16
401 BuildRequires: ORBit2-devel
402 BuildRequires: libart_lgpl-devel >= 2.3
403 BuildRequires: libbonobo-devel >= 2.16
404 BuildRequires: libbonoboui-devel >= 2.16
405 BuildRequires: bonobo-activation-devel
406 BuildRequires: gconf2-devel
407 BuildRequires: freetype2-devel
408 BuildRequires: cairo-devel
409 BuildRequires: fontconfig-devel >= 2.4
410 BuildRequires: gnome-vfs2-devel >= 2.16
411 BuildRequires: libpng-devel
412 %endif
413 %if %{su103}
414 BuildRequires: termcap
415 BuildRequires: glibc-devel >= 2.6
416 %endif
417 %if %{su103} && %{gconsole}
418 BuildRequires: libgnome >= 2.20
419 BuildRequires: gtk2-devel >= 2.12
420 BuildRequires: libgnomeui-devel >= 2.20
421 BuildRequires: ORBit2-devel
422 BuildRequires: libart_lgpl-devel >= 2.3
423 BuildRequires: libbonobo-devel >= 2.20
424 BuildRequires: libbonoboui-devel >= 2.20
425 BuildRequires: bonobo-activation-devel
426 BuildRequires: gconf2-devel
427 BuildRequires: freetype2-devel
428 BuildRequires: cairo-devel
429 BuildRequires: fontconfig-devel >= 2.4
430 BuildRequires: gnome-vfs2-devel >= 2.20
431 BuildRequires: libpng-devel
432 %endif
433 %if %{su110}
434 BuildRequires: termcap
435 BuildRequires: glibc-devel >= 2.8
436 %endif
437 %if %{su110} && %{gconsole}
438 BuildRequires: libgnome >= 2.22
439 BuildRequires: gtk2-devel >= 2.12
440 BuildRequires: libgnomeui-devel >= 2.22
441 BuildRequires: ORBit2-devel
442 BuildRequires: libart_lgpl-devel >= 2.3
443 BuildRequires: libbonobo-devel >= 2.22
444 BuildRequires: libbonoboui-devel >= 2.22
445 BuildRequires: bonobo-activation-devel
446 BuildRequires: gconf2-devel
447 BuildRequires: freetype2-devel
448 BuildRequires: cairo-devel
449 BuildRequires: fontconfig-devel >= 2.4
450 BuildRequires: gnome-vfs2-devel >= 2.22
451 BuildRequires: libpng-devel
452 %endif
453 %if %{su111}
454 BuildRequires: termcap
455 BuildRequires: glibc-devel >= 2.9
456 %endif
457 %if %{su111} && %{gconsole}
458 BuildRequires: libgnome >= 2.24
459 BuildRequires: gtk2-devel >= 2.14
460 BuildRequires: libgnomeui-devel >= 2.24
461 BuildRequires: ORBit2-devel
462 BuildRequires: libart_lgpl-devel >= 2.3
463 BuildRequires: libbonobo-devel >= 2.24
464 BuildRequires: libbonoboui-devel >= 2.24
465 BuildRequires: bonobo-activation-devel
466 BuildRequires: gconf2-devel
467 BuildRequires: freetype2-devel
468 BuildRequires: cairo-devel
469 BuildRequires: fontconfig-devel >= 2.6
470 BuildRequires: gnome-vfs2-devel >= 2.24
471 BuildRequires: libpng-devel
472 %endif
473 %if %{mdk}
474 BuildRequires: libtermcap-devel
475 BuildRequires: libstdc++-static-devel
476 BuildRequires: glibc-static-devel
477 BuildRequires: glibc-devel >= 2.3
478 %endif
479 %if %{mdk} && !%{mdv} && %{gconsole}
480 BuildRequires: gtk2-devel >= 2.0
481 BuildRequires: libgnomeui2-devel >= 2.0
482 BuildRequires: libORBit2-devel
483 BuildRequires: libart_lgpl-devel >= 2.0
484 BuildRequires: libbonobo2_0-devel
485 BuildRequires: libbonoboui2_0-devel
486 BuildRequires: libbonobo-activation-devel
487 BuildRequires: libGConf2-devel
488 BuildRequires: freetype2-devel
489 %endif
490 %if %{mdv} && %{gconsole}
491 BuildRequires: gtk2-devel >= 2.8
492 BuildRequires: libgnomeui2-devel >= 2.10
493 BuildRequires: libORBit2-devel
494 BuildRequires: libart_lgpl-devel >= 2.3
495 BuildRequires: libbonobo2_0-devel
496 BuildRequires: libbonoboui2_0-devel
497 BuildRequires: libbonobo-activation-devel
498 BuildRequires: libGConf2-devel
499 BuildRequires: freetype2-devel
500 %endif
501 %if %{fc3}
502 BuildRequires: libtermcap-devel
503 BuildRequires: glibc-devel >= 2.3
504 %endif
505 %if %{fc3} && %{gconsole}
506 BuildRequires: gtk2-devel >= 2.4
507 BuildRequires: libgnomeui-devel >= 2.8
508 BuildRequires: ORBit2-devel
509 BuildRequires: libart_lgpl-devel >= 2.3
510 BuildRequires: libbonobo-devel >= 2.8
511 BuildRequires: libbonoboui-devel >= 2.8
512 BuildRequires: bonobo-activation-devel
513 BuildRequires: GConf2-devel
514 BuildRequires: freetype-devel
515 %endif
516 %if %{fc4}
517 BuildRequires: libtermcap-devel
518 BuildRequires: glibc-devel >= 2.3
519 %endif
520 %if %{fc4} && %{gconsole}
521 BuildRequires: gtk2-devel >= 2.6
522 BuildRequires: libgnomeui-devel >= 2.10
523 BuildRequires: ORBit2-devel
524 BuildRequires: libart_lgpl-devel >= 2.3
525 BuildRequires: libbonobo-devel >= 2.8
526 BuildRequires: libbonoboui-devel >= 2.8
527 BuildRequires: bonobo-activation-devel
528 BuildRequires: GConf2-devel
529 BuildRequires: freetype-devel
530 %endif
531 %if %{fc5}
532 BuildRequires: libtermcap-devel
533 BuildRequires: glibc-devel >= 2.4
534 %endif
535 %if %{fc5} && %{gconsole}
536 BuildRequires: gtk2-devel >= 2.8
537 BuildRequires: libgnomeui-devel >= 2.14
538 BuildRequires: ORBit2-devel
539 BuildRequires: libart_lgpl-devel >= 2.3
540 BuildRequires: libbonobo-devel >= 2.14
541 BuildRequires: libbonoboui-devel >= 2.14
542 BuildRequires: GConf2-devel
543 BuildRequires: freetype-devel
544 %endif
545 %if %{fc6}
546 BuildRequires: libtermcap-devel
547 BuildRequires: glibc-devel >= 2.5
548 %endif
549 %if %{fc6} && %{gconsole}
550 BuildRequires: gtk2-devel >= 2.10
551 BuildRequires: libgnomeui-devel >= 2.16
552 BuildRequires: ORBit2-devel
553 BuildRequires: libart_lgpl-devel >= 2.3
554 BuildRequires: libbonobo-devel >= 2.16
555 BuildRequires: libbonoboui-devel >= 2.16
556 BuildRequires: GConf2-devel
557 BuildRequires: freetype-devel
558 %endif
559 %if %{fc7}
560 BuildRequires: libtermcap-devel
561 BuildRequires: glibc-devel >= 2.5
562 %endif
563 %if %{fc7} && %{gconsole}
564 BuildRequires: gtk2-devel >= 2.10
565 BuildRequires: libgnomeui-devel >= 2.18
566 BuildRequires: ORBit2-devel
567 BuildRequires: libart_lgpl-devel >= 2.3
568 BuildRequires: libbonobo-devel >= 2.18
569 BuildRequires: libbonoboui-devel >= 2.18
570 BuildRequires: GConf2-devel
571 BuildRequires: freetype-devel
572 %endif
573 %if %{fc8}
574 BuildRequires: libtermcap-devel
575 BuildRequires: glibc-devel >= 2.7
576 %endif
577 %if %{fc8} && %{gconsole}
578 BuildRequires: gtk2-devel >= 2.12
579 BuildRequires: libgnomeui-devel >= 2.20
580 BuildRequires: ORBit2-devel
581 BuildRequires: libart_lgpl-devel >= 2.3
582 BuildRequires: libbonobo-devel >= 2.20
583 BuildRequires: libbonoboui-devel >= 2.20
584 BuildRequires: GConf2-devel
585 BuildRequires: freetype-devel
586 %endif
587 %if %{fc9}
588 BuildRequires: glibc-devel >= 2.8
589 BuildRequires: zlib-static
590 %endif
591 %if %{fc9} && %{gconsole}
592 BuildRequires: gtk2-devel >= 2.12
593 BuildRequires: libgnomeui-devel >= 2.22
594 BuildRequires: ORBit2-devel
595 BuildRequires: libart_lgpl-devel >= 2.3
596 BuildRequires: libbonobo-devel >= 2.22
597 BuildRequires: libbonoboui-devel >= 2.22
598 BuildRequires: GConf2-devel
599 BuildRequires: freetype-devel
600 %endif
601 %if !%{rh7} && !%{su9} && !%{su10} && !%{su102} && !%{su103} && !%{su110} && !%{su111} && !%{mdk} && !%{fc3} && !%{fc4} && !%{fc5} && !%{fc6} && !%{fc7} && !%{fc8} && !%{fc9}
602 BuildRequires: libtermcap-devel
603 BuildRequires: glibc-devel >= 2.3
604 %endif
605 %if !%{rh7} && !%{su9} && !%{su10} && !%{su102} && !%{su103} && !%{su110} && !%{su111} && !%{mdk} && !%{fc3} && !%{fc4} && !%{fc5} && !%{fc6} && !%{fc7} && !%{fc8} && !%{fc9} && %{gconsole}
606 BuildRequires: gtk2-devel >= 2.0
607 BuildRequires: libgnomeui-devel >= 2.0
608 BuildRequires: ORBit2-devel
609 BuildRequires: libart_lgpl-devel >= 2.0
610 BuildRequires: libbonobo-devel >= 2.0
611 BuildRequires: libbonoboui-devel >= 2.0
612 BuildRequires: bonobo-activation-devel
613 BuildRequires: GConf2-devel
614 BuildRequires: linc-devel
615 BuildRequires: freetype-devel
616 %endif
617
618 %if %{mysql} && ! %{mysql4} && ! %{mysql5}
619 BuildRequires: mysql-devel >= 3.23
620 %endif
621
622 %if %{mysql} && %{mysql4}
623 BuildRequires: mysql-devel >= 4.0
624 %endif
625
626 %if %{mysql} && %{mysql5}
627 BuildRequires: mysql-devel >= 5.0
628 %endif
629
630 %if %{postgresql} && %{wb3}
631 BuildRequires: rh-postgresql-devel >= 7
632 %endif
633
634 %if %{postgresql} && ! %{wb3}
635 BuildRequires: postgresql-devel >= 7
636 %endif
637
638 %if %{wxconsole}
639 BuildRequires: wxGTK-devel >= 2.6
640 %endif
641
642 %description
643 %{blurb}
644
645 %{blurb2}
646 %{blurb3}
647 %{blurb4}
648 %{blurb5}
649 %{blurb6}
650 %{blurb7}
651 %{blurb8}
652
653 %if %{mysql}
654 %package mysql
655 %endif
656 %if %{sqlite}
657 %package sqlite
658 %endif
659 %if %{postgresql}
660 %package postgresql
661 %endif
662
663 Summary: Bacula - The Network Backup Solution
664 Group: System Environment/Daemons
665 Provides: bacula-dir, bacula-sd, bacula-fd, bacula-server
666 Conflicts: bacula-client
667 Obsoletes: bacula-rescue
668
669 %if %{su9} || %{su10} || %{su102} || %{su103} || %{su110} || %{su111}
670 Conflicts: bacula
671 %endif
672
673 Requires: ncurses, libstdc++, zlib, openssl, mtx
674
675 %if %{rh7}
676 Requires: glibc >= 2.2
677 Requires: libtermcap
678 %endif
679 %if %{su9} || %{su10}
680 Requires: glibc >= 2.3
681 Requires: termcap
682 %endif
683 %if %{su102}
684 Requires: glibc >= 2.5
685 Requires: termcap
686 %endif
687 %if %{su103}
688 Requires: glibc >= 2.6
689 Requires: termcap
690 %endif
691 %if %{su110}
692 Requires: glibc >= 2.8
693 Requires: termcap
694 %endif
695 %if %{su111}
696 Requires: glibc >= 2.9
697 Requires: termcap
698 %endif
699 %if ! %{rh7} && ! %{su9} && ! %{su10} && ! %{su102} && ! %{su103} && ! %{su110} && ! %{su111} && ! %{fc5} && ! %{fc6} && ! %{fc7} && ! %{fc8} && ! %{fc9}
700 Requires: glibc >= 2.3
701 Requires: libtermcap
702 %endif
703 %if %{fc5}
704 Requires: glibc >= 2.4
705 Requires: libtermcap
706 %endif
707 %if %{fc6} || %{fc7}
708 Requires: glibc >= 2.5
709 Requires: libtermcap
710 %endif
711 %if %{fc8}
712 Requires: glibc >= 2.7
713 Requires: libtermcap
714 %endif
715 %if %{fc9}
716 Requires: glibc >= 2.8
717 %endif
718
719 %if %{mysql} && ! %{su9} && ! %{mdk} && ! %{mysql4} && ! %{mysql5}
720 Requires: mysql >= 3.23
721 Requires: mysql-server >= 3.23
722 %endif
723 %if %{mysql} && ! %{su9} && ! %{su10} && ! %{mdk} && %{mysql4}
724 Requires: mysql >= 4.0
725 Requires: mysql-server >= 4.0
726 %endif
727 %if %{mysql} && ! %{su9} && ! %{su10} && ! %{su102} && ! %{su103} && ! %{su110} && ! %{su111} && ! %{mdk} && %{mysql5}
728 Requires: mysql >= 5.0
729 Requires: mysql-server >= 5.0
730 %endif
731
732 %if %{mysql} && %{su9} && ! %{mysql4}
733 Requires: mysql >= 3.23
734 Requires: mysql-client >= 3.23
735 %endif
736 %if %{mysql} && %{su9} && %{mysql4}
737 Requires: mysql >= 4.0
738 Requires: mysql-client >= 4.0
739 %endif
740 %if %{mysql} && %{su10} && %{mysql4}
741 Requires: mysql >= 4.0
742 Requires: mysql-client >= 4.0
743 %endif
744 %if %{mysql} && %{su10} && %{mysql5}
745 Requires: mysql >= 5.0
746 Requires: mysql-client >= 5.0
747 %endif
748 %if %{mysql} && %{su102} && %{mysql5}
749 Requires: mysql >= 5.0
750 Requires: mysql-client >= 5.0
751 %endif
752 %if %{mysql} && %{su103} && %{mysql5}
753 Requires: mysql >= 5.0
754 Requires: mysql-client >= 5.0
755 %endif
756 %if %{mysql} && %{su110} && %{mysql5}
757 Requires: mysql >= 5.0
758 Requires: mysql-client >= 5.0
759 %endif
760 %if %{mysql} && %{su111} && %{mysql5}
761 Requires: mysql >= 5.0
762 Requires: mysql-client >= 5.0
763 %endif
764
765 %if %{mysql} && %{mdk} && ! %{mysql4}
766 Requires: mysql >= 3.23
767 Requires: mysql-client >= 3.23
768 %endif
769 %if %{mysql} && %{mdk} && %{mysql4}
770 Requires: mysql >= 4.0
771 Requires: mysql-client >= 4.0
772 %endif
773
774 %if %{postgresql} && %{wb3}
775 Requires: rh-postgresql >= 7
776 Requires: rh-postgresql-server >= 7
777 %endif
778 %if %{postgresql} && ! %{wb3}
779 Requires: postgresql >= 7
780 Requires: postgresql-server >= 7
781 %endif
782
783 %if %{mysql}
784 %description mysql
785 %endif
786 %if %{sqlite}
787 %description sqlite
788 %endif
789 %if %{postgresql}
790 %description postgresql
791 %endif
792
793 %if %{python}
794 Requires: python >= %{pyver}
795 %endif
796
797 %{blurb}
798
799 %{blurb2}
800 %{blurb3}
801 %{blurb4}
802 %{blurb5}
803 %{blurb6}
804 %{blurb7}
805 %{blurb8}
806
807 %if %{mysql}
808 This build requires MySQL to be installed separately as the catalog database.
809 %endif
810 %if %{postgresql}
811 This build requires PostgreSQL to be installed separately as the catalog database.
812 %endif
813 %if %{sqlite}
814 This build incorporates sqlite3 as the catalog database, statically compiled.
815 %endif
816 %if %{python}
817 This build includes python scripting support.
818 %endif
819
820 %if ! %{client_only} && %{mtx}
821 %package mtx
822 Summary: Bacula - The Network Backup Solution
823 Group: System Environment/Daemons
824 Provides: mtx
825
826 %description mtx
827 This is Bacula's version of mtx tape utilities for Linux distributions that
828 do not provide their own mtx package
829 %endif
830
831 %package client
832 Summary: Bacula - The Network Backup Solution
833 Group: System Environment/Daemons
834 Provides: bacula-fd
835 Conflicts: bacula-mysql
836 Conflicts: bacula-sqlite
837 Conflicts: bacula-postgresql
838 Obsoletes: bacula-rescue
839
840 %if %{su9} || %{su10} || %{su102} || %{su103} || %{su110} || %{su111}
841 Provides: bacula
842 %endif
843
844 Requires: libstdc++, zlib, openssl
845
846 %if %{rh7}
847 Requires: glibc >= 2.2
848 Requires: libtermcap
849 %endif
850 %if %{su9} || %{su10}
851 Requires: glibc >= 2.3
852 Requires: termcap
853 %endif
854 %if %{su102}
855 Requires: glibc >= 2.5
856 Requires: termcap
857 %endif
858 %if %{su103}
859 Requires: glibc >= 2.6
860 Requires: termcap
861 %endif
862 %if %{su110}
863 Requires: glibc >= 2.8
864 Requires: termcap
865 %endif
866 %if %{su111}
867 Requires: glibc >= 2.9
868 Requires: termcap
869 %endif
870 %if ! %{rh7} && ! %{su9} && ! %{su10} && ! %{su102} && ! %{su103} && ! %{su110} && ! %{su111} && ! %{fc5} && ! %{fc6} && ! %{fc7} && ! %{fc8} && ! %{fc9}
871 Requires: glibc >= 2.3
872 Requires: libtermcap
873 %endif
874 %if %{fc5}
875 Requires: glibc >= 2.4
876 Requires: libtermcap
877 %endif
878 %if %{fc6} || %{fc7}
879 Requires: glibc >= 2.5
880 Requires: libtermcap
881 %endif
882 %if %{fc8}
883 Requires: glibc >= 2.7
884 Requires: libtermcap
885 %endif
886 %if %{fc9}
887 Requires: glibc >= 2.8
888 %endif
889
890 %if %{python}
891 Requires: python >= %{pyver}
892 %endif
893
894 %description client
895 %{blurb}
896
897 %{blurb2}
898 %{blurb3}
899 %{blurb4}
900 %{blurb5}
901 %{blurb6}
902 %{blurb7}
903 %{blurb8}
904
905 This is the File daemon (Client) only package. It includes the command line 
906 console program.
907 %if %{python}
908 This build includes python scripting support.
909 %endif
910
911 %if ! %{client_only}
912 %package updatedb
913
914 Summary: Bacula - The Network Backup Solution
915 Group: System Environment/Daemons
916
917 %description updatedb
918 %{blurb}
919
920 %{blurb2}
921 %{blurb3}
922 %{blurb4}
923 %{blurb5}
924 %{blurb6}
925 %{blurb7}
926 %{blurb8}
927
928 This package installs scripts for updating older versions of the bacula
929 database.
930 %endif
931
932 %if %{gconsole}
933 %package gconsole
934 Summary: Bacula - The Network Backup Solution
935 Group: System Environment/Daemons
936 Requires: atk, libstdc++, zlib, pango, libxml2, bacula-fd, openssl
937 %endif
938
939 %if %{gconsole} && %{su9}
940 Requires: gtk2 >= 2.0
941 Requires: libgnome >= 2.0
942 Requires: libgnomeui >= 2.0
943 Requires: glibc >= 2.3
944 Requires: ORBit2
945 Requires: libart_lgpl >= 2.0
946 Requires: libbonobo >= 2.0
947 Requires: libbonoboui >= 2.0
948 Requires: bonobo-activation
949 Requires: gconf2
950 Requires: linc
951 Requires: freetype2
952 %endif
953 %if %{gconsole} && %{su10}
954 Requires: gtk2 >= 2.8
955 Requires: libgnome >= 2.12
956 Requires: libgnomeui >= 2.12
957 Requires: glibc >= 2.3
958 Requires: ORBit2
959 Requires: libart_lgpl >= 2.3
960 Requires: libbonobo >= 2.10
961 Requires: libbonoboui >= 2.10
962 Requires: bonobo-activation
963 Requires: gconf2
964 Requires: freetype2
965 Requires: cairo
966 Requires: fontconfig >= 2.3
967 Requires: gnome-vfs2 >= 2.12
968 Requires: libpng
969 %endif
970 %if %{gconsole} && %{su102}
971 Requires: gtk2 >= 2.10
972 Requires: libgnome >= 2.16
973 Requires: libgnomeui >= 2.16
974 Requires: glibc >= 2.5
975 Requires: ORBit2
976 Requires: libart_lgpl >= 2.3
977 Requires: libbonobo >= 2.16
978 Requires: libbonoboui >= 2.16
979 Requires: bonobo-activation
980 Requires: gconf2
981 Requires: freetype2
982 Requires: cairo
983 Requires: fontconfig >= 2.4
984 Requires: gnome-vfs2 >= 2.16
985 Requires: libpng
986 %endif
987 %if %{gconsole} && %{su103}
988 Requires: gtk2 >= 2.12
989 Requires: libgnome >= 2.20
990 Requires: libgnomeui >= 2.20
991 Requires: glibc >= 2.6
992 Requires: ORBit2
993 Requires: libart_lgpl >= 2.3
994 Requires: libbonobo >= 2.20
995 Requires: libbonoboui >= 2.20
996 Requires: bonobo-activation
997 Requires: gconf2
998 Requires: freetype2
999 Requires: cairo
1000 Requires: fontconfig >= 2.4
1001 Requires: gnome-vfs2 >= 2.20
1002 Requires: libpng
1003 %endif
1004 %if %{gconsole} && %{su110}
1005 Requires: gtk2 >= 2.12
1006 Requires: libgnome >= 2.22
1007 Requires: libgnomeui >= 2.22
1008 Requires: glibc >= 2.8
1009 Requires: ORBit2
1010 Requires: libart_lgpl >= 2.3
1011 Requires: libbonobo >= 2.22
1012 Requires: libbonoboui >= 2.22
1013 Requires: bonobo-activation
1014 Requires: gconf2
1015 Requires: freetype2
1016 Requires: cairo
1017 Requires: fontconfig >= 2.4
1018 Requires: gnome-vfs2 >= 2.22
1019 Requires: libpng
1020 %endif
1021 %if %{gconsole} && %{su111}
1022 Requires: gtk2 >= 2.14
1023 Requires: libgnome >= 2.24
1024 Requires: libgnomeui >= 2.24
1025 Requires: glibc >= 2.9
1026 Requires: ORBit2
1027 Requires: libart_lgpl >= 2.3
1028 Requires: libbonobo >= 2.24
1029 Requires: libbonoboui >= 2.24
1030 Requires: bonobo-activation
1031 Requires: gconf2
1032 Requires: freetype2
1033 Requires: cairo
1034 Requires: fontconfig >= 2.6
1035 Requires: gnome-vfs2 >= 2.24
1036 Requires: libpng
1037 %endif
1038 %if %{gconsole} && %{mdk} && !%{mdv}
1039 Requires: gtk2 >= 2.0
1040 Requires: libgnomeui2
1041 Requires: glibc >= 2.3
1042 Requires: ORBit2
1043 Requires: libart_lgpl >= 2.0
1044 Requires: libbonobo >= 2.0
1045 Requires: libbonoboui >= 2.0
1046 Requires: GConf2
1047 Requires: freetype2
1048 %endif
1049 %if %{gconsole} && %{mdv}
1050 Requires: gtk2 >= 2.8
1051 Requires: libgnomeui2
1052 Requires: glibc >= 2.3
1053 Requires: ORBit2
1054 Requires: libart_lgpl >= 2.3
1055 Requires: libbonobo >= 2.10
1056 Requires: libbonoboui >= 2.10
1057 Requires: GConf2
1058 Requires: freetype2
1059 %endif
1060 %if %{gconsole} && %{fc3}  
1061 Requires: gtk2 >= 2.4
1062 Requires: libgnomeui >= 2.8
1063 Requires: glibc >= 2.3
1064 Requires: ORBit2
1065 Requires: libart_lgpl >= 2.3
1066 Requires: libbonobo >= 2.8
1067 Requires: libbonoboui >= 2.8
1068 Requires: bonobo-activation
1069 Requires: GConf2
1070 Requires: freetype
1071 %endif
1072 %if %{gconsole} && %{fc4}  
1073 Requires: gtk2 >= 2.6
1074 Requires: libgnomeui >= 2.10
1075 Requires: glibc >= 2.3
1076 Requires: ORBit2
1077 Requires: libart_lgpl >= 2.3
1078 Requires: libbonobo >= 2.8
1079 Requires: libbonoboui >= 2.8
1080 Requires: bonobo-activation
1081 Requires: GConf2
1082 Requires: freetype
1083 %endif
1084 %if %{gconsole} && %{fc5}  
1085 Requires: gtk2 >= 2.8
1086 Requires: libgnomeui >= 2.14
1087 Requires: glibc >= 2.4
1088 Requires: ORBit2
1089 Requires: libart_lgpl >= 2.3
1090 Requires: libbonobo >= 2.14
1091 Requires: libbonoboui >= 2.14
1092 Requires: GConf2
1093 Requires: freetype
1094 %endif
1095 %if %{gconsole} && %{fc6}  
1096 Requires: gtk2 >= 2.10
1097 Requires: libgnomeui >= 2.16
1098 Requires: glibc >= 2.5
1099 Requires: ORBit2
1100 Requires: libart_lgpl >= 2.3
1101 Requires: libbonobo >= 2.16
1102 Requires: libbonoboui >= 2.16
1103 Requires: GConf2
1104 Requires: freetype
1105 %endif
1106 %if %{gconsole} && %{fc7}  
1107 Requires: gtk2 >= 2.10
1108 Requires: libgnomeui >= 2.18
1109 Requires: glibc >= 2.5
1110 Requires: ORBit2
1111 Requires: libart_lgpl >= 2.3
1112 Requires: libbonobo >= 2.18
1113 Requires: libbonoboui >= 2.18
1114 Requires: GConf2
1115 Requires: freetype
1116 %endif
1117 %if %{gconsole} && %{fc8}  
1118 Requires: gtk2 >= 2.12
1119 Requires: libgnomeui >= 2.20
1120 Requires: glibc >= 2.7
1121 Requires: ORBit2
1122 Requires: libart_lgpl >= 2.3
1123 Requires: libbonobo >= 2.20
1124 Requires: libbonoboui >= 2.20
1125 Requires: GConf2
1126 Requires: freetype
1127 %endif
1128 %if %{gconsole} && %{fc9}  
1129 Requires: gtk2 >= 2.12
1130 Requires: libgnomeui >= 2.22
1131 Requires: glibc >= 2.8
1132 Requires: ORBit2
1133 Requires: libart_lgpl >= 2.3
1134 Requires: libbonobo >= 2.22
1135 Requires: libbonoboui >= 2.22
1136 Requires: GConf2
1137 Requires: freetype
1138 %endif
1139 %if %{gconsole} && !%{su9} && !%{su10} && !%{su102} && !%{su103} && !%{su110} && !%{su111} && !%{mdk} && !%{fc3} && !%{fc4} && !%{fc5} && !%{fc6} && !%{fc7} && !%{fc8} && !%{fc9}
1140 Requires: gtk2 >= 2.0
1141 Requires: libgnomeui >= 2.0
1142 Requires: glibc >= 2.3
1143 Requires: ORBit2
1144 Requires: libart_lgpl >= 2.0
1145 Requires: libbonobo >= 2.0
1146 Requires: libbonoboui >= 2.0
1147 Requires: bonobo-activation
1148 Requires: GConf2
1149 Requires: linc
1150 Requires: freetype
1151 %endif
1152 %if %{gconsole} && %{su9}
1153 Requires: xsu
1154 %endif
1155 %if %{gconsole} && %{su10}
1156 Requires: xsu
1157 %endif
1158 %if %{gconsole} && %{su102}
1159 Requires: xsu
1160 %endif
1161 %if %{gconsole} && %{su103}
1162 Requires: xsu
1163 %endif
1164 %if %{gconsole} && %{su110}
1165 Requires: xsu
1166 %endif
1167 %if %{gconsole} && %{su111}
1168 Requires: xsu
1169 %endif
1170 %if %{gconsole} && ! %{su9} && ! %{su10} && ! %{su102} && ! %{su103} && ! %{su110} && ! %{su111}
1171 Requires: usermode
1172 %endif
1173
1174 %if %{gconsole}
1175 %description gconsole
1176 %{blurb}
1177
1178 %{blurb2}
1179 %{blurb3}
1180 %{blurb4}
1181 %{blurb5}
1182 %{blurb6}
1183 %{blurb7}
1184 %{blurb8}
1185
1186 This is the Gnome Console package. It is an add-on to the client or
1187 server packages.
1188 %endif
1189
1190 %if %{wxconsole}
1191 %package wxconsole
1192 Summary: Bacula - The Network Backup Solution
1193 Group: System Environment/Daemons
1194 Requires: wxGTK >= 2.6, libstdc++, openssl
1195 %endif
1196
1197 %if %{wxconsole} && %{su10}
1198 Requires: gtk2 >= 2.8
1199 %endif
1200
1201 %if %{wxconsole} && %{su102}
1202 Requires: gtk2 >= 2.10
1203 %endif
1204
1205 %if %{wxconsole} && %{su103}
1206 Requires: gtk2 >= 2.12
1207 %endif
1208
1209 %if %{wxconsole} && %{su110}
1210 Requires: gtk2 >= 2.12
1211 %endif
1212
1213 %if %{wxconsole} && %{su111}
1214 Requires: gtk2 >= 2.14
1215 %endif
1216
1217 %if %{wxconsole} && %{fc3}  
1218 Requires: gtk2 >= 2.4
1219 %endif
1220
1221 %if %{wxconsole} && %{fc4}  
1222 Requires: gtk2 >= 2.6
1223 %endif
1224
1225 %if %{wxconsole} && %{fc5}  
1226 Requires: gtk2 >= 2.8
1227 %endif
1228
1229 %if %{wxconsole} && %{fc6}  
1230 Requires: gtk2 >= 2.10
1231 %endif
1232
1233 %if %{wxconsole} && %{fc7}  
1234 Requires: gtk2 >= 2.10
1235 %endif
1236
1237 %if %{wxconsole} && %{fc8}  
1238 Requires: gtk2 >= 2.12
1239 %endif
1240
1241 %if %{wxconsole} && %{fc9}  
1242 Requires: gtk2 >= 2.12
1243 %endif
1244
1245 %if %{wxconsole}
1246 %description wxconsole
1247 %{blurb}
1248
1249 %{blurb2}
1250 %{blurb3}
1251 %{blurb4}
1252 %{blurb5}
1253 %{blurb6}
1254 %{blurb7}
1255 %{blurb8}
1256
1257 This is the WXWindows Console package. It is an add-on to the client or
1258 server packages.
1259 %endif
1260
1261 %if %{bat}
1262 %package bat
1263 Summary: Bacula - The Network Backup Solution
1264 Group: System Environment/Daemons
1265 %endif
1266
1267 %if %{bat} && %{su10}
1268 Requires: openssl
1269 Requires: glibc >= 2.4
1270 Requires: fontconfig
1271 Requires: freetype2
1272 Requires: libgcc
1273 Requires: libpng
1274 Requires: qt >= 4.2
1275 Requires: libstdc++
1276 Requires: zlib
1277 %endif
1278
1279 %if %{bat} && %{su102}
1280 Requires: openssl
1281 Requires: glibc >= 2.5
1282 Requires: fontconfig
1283 Requires: freetype2
1284 Requires: libgcc
1285 Requires: libpng
1286 Requires: qt >= 4.2
1287 Requires: libstdc++
1288 Requires: zlib
1289 %endif
1290
1291 %if %{bat} && %{su103}
1292 Requires: openssl
1293 Requires: glibc >= 2.6
1294 Requires: fontconfig
1295 Requires: freetype2
1296 Requires: libgcc
1297 Requires: libpng
1298 Requires: qt >= 4.2
1299 Requires: libstdc++
1300 Requires: zlib
1301 %endif
1302
1303 %if %{bat} && %{su110}
1304 Requires: openssl
1305 Requires: glibc >= 2.8
1306 Requires: fontconfig
1307 Requires: freetype2
1308 Requires: libgcc
1309 Requires: libpng
1310 Requires: qt >= 4.2
1311 Requires: libstdc++
1312 Requires: zlib
1313 %endif
1314
1315 %if %{bat} && %{su111}
1316 Requires: openssl
1317 Requires: glibc >= 2.9
1318 Requires: fontconfig
1319 Requires: freetype2
1320 Requires: libgcc
1321 Requires: libpng
1322 Requires: qt >= 4.2
1323 Requires: libstdc++
1324 Requires: zlib
1325 %endif
1326
1327 %if %{bat} && %{fc5}
1328 Requires: openssl
1329 Requires: glibc >= 2.4
1330 Requires: fontconfig
1331 Requires: freetype
1332 Requires: libgcc
1333 Requires: libpng
1334 Requires: qt4 >= 4.2
1335 Requires: libstdc++
1336 Requires: zlib
1337 %endif
1338
1339 %if %{bat} && %{fc6}
1340 Requires: openssl
1341 Requires: glibc >= 2.5
1342 Requires: fontconfig
1343 Requires: freetype
1344 Requires: libgcc
1345 Requires: libpng
1346 Requires: qt4 >= 4.2
1347 Requires: libstdc++
1348 Requires: zlib
1349 %endif
1350
1351 %if %{bat} && %{fc7}
1352 Requires: openssl
1353 Requires: glibc >= 2.5
1354 Requires: fontconfig
1355 Requires: freetype
1356 Requires: libgcc
1357 Requires: libpng
1358 Requires: qt4 >= 4.2
1359 Requires: libstdc++
1360 Requires: zlib
1361 %endif
1362
1363 %if %{bat} && %{fc8}
1364 Requires: openssl
1365 Requires: glibc >= 2.7
1366 Requires: fontconfig
1367 Requires: freetype
1368 Requires: libgcc
1369 Requires: libpng
1370 Requires: qt4 >= 4.2
1371 Requires: libstdc++
1372 Requires: zlib
1373 %endif
1374
1375 %if %{bat} && %{fc9}
1376 Requires: openssl
1377 Requires: glibc >= 2.8
1378 Requires: fontconfig
1379 Requires: freetype
1380 Requires: libgcc
1381 Requires: libpng
1382 Requires: qt4 >= 4.3
1383 Requires: libstdc++
1384 Requires: zlib
1385 %endif
1386
1387 %if %{bat}
1388 %description bat
1389 %{blurb}
1390
1391 %{blurb2}
1392 %{blurb3}
1393 %{blurb4}
1394 %{blurb5}
1395 %{blurb6}
1396 %{blurb7}
1397 %{blurb8}
1398
1399 This is the Bacula Administration Tool package. It is an add-on to 
1400 the client or server packages.
1401 %endif
1402
1403 # SuSE turns off stripping of binaries by default. In order to get
1404 # stripped packages we must generate debug package. RedHat and Mandriva
1405 # turn debug packages on by default but strip binaries regardless.
1406 %if %{su9} || %{su10} || %{su102} || %{su103} || %{su110} || %{su111}
1407 %debug_package
1408 %endif
1409
1410 %prep
1411
1412 %setup
1413 %setup -T -D -b 1
1414 %setup -T -D -b 2
1415 %setup -T -D -b 3
1416 %setup -T -D -b 4
1417
1418 %build
1419
1420 %if %{su9} || %{su10} || %{su102} || %{su103} || %{su110} || %{su111}
1421 export LDFLAGS="${LDFLAGS} -L/usr/lib/termcap"
1422 %endif
1423
1424 %if %{bat}
1425 export QTDIR=$(pkg-config --variable=prefix QtCore)
1426 export QTINC=$(pkg-config --variable=includedir QtCore)
1427 export QTLIB=$(pkg-config --variable=libdir QtCore)
1428 export PATH=${QTDIR}/bin/:${PATH}
1429 %endif
1430
1431 cwd=${PWD}
1432 cd %{depkgs}
1433 %if %{sqlite}
1434 make sqlite3
1435 %endif
1436 %if ! %{client_only} && %{mtx}
1437 make mtx
1438 %endif
1439 %if %{bat}
1440 make qwt
1441 %endif
1442 cd ${cwd}
1443
1444 %if %{wb3} || %{old_pgsql}
1445 patch -p3 src/cats/postgresql.c < %SOURCE5
1446 %endif
1447
1448 # patches for the bundled sqlite scripts
1449
1450 # patch the make_sqlite_tables script for installation bindir
1451 #patch src/cats/make_sqlite_tables.in src/cats/make_sqlite_tables.in.patch
1452 patch src/cats/make_sqlite3_tables.in src/cats/make_sqlite3_tables.in.patch
1453
1454 # patch the create_sqlite_database script for installation bindir
1455 #patch src/cats/create_sqlite_database.in src/cats/create_sqlite_database.in.patch
1456 patch src/cats/create_sqlite3_database.in src/cats/create_sqlite3_database.in.patch
1457
1458 # patch the make_catalog_backup script for installation bindir
1459 patch src/cats/make_catalog_backup.in src/cats/make_catalog_backup.in.patch
1460
1461 # patch the update_sqlite_tables script for installation bindir
1462 #patch src/cats/update_sqlite_tables.in src/cats/update_sqlite_tables.in.patch
1463 patch src/cats/update_sqlite3_tables.in src/cats/update_sqlite3_tables.in.patch
1464
1465 # patch the bacula-dir init script to remove sqlite service
1466 %if %{sqlite} && %{su9}
1467 patch platforms/suse/bacula-dir.in platforms/suse/bacula-dir-suse-sqlite.patch
1468 %endif
1469 %if %{sqlite} && %{su10}
1470 patch platforms/suse/bacula-dir.in platforms/suse/bacula-dir-suse-sqlite.patch
1471 %endif
1472 %if %{sqlite} && %{su102}
1473 patch platforms/suse/bacula-dir.in platforms/suse/bacula-dir-suse-sqlite.patch
1474 %endif
1475 %if %{sqlite} && %{su103}
1476 patch platforms/suse/bacula-dir.in platforms/suse/bacula-dir-suse-sqlite.patch
1477 %endif
1478 %if %{sqlite} && %{su110}
1479 patch platforms/suse/bacula-dir.in platforms/suse/bacula-dir-suse-sqlite.patch
1480 %endif
1481 %if %{sqlite} && %{su111}
1482 patch platforms/suse/bacula-dir.in platforms/suse/bacula-dir-suse-sqlite.patch
1483 %endif
1484
1485 # 64 bit lib location hacks
1486 # as of 1.39.18 it should not be necessary to enable x86_64 as configure is
1487 # reported to be fixed to properly detect lib locations.
1488 %if %{x86_64}
1489 export LDFLAGS="${LDFLAGS} -L/usr/lib64"
1490 %endif
1491 %if %{mysql} && %{x86_64}
1492 export LDFLAGS="${LDFLAGS} -L/usr/lib64/mysql"
1493 %endif
1494 %if %{python} && %{x86_64}
1495 export LDFLAGS="${LDFLAGS} -L/usr/lib64/python%{pyver}"
1496 %endif
1497
1498 # Red Hat's 64 bit installation of QT4 appears to be broken so:
1499 %define qt_path 0
1500 %if %{rhel5} || %{centos5} || %{sl5}
1501 %define qt_path 1
1502 %endif
1503 %if %{bat} && %{qt_path} && %{x86_64}
1504 export PATH=/usr/lib64/qt4/bin/:$PATH
1505 export QTDIR=/usr/lib64/qt4/
1506 export QTINC=/usr/lib64/qt4/include/
1507 export QTLIB=/usr/lib64/qt4/
1508 %endif
1509
1510 %if %{rescue}
1511 %configure \
1512         --prefix=%{_prefix} \
1513         --sbindir=%{_sbindir} \
1514         --sysconfdir=%{sysconf_dir} \
1515         --with-scriptdir=%{script_dir} \
1516         --with-working-dir=%{working_dir} \
1517         --with-pid-dir=%{pid_dir} \
1518         --enable-smartalloc \
1519         --enable-client-only \
1520         %if %{mdk}
1521         --disable-nls \
1522         %endif
1523         --enable-static-fd
1524
1525 make
1526 %endif
1527
1528 %configure \
1529         --prefix=%{_prefix} \
1530         --sbindir=%{_sbindir} \
1531         --sysconfdir=%{sysconf_dir} \
1532         --with-scriptdir=%{script_dir} \
1533         --with-working-dir=%{working_dir} \
1534         --with-pid-dir=%{pid_dir} \
1535         --enable-smartalloc \
1536 %if %{gconsole}
1537         --enable-gnome \
1538 %endif
1539 %if %{gconsole} && ! %{rh8}
1540         --enable-tray-monitor \
1541 %endif
1542 %if %{mysql}
1543         --with-mysql \
1544 %endif
1545 %if %{sqlite}
1546         --with-sqlite3=${cwd}/%{depkgs}/sqlite3 \
1547 %endif
1548 %if %{postgresql}
1549         --with-postgresql \
1550 %endif
1551 %if %{wxconsole}
1552         --enable-bwx-console \
1553 %endif
1554 %if %{bat}
1555         --enable-bat \
1556         --with-qwt=${cwd}/%{depkgs}/qwt \
1557 %endif
1558 %if %{python}
1559         --with-python \
1560 %endif
1561 %if %{client_only}
1562         --enable-client-only \
1563 %endif
1564 %if %{rh7} || %{rh8} || %{rh9} || %{fc1} || %{fc3} || %{wb3} 
1565         --disable-batch-insert \
1566 %endif
1567         --mandir=%{_mandir} \
1568         --with-subsys-dir=%{_subsysdir} \
1569         --with-dir-user=%{director_daemon_user} \
1570         --with-dir-group=%{daemon_group} \
1571         --with-sd-user=%{storage_daemon_user} \
1572         --with-sd-group=%{storage_daemon_group} \
1573         --with-fd-user=%{file_daemon_user} \
1574         --with-fd-group=%{daemon_group} \
1575         --with-dir-password="XXX_REPLACE_WITH_DIRECTOR_PASSWORD_XXX" \
1576         --with-fd-password="XXX_REPLACE_WITH_CLIENT_PASSWORD_XXX" \
1577         --with-sd-password="XXX_REPLACE_WITH_STORAGE_PASSWORD_XXX" \
1578         --with-mon-dir-password="XXX_REPLACE_WITH_DIRECTOR_MONITOR_PASSWORD_XXX" \
1579         --with-mon-fd-password="XXX_REPLACE_WITH_CLIENT_MONITOR_PASSWORD_XXX" \
1580         --with-mon-sd-password="XXX_REPLACE_WITH_STORAGE_MONITOR_PASSWORD_XXX" \
1581         --with-openssl
1582
1583 make
1584
1585 %install
1586  
1587 cwd=${PWD}
1588 [ "$RPM_BUILD_ROOT" != "/" ] && rm -rf "$RPM_BUILD_ROOT"
1589 mkdir -p $RPM_BUILD_ROOT/etc/init.d
1590 mkdir -p $RPM_BUILD_ROOT/etc/logrotate.d
1591 mkdir -p $RPM_BUILD_ROOT/etc/log.d/conf/logfiles
1592 mkdir -p $RPM_BUILD_ROOT/etc/log.d/conf/services
1593 mkdir -p $RPM_BUILD_ROOT/etc/log.d/scripts/services
1594 mkdir -p $RPM_BUILD_ROOT%{script_dir}/updatedb
1595
1596 %if %{gconsole} || %{wxconsole} || %{bat}
1597 mkdir -p $RPM_BUILD_ROOT/usr/share/applications
1598 mkdir -p $RPM_BUILD_ROOT/usr/share/pixmaps
1599 %endif
1600
1601 %if %{gconsole} || %{wxconsole} || %{bat}
1602 %define usermode_iftrick 1
1603 %else
1604 %define usermode_iftrick 0
1605 %endif
1606
1607 %if %{usermode_iftrick} && ! %{su9} && ! %{su10} && ! %{su102} && ! %{su103} && ! %{su110} && ! %{su111}
1608 mkdir -p $RPM_BUILD_ROOT/etc/pam.d
1609 mkdir -p $RPM_BUILD_ROOT/etc/security/console.apps
1610 mkdir -p $RPM_BUILD_ROOT/usr/bin
1611 %endif
1612
1613 %if %{sqlite}
1614 mkdir -p $RPM_BUILD_ROOT%{sqlite_bindir}
1615 %endif
1616
1617 make \
1618         prefix=$RPM_BUILD_ROOT%{_prefix} \
1619         sbindir=$RPM_BUILD_ROOT%{_sbindir} \
1620         sysconfdir=$RPM_BUILD_ROOT%{sysconf_dir} \
1621         scriptdir=$RPM_BUILD_ROOT%{script_dir} \
1622         working_dir=$RPM_BUILD_ROOT%{working_dir} \
1623         piddir=$RPM_BUILD_ROOT%{pid_dir} \
1624         mandir=$RPM_BUILD_ROOT%{_mandir} \
1625         install
1626
1627 %if ! %{client_only} && %{mtx}
1628 cd %{depkgs}
1629 make \
1630         prefix=$RPM_BUILD_ROOT%{_prefix} \
1631         sbindir=$RPM_BUILD_ROOT%{_sbindir} \
1632         sysconfdir=$RPM_BUILD_ROOT%{sysconf_dir} \
1633         scriptdir=$RPM_BUILD_ROOT%{script_dir} \
1634         working_dir=$RPM_BUILD_ROOT%{working_dir} \
1635         piddir=$RPM_BUILD_ROOT%{pid_dir} \
1636         mandir=$RPM_BUILD_ROOT%{_mandir} \
1637         mtx-install
1638 cd ${cwd}
1639 %endif
1640
1641 # make install in manpages installs _everything_ shotgun style
1642 # so now delete what we will not be packaging
1643 %if ! %{wxconsole}
1644 rm -f $RPM_BUILD_ROOT%{_mandir}/man1/bacula-bwxconsole.1.%{manpage_ext}
1645 %endif
1646 %if ! %{bat}
1647 rm -f $RPM_BUILD_ROOT%{_mandir}/man1/bat.1.%{manpage_ext}
1648 %endif
1649 %if ! %{gconsole}
1650 rm -f $RPM_BUILD_ROOT%{_mandir}/man1/bacula-bgnome-console.1.%{manpage_ext}
1651 rm -f $RPM_BUILD_ROOT%{_mandir}/man1/bacula-tray-monitor.1.%{manpage_ext}
1652 %endif
1653 %if %{client_only}
1654 rm -f $RPM_BUILD_ROOT%{_mandir}/man1/bsmtp.1.%{manpage_ext}
1655 rm -f $RPM_BUILD_ROOT%{_mandir}/man8/bacula-dir.8.%{manpage_ext}
1656 rm -f $RPM_BUILD_ROOT%{_mandir}/man8/bacula-sd.8.%{manpage_ext}
1657 rm -f $RPM_BUILD_ROOT%{_mandir}/man8/bcopy.8.%{manpage_ext}
1658 rm -f $RPM_BUILD_ROOT%{_mandir}/man8/bextract.8.%{manpage_ext}
1659 rm -f $RPM_BUILD_ROOT%{_mandir}/man8/bls.8.%{manpage_ext}
1660 rm -f $RPM_BUILD_ROOT%{_mandir}/man8/bscan.8.%{manpage_ext}
1661 rm -f $RPM_BUILD_ROOT%{_mandir}/man8/btape.8.%{manpage_ext}
1662 rm -f $RPM_BUILD_ROOT%{_mandir}/man8/dbcheck.8.%{manpage_ext}
1663 %endif
1664
1665 # fixme - make installs the mysql scripts for sqlite build
1666 %if %{sqlite}
1667 rm -f $RPM_BUILD_ROOT%{script_dir}/startmysql
1668 rm -f $RPM_BUILD_ROOT%{script_dir}/stopmysql
1669 rm -f $RPM_BUILD_ROOT%{script_dir}/grant_mysql_privileges
1670 %endif
1671
1672 # fixme - make installs the mysql scripts for postgresql build
1673 %if %{postgresql}
1674 rm -f $RPM_BUILD_ROOT%{script_dir}/startmysql
1675 rm -f $RPM_BUILD_ROOT%{script_dir}/stopmysql
1676 %endif
1677
1678 # fixme - make installs gconsole script for build without gconsole
1679 %if ! %{gconsole}
1680 rm -f $RPM_BUILD_ROOT%{script_dir}/gconsole
1681 %endif
1682
1683 rm -f $RPM_BUILD_ROOT%{_sbindir}/static-bacula-fd
1684
1685 # install the init scripts
1686 %if %{su9} || %{su10} || %{su102} || %{su103} || %{su110} || %{su111}
1687 cp -p platforms/suse/bacula-dir $RPM_BUILD_ROOT/etc/init.d/bacula-dir
1688 cp -p platforms/suse/bacula-fd $RPM_BUILD_ROOT/etc/init.d/bacula-fd
1689 cp -p platforms/suse/bacula-sd $RPM_BUILD_ROOT/etc/init.d/bacula-sd
1690 %endif
1691 %if %{mdk}
1692 cp -p platforms/mandrake/bacula-dir $RPM_BUILD_ROOT/etc/init.d/bacula-dir
1693 cp -p platforms/mandrake/bacula-fd $RPM_BUILD_ROOT/etc/init.d/bacula-fd
1694 cp -p platforms/mandrake/bacula-sd $RPM_BUILD_ROOT/etc/init.d/bacula-sd
1695 %endif
1696 %if ! %{su9} && ! %{su10} && ! %{su102} && ! %{su103} && ! %{su110} && ! %{su111} && ! %{mdk}
1697 cp -p platforms/redhat/bacula-dir $RPM_BUILD_ROOT/etc/init.d/bacula-dir
1698 cp -p platforms/redhat/bacula-fd $RPM_BUILD_ROOT/etc/init.d/bacula-fd
1699 cp -p platforms/redhat/bacula-sd $RPM_BUILD_ROOT/etc/init.d/bacula-sd
1700 %endif
1701 chmod 0754 $RPM_BUILD_ROOT/etc/init.d/*
1702 %if %{client_only}
1703 rm -f $RPM_BUILD_ROOT/etc/init.d/bacula-dir
1704 rm -f $RPM_BUILD_ROOT/etc/init.d/bacula-sd
1705 %endif
1706
1707 # install the menu stuff
1708 %if %{gconsole} && %{su9}
1709 cp -p scripts/bacula.png $RPM_BUILD_ROOT/usr/share/pixmaps/bacula.png
1710 cp -p scripts/bacula.desktop.gnome2.xsu $RPM_BUILD_ROOT/usr/share/applications/bacula.desktop
1711 cp -p src/tray-monitor/generic.xpm $RPM_BUILD_ROOT/usr/share/pixmaps/bacula-tray-monitor.xpm
1712 cp -p scripts/bacula-tray-monitor.desktop $RPM_BUILD_ROOT/usr/share/applications/bacula-tray-monitor.desktop
1713 %endif
1714 %if %{gconsole} && %{su10}
1715 cp -p scripts/bacula.png $RPM_BUILD_ROOT/usr/share/pixmaps/bacula.png
1716 cp -p scripts/bacula.desktop.gnome2.xsu $RPM_BUILD_ROOT/usr/share/applications/bacula.desktop
1717 cp -p src/tray-monitor/generic.xpm $RPM_BUILD_ROOT/usr/share/pixmaps/bacula-tray-monitor.xpm
1718 cp -p scripts/bacula-tray-monitor.desktop $RPM_BUILD_ROOT/usr/share/applications/bacula-tray-monitor.desktop
1719 %endif
1720 %if %{gconsole} && %{su102}
1721 cp -p scripts/bacula.png $RPM_BUILD_ROOT/usr/share/pixmaps/bacula.png
1722 cp -p scripts/bacula.desktop.gnome2.xsu $RPM_BUILD_ROOT/usr/share/applications/bacula.desktop
1723 cp -p src/tray-monitor/generic.xpm $RPM_BUILD_ROOT/usr/share/pixmaps/bacula-tray-monitor.xpm
1724 cp -p scripts/bacula-tray-monitor.desktop $RPM_BUILD_ROOT/usr/share/applications/bacula-tray-monitor.desktop
1725 %endif
1726 %if %{gconsole} && %{su103}
1727 cp -p scripts/bacula.png $RPM_BUILD_ROOT/usr/share/pixmaps/bacula.png
1728 cp -p scripts/bacula.desktop.gnome2.xsu $RPM_BUILD_ROOT/usr/share/applications/bacula.desktop
1729 cp -p src/tray-monitor/generic.xpm $RPM_BUILD_ROOT/usr/share/pixmaps/bacula-tray-monitor.xpm
1730 cp -p scripts/bacula-tray-monitor.desktop $RPM_BUILD_ROOT/usr/share/applications/bacula-tray-monitor.desktop
1731 %endif
1732 %if %{gconsole} && %{su110}
1733 cp -p scripts/bacula.png $RPM_BUILD_ROOT/usr/share/pixmaps/bacula.png
1734 cp -p scripts/bacula.desktop.gnome2.xsu $RPM_BUILD_ROOT/usr/share/applications/bacula.desktop
1735 cp -p src/tray-monitor/generic.xpm $RPM_BUILD_ROOT/usr/share/pixmaps/bacula-tray-monitor.xpm
1736 cp -p scripts/bacula-tray-monitor.desktop $RPM_BUILD_ROOT/usr/share/applications/bacula-tray-monitor.desktop
1737 %endif
1738 %if %{gconsole} && %{su111}
1739 cp -p scripts/bacula.png $RPM_BUILD_ROOT/usr/share/pixmaps/bacula.png
1740 cp -p scripts/bacula.desktop.gnome2.xsu $RPM_BUILD_ROOT/usr/share/applications/bacula.desktop
1741 cp -p src/tray-monitor/generic.xpm $RPM_BUILD_ROOT/usr/share/pixmaps/bacula-tray-monitor.xpm
1742 cp -p scripts/bacula-tray-monitor.desktop $RPM_BUILD_ROOT/usr/share/applications/bacula-tray-monitor.desktop
1743 %endif
1744 %if %{wxconsole} && %{su10}
1745 cp -p src/wx-console/wxwin16x16.xpm $RPM_BUILD_ROOT/usr/share/pixmaps/wxwin16x16.xpm
1746 cp -p scripts/wxconsole.desktop.xsu $RPM_BUILD_ROOT/usr/share/applications/wxconsole.desktop
1747 %endif
1748 %if %{wxconsole} && %{su102}
1749 cp -p src/wx-console/wxwin16x16.xpm $RPM_BUILD_ROOT/usr/share/pixmaps/wxwin16x16.xpm
1750 cp -p scripts/wxconsole.desktop.xsu $RPM_BUILD_ROOT/usr/share/applications/wxconsole.desktop
1751 %endif
1752 %if %{wxconsole} && %{su103}
1753 cp -p src/wx-console/wxwin16x16.xpm $RPM_BUILD_ROOT/usr/share/pixmaps/wxwin16x16.xpm
1754 cp -p scripts/wxconsole.desktop.xsu $RPM_BUILD_ROOT/usr/share/applications/wxconsole.desktop
1755 %endif
1756 %if %{wxconsole} && %{su110}
1757 cp -p src/wx-console/wxwin16x16.xpm $RPM_BUILD_ROOT/usr/share/pixmaps/wxwin16x16.xpm
1758 cp -p scripts/wxconsole.desktop.xsu $RPM_BUILD_ROOT/usr/share/applications/wxconsole.desktop
1759 %endif
1760 %if %{wxconsole} && %{su111}
1761 cp -p src/wx-console/wxwin16x16.xpm $RPM_BUILD_ROOT/usr/share/pixmaps/wxwin16x16.xpm
1762 cp -p scripts/wxconsole.desktop.xsu $RPM_BUILD_ROOT/usr/share/applications/wxconsole.desktop
1763 %endif
1764 %if %{bat} && %{su102}
1765 cp -p src/qt-console/images/bat_icon.png $RPM_BUILD_ROOT/usr/share/pixmaps/bat_icon.png
1766 cp -p scripts/bat.desktop.xsu $RPM_BUILD_ROOT/usr/share/applications/bat.desktop
1767 %endif
1768 %if %{bat} && %{su103}
1769 cp -p src/qt-console/images/bat_icon.png $RPM_BUILD_ROOT/usr/share/pixmaps/bat_icon.png
1770 cp -p scripts/bat.desktop.xsu $RPM_BUILD_ROOT/usr/share/applications/bat.desktop
1771 %endif
1772 %if %{bat} && %{su110}
1773 cp -p src/qt-console/images/bat_icon.png $RPM_BUILD_ROOT/usr/share/pixmaps/bat_icon.png
1774 cp -p scripts/bat.desktop.xsu $RPM_BUILD_ROOT/usr/share/applications/bat.desktop
1775 %endif
1776 %if %{bat} && %{su111}
1777 cp -p src/qt-console/images/bat_icon.png $RPM_BUILD_ROOT/usr/share/pixmaps/bat_icon.png
1778 cp -p scripts/bat.desktop.xsu $RPM_BUILD_ROOT/usr/share/applications/bat.desktop
1779 %endif
1780 %if %{rh8} || %{rh9} || %{wb3} || %{fc1} || %{fc3} || %{fc4} || %{fc5} || %{fc6} || %{fc7} || %{fc8} || %{fc9} || %{mdk}
1781 %define iftrick 1
1782 %else
1783 %define iftrick 0
1784 %endif
1785 %if %{gconsole} && %{iftrick}
1786 cp -p scripts/bacula.png $RPM_BUILD_ROOT/usr/share/pixmaps/bacula.png
1787 cp -p scripts/bacula.desktop.gnome2.consolehelper $RPM_BUILD_ROOT/usr/share/applications/bacula.desktop
1788 cp -p scripts/bgnome-console.console_apps $RPM_BUILD_ROOT/etc/security/console.apps/bgnome-console
1789 cp -p scripts/bgnome-console.pamd $RPM_BUILD_ROOT/etc/pam.d/bgnome-console
1790 ln -sf consolehelper $RPM_BUILD_ROOT/usr/bin/bgnome-console
1791 %endif
1792 %if %{gconsole} && ! %{rh8}
1793 cp -p src/tray-monitor/generic.xpm $RPM_BUILD_ROOT/usr/share/pixmaps/bacula-tray-monitor.xpm
1794 cp -p scripts/bacula-tray-monitor.desktop $RPM_BUILD_ROOT/usr/share/applications/bacula-tray-monitor.desktop
1795 %endif
1796 %if %{wxconsole} && %{iftrick}
1797 cp -p src/wx-console/wxwin16x16.xpm $RPM_BUILD_ROOT/usr/share/pixmaps/wxwin16x16.xpm
1798 cp -p scripts/wxconsole.desktop.consolehelper $RPM_BUILD_ROOT/usr/share/applications/wxconsole.desktop
1799 cp -p scripts/wxconsole.console_apps $RPM_BUILD_ROOT/etc/security/console.apps/bwx-console
1800 cp -p scripts/wxconsole.pamd $RPM_BUILD_ROOT/etc/pam.d/bwx-console
1801 ln -sf consolehelper $RPM_BUILD_ROOT/usr/bin/bwx-console
1802 %endif
1803 %if %{bat} && %{iftrick}
1804 cp -p src/qt-console/images/bat_icon.png $RPM_BUILD_ROOT/usr/share/pixmaps/bat_icon.png
1805 cp -p scripts/bat.desktop.consolehelper $RPM_BUILD_ROOT/usr/share/applications/bat.desktop
1806 cp -p scripts/bat.console_apps $RPM_BUILD_ROOT/etc/security/console.apps/bat
1807 cp -p scripts/bat.pamd $RPM_BUILD_ROOT/etc/pam.d/bat
1808 ln -sf consolehelper $RPM_BUILD_ROOT/usr/bin/bat
1809 %endif
1810
1811 # install sqlite
1812 %if %{sqlite}
1813 cp -p %{depkgs}/sqlite3/sqlite3 $RPM_BUILD_ROOT%{sqlite_bindir}/sqlite3
1814 cp -p %{depkgs}/sqlite3/sqlite3.h $RPM_BUILD_ROOT%{sqlite_bindir}/sqlite3.h
1815 cp -p %{depkgs}/sqlite3/libsqlite3.a $RPM_BUILD_ROOT%{sqlite_bindir}/libsqlite3.a
1816 %endif
1817
1818 # install the logrotate file
1819 cp -p scripts/logrotate $RPM_BUILD_ROOT/etc/logrotate.d/bacula
1820
1821 # install the updatedb scripts
1822 cp -p updatedb/* $RPM_BUILD_ROOT%{script_dir}/updatedb/
1823
1824 # install the logwatch scripts
1825 %if ! %{client_only}
1826 cp -p scripts/logwatch/bacula $RPM_BUILD_ROOT/etc/log.d/scripts/services/bacula
1827 cp -p scripts/logwatch/logfile.bacula.conf $RPM_BUILD_ROOT/etc/log.d/conf/logfiles/bacula.conf
1828 cp -p scripts/logwatch/services.bacula.conf $RPM_BUILD_ROOT/etc/log.d/conf/services/bacula.conf
1829 chmod 755 $RPM_BUILD_ROOT/etc/log.d/scripts/services/bacula
1830 chmod 644 $RPM_BUILD_ROOT/etc/log.d/conf/logfiles/bacula.conf
1831 chmod 644 $RPM_BUILD_ROOT/etc/log.d/conf/services/bacula.conf
1832 %endif
1833
1834 # install the rescue files
1835 %if %{rescue}
1836 mkdir $RPM_BUILD_ROOT%{script_dir}/rescue
1837 mkdir $RPM_BUILD_ROOT%{script_dir}/rescue/freebsd
1838 mkdir $RPM_BUILD_ROOT%{script_dir}/rescue/solaris
1839 cp -p %{_rescuesrc}/Makefile* $RPM_BUILD_ROOT%{script_dir}/rescue/
1840 cp -p %{_rescuesrc}/freebsd/Makefile* $RPM_BUILD_ROOT%{script_dir}/rescue/freebsd/
1841 cp -p %{_rescuesrc}/solaris/Makefile* $RPM_BUILD_ROOT%{script_dir}/rescue/solaris/
1842 cp -p %{_rescuesrc}/README $RPM_BUILD_ROOT%{script_dir}/rescue/
1843 cp -p %{_rescuesrc}/configure $RPM_BUILD_ROOT%{script_dir}/rescue/
1844 cp -p %{_rescuesrc}/version.h $RPM_BUILD_ROOT%{script_dir}/rescue/
1845 cp -pr %{_rescuesrc}/linux $RPM_BUILD_ROOT%{script_dir}/rescue/
1846 cp -pr %{_rescuesrc}/autoconf $RPM_BUILD_ROOT%{script_dir}/rescue/
1847 cp -pr %{_rescuesrc}/knoppix $RPM_BUILD_ROOT%{script_dir}/rescue/
1848 touch $RPM_BUILD_ROOT%{script_dir}/rescue/linux/cdrom/rpm_release
1849 cp -p src/filed/static-bacula-fd $RPM_BUILD_ROOT%{script_dir}/rescue/linux/cdrom/bacula/bin/bacula-fd
1850 rm -f src/filed/static-bacula-fd
1851 %endif
1852
1853 # install bat since make doesn't at the moment
1854 %if %{bat}
1855 cp -p src/qt-console/bat $RPM_BUILD_ROOT%{_sbindir}/bat
1856 cp -p src/qt-console/bat.conf $RPM_BUILD_ROOT%{sysconf_dir}/bat.conf
1857 %endif
1858
1859 # install docs for single dir installation
1860 %if %{single_dir}
1861 mkdir $RPM_BUILD_ROOT%{_prefix}/doc
1862 cp COPYING $RPM_BUILD_ROOT%{_prefix}/doc/
1863 cp ChangeLog $RPM_BUILD_ROOT%{_prefix}/doc/
1864 cp ReleaseNotes $RPM_BUILD_ROOT%{_prefix}/doc/
1865 cp VERIFYING $RPM_BUILD_ROOT%{_prefix}/doc/
1866 cp kernstodo $RPM_BUILD_ROOT%{_prefix}/doc/
1867 cp %{_docsrc}/manual/bacula.pdf $RPM_BUILD_ROOT%{_prefix}/doc/
1868 cp %{_docsrc}/developers/developers.pdf $RPM_BUILD_ROOT%{_prefix}/doc/
1869 cp -r %{_docsrc}/manual/bacula $RPM_BUILD_ROOT%{_prefix}/doc/
1870 cp ../Release_Notes-%{version}-%{release}.txt $RPM_BUILD_ROOT%{_prefix}/doc/
1871 %endif
1872
1873 # now clean up permissions that are left broken by the install
1874 chmod o-rwx $RPM_BUILD_ROOT%{working_dir}
1875 %if %{gconsole} && ! %{rh8}
1876 chmod 755 $RPM_BUILD_ROOT%{_sbindir}/bacula-tray-monitor
1877 chmod 644 $RPM_BUILD_ROOT%{sysconf_dir}/tray-monitor.conf
1878 %endif
1879
1880 # fix me - building enable-client-only installs files not included in bacula-client package
1881 %if %{client_only}
1882 rm -f $RPM_BUILD_ROOT%{script_dir}/bacula
1883 rm -f $RPM_BUILD_ROOT%{script_dir}/bacula-ctl-dir
1884 rm -f $RPM_BUILD_ROOT%{script_dir}/bacula-ctl-sd
1885 rm -f $RPM_BUILD_ROOT%{script_dir}/disk-changer
1886 rm -f $RPM_BUILD_ROOT%{script_dir}/dvd-handler
1887 rm -f $RPM_BUILD_ROOT%{script_dir}/mtx-changer
1888 rm -f $RPM_BUILD_ROOT%{script_dir}/startmysql
1889 rm -f $RPM_BUILD_ROOT%{script_dir}/stopmysql
1890 rm -rf $RPM_BUILD_ROOT%{script_dir}/updatedb
1891 %endif
1892
1893 %clean
1894 [ "$RPM_BUILD_ROOT" != "/" ] && rm -rf "$RPM_BUILD_ROOT"
1895 rm -rf $RPM_BUILD_DIR/%{name}-docs-%{docs_version}
1896 rm -rf $RPM_BUILD_DIR/%{name}-rescue-%{_rescuever}
1897 rm -rf $RPM_BUILD_DIR/depkgs
1898 rm -f $RPM_BUILD_DIR/Release_Notes-%{version}-%{release}.txt
1899
1900 %if %{mysql}
1901 # MySQL specific files
1902 %files mysql
1903 %defattr(-, root, root)
1904 %attr(-, root, %{daemon_group}) %{script_dir}/create_mysql_database
1905 %attr(-, root, %{daemon_group}) %{script_dir}/drop_mysql_database
1906 %attr(-, root, %{daemon_group}) %{script_dir}/make_mysql_tables
1907 %attr(-, root, %{daemon_group}) %{script_dir}/drop_mysql_tables
1908 %attr(-, root, %{daemon_group}) %{script_dir}/update_mysql_tables
1909 %attr(-, root, %{daemon_group}) %{script_dir}/grant_mysql_privileges
1910 %attr(-, root, %{daemon_group}) %{script_dir}/startmysql
1911 %attr(-, root, %{daemon_group}) %{script_dir}/stopmysql
1912 %endif
1913
1914 %if %{sqlite}
1915 %files sqlite
1916 %defattr(-,root,root)
1917 %attr(-, root, %{daemon_group}) %{script_dir}/create_sqlite3_database
1918 %attr(-, root, %{daemon_group}) %{script_dir}/drop_sqlite3_database
1919 %attr(-, root, %{daemon_group}) %{script_dir}/grant_sqlite3_privileges
1920 %attr(-, root, %{daemon_group}) %{script_dir}/make_sqlite3_tables
1921 %attr(-, root, %{daemon_group}) %{script_dir}/drop_sqlite3_tables
1922 %attr(-, root, %{daemon_group}) %{script_dir}/update_sqlite3_tables
1923 %{sqlite_bindir}/libsqlite3.a
1924 %{sqlite_bindir}/sqlite3.h
1925 %{sqlite_bindir}/sqlite3
1926 %endif
1927
1928 %if %{postgresql}
1929 %files postgresql
1930 %defattr(-,root,root)
1931 %attr(-, root, %{daemon_group}) %{script_dir}/create_postgresql_database
1932 %attr(-, root, %{daemon_group}) %{script_dir}/drop_postgresql_database
1933 %attr(-, root, %{daemon_group}) %{script_dir}/make_postgresql_tables
1934 %attr(-, root, %{daemon_group}) %{script_dir}/drop_postgresql_tables
1935 %attr(-, root, %{daemon_group}) %{script_dir}/update_postgresql_tables
1936 %attr(-, root, %{daemon_group}) %{script_dir}/grant_postgresql_privileges
1937 %endif
1938
1939 # The rest is DB backend independent
1940 %if ! %{client_only}
1941 %attr(-, root, %{daemon_group}) %dir %{script_dir}
1942 %attr(-, root, %{daemon_group}) %{script_dir}/bacula
1943 %attr(-, root, %{daemon_group}) %{script_dir}/bconsole
1944 %attr(-, root, %{daemon_group}) %{script_dir}/create_bacula_database
1945 %attr(-, root, %{daemon_group}) %{script_dir}/drop_bacula_database
1946 %attr(-, root, %{daemon_group}) %{script_dir}/grant_bacula_privileges
1947 %attr(-, root, %{daemon_group}) %{script_dir}/make_bacula_tables
1948 %attr(-, root, %{daemon_group}) %{script_dir}/drop_bacula_tables
1949 %attr(-, root, %{daemon_group}) %{script_dir}/update_bacula_tables
1950 %attr(-, root, %{daemon_group}) %{script_dir}/make_catalog_backup
1951 %attr(-, root, %{daemon_group}) %{script_dir}/delete_catalog_backup
1952 %attr(-, root, %{daemon_group}) %{script_dir}/btraceback.dbx
1953 %attr(-, root, %{daemon_group}) %{script_dir}/btraceback.gdb
1954 %attr(-, root, %{daemon_group}) %{script_dir}/disk-changer
1955 %attr(-, root, %{daemon_group}) %{script_dir}/bacula-ctl-dir
1956 %attr(-, root, %{daemon_group}) %{script_dir}/bacula-ctl-fd
1957 %attr(-, root, %{daemon_group}) %{script_dir}/bacula-ctl-sd
1958 %attr(-, root, %{daemon_group}) /etc/init.d/bacula-dir
1959 %attr(-, root, %{daemon_group}) /etc/init.d/bacula-fd
1960 %attr(-, root, %{storage_daemon_group}) %{script_dir}/dvd-handler
1961 %attr(-, root, %{storage_daemon_group}) /etc/init.d/bacula-sd
1962 %attr(-, root, %{storage_daemon_group}) %{script_dir}/mtx-changer
1963
1964 /etc/logrotate.d/bacula
1965 /etc/log.d/scripts/services/bacula
1966 %attr(-, root, %{daemon_group}) %config(noreplace) %{sysconf_dir}/bacula-dir.conf
1967 %attr(-, root, %{daemon_group}) %config(noreplace) %{sysconf_dir}/bacula-fd.conf
1968 %attr(-, root, %{storage_daemon_group}) %config(noreplace) %{sysconf_dir}/bacula-sd.conf
1969 %attr(-, root, %{daemon_group}) %config(noreplace) %{sysconf_dir}/bconsole.conf
1970 %attr(-, root, %{daemon_group}) %config(noreplace) /etc/log.d/conf/logfiles/bacula.conf
1971 %attr(-, root, %{daemon_group}) %config(noreplace) /etc/log.d/conf/services/bacula.conf
1972 %attr(-, root, %{daemon_group}) %config(noreplace) %{script_dir}/query.sql
1973
1974 %attr(-, %{storage_daemon_user}, %{daemon_group}) %dir %{working_dir}
1975
1976 %{_sbindir}/bacula-dir
1977 %{_sbindir}/bacula-fd
1978 %{_sbindir}/bacula-sd
1979 %{_sbindir}/bcopy
1980 %{_sbindir}/bextract
1981 %{_sbindir}/bls
1982 %{_sbindir}/bscan
1983 %{_sbindir}/btape
1984 %{_sbindir}/btraceback
1985 %{_sbindir}/bconsole
1986 %{_sbindir}/dbcheck
1987 %{_sbindir}/bsmtp
1988 %{_sbindir}/bregex
1989 %{_sbindir}/bwild
1990 %{_mandir}/man8/bacula-fd.8.%{manpage_ext}
1991 %{_mandir}/man8/bacula-dir.8.%{manpage_ext}
1992 %{_mandir}/man8/bacula-sd.8.%{manpage_ext}
1993 %{_mandir}/man8/bacula.8.%{manpage_ext}
1994 %{_mandir}/man8/bconsole.8.%{manpage_ext}
1995 %{_mandir}/man8/bcopy.8.%{manpage_ext}
1996 %{_mandir}/man8/bextract.8.%{manpage_ext}
1997 %{_mandir}/man8/bls.8.%{manpage_ext}
1998 %{_mandir}/man8/bscan.8.%{manpage_ext}
1999 %{_mandir}/man8/btape.8.%{manpage_ext}
2000 %{_mandir}/man8/btraceback.8.%{manpage_ext}
2001 %{_mandir}/man8/dbcheck.8.%{manpage_ext}
2002 %{_mandir}/man1/bsmtp.1.%{manpage_ext}
2003 %endif
2004
2005 %if ! %{client_only} && %{rescue}
2006 %attr(-, root, %{daemon_group}) %{script_dir}/rescue
2007 %endif
2008
2009 %if ! %{client_only} && ! %{single_dir}
2010 %doc COPYING ChangeLog ReleaseNotes VERIFYING kernstodo 
2011 %doc %{_docsrc}/manual/bacula.pdf %{_docsrc}/developers/developers.pdf %{_docsrc}/manual/bacula ../Release_Notes-%{version}-%{release}.txt
2012 %endif
2013
2014 %if ! %{client_only} && %{single_dir}
2015 %{_prefix}/doc
2016 %endif
2017
2018 %if %{mysql}
2019 %pre mysql
2020 # test for bacula database older than version 9
2021 # note: this ASSUMES no password has been set for bacula database
2022 DB_VER=`mysql 2>/dev/null bacula -e 'select * from Version;'|tail -n 1`
2023 %endif
2024
2025 %if %{sqlite}
2026 %pre sqlite
2027 # are we upgrading from sqlite to sqlite3?
2028 if [ -s %{working_dir}/bacula.db ] && [ -s %{sqlite_bindir}/sqlite ];then
2029         echo "This version of bacula-sqlite involves an upgrade to sqlite3."
2030         echo "Your catalog database file is not compatible with sqlite3, thus"
2031         echo "you will need to dump the data, delete the old file, and re-run"
2032         echo "this rpm upgrade."
2033         echo ""
2034         echo "Backing up your current database..."
2035         echo ".dump" | %{sqlite_bindir}/sqlite %{working_dir}/bacula.db > %{working_dir}/bacula_backup.sql
2036         mv %{working_dir}/bacula.db %{working_dir}/bacula.db.old
2037         echo "Your catalog data has been saved in %{working_dir}/bacula_backup.sql and your"
2038         echo "catalog file has been renamed %{working_dir}/bacula.db.old."
2039         echo ""
2040         echo "Please re-run this rpm package upgrade."
2041         echo "After the upgrade is complete, restore your catalog"
2042         echo "with the following commands:"
2043         echo "%{script_dir}/drop_sqlite3_tables"
2044         echo "cd %{working_dir}"
2045         echo "%{sqlite_bindir}/sqlite3 $* bacula.db < bacula_backup.sql"
2046         echo "chown bacula.bacula bacula.db"
2047         exit 1
2048 fi
2049 # test for bacula database older than version 9 and sqlite3
2050 if [ -s %{working_dir}/bacula.db ] && [ -s %{sqlite_bindir}/sqlite3 ];then
2051         DB_VER=`echo "select * from Version;" | %{sqlite_bindir}/sqlite3 2>/dev/null %{working_dir}/bacula.db | tail -n 1`
2052 %endif
2053
2054 %if %{postgresql}
2055 %pre postgresql
2056 DB_VER=`echo 'select * from Version;' | psql bacula 2>/dev/null | tail -3 | head -1`
2057 %endif
2058
2059 %if ! %{client_only}
2060 if [ -n "$DB_VER" ] && [ "$DB_VER" -lt "9" ]; then
2061         echo "This bacula upgrade will update a bacula database from version 9 to 10."
2062         echo "You appear to be running database version $DB_VER. You must first update"
2063         echo "your database to version 9 and then install this upgrade. The alternative"
2064         echo "is to use %{script_dir}/drop_%{db_backend}_tables to delete all your your current"
2065         echo "catalog information, then do the upgrade. Information on updating a"
2066         echo "database older than version 9 can be found in the release notes."
2067         exit 1
2068 fi
2069 %endif
2070
2071 %if %{sqlite}
2072 fi
2073 %endif
2074
2075 %if ! %{client_only}
2076 # check for and copy %{sysconf_dir}/console.conf to bconsole.conf
2077 if [ -s %{sysconf_dir}/console.conf ];then
2078         cp -p %{sysconf_dir}/console.conf %{sysconf_dir}/bconsole.conf
2079 fi
2080
2081 # create the daemon users and groups
2082 # first create the groups if they don't exist
2083 HAVE_BACULA=`grep %{daemon_group} %{group_file} 2>/dev/null`
2084 if [ -z "$HAVE_BACULA" ]; then
2085         %{groupadd} -r %{daemon_group} > /dev/null 2>&1
2086         echo "The group %{daemon_group} has been added to %{group_file}."
2087         echo "See the manual chapter \"Running Bacula\" for details."
2088 fi
2089 HAVE_BACULA=`grep %{storage_daemon_group} %{group_file} 2>/dev/null`
2090 if [ -z "$HAVE_BACULA" ]; then
2091         %{groupadd} -r %{storage_daemon_group} > /dev/null 2>&1
2092         echo "The group %{storage_daemon_group} has been added to %{group_file}."
2093         echo "See the manual chapter \"Running Bacula\" for details."
2094 fi
2095 # now create the users if they do not exist
2096 # we do not use the -g option allowing the primary group to be set to system default
2097 # this will be a unique group on redhat type systems or the group users on some systems
2098 HAVE_BACULA=`grep %{storage_daemon_user} %{user_file} 2>/dev/null`
2099 if [ -z "$HAVE_BACULA" ]; then
2100         %{useradd} -r -c "Bacula" -d %{working_dir} -g %{storage_daemon_group} -M -s /sbin/nologin %{storage_daemon_user} > /dev/null 2>&1
2101         echo "The user %{storage_daemon_user} has been added to %{user_file}."
2102         echo "See the manual chapter \"Running Bacula\" for details."
2103 fi
2104 HAVE_BACULA=`grep %{director_daemon_user} %{user_file} 2>/dev/null`
2105 if [ -z "$HAVE_BACULA" ]; then
2106         %{useradd} -r -c "Bacula" -d %{working_dir} -g %{daemon_group} -M -s /sbin/nologin %{director_daemon_user} > /dev/null 2>&1
2107         echo "The user %{director_daemon_user} has been added to %{user_file}."
2108         echo "See the manual chapter \"Running Bacula\" for details."
2109 fi
2110 HAVE_BACULA=`grep %{file_daemon_user} %{user_file} 2>/dev/null`
2111 if [ -z "$HAVE_BACULA" ]; then
2112         %{useradd} -r -c "Bacula" -d %{working_dir} -g %{daemon_group} -M -s /sbin/nologin %{file_daemon_user} > /dev/null 2>&1
2113         echo "The user %{file_daemon_user} has been added to %{user_file}."
2114         echo "See the manual chapter \"Running Bacula\" for details."
2115 fi
2116 # now we add the supplementary groups, this is ok to call even if the users already exist
2117 # we only do this if the user is NOT root
2118 IS_ROOT=%{director_daemon_user}
2119 if [ "$IS_ROOT" != "root" ]; then
2120 %{usermod} -G %{daemon_group} %{director_daemon_user}
2121 fi
2122 IS_ROOT=%{storage_daemon_user}
2123 if [ "$IS_ROOT" != "root" ]; then
2124 %{usermod} -G %{daemon_group},%{storage_daemon_group} %{storage_daemon_user}
2125 fi
2126 IS_ROOT=%{file_daemon_user}
2127 if [ "$IS_ROOT" != "root" ]; then
2128 %{usermod} -G %{daemon_group} %{file_daemon_user}
2129 fi
2130 %endif
2131
2132 %if %{mysql}
2133 %post mysql
2134 %endif
2135 %if %{sqlite}
2136 %post sqlite
2137 %endif
2138 %if %{postgresql}
2139 %post postgresql
2140 %endif
2141
2142 %if ! %{client_only}
2143 # add our links
2144 if [ "$1" -ge 1 ] ; then
2145 /sbin/chkconfig --add bacula-dir
2146 /sbin/chkconfig --add bacula-fd
2147 /sbin/chkconfig --add bacula-sd
2148 fi
2149 %endif
2150
2151 %if %{mysql}
2152 # test for an existing database
2153 # note: this ASSUMES no password has been set for bacula database
2154 DB_VER=`mysql 2>/dev/null bacula -e 'select * from Version;'|tail -n 1`
2155
2156 # grant privileges and create tables if they do not exist
2157 if [ -z "$DB_VER" ]; then
2158         echo "Hmm, doesn't look like you have an existing database."
2159         echo "Granting privileges for MySQL user bacula..."
2160         %{script_dir}/grant_mysql_privileges
2161         echo "Creating MySQL bacula database..."
2162         %{script_dir}/create_mysql_database
2163         echo "Creating bacula tables..."
2164         %{script_dir}/make_mysql_tables
2165
2166 # check to see if we need to upgrade a 1.38 or lower database
2167 elif [ "$DB_VER" -lt "10" ]; then
2168         echo "This release requires an upgrade to your bacula database."
2169         echo "Backing up your current database..."
2170         mysqldump -f --opt bacula | bzip2 > %{working_dir}/bacula_backup.sql.bz2
2171         echo "Upgrading bacula database ..."
2172         %{script_dir}/update_mysql_tables
2173         echo "If bacula works correctly you can remove the backup file %{working_dir}/bacula_backup.sql.bz2"
2174
2175 fi
2176 %endif
2177
2178 %if %{sqlite}
2179 # test for an existing database
2180 if [ -s %{working_dir}/bacula.db ]; then
2181         DB_VER=`echo "select * from Version;" | %{sqlite_bindir}/sqlite3 2>/dev/null %{working_dir}/bacula.db | tail -n 1`
2182         # check to see if we need to upgrade a 1.38 or lower database
2183         if [ "$DB_VER" -lt "10" ] && [ "$DB_VER" -ge "9" ]; then
2184                 echo "This release requires an upgrade to your bacula database."
2185                 echo "Backing up your current database..."
2186                 echo ".dump" | %{sqlite_bindir}/sqlite3 %{working_dir}/bacula.db | bzip2 > %{working_dir}/bacula_backup.sql.bz2
2187                 echo "Upgrading bacula database ..."
2188                 %{script_dir}/update_sqlite3_tables
2189                 echo "If bacula works correctly you can remove the backup file %{working_dir}/bacula_backup.sql.bz2"
2190         fi
2191 else
2192         # create the database and tables
2193         echo "Hmm, doesn't look like you have an existing database."
2194         echo "Creating SQLite database..."
2195         %{script_dir}/create_sqlite3_database
2196         chown %{director_daemon_user}.%{daemon_group} %{working_dir}/bacula.db
2197         echo "Creating the SQLite tables..."
2198         %{script_dir}/make_sqlite3_tables
2199 fi
2200 %endif
2201
2202 %if %{postgresql}
2203 # test for an existing database
2204 # note: this ASSUMES no password has been set for bacula database
2205 DB_VER=`echo 'select * from Version;' | psql bacula 2>/dev/null | tail -3 | head -1`
2206
2207 # grant privileges and create tables if they do not exist
2208 if [ -z "$DB_VER" ]; then
2209         echo "Hmm, doesn't look like you have an existing database."
2210         echo "Creating PostgreSQL bacula database..."
2211         %{script_dir}/create_postgresql_database
2212         echo "Creating bacula tables..."
2213         %{script_dir}/make_postgresql_tables
2214         echo "Granting privileges for PostgreSQL user bacula..."
2215         %{script_dir}/grant_postgresql_privileges
2216
2217 # check to see if we need to upgrade a 1.38 or lower database
2218 elif [ "$DB_VER" -lt "10" ]; then
2219         echo "This release requires an upgrade to your bacula database."
2220         echo "Backing up your current database..."
2221         pg_dump bacula | bzip2 > %{working_dir}/bacula_backup.sql.bz2
2222         echo "Upgrading bacula database ..."
2223         %{script_dir}/update_postgresql_tables
2224         echo "If bacula works correctly you can remove the backup file %{working_dir}/bacula_backup.sql.bz2"
2225         
2226 fi
2227 %endif
2228
2229 %if ! %{client_only}
2230 # generate passwords if needed
2231 if [ -d %{sysconf_dir} ]; then
2232         cd %{sysconf_dir}
2233         for file in *.conf; do
2234                 for string in XXX_REPLACE_WITH_DIRECTOR_PASSWORD_XXX XXX_REPLACE_WITH_CLIENT_PASSWORD_XXX XXX_REPLACE_WITH_STORAGE_PASSWORD_XXX XXX_REPLACE_WITH_DIRECTOR_MONITOR_PASSWORD_XXX XXX_REPLACE_WITH_CLIENT_MONITOR_PASSWORD_XXX XXX_REPLACE_WITH_STORAGE_MONITOR_PASSWORD_XXX; do
2235                         need_password=`grep $string $file 2>/dev/null`
2236                         if [ -n "$need_password" ]; then
2237                                 pass=`openssl rand -base64 33`
2238                                 sed "s-$string-$pass-g" $file > $file.new
2239                                 cp -f $file.new $file; rm -f $file.new
2240                         fi
2241                 done
2242         done
2243 fi
2244 %endif
2245
2246 %if %{mysql}
2247 %preun mysql
2248 %endif
2249 %if %{sqlite}
2250 %preun sqlite
2251 %endif
2252 %if %{postgresql}
2253 %preun postgresql
2254 %endif
2255
2256 %if ! %{client_only}
2257 # delete our links
2258 if [ $1 = 0 ]; then
2259 /sbin/chkconfig --del bacula-dir
2260 /sbin/chkconfig --del bacula-fd
2261 /sbin/chkconfig --del bacula-sd
2262 fi
2263 %endif
2264
2265
2266 %if ! %{client_only} && %{mtx}
2267 %files mtx
2268 %defattr(-,root,root)
2269 %attr(-, root, %{storage_daemon_group}) %{_sbindir}/loaderinfo
2270 %attr(-, root, %{storage_daemon_group}) %{_sbindir}/mtx
2271 %attr(-, root, %{storage_daemon_group}) %{_sbindir}/scsitape
2272 %attr(-, root, %{storage_daemon_group}) %{_sbindir}/tapeinfo
2273 %attr(-, root, %{storage_daemon_group}) %{_sbindir}/scsieject
2274 %{_mandir}/man1/loaderinfo.1.%{manpage_ext}
2275 %{_mandir}/man1/mtx.1.%{manpage_ext}
2276 %{_mandir}/man1/scsitape.1.%{manpage_ext}
2277 %{_mandir}/man1/tapeinfo.1.%{manpage_ext}
2278 %{_mandir}/man1/scsieject.1.%{manpage_ext}
2279 %endif
2280
2281 %files client
2282 %defattr(-,root,root)
2283 %attr(-, root, %{daemon_group}) %dir %{script_dir}
2284 %{script_dir}/bacula-ctl-fd
2285 /etc/init.d/bacula-fd
2286 %if %{rescue}
2287 %attr(-, root, %{daemon_group}) %{script_dir}/rescue
2288 %endif
2289
2290 %if ! %{single_dir}
2291 %doc COPYING ChangeLog ReleaseNotes VERIFYING kernstodo 
2292 %doc %{_docsrc}/manual/bacula.pdf %{_docsrc}/developers/developers.pdf %{_docsrc}/manual/bacula ../Release_Notes-%{version}-%{release}.txt
2293 %else
2294 %{_prefix}/doc
2295 %endif
2296
2297 /etc/logrotate.d/bacula
2298
2299 %attr(-, root, %{daemon_group}) %config(noreplace) %{sysconf_dir}/bacula-fd.conf
2300 %attr(-, root, %{daemon_group}) %config(noreplace) %{sysconf_dir}/bconsole.conf
2301
2302 %attr(-, root, %{daemon_group}) %dir %{working_dir}
2303
2304 %{_sbindir}/bacula-fd
2305 %{_sbindir}/btraceback
2306 %attr(-, root, %{daemon_group}) %{script_dir}/btraceback.gdb
2307 %attr(-, root, %{daemon_group}) %{script_dir}/btraceback.dbx
2308 %{_sbindir}/bconsole
2309 %{_mandir}/man8/bacula-fd.8.%{manpage_ext}
2310 %{_mandir}/man8/bacula.8.%{manpage_ext}
2311 %{_mandir}/man8/bconsole.8.%{manpage_ext}
2312 %{_mandir}/man8/btraceback.8.%{manpage_ext}
2313
2314
2315 %pre client
2316 # create the daemon group and user
2317 HAVE_BACULA=`grep %{daemon_group} %{group_file} 2>/dev/null`
2318 if [ -z "$HAVE_BACULA" ]; then
2319         %{groupadd} -r %{daemon_group} > /dev/null 2>&1
2320         echo "The group %{daemon_group} has been added to %{group_file}."
2321         echo "See the manual chapter \"Running Bacula\" for details."
2322 fi
2323 # we do not use the -g option allowing the primary group to be set to system default
2324 # this will be a unique group on redhat type systems or the group users on some systems
2325 HAVE_BACULA=`grep %{file_daemon_user} %{user_file} 2>/dev/null`
2326 if [ -z "$HAVE_BACULA" ]; then
2327         %{useradd} -r -c "Bacula" -d %{working_dir} -g %{daemon_group} -M -s /sbin/nologin %{file_daemon_user} > /dev/null 2>&1
2328         echo "The user %{file_daemon_user} has been added to %{user_file}."
2329         echo "See the manual chapter \"Running Bacula\" for details."
2330 fi
2331 # now we add the supplementary group, this is ok to call even if the user already exists
2332 # we only do this if the user is NOT root
2333 IS_ROOT=%{file_daemon_user}
2334 if [ "$IS_ROOT" != "root" ]; then
2335 %{usermod} -G %{daemon_group} %{file_daemon_user}
2336 fi
2337
2338 %post client
2339 # add our link
2340 if [ "$1" -ge 1 ] ; then
2341 /sbin/chkconfig --add bacula-fd
2342 fi
2343
2344 # generate passwords if needed
2345 if [ -d %{sysconf_dir} ]; then
2346         cd %{sysconf_dir}
2347         for file in *.conf; do
2348                 for string in XXX_REPLACE_WITH_DIRECTOR_PASSWORD_XXX XXX_REPLACE_WITH_CLIENT_PASSWORD_XXX XXX_REPLACE_WITH_STORAGE_PASSWORD_XXX XXX_REPLACE_WITH_DIRECTOR_MONITOR_PASSWORD_XXX XXX_REPLACE_WITH_CLIENT_MONITOR_PASSWORD_XXX XXX_REPLACE_WITH_STORAGE_MONITOR_PASSWORD_XXX; do
2349                         need_password=`grep $string $file 2>/dev/null`
2350                         if [ -n "$need_password" ]; then
2351                                 pass=`openssl rand -base64 33`
2352                                 sed "s-$string-$pass-g" $file > $file.new
2353                                 cp -f $file.new $file; rm -f $file.new
2354                         fi
2355                 done
2356         done
2357 fi
2358
2359 %preun client
2360 # delete our link
2361 if [ $1 = 0 ]; then
2362 /sbin/chkconfig --del bacula-fd
2363 fi
2364
2365 %if ! %{client_only}
2366 %files updatedb
2367 %defattr(-,root,%{daemon_group})
2368 %{script_dir}/updatedb/*
2369
2370 %pre updatedb
2371 # create the daemon group
2372 HAVE_BACULA=`grep %{daemon_group} %{group_file} 2>/dev/null`
2373 if [ -z "$HAVE_BACULA" ]; then
2374         %{groupadd} -r %{daemon_group} > /dev/null 2>&1
2375         echo "The group %{daemon_group} has been added to %{group_file}."
2376         echo "See the manual chapter \"Running Bacula\" for details."
2377 fi
2378
2379 %post updatedb
2380 echo "The database update scripts were installed to %{script_dir}/updatedb"
2381 %endif
2382
2383 %if %{gconsole}
2384 %files gconsole
2385 %defattr(-,root,root)
2386 %{_sbindir}/bgnome-console
2387 %attr(-, root, %{daemon_group}) %dir %{script_dir}
2388 %attr(-, root, %{daemon_group}) %{script_dir}/gconsole
2389 %attr(-, root, %{daemon_group}) %config(noreplace) %{sysconf_dir}/bgnome-console.conf
2390 /usr/share/pixmaps/bacula.png
2391 /usr/share/applications/bacula.desktop
2392 %{_mandir}/man1/bacula-bgnome-console.1.%{manpage_ext}
2393 %endif
2394
2395 %if %{gconsole} && ! %{rh8}
2396 %{_sbindir}/bacula-tray-monitor
2397 %config(noreplace) %{sysconf_dir}/tray-monitor.conf
2398 /usr/share/pixmaps/bacula-tray-monitor.xpm
2399 /usr/share/applications/bacula-tray-monitor.desktop
2400 %{_mandir}/man1/bacula-tray-monitor.1.%{manpage_ext}
2401 %endif
2402
2403 %if %{gconsole} && ! %{su9} && ! %{su10} && ! %{su102} && ! %{su103} && ! %{su110} && ! %{su111}
2404 # add the console helper files
2405 %config(noreplace,missingok) /etc/pam.d/bgnome-console
2406 %config(noreplace,missingok) /etc/security/console.apps/bgnome-console
2407 /usr/bin/bgnome-console
2408 %endif
2409
2410 %if %{gconsole}
2411 %pre gconsole
2412 # create the daemon group
2413 HAVE_BACULA=`grep %{daemon_group} %{group_file} 2>/dev/null`
2414 if [ -z "$HAVE_BACULA" ]; then
2415         %{groupadd} -r %{daemon_group} > /dev/null 2>&1
2416         echo "The group %{daemon_group} has been added to %{group_file}."
2417         echo "See the manual chapter \"Running Bacula\" for details."
2418 fi
2419
2420 %post gconsole
2421 # generate passwords if needed
2422 if [ -d %{sysconf_dir} ]; then
2423         cd %{sysconf_dir}
2424         for file in *.conf; do
2425                 for string in XXX_REPLACE_WITH_DIRECTOR_PASSWORD_XXX XXX_REPLACE_WITH_CLIENT_PASSWORD_XXX XXX_REPLACE_WITH_STORAGE_PASSWORD_XXX XXX_REPLACE_WITH_DIRECTOR_MONITOR_PASSWORD_XXX XXX_REPLACE_WITH_CLIENT_MONITOR_PASSWORD_XXX XXX_REPLACE_WITH_STORAGE_MONITOR_PASSWORD_XXX; do
2426                         need_password=`grep $string $file 2>/dev/null`
2427                         if [ -n "$need_password" ]; then
2428                                 pass=`openssl rand -base64 33`
2429                                 sed "s-$string-$pass-g" $file > $file.new
2430                                 cp -f $file.new $file; rm -f $file.new
2431                         fi
2432                 done
2433         done
2434 fi
2435 %endif
2436
2437 %if %{wxconsole}
2438 %files wxconsole
2439 %defattr(-,root,root)
2440 %{_sbindir}/bwx-console
2441 %attr(-, root, %{daemon_group}) %dir %{sysconf_dir}
2442 %attr(-, root, %{daemon_group}) %config(noreplace) %{sysconf_dir}/bwx-console.conf
2443 /usr/share/pixmaps/wxwin16x16.xpm
2444 /usr/share/applications/wxconsole.desktop
2445 %{_mandir}/man1/bacula-bwxconsole.1.%{manpage_ext}
2446 %endif
2447
2448 %if %{wxconsole} && ! %{su9} && ! %{su10} && ! %{su102} && ! %{su103} && ! %{su110} && ! %{su111}
2449 # add the console helper files
2450 %config(noreplace,missingok) /etc/pam.d/bwx-console
2451 %config(noreplace,missingok) /etc/security/console.apps/bwx-console
2452 /usr/bin/bwx-console
2453 %endif
2454
2455 %if %{wxconsole}
2456 %pre wxconsole
2457 # create the daemon group
2458 HAVE_BACULA=`grep %{daemon_group} %{group_file} 2>/dev/null`
2459 if [ -z "$HAVE_BACULA" ]; then
2460         %{groupadd} -r %{daemon_group} > /dev/null 2>&1
2461         echo "The group %{daemon_group} has been added to %{group_file}."
2462         echo "See the manual chapter \"Running Bacula\" for details."
2463 fi
2464
2465 %post wxconsole
2466 # generate passwords if needed
2467 if [ -d %{sysconf_dir} ]; then
2468         cd %{sysconf_dir}
2469         for file in *.conf; do
2470                 for string in XXX_REPLACE_WITH_DIRECTOR_PASSWORD_XXX XXX_REPLACE_WITH_CLIENT_PASSWORD_XXX XXX_REPLACE_WITH_STORAGE_PASSWORD_XXX XXX_REPLACE_WITH_DIRECTOR_MONITOR_PASSWORD_XXX XXX_REPLACE_WITH_CLIENT_MONITOR_PASSWORD_XXX XXX_REPLACE_WITH_STORAGE_MONITOR_PASSWORD_XXX; do
2471                         need_password=`grep $string $file 2>/dev/null`
2472                         if [ -n "$need_password" ]; then
2473                                 pass=`openssl rand -base64 33`
2474                                 sed "s-$string-$pass-g" $file > $file.new
2475                                 cp -f $file.new $file; rm -f $file.new
2476                         fi
2477                 done
2478         done
2479 fi
2480 %endif
2481
2482 %if %{bat}
2483 %files bat
2484 %defattr(-,root,root)
2485 %{_sbindir}/bat
2486 %attr(-, root, %{daemon_group}) %dir %{sysconf_dir}
2487 %attr(-, root, %{daemon_group}) %config(noreplace) %{sysconf_dir}/bat.conf
2488 /usr/share/pixmaps/bat_icon.png
2489 /usr/share/applications/bat.desktop
2490 %{_mandir}/man1/bat.1.%{manpage_ext}
2491 %endif
2492
2493 %if %{bat} && ! %{su9} && ! %{su10} && ! %{su102} && ! %{su103} && ! %{su110} && ! %{su111}
2494 # add the console helper files
2495 %config(noreplace,missingok) /etc/pam.d/bat
2496 %config(noreplace,missingok) /etc/security/console.apps/bat
2497 /usr/bin/bat
2498 %endif
2499
2500 %if %{bat}
2501 %pre bat
2502 # create the daemon group
2503 HAVE_BACULA=`grep %{daemon_group} %{group_file} 2>/dev/null`
2504 if [ -z "$HAVE_BACULA" ]; then
2505         %{groupadd} -r %{daemon_group} > /dev/null 2>&1
2506         echo "The group %{daemon_group} has been added to %{group_file}."
2507         echo "See the manual chapter \"Running Bacula\" for details."
2508 fi
2509
2510 %post bat
2511 # generate passwords if needed
2512 if [ -d %{sysconf_dir} ]; then
2513         cd %{sysconf_dir}
2514         for file in *.conf; do
2515                 for string in XXX_REPLACE_WITH_DIRECTOR_PASSWORD_XXX XXX_REPLACE_WITH_CLIENT_PASSWORD_XXX XXX_REPLACE_WITH_STORAGE_PASSWORD_XXX XXX_REPLACE_WITH_DIRECTOR_MONITOR_PASSWORD_XXX XXX_REPLACE_WITH_CLIENT_MONITOR_PASSWORD_XXX XXX_REPLACE_WITH_STORAGE_MONITOR_PASSWORD_XXX; do
2516                         need_password=`grep $string $file 2>/dev/null`
2517                         if [ -n "$need_password" ]; then
2518                                 pass=`openssl rand -base64 33`
2519                                 sed "s-$string-$pass-g" $file > $file.new
2520                                 cp -f $file.new $file; rm -f $file.new
2521                         fi
2522                 done
2523         done
2524 fi
2525 %endif
2526
2527 %changelog
2528 * Wed Dec 31 2008 D. Scott Barninger <barninger@fairfieldcomputers.com>
2529 - add su111 target
2530 * Sat Nov 08 2008 D. Scott Barninger <barninger@fairfieldcomputers.com>
2531 - set paths for QT using pkgconfig
2532 * Sat Oct 11 2008 D. Scott Barninger <barninger@fairfieldcomputers.com>
2533 - release 2.4.3 update depkgs to 11Sep08 remove file nmshack from mtx package
2534 * Sun Sep 07 2008 D. Scott Barninger <barninger@fairfieldcomputers.com>
2535 - adjust /opt/bacula install
2536 - add build switch to supress rescue package
2537 * Sun Aug 24 2008 D. Scott Barninger <barninger@fairfieldcomputers.com>
2538 - add support for install to /opt/bacula
2539 * Sun Aug 17 2008 D. Scott Barninger <barninger@fairfieldcomputers.com>
2540 - remove libtermcap dependancy for FC9
2541 * Mon Aug 04 2008 D. Scott Barninger <barninger@fairfieldcomputers.com>
2542 - fix bat dependencies
2543 * Sat Jun 28 2008 D. Scott Barninger <barninger@fairfieldcomputers.com>
2544 - add su110 target
2545 * Sat May 24 2008 D. Scott Barninger <barninger@fairfieldcomputers.com>
2546 - add fc9 target
2547 * Sun Mar 30 2008 D. Scott Barninger <barninger@fairfieldcomputers.com>
2548 - FHS compatibility changes
2549 * Sat Feb 16 2008 D. Scott Barninger <barninger@fairfieldcomputers.com>
2550 - remove fix for false buffer overflow detection with glibc >= 2.7
2551 * Sat Feb 09 2008 D. Scott Barninger <barninger@fairfieldcomputers.com>
2552 - fix for false buffer overflow detection with glibc >= 2.7
2553 * Sun Jan 27 2008 D. Scott Barninger <barninger@fairfieldcomputers.com>
2554 - 2.2.8 release
2555 - add debug package for SuSE
2556 * Sat Jan 12 2008 D. Scott Barninger <barninger@fairfieldcomputers.com>
2557 - 2.2.8 beta release  
2558 - fix bug 1037
2559 - add fc8 target
2560 * Sun Dec 30 2007 D. Scott Barninger <barninger@fairfieldcomputers.com>
2561 - fix typo on su103 client package requirements
2562 * Fri Dec 28 2007 D. Scott Barninger <barninger@fairfieldcomputers.com>
2563 - add nobuild_mtx switch
2564 - add patch for postgresql.c for old postgresql versions
2565 * Sat Nov 17 2007 D. Scott Barninger <barninger@fairfieldcomputers.com>
2566 - switch to sqlite3
2567 * Sun Nov 11 2007 D. Scott Barninger <barninger@fairfieldcomputers.com>
2568 - add new files required by rescue makefile
2569 * Sat Nov 10 2007 D. Scott Barninger <barninger@fairfieldcomputers.com>
2570 - add su103 build target
2571 * Sun Nov 04 2007 D. Scott Barninger <barninger@fairfieldcomputers.com>
2572 - fix dist defines for rhel5 and clones
2573 - fix rhel broken 64 bit QT4 paths
2574 - rh qt4 packages don't provide qt so fix that too
2575 * Mon Oct 29 2007 D. Scott Barninger <barninger@fairfieldcomputers.com>
2576 - correct ownership when creating sqlite db file in post script
2577 * Sun Sep 16 2007 D. Scott Barninger <barninger@fairfieldcomputers.com>
2578 - fix disable-batch-insert
2579 * Fri Sep 14 2007 D. Scott Barninger <barninger@fairfieldcomputers.com>
2580 - 2.2.4 release
2581 - turn off gconsole build for fc3, tray monitor fails to build
2582 - add new files for mtx package (09Sep07 depkgs update)
2583 * Sat Sep 08 2007 D. Scott Barninger <barninger@fairfieldcomputers.com>
2584 - add --disable-batch-insert for older platforms
2585 - add build targets for rhel5 and clones
2586 * Mon Sep 03 2007 D. Scott Barninger <barninger@fairfieldcomputers.com>
2587 - 2.2.1 release
2588 - turn off gconsole build for su10 & fc4, tray monitor fails to build
2589 * Sat Jul 14 2007 D. Scott Barninger <barninger@fairfieldcomputers.com>
2590 - 2.1.26 add make of qwt in depkgs for bat
2591 * Sat Jun 02 2007 D. Scott Barninger <barninger@fairfieldcomputers.com>
2592 - upgrade Qt requirement for bat to 4.2
2593 * Sun May 06 2007 D. Scott Barninger <barninger@fairfieldcomputers.com>
2594 - add fc7 build target
2595 * Sun Apr 29 2007 D. Scott Barninger <barninger@fairfieldcomputers.com>
2596 - 2.1.8
2597 - gnome-console now bgnome-console
2598 - wxconsole now bwx-console
2599 - add build option for bat
2600 * Sat Apr 08 2007 D. Scott Barninger <barninger@fairfieldcomputers.com>
2601 - merge Otto Mueller's patch but keep script dir set to /etc/bacula
2602 - add build tag for Scientific Linux per Jon Peatfield <J.S.Peatfield@damtp.cam.ac.uk>
2603 * Tue Mar 27 2007 Otto Mueller <otto.mueller@bundestag.de>
2604 - adjust directory locations for FHS-compatibility
2605   sysconf_dir (/etc/bacula), script_dir (/usr/lib/bacula),
2606   working_dir (/var/lib/bacula) and pid_dir (/var/run)
2607 * Mon Feb 26 2007 D. Scott Barninger <barninger@fairfieldcomputers.com>
2608 - add SuSE 10.2 target
2609 * Sat Jan 20 2007 D. Scott Barninger <barninger@fairfieldcomputers.com>
2610 - correct bug 752
2611 - set query.sql as config file
2612 - correct bug 754
2613 * Sun Jan 14 2007 D. Scott Barninger <barninger@fairfieldcomputers.com>
2614 - 2.0.1 release
2615 - change determination of gcc version per patch from Marc Hennes
2616 - move BuildRequire for atk-devel to gnome only builds
2617 - add fc6 build tag
2618 * Sat Jan 06 2007 D. Scott Barninger <barninger@fairfieldcomputers.com>
2619 - 2.0.0 release
2620 * Sun Oct 15 2006 D. Scott Barninger <barninger@fairfieldcomputers.com>
2621 - 1.39.26 remove create_sqlite_database.in.patch
2622 * Sun Sep 24 2006 D. Scott Barninger <barninger@fairfieldcomputers.com>
2623 - change ownership of working_dir on server packages to bacula.bacula so that
2624 - bacula-sd can create bootstrap files
2625 * Sat Sep 02 2006 D. Scott Barninger <barninger@fairfieldcomputers.com>
2626 - 1.39.22 remove separate cd and make of manpages the main Makefile does it now
2627 * Sun Aug 06 2006 D. Scott Barninger <barninger@fairfieldcomputers.com>
2628 - fix manpages file extension for mdk
2629 * Sat Aug 05 2006 D. Scott Barninger <barninger@fairfieldcomputers.com>
2630 - bug 648 re-enable and update sqlite patches
2631 - 1.39.18 changes
2632 - updatedb 9 to 10
2633 - install man pages
2634 - lock out gconsole build for gtk+ < 2.4
2635 * Mon Jul 17 2006 D. Scott Barninger <barninger@fairfieldcomputers.com>
2636 - move pango-devel BuildRequires into gconsole only build
2637 * Sat Jul 15 2006 D. Scott Barninger <barninger@fairfieldcomputers.com>
2638 - add provides and conflicts for standard suse packages
2639 - add third party packager tag support
2640 - add build_client_only tag
2641 - remove bsmtp from client package
2642 - add bacula-ctl-fd to client package
2643 * Thu Jul 13 2006 D. Scott Barninger <barninger@fairfieldcomputers.com>
2644 - fix directory creation when wxconsole and not gconsole
2645 * Tue Jul 04 2006 D. Scott Barninger <barninger@fairfieldcomputers.com>
2646 - add check to buildrequires to make sure libstdc++ version matches gcc
2647 * Mon Jul 03 2006 D. Scott Barninger <barninger@fairfieldcomputers.com>
2648 - add python build support
2649 - fix LDFLAGS declarations
2650 * Sun Jul 02 2006 D. Scott Barninger <barninger@fairfieldcomputers.com>
2651 - add requires for standard compiler toolchain
2652 - move version and release tags up
2653 - move patches up
2654 - add docs_version tag
2655 * Sat Jul 01 2006 D. Scott Barninger <barninger@fairfieldcomputers.com>
2656 - update rescuever to 1.8.6
2657 * Sun Jun 25 2006 D. Scott Barninger <barninger@fairfieldcomputers.com>
2658 - update depkgs to 25Jun06
2659 - add mysql5 build tag
2660 * Mon Jun 12 2006 D. Scott Barninger <barninger@fairfieldcomputers.com>
2661 - 1.38.10 bump rescue version
2662 * Sun Jun 03 2006 D. Scott Barninger <barninger@fairfieldcomputers.com>
2663 - fix usermod statements
2664 - add fc5 target
2665 * Thu Apr 27 2006 D. Scott Barninger <barninger@fairfieldcomputers.com>
2666 - add -g param back to useradd statements Bug 605
2667 * Mon Apr 17 2006 D. Scott Barninger <barninger@fairfieldcomputers.com>
2668 - redundant code cleanup
2669 * Sun Apr 16 2006 D. Scott Barninger <barninger@fairfieldcomputers.com>
2670 - add wxconsole package
2671 * Fri Apr 14 2006 D. Scott Barninger <barninger@fairfieldcomputers.com>
2672 - 1.38.8 release
2673 - dependency update for Mandriva
2674 * Sun Apr 08 2006 D. Scott Barninger <barninger@fairfieldcomputers.com>
2675 - 1.38.7 release
2676 - remove -n option from useradd scripts
2677 * Sun Apr 02 2006 D. Scott Barninger <barninger@fairfieldcomputers.com>
2678 - 1.38.6 release
2679 - fix problem specifying more than one primary group for user bacula
2680 - add build switch to not build gconsole regardless of platform
2681 * Sun Jan 29 2006 D. Scott Barninger <barninger@fairfieldcomputers.com>
2682 - add centos3 build tag
2683 - fix link error of static-fd on Mandrake with --disable-nls
2684 * Fri Jan 27 2006 D. Scott Barninger <barninger@fairfieldcomputers.com>
2685 - add fc4 dependencies
2686 * Mon Jan 23 2006 D. Scott Barninger <barninger@fairfieldcomputers.com>
2687 - add SuSE 10.0 build
2688 - remove specific permission in attrib macros
2689 * Sat Jan 21 2006 D. Scott Barninger <barninger@fairfieldcomputers.com>
2690 - 1.38.5 release
2691 - fix usermode required on suse, suse doesn't have usermode (xsu instead)
2692 - refix compat for _dist on SLES9 which seems to have been removed
2693 - added note regarding Aleksandar's use of specific permissions in attrib macros
2694 - need to review and add specific fc4 build currently using fc3 Requires
2695 * Wed Dec 14 2005 Aleksandar Milivojevic <alex@milivojevic.org>
2696 - 1.38.2 release
2697 - Reorganize files and pre/post sections to remove repetitions
2698 - Always build separate mtx package
2699 - Fix file ownerships for /etc/bacula and Bacula's working dir
2700 * Wed Nov 23 2005 Aleksandar Milivojevic <alex@milivojevic.org>
2701 - Disable GNOME on RH7
2702 * Fri Nov 18 2005 Aleksandar Milivojevic <alex@milivojevic.org>
2703 - Red Hat and look alikes have mtx RPM, do not build/package our version
2704 * Sun Nov 13 2005 D. Scott Barninger <barninger@fairfieldcomputers.com>
2705 - minor edit to _dist for SLES9 compatibility
2706 * Sat Nov 05 2005 D. Scott Barninger <barninger@fairfieldcomputers.com>
2707 - 1.38.0 release
2708 - kern changed location of pdf files and html manual in docs package
2709 * Sun Oct 30 2005 D. Scott Barninger <barninger@fairfieldcomputers.com>
2710 - 1.38.0 release
2711 - add docs (from prebuilt tarball) and rescue packages back in
2712 - remove dvd-freespace and dvd-writepart files, add dvd-handler
2713 - remove 3 of 4 sqlite script patches as not needed
2714 * Sun Jul 24 2005 D. Scott Barninger <barninger@fairfieldcomputers.com>
2715 - changes for 1.38
2716 - remove docs and rescue sections (remove static fd)
2717 - add dvd-freespace and dvd-writepart files
2718 - update depkgs to 22Jun05
2719 - change database update to 8 to 9
2720 * Sun Jul 24 2005 D. Scott Barninger <barninger@fairfieldcomputers.com>
2721 - minor cleanups before 1.38 changes
2722 - add popt and popt-devel build dependencies
2723 - add tetex and tetex-dvips dependencies for doc build
2724 - replace deprecated Copyright tag with License
2725 * Sat May 07 2005 D. Scott Barninger <barninger@fairfieldcomputers.com>
2726 - move sqlite installation bindir to /usr/lib/bacula/sqlite and remove
2727 - conflict with sqlite packages. remove readline dependency.
2728 * Sun Apr 17 2005 D. Scott Barninger <barninger@fairfieldcomputers.com>
2729 - release 1.36.3 update docs
2730 * Tue Apr 05 2005 D. Scott Barninger <barninger@fairfieldcomputers.com>
2731 - add centos4 build tag
2732 - add x86_64 build tag
2733 * Sun Apr 03 2005 D. Scott Barninger <barninger@fairfieldcomputers.com>
2734 - add rhel4 build tag
2735 - clean up for mysql4 which is now mdk-10.1, suse-9.2 and rhel4
2736 * Sun Mar 06 2005 D. Scott Barninger <barninger@fairfieldcomputers.com>
2737 - add rhel3 build tag
2738 * Tue Mar 01 2005 D. Scott Barninger <barninger@fairfieldcomputers.com>
2739 - fix tray-monitor.conf for noreplace
2740 * Mon Feb 28 2005 D. Scott Barninger <barninger@fairfieldcomputers.com>
2741 - fix distribution check for Fedora and Whitebox
2742 * Sun Feb 06 2005 D. Scott Barninger <barninger@fairfieldcomputers.com>
2743 - add logwatch script
2744 - add dvd scripts
2745 * Sat Jan 15 2005 D. Scott Barninger <barninger@fairfieldcomputers.com>
2746 - add build for Fedora Core 3 (linc now included in ORDit2)
2747 - add mysql4 define for Mandrake 10.1
2748 * Fri Jan 14 2005 D. Scott Barninger <barninger@fairfieldcomputers.com>
2749 - fix {group_file} variable in post scripts
2750 * Thu Dec 30 2004 D. Scott Barninger <barninger@fairfieldcomputers.com>
2751 - add distribution checking and custom Distribution tag
2752 * Thu Dec 09 2004 D. Scott Barninger <barninger at fairfieldcomputers.com>
2753 - ASSIGNMENT OF COPYRIGHT
2754 - FOR VALUE RECEIVED, D. Scott Barninger hereby sells, transfers and 
2755 - assigns unto Kern Sibbald, his successors, assigns and personal representatives, 
2756 - all right, title and interest in and to the copyright in this software RPM
2757 - spec file. D. Scott Barninger warrants good title to said copyright, that it is 
2758 - free of all liens, encumbrances or any known claims against said copyright.
2759 * Sat Dec 04 2004 D. Scott Barninger <barninger at fairfieldcomputers.com>
2760 - bug 183 fixes
2761 - thanks to Daniel Widyono
2762 - update description for rescue package to describe cdrom creation
2763 * Thu Nov 18 2004 D. Scott Barninger <barninger at fairfieldcomputers.com>
2764 - update depkgs to 29Oct04
2765 * Fri Nov 12 2004 D. Scott Barninger <barninger at fairfieldcomputers.com>
2766 - add cdrom rescue to bacula-rescue package
2767 * Sun Oct 31 2004 D. Scott Barninger <barninger at fairfieldcomputers.com>
2768 - misc fixes from 1.36.0 suse feedback
2769 - fix situation where sqlite database exists but sqlite has been removed.
2770 * Fri Oct 22 2004 D. Scott Barninger <barninger at fairfieldcomputers.com>
2771 - remove tray-monitor from RH8 build
2772 - fix permissions on tray-monitor files
2773 * Wed Oct 13 2004 D. Scott Barninger <barninger at fairfieldcomputers.com>
2774 - add Mandrake support and tray-monitor, misc changes for 1.35.8/1.36.0,
2775 - change database update to 7 to 8 upgrade,
2776 - revert depkgs to 08Mar04 as there seems to be a bug in the sqlite
2777 - build in 30Jul04, add freetype dependancy to gnome package.
2778 * Sun Sep 12 2004 D. Scott Barninger <barninger at fairfieldcomputers.com>
2779 - add documentation to console for groupadd
2780 * Sat Sep 04 2004 D. Scott Barninger <barninger at fairfieldcomputers.com>
2781 - add support for running daemons as root.bacula
2782 - correct for change in location of floppy rescue files in 1.35.2
2783 - removed /etc/bacula/fd script from all packages as it has disappeared from 1.35.2
2784 - updated depgkgs to 30Jul04
2785 * Thu Jun 24 2004 D. Scott Barninger <barninger at fairfieldcomputers.com>
2786 - really, really fix symlink creation for gconsole
2787 * Thu Jun 17 2004 D. Scott Barninger <barninger at fairfieldcomputers.com>
2788 - fix symlink creation in gconsole post install
2789 * Sat Jun 12 2004 D. Scott Barninger <barninger at fairfieldcomputers.com>
2790 - fixed error in gconsole post script
2791 * Fri Apr 30 2004 D. Scott Barninger <barninger at fairfieldcomputers.com>
2792 - add check for gconsole symlink before trying to create it
2793 * Sun Apr 11 2004 D. Scott Barninger <barninger at fairfieldcomputers.com>
2794 - fix some minor permissions issues on doc files that CVS won't let us fix
2795 * Sun Apr 04 2004 D. Scott Barninger <barninger at fairfieldcomputers.com>
2796 - add pkgconfig to BuildRequires
2797 - clean up gnome1/2 menu entries for appropriate packages
2798 * Fri Apr 02 2004 D. Scott Barninger <barninger at fairfieldcomputers.com>
2799 - tightened up doc distribution
2800 * Tue Mar 30 2004 D. Scott Barninger <barninger at fairfieldcomputers.com>
2801 - added usermode (Redhat) and xsu (SuSE) support for gnome-console;
2802 - rpm's horrible bug that prevents nested conditional macros prevents me
2803 - from implementing these 2 separate approaches within the conditionals which
2804 - create the separate server packages.
2805 - the solution adopted is to remove the gnome-console files from the server packages
2806 - so bacula-gconsole is now an add on for both client and server packages.
2807 - this also now allows the server packages to be install on machines without
2808 - an X-server and we can still maintain a single spec file.
2809 - added tests to make sure we have defined platform and database macros.
2810 * Sat Mar 13 2004 D. Scott Barninger <barninger at fairfieldcomputers.com>
2811 - corrected mysql prerequisites for suse
2812 * Mon Mar 1 2004 D. Scott Barninger <barninger at fairfieldcomputers.com>
2813 - replaced all cp commands with cp -p
2814 - removed addition of a+x permissions on gnome-console
2815 - corrected permissions on init scripts
2816 * Sat Feb 28 2004 D. Scott Barninger <barninger at fairfieldcomputers.com>
2817 - corrected creation of sqlite_bindir in install from !mysql to sqlite
2818 -
2819 - various cleanup patches from Michael K. Johnson:
2820 - corrected post install routines for nicer chkconfig
2821 - removed chmod changes in post routines and moved to install section
2822 - removed interactive nature of post routine for rescue package
2823 - added description of building rescue disks to the description of rescue package
2824 - added clean of build root to beginning of install
2825 - removed specifying attr in all file lists
2826 * Fri Feb 20 2004 D. Scott Barninger <barninger at fairfieldcomputers.com>
2827 - added bconsole to client package
2828 - added gconsole package as add-on to client
2829 - removed spurious dependancies on updatedb package (!cut/paste)
2830 * Thu Feb 19 2004 D. Scott Barninger <barninger at fairfieldcomputers.com>
2831 - added updatedb package
2832 * Thu Feb 12 2004 D. Scott Barninger <barninger at fairfieldcomputers.com>
2833 - added postgresql package
2834 * Wed Feb 11 2004 D. Scott Barninger <barninger at fairfieldcomputers.com>
2835 - corrected the if else logic in the dependancy sections
2836 - changes for 1.34 release
2837 - /etc/bacula/console is now /etc/bacula/bconsole
2838 - /etc/bacula/console.conf is now /etc/bacula/bconsole.conf
2839 - /usr/sbin/btraceback.gdb is now /etc/bacula/btraceback.gdb
2840 - /usr/sbin/smtp is now /usr/sbin/bsmtp
2841 - added new /etc/bacula/drop_mysql_database
2842 - added new /etc/bacula/drop_sqlite_database
2843 - added new /etc/bacula/grant_sqlite_privileges
2844 - added new generic bacula database scripts in /etc/bacula
2845 - added pre-install sections to check for database versions older than 6
2846 - added check for /etc/bacula/console.conf and copy to bconsole.conf
2847 * Sun Feb 08 2004 D. Scott Barninger <barninger at fairfieldcomputers.com>
2848 - added /etc/bacula/update_sqlite_tables and /etc/bacula/update_mysql_tables for 1.34 release
2849 - added testing for existing databases before executing any of the database creation scripts
2850 - added defines working_dir and sqlite_bindir in place of hard coded paths
2851 * Sat Jan 31 2004 D. Scott Barninger <barninger at fairfieldcomputers.com>
2852 - added build configuration for SuSE.
2853 - Thanks to Matt Vollmar <matt at panamschool.edu.sv> for his input
2854 * Sat Jan 24 2004 D. Scott Barninger <barninger at fairfieldcomputers.com>
2855 - added patch for create_sqlite_database to fix the installed bindir
2856 - added execute of create_sqlite_database to post of sqlite package
2857 * Sat Jan 10 2004 D. Scott Barninger <barninger at fairfieldcomputers.com>
2858 - added virtual package Provides bacula-dir, bacula-sd, bacula-fd
2859 - added bacula-fd as Requires for rescue package
2860 - added build tag for Fedora Core 1
2861 - cleaned up dependancies for all builds
2862 * Thu Jan 1 2004 D. Scott Barninger <barninger at fairfieldcomputers.com>
2863 - removed rh_version from package names
2864 - added platform build configuration section to beginning of file
2865 * Tue Nov 25 2003 D. Scott Barninger <barninger at fairfieldcomputers.com>
2866 - removed make_static_bacula script from rescue package install
2867 * Sun Nov 23 2003 D. Scott Barninger <barninger at fairfieldcomputers.com>
2868 - Added define at top of file for depkgs version
2869 - Added rescue sub-package
2870 - Moved requires statements into proper sub-package locations
2871 * Mon Oct 27 2003 D. Scott Barninger <barninger at fairfieldcomputers.com>
2872 - Corrected Requires for Gnome 1.4/2.0 builds
2873 * Fri Oct 24 2003 D. Scott Barninger <barninger at fairfieldcomputers.com>
2874 - Added separate source declaration for depkgs
2875 - added patch for make_catalog_backup script
2876 * Mon May 11 2003 D. Scott Barninger <barninger at fairfieldcomputers.com>
2877 - Misc changes to mysql/sqlite build and rh7/8 menu differences
2878 - Added rh_version to sub-package names
2879 - Added installed but missing file /etc/bacula/gconsole
2880 - rm'd /etc/bacula/grant_mysql_privileges on sqlite builds
2881 * Thu May 08 2003 Kern Sibbald <kern at sibbald.com>
2882 - Update spec for version 1.31 and combine client
2883 * Sun Mar 30 2003 D. Scott Barninger <barninger at fairfieldcomputers.com>
2884 - Initial spec file