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