]> git.sur5r.net Git - bacula/bacula/blob - bacula/platforms/redhat/bacula.spec.in
Add suse 10.3
[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 2
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 cp -p %{_rescuesrc}/Makefile* $RPM_BUILD_ROOT%{sysconf_dir}/rescue/
1502 cp -p %{_rescuesrc}/README $RPM_BUILD_ROOT%{sysconf_dir}/rescue/
1503 cp -p %{_rescuesrc}/configure $RPM_BUILD_ROOT%{sysconf_dir}/rescue/
1504 cp -p %{_rescuesrc}/version.h $RPM_BUILD_ROOT%{sysconf_dir}/rescue/
1505 cp -pr %{_rescuesrc}/linux $RPM_BUILD_ROOT%{sysconf_dir}/rescue/
1506 cp -pr %{_rescuesrc}/autoconf $RPM_BUILD_ROOT%{sysconf_dir}/rescue/
1507 touch $RPM_BUILD_ROOT%{sysconf_dir}/rescue/linux/cdrom/rpm_release
1508 cp -p src/filed/static-bacula-fd $RPM_BUILD_ROOT%{sysconf_dir}/rescue/linux/cdrom/bacula/bin/bacula-fd
1509 rm -f src/filed/static-bacula-fd
1510
1511 # install bat since make doesn't at the moment
1512 %if %{bat}
1513 cp -p src/qt-console/bat $RPM_BUILD_ROOT/usr/sbin/bat
1514 cp -p src/qt-console/bat.conf $RPM_BUILD_ROOT%{sysconf_dir}/bat.conf
1515 %endif
1516
1517 # now clean up permissions that are left broken by the install
1518 %if ! %{client_only}
1519 chmod o-r $RPM_BUILD_ROOT%{script_dir}/query.sql
1520 %endif
1521 chmod o-rwx $RPM_BUILD_ROOT%{working_dir}
1522 %if %{gconsole} && ! %{rh8}
1523 chmod 755 $RPM_BUILD_ROOT/usr/sbin/bacula-tray-monitor
1524 chmod 644 $RPM_BUILD_ROOT%{sysconf_dir}/tray-monitor.conf
1525 %endif
1526
1527 # fix me - building enable-client-only installs files not included in bacula-client package
1528 %if %{client_only}
1529 rm -f $RPM_BUILD_ROOT%{script_dir}/bacula
1530 rm -f $RPM_BUILD_ROOT%{script_dir}/bacula-ctl-dir
1531 rm -f $RPM_BUILD_ROOT%{script_dir}/bacula-ctl-sd
1532 rm -f $RPM_BUILD_ROOT%{script_dir}/disk-changer
1533 rm -f $RPM_BUILD_ROOT%{script_dir}/dvd-handler
1534 rm -f $RPM_BUILD_ROOT%{script_dir}/mtx-changer
1535 rm -f $RPM_BUILD_ROOT%{script_dir}/startmysql
1536 rm -f $RPM_BUILD_ROOT%{script_dir}/stopmysql
1537 rm -rf $RPM_BUILD_ROOT%{script_dir}/updatedb
1538 %endif
1539
1540 %clean
1541 [ "$RPM_BUILD_ROOT" != "/" ] && rm -rf "$RPM_BUILD_ROOT"
1542 rm -rf $RPM_BUILD_DIR/%{name}-docs-%{docs_version}
1543 rm -rf $RPM_BUILD_DIR/%{name}-rescue-%{_rescuever}
1544 rm -rf $RPM_BUILD_DIR/depkgs
1545 rm -f $RPM_BUILD_DIR/Release_Notes-%{version}-%{release}.txt
1546
1547 %if %{mysql}
1548 # MySQL specific files
1549 %files mysql
1550 %defattr(-, root, root)
1551 %attr(-, root, %{daemon_group}) %{script_dir}/create_mysql_database
1552 %attr(-, root, %{daemon_group}) %{script_dir}/drop_mysql_database
1553 %attr(-, root, %{daemon_group}) %{script_dir}/make_mysql_tables
1554 %attr(-, root, %{daemon_group}) %{script_dir}/drop_mysql_tables
1555 %attr(-, root, %{daemon_group}) %{script_dir}/update_mysql_tables
1556 %attr(-, root, %{daemon_group}) %{script_dir}/grant_mysql_privileges
1557 %attr(-, root, %{daemon_group}) %{script_dir}/startmysql
1558 %attr(-, root, %{daemon_group}) %{script_dir}/stopmysql
1559 %endif
1560
1561 %if %{sqlite}
1562 %files sqlite
1563 %defattr(-,root,root)
1564 %attr(-, root, %{daemon_group}) %{script_dir}/create_sqlite_database
1565 %attr(-, root, %{daemon_group}) %{script_dir}/drop_sqlite_database
1566 %attr(-, root, %{daemon_group}) %{script_dir}/grant_sqlite_privileges
1567 %attr(-, root, %{daemon_group}) %{script_dir}/make_sqlite_tables
1568 %attr(-, root, %{daemon_group}) %{script_dir}/drop_sqlite_tables
1569 %attr(-, root, %{daemon_group}) %{script_dir}/update_sqlite_tables
1570 %{sqlite_bindir}/libsqlite.a
1571 %{sqlite_bindir}/sqlite.h
1572 %{sqlite_bindir}/sqlite
1573 %endif
1574
1575 %if %{postgresql}
1576 %files postgresql
1577 %defattr(-,root,root)
1578 %attr(-, root, %{daemon_group}) %{script_dir}/create_postgresql_database
1579 %attr(-, root, %{daemon_group}) %{script_dir}/drop_postgresql_database
1580 %attr(-, root, %{daemon_group}) %{script_dir}/make_postgresql_tables
1581 %attr(-, root, %{daemon_group}) %{script_dir}/drop_postgresql_tables
1582 %attr(-, root, %{daemon_group}) %{script_dir}/update_postgresql_tables
1583 %attr(-, root, %{daemon_group}) %{script_dir}/grant_postgresql_privileges
1584 %endif
1585
1586 # The rest is DB backend independent
1587 %if ! %{client_only}
1588 %attr(-, root, %{daemon_group}) %dir %{script_dir}
1589 %attr(-, root, %{daemon_group}) %{script_dir}/bacula
1590 %attr(-, root, %{daemon_group}) %{script_dir}/bconsole
1591 %attr(-, root, %{daemon_group}) %{script_dir}/create_bacula_database
1592 %attr(-, root, %{daemon_group}) %{script_dir}/drop_bacula_database
1593 %attr(-, root, %{daemon_group}) %{script_dir}/grant_bacula_privileges
1594 %attr(-, root, %{daemon_group}) %{script_dir}/make_bacula_tables
1595 %attr(-, root, %{daemon_group}) %{script_dir}/drop_bacula_tables
1596 %attr(-, root, %{daemon_group}) %{script_dir}/update_bacula_tables
1597 %attr(-, root, %{daemon_group}) %{script_dir}/make_catalog_backup
1598 %attr(-, root, %{daemon_group}) %{script_dir}/delete_catalog_backup
1599 %attr(-, root, %{daemon_group}) %{script_dir}/btraceback.dbx
1600 %attr(-, root, %{daemon_group}) %{script_dir}/btraceback.gdb
1601 %attr(-, root, %{daemon_group}) %{sysconf_dir}/rescue
1602 %attr(-, root, %{daemon_group}) %{script_dir}/disk-changer
1603 %attr(-, root, %{daemon_group}) %{script_dir}/bacula-ctl-dir
1604 %attr(-, root, %{daemon_group}) %{script_dir}/bacula-ctl-fd
1605 %attr(-, root, %{daemon_group}) %{script_dir}/bacula-ctl-sd
1606 %attr(-, root, %{daemon_group}) /etc/init.d/bacula-dir
1607 %attr(-, root, %{daemon_group}) /etc/init.d/bacula-fd
1608 %attr(-, root, %{storage_daemon_group}) %{script_dir}/dvd-handler
1609 %attr(-, root, %{storage_daemon_group}) /etc/init.d/bacula-sd
1610 %attr(-, root, %{storage_daemon_group}) %{script_dir}/mtx-changer
1611
1612 %doc COPYING ChangeLog ReleaseNotes VERIFYING kernstodo 
1613 %doc %{_docsrc}/manual/bacula.pdf %{_docsrc}/developers/developers.pdf %{_docsrc}/manual/bacula ../Release_Notes-%{version}-%{release}.txt
1614
1615 /etc/logrotate.d/bacula
1616 /etc/log.d/scripts/services/bacula
1617 %attr(-, root, %{daemon_group}) %config(noreplace) %{sysconf_dir}/bacula-dir.conf
1618 %attr(-, root, %{daemon_group}) %config(noreplace) %{sysconf_dir}/bacula-fd.conf
1619 %attr(-, root, %{storage_daemon_group}) %config(noreplace) %{sysconf_dir}/bacula-sd.conf
1620 %attr(-, root, %{daemon_group}) %config(noreplace) %{sysconf_dir}/bconsole.conf
1621 %attr(-, root, %{daemon_group}) %config(noreplace) /etc/log.d/conf/logfiles/bacula.conf
1622 %attr(-, root, %{daemon_group}) %config(noreplace) /etc/log.d/conf/services/bacula.conf
1623 %attr(-, root, %{daemon_group}) %config(noreplace) %{script_dir}/query.sql
1624
1625 %attr(-, %{storage_daemon_user}, %{daemon_group}) %dir %{working_dir}
1626
1627 /usr/sbin/bacula-dir
1628 /usr/sbin/bacula-fd
1629 /usr/sbin/bacula-sd
1630 /usr/sbin/bcopy
1631 /usr/sbin/bextract
1632 /usr/sbin/bls
1633 /usr/sbin/bscan
1634 /usr/sbin/btape
1635 /usr/sbin/btraceback
1636 /usr/sbin/bconsole
1637 /usr/sbin/dbcheck
1638 /usr/sbin/bsmtp
1639 /usr/sbin/bregex
1640 /usr/sbin/bwild
1641 %{_mandir}/man8/bacula-fd.8.%{manpage_ext}
1642 %{_mandir}/man8/bacula-dir.8.%{manpage_ext}
1643 %{_mandir}/man8/bacula-sd.8.%{manpage_ext}
1644 %{_mandir}/man8/bacula.8.%{manpage_ext}
1645 %{_mandir}/man8/bconsole.8.%{manpage_ext}
1646 %{_mandir}/man8/bcopy.8.%{manpage_ext}
1647 %{_mandir}/man8/bextract.8.%{manpage_ext}
1648 %{_mandir}/man8/bls.8.%{manpage_ext}
1649 %{_mandir}/man8/bscan.8.%{manpage_ext}
1650 %{_mandir}/man8/btape.8.%{manpage_ext}
1651 %{_mandir}/man8/btraceback.8.%{manpage_ext}
1652 %{_mandir}/man8/dbcheck.8.%{manpage_ext}
1653 %{_mandir}/man1/bsmtp.1.%{manpage_ext}
1654 %endif
1655
1656 %if %{mysql}
1657 %pre mysql
1658 # test for bacula database older than version 9
1659 # note: this ASSUMES no password has been set for bacula database
1660 DB_VER=`mysql 2>/dev/null bacula -e 'select * from Version;'|tail -n 1`
1661 %endif
1662
1663 %if %{sqlite}
1664 %pre sqlite
1665 # test for bacula database older than version 9
1666 if [ -s %{working_dir}/bacula.db ] && [ -s %{sqlite_bindir}/sqlite ];then
1667         DB_VER=`echo "select * from Version;" | %{sqlite_bindir}/sqlite 2>/dev/null %{working_dir}/bacula.db | tail -n 1`
1668 %endif
1669
1670 %if %{postgresql}
1671 %pre postgresql
1672 DB_VER=`echo 'select * from Version;' | psql bacula 2>/dev/null | tail -3 | head -1`
1673 %endif
1674
1675 %if ! %{client_only}
1676 if [ -n "$DB_VER" ] && [ "$DB_VER" -lt "9" ]; then
1677         echo "This bacula upgrade will update a bacula database from version 9 to 10."
1678         echo "You appear to be running database version $DB_VER. You must first update"
1679         echo "your database to version 9 and then install this upgrade. The alternative"
1680         echo "is to use %{script_dir}/drop_%{db_backend}_tables to delete all your your current"
1681         echo "catalog information, then do the upgrade. Information on updating a"
1682         echo "database older than version 9 can be found in the release notes."
1683         exit 1
1684 fi
1685 %endif
1686
1687 %if %{sqlite}
1688 fi
1689 %endif
1690
1691 %if ! %{client_only}
1692 # check for and copy %{sysconf_dir}/console.conf to bconsole.conf
1693 if [ -s %{sysconf_dir}/console.conf ];then
1694         cp -p %{sysconf_dir}/console.conf %{sysconf_dir}/bconsole.conf
1695 fi
1696
1697 # create the daemon users and groups
1698 # first create the groups if they don't exist
1699 HAVE_BACULA=`grep %{daemon_group} %{group_file} 2>/dev/null`
1700 if [ -z "$HAVE_BACULA" ]; then
1701         %{groupadd} -r %{daemon_group} > /dev/null 2>&1
1702         echo "The group %{daemon_group} has been added to %{group_file}."
1703         echo "See the manual chapter \"Running Bacula\" for details."
1704 fi
1705 HAVE_BACULA=`grep %{storage_daemon_group} %{group_file} 2>/dev/null`
1706 if [ -z "$HAVE_BACULA" ]; then
1707         %{groupadd} -r %{storage_daemon_group} > /dev/null 2>&1
1708         echo "The group %{storage_daemon_group} has been added to %{group_file}."
1709         echo "See the manual chapter \"Running Bacula\" for details."
1710 fi
1711 # now create the users if they do not exist
1712 # we do not use the -g option allowing the primary group to be set to system default
1713 # this will be a unique group on redhat type systems or the group users on some systems
1714 HAVE_BACULA=`grep %{storage_daemon_user} %{user_file} 2>/dev/null`
1715 if [ -z "$HAVE_BACULA" ]; then
1716         %{useradd} -r -c "Bacula" -d %{working_dir} -g %{storage_daemon_group} -M -s /sbin/nologin %{storage_daemon_user} > /dev/null 2>&1
1717         echo "The user %{storage_daemon_user} has been added to %{user_file}."
1718         echo "See the manual chapter \"Running Bacula\" for details."
1719 fi
1720 HAVE_BACULA=`grep %{director_daemon_user} %{user_file} 2>/dev/null`
1721 if [ -z "$HAVE_BACULA" ]; then
1722         %{useradd} -r -c "Bacula" -d %{working_dir} -g %{daemon_group} -M -s /sbin/nologin %{director_daemon_user} > /dev/null 2>&1
1723         echo "The user %{director_daemon_user} has been added to %{user_file}."
1724         echo "See the manual chapter \"Running Bacula\" for details."
1725 fi
1726 HAVE_BACULA=`grep %{file_daemon_user} %{user_file} 2>/dev/null`
1727 if [ -z "$HAVE_BACULA" ]; then
1728         %{useradd} -r -c "Bacula" -d %{working_dir} -g %{daemon_group} -M -s /sbin/nologin %{file_daemon_user} > /dev/null 2>&1
1729         echo "The user %{file_daemon_user} has been added to %{user_file}."
1730         echo "See the manual chapter \"Running Bacula\" for details."
1731 fi
1732 # now we add the supplementary groups, this is ok to call even if the users already exist
1733 # we only do this if the user is NOT root
1734 IS_ROOT=%{director_daemon_user}
1735 if [ "$IS_ROOT" != "root" ]; then
1736 %{usermod} -G %{daemon_group} %{director_daemon_user}
1737 fi
1738 IS_ROOT=%{storage_daemon_user}
1739 if [ "$IS_ROOT" != "root" ]; then
1740 %{usermod} -G %{daemon_group},%{storage_daemon_group} %{storage_daemon_user}
1741 fi
1742 IS_ROOT=%{file_daemon_user}
1743 if [ "$IS_ROOT" != "root" ]; then
1744 %{usermod} -G %{daemon_group} %{file_daemon_user}
1745 fi
1746 %endif
1747
1748 %if %{mysql}
1749 %post mysql
1750 %endif
1751 %if %{sqlite}
1752 %post sqlite
1753 %endif
1754 %if %{postgresql}
1755 %post postgresql
1756 %endif
1757
1758 %if ! %{client_only}
1759 # add our links
1760 if [ "$1" -ge 1 ] ; then
1761 /sbin/chkconfig --add bacula-dir
1762 /sbin/chkconfig --add bacula-fd
1763 /sbin/chkconfig --add bacula-sd
1764 fi
1765 %endif
1766
1767 %if %{mysql}
1768 # test for an existing database
1769 # note: this ASSUMES no password has been set for bacula database
1770 DB_VER=`mysql 2>/dev/null bacula -e 'select * from Version;'|tail -n 1`
1771
1772 # grant privileges and create tables if they do not exist
1773 if [ -z "$DB_VER" ]; then
1774         echo "Hmm, doesn't look like you have an existing database."
1775         echo "Granting privileges for MySQL user bacula..."
1776         %{script_dir}/grant_mysql_privileges
1777         echo "Creating MySQL bacula database..."
1778         %{script_dir}/create_mysql_database
1779         echo "Creating bacula tables..."
1780         %{script_dir}/make_mysql_tables
1781
1782 # check to see if we need to upgrade a 1.38 or lower database
1783 elif [ "$DB_VER" -lt "10" ]; then
1784         echo "This release requires an upgrade to your bacula database."
1785         echo "Backing up your current database..."
1786         mysqldump -f --opt bacula | bzip2 > %{working_dir}/bacula_backup.sql.bz2
1787         echo "Upgrading bacula database ..."
1788         %{script_dir}/update_mysql_tables
1789         echo "If bacula works correctly you can remove the backup file %{working_dir}/bacula_backup.sql.bz2"
1790
1791 fi
1792 %endif
1793
1794 %if %{sqlite}
1795 # test for an existing database
1796 if [ -s %{working_dir}/bacula.db ]; then
1797         DB_VER=`echo "select * from Version;" | %{sqlite_bindir}/sqlite 2>/dev/null %{working_dir}/bacula.db | tail -n 1`
1798         # check to see if we need to upgrade a 1.38 or lower database
1799         if [ "$DB_VER" -lt "10" ] && [ "$DB_VER" -ge "9" ]; then
1800                 echo "This release requires an upgrade to your bacula database."
1801                 echo "Backing up your current database..."
1802                 echo ".dump" | %{sqlite_bindir}/sqlite %{working_dir}/bacula.db | bzip2 > %{working_dir}/bacula_backup.sql.bz2
1803                 echo "Upgrading bacula database ..."
1804                 %{script_dir}/update_sqlite_tables
1805                 echo "If bacula works correctly you can remove the backup file %{working_dir}/bacula_backup.sql.bz2"
1806         fi
1807 else
1808         # create the database and tables
1809         echo "Hmm, doesn't look like you have an existing database."
1810         echo "Creating SQLite database..."
1811         %{script_dir}/create_sqlite_database
1812         chown %{director_daemon_user}.%{daemon_group} %{working_dir}/bacula.db
1813         echo "Creating the SQLite tables..."
1814         %{script_dir}/make_sqlite_tables
1815 fi
1816 %endif
1817
1818 %if %{postgresql}
1819 # test for an existing database
1820 # note: this ASSUMES no password has been set for bacula database
1821 DB_VER=`echo 'select * from Version;' | psql bacula 2>/dev/null | tail -3 | head -1`
1822
1823 # grant privileges and create tables if they do not exist
1824 if [ -z "$DB_VER" ]; then
1825         echo "Hmm, doesn't look like you have an existing database."
1826         echo "Creating PostgreSQL bacula database..."
1827         %{script_dir}/create_postgresql_database
1828         echo "Creating bacula tables..."
1829         %{script_dir}/make_postgresql_tables
1830         echo "Granting privileges for PostgreSQL user bacula..."
1831         %{script_dir}/grant_postgresql_privileges
1832
1833 # check to see if we need to upgrade a 1.38 or lower database
1834 elif [ "$DB_VER" -lt "10" ]; then
1835         echo "This release requires an upgrade to your bacula database."
1836         echo "Backing up your current database..."
1837         pg_dump bacula | bzip2 > %{working_dir}/bacula_backup.sql.bz2
1838         echo "Upgrading bacula database ..."
1839         %{script_dir}/update_postgresql_tables
1840         echo "If bacula works correctly you can remove the backup file %{working_dir}/bacula_backup.sql.bz2"
1841         
1842 fi
1843 %endif
1844
1845 %if ! %{client_only}
1846 # generate passwords if needed
1847 if [ -d %{sysconf_dir} ]; then
1848         cd %{sysconf_dir}
1849         for file in *.conf; do
1850                 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
1851                         need_password=`grep $string $file 2>/dev/null`
1852                         if [ -n "$need_password" ]; then
1853                                 pass=`openssl rand -base64 33`
1854                                 sed "s-$string-$pass-g" $file > $file.new
1855                                 cp -f $file.new $file; rm -f $file.new
1856                         fi
1857                 done
1858         done
1859 fi
1860 %endif
1861
1862 %if %{mysql}
1863 %preun mysql
1864 %endif
1865 %if %{sqlite}
1866 %preun sqlite
1867 %endif
1868 %if %{postgresql}
1869 %preun postgresql
1870 %endif
1871
1872 %if ! %{client_only}
1873 # delete our links
1874 if [ $1 = 0 ]; then
1875 /sbin/chkconfig --del bacula-dir
1876 /sbin/chkconfig --del bacula-fd
1877 /sbin/chkconfig --del bacula-sd
1878 fi
1879 %endif
1880
1881
1882 %if ! %{client_only}
1883 %files mtx
1884 %defattr(-,root,root)
1885 %attr(-, root, %{storage_daemon_group}) /usr/sbin/loaderinfo
1886 %attr(-, root, %{storage_daemon_group}) /usr/sbin/mtx
1887 %attr(-, root, %{storage_daemon_group}) /usr/sbin/scsitape
1888 %attr(-, root, %{storage_daemon_group}) /usr/sbin/tapeinfo
1889 %attr(-, root, %{storage_daemon_group}) /usr/sbin/nsmhack
1890 %attr(-, root, %{storage_daemon_group}) /usr/sbin/scsieject
1891 %{_mandir}/man1/loaderinfo.1.%{manpage_ext}
1892 %{_mandir}/man1/mtx.1.%{manpage_ext}
1893 %{_mandir}/man1/scsitape.1.%{manpage_ext}
1894 %{_mandir}/man1/tapeinfo.1.%{manpage_ext}
1895 %{_mandir}/man1/scsieject.1.%{manpage_ext}
1896 %endif
1897
1898 %files client
1899 %defattr(-,root,root)
1900 %attr(-, root, %{daemon_group}) %dir %{script_dir}
1901 %attr(-, root, %{daemon_group}) %{script_dir}/bconsole
1902 %{script_dir}/bacula-ctl-fd
1903 /etc/init.d/bacula-fd
1904 %attr(-, root, %{daemon_group}) %{sysconf_dir}/rescue
1905
1906 %doc COPYING ChangeLog ReleaseNotes VERIFYING kernstodo 
1907 %doc %{_docsrc}/manual/bacula.pdf %{_docsrc}/developers/developers.pdf %{_docsrc}/manual/bacula ../Release_Notes-%{version}-%{release}.txt
1908
1909 /etc/logrotate.d/bacula
1910
1911 %attr(-, root, %{daemon_group}) %config(noreplace) %{sysconf_dir}/bacula-fd.conf
1912 %attr(-, root, %{daemon_group}) %config(noreplace) %{sysconf_dir}/bconsole.conf
1913
1914 %attr(-, root, %{daemon_group}) %dir %{working_dir}
1915
1916 /usr/sbin/bacula-fd
1917 /usr/sbin/btraceback
1918 %attr(-, root, %{daemon_group}) %{script_dir}/btraceback.gdb
1919 %attr(-, root, %{daemon_group}) %{script_dir}/btraceback.dbx
1920 /usr/sbin/bconsole
1921 %{_mandir}/man8/bacula-fd.8.%{manpage_ext}
1922 %{_mandir}/man8/bacula.8.%{manpage_ext}
1923 %{_mandir}/man8/bconsole.8.%{manpage_ext}
1924 %{_mandir}/man8/btraceback.8.%{manpage_ext}
1925
1926
1927 %pre client
1928 # create the daemon group and user
1929 HAVE_BACULA=`grep %{daemon_group} %{group_file} 2>/dev/null`
1930 if [ -z "$HAVE_BACULA" ]; then
1931         %{groupadd} -r %{daemon_group} > /dev/null 2>&1
1932         echo "The group %{daemon_group} has been added to %{group_file}."
1933         echo "See the manual chapter \"Running Bacula\" for details."
1934 fi
1935 # we do not use the -g option allowing the primary group to be set to system default
1936 # this will be a unique group on redhat type systems or the group users on some systems
1937 HAVE_BACULA=`grep %{file_daemon_user} %{user_file} 2>/dev/null`
1938 if [ -z "$HAVE_BACULA" ]; then
1939         %{useradd} -r -c "Bacula" -d %{working_dir} -g %{daemon_group} -M -s /sbin/nologin %{file_daemon_user} > /dev/null 2>&1
1940         echo "The user %{file_daemon_user} has been added to %{user_file}."
1941         echo "See the manual chapter \"Running Bacula\" for details."
1942 fi
1943 # now we add the supplementary group, this is ok to call even if the user already exists
1944 # we only do this if the user is NOT root
1945 IS_ROOT=%{file_daemon_user}
1946 if [ "$IS_ROOT" != "root" ]; then
1947 %{usermod} -G %{daemon_group} %{file_daemon_user}
1948 fi
1949
1950 %post client
1951 # add our link
1952 if [ "$1" -ge 1 ] ; then
1953 /sbin/chkconfig --add bacula-fd
1954 fi
1955
1956 # generate passwords if needed
1957 if [ -d %{sysconf_dir} ]; then
1958         cd %{sysconf_dir}
1959         for file in *.conf; do
1960                 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
1961                         need_password=`grep $string $file 2>/dev/null`
1962                         if [ -n "$need_password" ]; then
1963                                 pass=`openssl rand -base64 33`
1964                                 sed "s-$string-$pass-g" $file > $file.new
1965                                 cp -f $file.new $file; rm -f $file.new
1966                         fi
1967                 done
1968         done
1969 fi
1970
1971 %preun client
1972 # delete our link
1973 if [ $1 = 0 ]; then
1974 /sbin/chkconfig --del bacula-fd
1975 fi
1976
1977 %if ! %{client_only}
1978 %files updatedb
1979 %defattr(-,root,%{daemon_group})
1980 %{script_dir}/updatedb/*
1981
1982 %pre updatedb
1983 # create the daemon group
1984 HAVE_BACULA=`grep %{daemon_group} %{group_file} 2>/dev/null`
1985 if [ -z "$HAVE_BACULA" ]; then
1986         %{groupadd} -r %{daemon_group} > /dev/null 2>&1
1987         echo "The group %{daemon_group} has been added to %{group_file}."
1988         echo "See the manual chapter \"Running Bacula\" for details."
1989 fi
1990
1991 %post updatedb
1992 echo "The database update scripts were installed to %{script_dir}/updatedb"
1993 %endif
1994
1995 %if %{gconsole}
1996 %files gconsole
1997 %defattr(-,root,root)
1998 /usr/sbin/bgnome-console
1999 %attr(-, root, %{daemon_group}) %dir %{script_dir}
2000 %attr(-, root, %{daemon_group}) %{script_dir}/gconsole
2001 %attr(-, root, %{daemon_group}) %config(noreplace) %{sysconf_dir}/bgnome-console.conf
2002 /usr/share/pixmaps/bacula.png
2003 /usr/share/applications/bacula.desktop
2004 %{_mandir}/man1/bacula-bgnome-console.1.%{manpage_ext}
2005 %endif
2006
2007 %if %{gconsole} && ! %{rh8}
2008 /usr/sbin/bacula-tray-monitor
2009 %config(noreplace) %{sysconf_dir}/tray-monitor.conf
2010 /usr/share/pixmaps/bacula-tray-monitor.xpm
2011 /usr/share/applications/bacula-tray-monitor.desktop
2012 %{_mandir}/man1/bacula-tray-monitor.1.%{manpage_ext}
2013 %endif
2014
2015 %if %{gconsole} && ! %{su9} && ! %{su10} && ! %{su102} && ! %{su103}
2016 # add the console helper files
2017 %config(noreplace,missingok) /etc/pam.d/bgnome-console
2018 %config(noreplace,missingok) /etc/security/console.apps/bgnome-console
2019 /usr/bin/bgnome-console
2020 %endif
2021
2022 %if %{gconsole}
2023 %pre gconsole
2024 # create the daemon group
2025 HAVE_BACULA=`grep %{daemon_group} %{group_file} 2>/dev/null`
2026 if [ -z "$HAVE_BACULA" ]; then
2027         %{groupadd} -r %{daemon_group} > /dev/null 2>&1
2028         echo "The group %{daemon_group} has been added to %{group_file}."
2029         echo "See the manual chapter \"Running Bacula\" for details."
2030 fi
2031
2032 %post gconsole
2033 # generate passwords if needed
2034 if [ -d %{sysconf_dir} ]; then
2035         cd %{sysconf_dir}
2036         for file in *.conf; do
2037                 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
2038                         need_password=`grep $string $file 2>/dev/null`
2039                         if [ -n "$need_password" ]; then
2040                                 pass=`openssl rand -base64 33`
2041                                 sed "s-$string-$pass-g" $file > $file.new
2042                                 cp -f $file.new $file; rm -f $file.new
2043                         fi
2044                 done
2045         done
2046 fi
2047 %endif
2048
2049 %if %{wxconsole}
2050 %files wxconsole
2051 %defattr(-,root,root)
2052 /usr/sbin/bwx-console
2053 %attr(-, root, %{daemon_group}) %dir %{sysconf_dir}
2054 %attr(-, root, %{daemon_group}) %config(noreplace) %{sysconf_dir}/bwx-console.conf
2055 /usr/share/pixmaps/wxwin16x16.xpm
2056 /usr/share/applications/wxconsole.desktop
2057 %{_mandir}/man1/bacula-bwxconsole.1.%{manpage_ext}
2058 %endif
2059
2060 %if %{wxconsole} && ! %{su9} && ! %{su10} && ! %{su102} && ! %{su103}
2061 # add the console helper files
2062 %config(noreplace,missingok) /etc/pam.d/bwx-console
2063 %config(noreplace,missingok) /etc/security/console.apps/bwx-console
2064 /usr/bin/bwx-console
2065 %endif
2066
2067 %if %{wxconsole}
2068 %pre wxconsole
2069 # create the daemon group
2070 HAVE_BACULA=`grep %{daemon_group} %{group_file} 2>/dev/null`
2071 if [ -z "$HAVE_BACULA" ]; then
2072         %{groupadd} -r %{daemon_group} > /dev/null 2>&1
2073         echo "The group %{daemon_group} has been added to %{group_file}."
2074         echo "See the manual chapter \"Running Bacula\" for details."
2075 fi
2076
2077 %post wxconsole
2078 # generate passwords if needed
2079 if [ -d %{sysconf_dir} ]; then
2080         cd %{sysconf_dir}
2081         for file in *.conf; do
2082                 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
2083                         need_password=`grep $string $file 2>/dev/null`
2084                         if [ -n "$need_password" ]; then
2085                                 pass=`openssl rand -base64 33`
2086                                 sed "s-$string-$pass-g" $file > $file.new
2087                                 cp -f $file.new $file; rm -f $file.new
2088                         fi
2089                 done
2090         done
2091 fi
2092 %endif
2093
2094 %if %{bat}
2095 %files bat
2096 %defattr(-,root,root)
2097 /usr/sbin/bat
2098 %attr(-, root, %{daemon_group}) %dir %{sysconf_dir}
2099 %attr(-, root, %{daemon_group}) %config(noreplace) %{sysconf_dir}/bat.conf
2100 /usr/share/pixmaps/bat_icon.png
2101 /usr/share/applications/bat.desktop
2102 %{_mandir}/man1/bat.1.%{manpage_ext}
2103 %endif
2104
2105 %if %{bat} && ! %{su9} && ! %{su10} && ! %{su102} && ! %{su103}
2106 # add the console helper files
2107 %config(noreplace,missingok) /etc/pam.d/bat
2108 %config(noreplace,missingok) /etc/security/console.apps/bat
2109 /usr/bin/bat
2110 %endif
2111
2112 %if %{bat}
2113 %pre bat
2114 # create the daemon group
2115 HAVE_BACULA=`grep %{daemon_group} %{group_file} 2>/dev/null`
2116 if [ -z "$HAVE_BACULA" ]; then
2117         %{groupadd} -r %{daemon_group} > /dev/null 2>&1
2118         echo "The group %{daemon_group} has been added to %{group_file}."
2119         echo "See the manual chapter \"Running Bacula\" for details."
2120 fi
2121
2122 %post bat
2123 # generate passwords if needed
2124 if [ -d %{sysconf_dir} ]; then
2125         cd %{sysconf_dir}
2126         for file in *.conf; do
2127                 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
2128                         need_password=`grep $string $file 2>/dev/null`
2129                         if [ -n "$need_password" ]; then
2130                                 pass=`openssl rand -base64 33`
2131                                 sed "s-$string-$pass-g" $file > $file.new
2132                                 cp -f $file.new $file; rm -f $file.new
2133                         fi
2134                 done
2135         done
2136 fi
2137 %endif
2138
2139 %changelog
2140 * Sat Nov 10 2007 D. Scott Barninger <barninger@fairfieldcomputers.com>
2141 - add su103 build target
2142 * Sun Nov 04 2007 D. Scott Barninger <barninger@fairfieldcomputers.com>
2143 - fix dist defines for rhel5 and clones
2144 - fix rhel broken 64 bit QT4 paths
2145 - rh qt4 packages don't provide qt so fix that too
2146 * Mon Oct 29 2007 D. Scott Barninger <barninger@fairfieldcomputers.com>
2147 - correct ownership when creating sqlite db file in post script
2148 * Sun Sep 16 2007 D. Scott Barninger <barninger@fairfieldcomputers.com>
2149 - fix disable-batch-insert
2150 * Fri Sep 14 2007 D. Scott Barninger <barninger@fairfieldcomputers.com>
2151 - 2.2.4 release
2152 - turn off gconsole build for fc3, tray monitor fails to build
2153 - add new files for mtx package (09Sep07 depkgs update)
2154 * Sat Sep 08 2007 D. Scott Barninger <barninger@fairfieldcomputers.com>
2155 - add --disable-batch-insert for older platforms
2156 - add build targets for rhel5 and clones
2157 * Mon Sep 03 2007 D. Scott Barninger <barninger@fairfieldcomputers.com>
2158 - 2.2.1 release
2159 - turn off gconsole build for su10 & fc4, tray monitor fails to build
2160 * Sat Jul 14 2007 D. Scott Barninger <barninger@fairfieldcomputers.com>
2161 - 2.1.26 add make of qwt in depkgs for bat
2162 * Sat Jun 02 2007 D. Scott Barninger <barninger@fairfieldcomputers.com>
2163 - upgrade Qt requirement for bat to 4.2
2164 * Sun May 06 2007 D. Scott Barninger <barninger@fairfieldcomputers.com>
2165 - add fc7 build target
2166 * Sun Apr 29 2007 D. Scott Barninger <barninger@fairfieldcomputers.com>
2167 - 2.1.8
2168 - gnome-console now bgnome-console
2169 - wxconsole now bwx-console
2170 - add build option for bat
2171 * Sat Apr 08 2007 D. Scott Barninger <barninger@fairfieldcomputers.com>
2172 - merge Otto Mueller's patch but keep script dir set to /etc/bacula
2173 - add build tag for Scientific Linux per Jon Peatfield <J.S.Peatfield@damtp.cam.ac.uk>
2174 * Tue Mar 27 2007 Otto Mueller <otto.mueller@bundestag.de>
2175 - adjust directory locations for FHS-compatibility
2176   sysconf_dir (/etc/bacula), script_dir (/usr/lib/bacula),
2177   working_dir (/var/lib/bacula) and pid_dir (/var/run)
2178 * Mon Feb 26 2007 D. Scott Barninger <barninger@fairfieldcomputers.com>
2179 - add SuSE 10.2 target
2180 * Sat Jan 20 2007 D. Scott Barninger <barninger@fairfieldcomputers.com>
2181 - correct bug 752
2182 - set query.sql as config file
2183 - correct bug 754
2184 * Sun Jan 14 2007 D. Scott Barninger <barninger@fairfieldcomputers.com>
2185 - 2.0.1 release
2186 - change determination of gcc version per patch from Marc Hennes
2187 - move BuildRequire for atk-devel to gnome only builds
2188 - add fc6 build tag
2189 * Sat Jan 06 2007 D. Scott Barninger <barninger@fairfieldcomputers.com>
2190 - 2.0.0 release
2191 * Sun Oct 15 2006 D. Scott Barninger <barninger@fairfieldcomputers.com>
2192 - 1.39.26 remove create_sqlite_database.in.patch
2193 * Sun Sep 24 2006 D. Scott Barninger <barninger@fairfieldcomputers.com>
2194 - change ownership of working_dir on server packages to bacula.bacula so that
2195 - bacula-sd can create bootstrap files
2196 * Sat Sep 02 2006 D. Scott Barninger <barninger@fairfieldcomputers.com>
2197 - 1.39.22 remove separate cd and make of manpages the main Makefile does it now
2198 * Sun Aug 06 2006 D. Scott Barninger <barninger@fairfieldcomputers.com>
2199 - fix manpages file extension for mdk
2200 * Sat Aug 05 2006 D. Scott Barninger <barninger@fairfieldcomputers.com>
2201 - bug 648 re-enable and update sqlite patches
2202 - 1.39.18 changes
2203 - updatedb 9 to 10
2204 - install man pages
2205 - lock out gconsole build for gtk+ < 2.4
2206 * Mon Jul 17 2006 D. Scott Barninger <barninger@fairfieldcomputers.com>
2207 - move pango-devel BuildRequires into gconsole only build
2208 * Sat Jul 15 2006 D. Scott Barninger <barninger@fairfieldcomputers.com>
2209 - add provides and conflicts for standard suse packages
2210 - add third party packager tag support
2211 - add build_client_only tag
2212 - remove bsmtp from client package
2213 - add bacula-ctl-fd to client package
2214 * Thu Jul 13 2006 D. Scott Barninger <barninger@fairfieldcomputers.com>
2215 - fix directory creation when wxconsole and not gconsole
2216 * Tue Jul 04 2006 D. Scott Barninger <barninger@fairfieldcomputers.com>
2217 - add check to buildrequires to make sure libstdc++ version matches gcc
2218 * Mon Jul 03 2006 D. Scott Barninger <barninger@fairfieldcomputers.com>
2219 - add python build support
2220 - fix LDFLAGS declarations
2221 * Sun Jul 02 2006 D. Scott Barninger <barninger@fairfieldcomputers.com>
2222 - add requires for standard compiler toolchain
2223 - move version and release tags up
2224 - move patches up
2225 - add docs_version tag
2226 * Sat Jul 01 2006 D. Scott Barninger <barninger@fairfieldcomputers.com>
2227 - update rescuever to 1.8.6
2228 * Sun Jun 25 2006 D. Scott Barninger <barninger@fairfieldcomputers.com>
2229 - update depkgs to 25Jun06
2230 - add mysql5 build tag
2231 * Mon Jun 12 2006 D. Scott Barninger <barninger@fairfieldcomputers.com>
2232 - 1.38.10 bump rescue version
2233 * Sun Jun 03 2006 D. Scott Barninger <barninger@fairfieldcomputers.com>
2234 - fix usermod statements
2235 - add fc5 target
2236 * Thu Apr 27 2006 D. Scott Barninger <barninger@fairfieldcomputers.com>
2237 - add -g param back to useradd statements Bug 605
2238 * Mon Apr 17 2006 D. Scott Barninger <barninger@fairfieldcomputers.com>
2239 - redundant code cleanup
2240 * Sun Apr 16 2006 D. Scott Barninger <barninger@fairfieldcomputers.com>
2241 - add wxconsole package
2242 * Fri Apr 14 2006 D. Scott Barninger <barninger@fairfieldcomputers.com>
2243 - 1.38.8 release
2244 - dependency update for Mandriva
2245 * Sun Apr 08 2006 D. Scott Barninger <barninger@fairfieldcomputers.com>
2246 - 1.38.7 release
2247 - remove -n option from useradd scripts
2248 * Sun Apr 02 2006 D. Scott Barninger <barninger@fairfieldcomputers.com>
2249 - 1.38.6 release
2250 - fix problem specifying more than one primary group for user bacula
2251 - add build switch to not build gconsole regardless of platform
2252 * Sun Jan 29 2006 D. Scott Barninger <barninger@fairfieldcomputers.com>
2253 - add centos3 build tag
2254 - fix link error of static-fd on Mandrake with --disable-nls
2255 * Fri Jan 27 2006 D. Scott Barninger <barninger@fairfieldcomputers.com>
2256 - add fc4 dependencies
2257 * Mon Jan 23 2006 D. Scott Barninger <barninger@fairfieldcomputers.com>
2258 - add SuSE 10.0 build
2259 - remove specific permission in attrib macros
2260 * Sat Jan 21 2006 D. Scott Barninger <barninger@fairfieldcomputers.com>
2261 - 1.38.5 release
2262 - fix usermode required on suse, suse doesn't have usermode (xsu instead)
2263 - refix compat for _dist on SLES9 which seems to have been removed
2264 - added note regarding Aleksandar's use of specific permissions in attrib macros
2265 - need to review and add specific fc4 build currently using fc3 Requires
2266 * Wed Dec 14 2005 Aleksandar Milivojevic <alex@milivojevic.org>
2267 - 1.38.2 release
2268 - Reorganize files and pre/post sections to remove repetitions
2269 - Always build separate mtx package
2270 - Fix file ownerships for /etc/bacula and Bacula's working dir
2271 * Wed Nov 23 2005 Aleksandar Milivojevic <alex@milivojevic.org>
2272 - Disable GNOME on RH7
2273 * Fri Nov 18 2005 Aleksandar Milivojevic <alex@milivojevic.org>
2274 - Red Hat and look alikes have mtx RPM, do not build/package our version
2275 * Sun Nov 13 2005 D. Scott Barninger <barninger@fairfieldcomputers.com>
2276 - minor edit to _dist for SLES9 compatibility
2277 * Sat Nov 05 2005 D. Scott Barninger <barninger@fairfieldcomputers.com>
2278 - 1.38.0 release
2279 - kern changed location of pdf files and html manual in docs package
2280 * Sun Oct 30 2005 D. Scott Barninger <barninger@fairfieldcomputers.com>
2281 - 1.38.0 release
2282 - add docs (from prebuilt tarball) and rescue packages back in
2283 - remove dvd-freespace and dvd-writepart files, add dvd-handler
2284 - remove 3 of 4 sqlite script patches as not needed
2285 * Sun Jul 24 2005 D. Scott Barninger <barninger@fairfieldcomputers.com>
2286 - changes for 1.38
2287 - remove docs and rescue sections (remove static fd)
2288 - add dvd-freespace and dvd-writepart files
2289 - update depkgs to 22Jun05
2290 - change database update to 8 to 9
2291 * Sun Jul 24 2005 D. Scott Barninger <barninger@fairfieldcomputers.com>
2292 - minor cleanups before 1.38 changes
2293 - add popt and popt-devel build dependencies
2294 - add tetex and tetex-dvips dependencies for doc build
2295 - replace deprecated Copyright tag with License
2296 * Sat May 07 2005 D. Scott Barninger <barninger@fairfieldcomputers.com>
2297 - move sqlite installation bindir to /usr/lib/bacula/sqlite and remove
2298 - conflict with sqlite packages. remove readline dependency.
2299 * Sun Apr 17 2005 D. Scott Barninger <barninger@fairfieldcomputers.com>
2300 - release 1.36.3 update docs
2301 * Tue Apr 05 2005 D. Scott Barninger <barninger@fairfieldcomputers.com>
2302 - add centos4 build tag
2303 - add x86_64 build tag
2304 * Sun Apr 03 2005 D. Scott Barninger <barninger@fairfieldcomputers.com>
2305 - add rhel4 build tag
2306 - clean up for mysql4 which is now mdk-10.1, suse-9.2 and rhel4
2307 * Sun Mar 06 2005 D. Scott Barninger <barninger@fairfieldcomputers.com>
2308 - add rhel3 build tag
2309 * Tue Mar 01 2005 D. Scott Barninger <barninger@fairfieldcomputers.com>
2310 - fix tray-monitor.conf for noreplace
2311 * Mon Feb 28 2005 D. Scott Barninger <barninger@fairfieldcomputers.com>
2312 - fix distribution check for Fedora and Whitebox
2313 * Sun Feb 06 2005 D. Scott Barninger <barninger@fairfieldcomputers.com>
2314 - add logwatch script
2315 - add dvd scripts
2316 * Sat Jan 15 2005 D. Scott Barninger <barninger@fairfieldcomputers.com>
2317 - add build for Fedora Core 3 (linc now included in ORDit2)
2318 - add mysql4 define for Mandrake 10.1
2319 * Fri Jan 14 2005 D. Scott Barninger <barninger@fairfieldcomputers.com>
2320 - fix {group_file} variable in post scripts
2321 * Thu Dec 30 2004 D. Scott Barninger <barninger@fairfieldcomputers.com>
2322 - add distribution checking and custom Distribution tag
2323 * Thu Dec 09 2004 D. Scott Barninger <barninger at fairfieldcomputers.com>
2324 - ASSIGNMENT OF COPYRIGHT
2325 - FOR VALUE RECEIVED, D. Scott Barninger hereby sells, transfers and 
2326 - assigns unto Kern Sibbald, his successors, assigns and personal representatives, 
2327 - all right, title and interest in and to the copyright in this software RPM
2328 - spec file. D. Scott Barninger warrants good title to said copyright, that it is 
2329 - free of all liens, encumbrances or any known claims against said copyright.
2330 * Sat Dec 04 2004 D. Scott Barninger <barninger at fairfieldcomputers.com>
2331 - bug 183 fixes
2332 - thanks to Daniel Widyono
2333 - update description for rescue package to describe cdrom creation
2334 * Thu Nov 18 2004 D. Scott Barninger <barninger at fairfieldcomputers.com>
2335 - update depkgs to 29Oct04
2336 * Fri Nov 12 2004 D. Scott Barninger <barninger at fairfieldcomputers.com>
2337 - add cdrom rescue to bacula-rescue package
2338 * Sun Oct 31 2004 D. Scott Barninger <barninger at fairfieldcomputers.com>
2339 - misc fixes from 1.36.0 suse feedback
2340 - fix situation where sqlite database exists but sqlite has been removed.
2341 * Fri Oct 22 2004 D. Scott Barninger <barninger at fairfieldcomputers.com>
2342 - remove tray-monitor from RH8 build
2343 - fix permissions on tray-monitor files
2344 * Wed Oct 13 2004 D. Scott Barninger <barninger at fairfieldcomputers.com>
2345 - add Mandrake support and tray-monitor, misc changes for 1.35.8/1.36.0,
2346 - change database update to 7 to 8 upgrade,
2347 - revert depkgs to 08Mar04 as there seems to be a bug in the sqlite
2348 - build in 30Jul04, add freetype dependancy to gnome package.
2349 * Sun Sep 12 2004 D. Scott Barninger <barninger at fairfieldcomputers.com>
2350 - add documentation to console for groupadd
2351 * Sat Sep 04 2004 D. Scott Barninger <barninger at fairfieldcomputers.com>
2352 - add support for running daemons as root.bacula
2353 - correct for change in location of floppy rescue files in 1.35.2
2354 - removed /etc/bacula/fd script from all packages as it has disappeared from 1.35.2
2355 - updated depgkgs to 30Jul04
2356 * Thu Jun 24 2004 D. Scott Barninger <barninger at fairfieldcomputers.com>
2357 - really, really fix symlink creation for gconsole
2358 * Thu Jun 17 2004 D. Scott Barninger <barninger at fairfieldcomputers.com>
2359 - fix symlink creation in gconsole post install
2360 * Sat Jun 12 2004 D. Scott Barninger <barninger at fairfieldcomputers.com>
2361 - fixed error in gconsole post script
2362 * Fri Apr 30 2004 D. Scott Barninger <barninger at fairfieldcomputers.com>
2363 - add check for gconsole symlink before trying to create it
2364 * Sun Apr 11 2004 D. Scott Barninger <barninger at fairfieldcomputers.com>
2365 - fix some minor permissions issues on doc files that CVS won't let us fix
2366 * Sun Apr 04 2004 D. Scott Barninger <barninger at fairfieldcomputers.com>
2367 - add pkgconfig to BuildRequires
2368 - clean up gnome1/2 menu entries for appropriate packages
2369 * Fri Apr 02 2004 D. Scott Barninger <barninger at fairfieldcomputers.com>
2370 - tightened up doc distribution
2371 * Tue Mar 30 2004 D. Scott Barninger <barninger at fairfieldcomputers.com>
2372 - added usermode (Redhat) and xsu (SuSE) support for gnome-console;
2373 - rpm's horrible bug that prevents nested conditional macros prevents me
2374 - from implementing these 2 separate approaches within the conditionals which
2375 - create the separate server packages.
2376 - the solution adopted is to remove the gnome-console files from the server packages
2377 - so bacula-gconsole is now an add on for both client and server packages.
2378 - this also now allows the server packages to be install on machines without
2379 - an X-server and we can still maintain a single spec file.
2380 - added tests to make sure we have defined platform and database macros.
2381 * Sat Mar 13 2004 D. Scott Barninger <barninger at fairfieldcomputers.com>
2382 - corrected mysql prerequisites for suse
2383 * Mon Mar 1 2004 D. Scott Barninger <barninger at fairfieldcomputers.com>
2384 - replaced all cp commands with cp -p
2385 - removed addition of a+x permissions on gnome-console
2386 - corrected permissions on init scripts
2387 * Sat Feb 28 2004 D. Scott Barninger <barninger at fairfieldcomputers.com>
2388 - corrected creation of sqlite_bindir in install from !mysql to sqlite
2389 -
2390 - various cleanup patches from Michael K. Johnson:
2391 - corrected post install routines for nicer chkconfig
2392 - removed chmod changes in post routines and moved to install section
2393 - removed interactive nature of post routine for rescue package
2394 - added description of building rescue disks to the description of rescue package
2395 - added clean of build root to beginning of install
2396 - removed specifying attr in all file lists
2397 * Fri Feb 20 2004 D. Scott Barninger <barninger at fairfieldcomputers.com>
2398 - added bconsole to client package
2399 - added gconsole package as add-on to client
2400 - removed spurious dependancies on updatedb package (!cut/paste)
2401 * Thu Feb 19 2004 D. Scott Barninger <barninger at fairfieldcomputers.com>
2402 - added updatedb package
2403 * Thu Feb 12 2004 D. Scott Barninger <barninger at fairfieldcomputers.com>
2404 - added postgresql package
2405 * Wed Feb 11 2004 D. Scott Barninger <barninger at fairfieldcomputers.com>
2406 - corrected the if else logic in the dependancy sections
2407 - changes for 1.34 release
2408 - /etc/bacula/console is now /etc/bacula/bconsole
2409 - /etc/bacula/console.conf is now /etc/bacula/bconsole.conf
2410 - /usr/sbin/btraceback.gdb is now /etc/bacula/btraceback.gdb
2411 - /usr/sbin/smtp is now /usr/sbin/bsmtp
2412 - added new /etc/bacula/drop_mysql_database
2413 - added new /etc/bacula/drop_sqlite_database
2414 - added new /etc/bacula/grant_sqlite_privileges
2415 - added new generic bacula database scripts in /etc/bacula
2416 - added pre-install sections to check for database versions older than 6
2417 - added check for /etc/bacula/console.conf and copy to bconsole.conf
2418 * Sun Feb 08 2004 D. Scott Barninger <barninger at fairfieldcomputers.com>
2419 - added /etc/bacula/update_sqlite_tables and /etc/bacula/update_mysql_tables for 1.34 release
2420 - added testing for existing databases before executing any of the database creation scripts
2421 - added defines working_dir and sqlite_bindir in place of hard coded paths
2422 * Sat Jan 31 2004 D. Scott Barninger <barninger at fairfieldcomputers.com>
2423 - added build configuration for SuSE.
2424 - Thanks to Matt Vollmar <matt at panamschool.edu.sv> for his input
2425 * Sat Jan 24 2004 D. Scott Barninger <barninger at fairfieldcomputers.com>
2426 - added patch for create_sqlite_database to fix the installed bindir
2427 - added execute of create_sqlite_database to post of sqlite package
2428 * Sat Jan 10 2004 D. Scott Barninger <barninger at fairfieldcomputers.com>
2429 - added virtual package Provides bacula-dir, bacula-sd, bacula-fd
2430 - added bacula-fd as Requires for rescue package
2431 - added build tag for Fedora Core 1
2432 - cleaned up dependancies for all builds
2433 * Thu Jan 1 2004 D. Scott Barninger <barninger at fairfieldcomputers.com>
2434 - removed rh_version from package names
2435 - added platform build configuration section to beginning of file
2436 * Tue Nov 25 2003 D. Scott Barninger <barninger at fairfieldcomputers.com>
2437 - removed make_static_bacula script from rescue package install
2438 * Sun Nov 23 2003 D. Scott Barninger <barninger at fairfieldcomputers.com>
2439 - Added define at top of file for depkgs version
2440 - Added rescue sub-package
2441 - Moved requires statements into proper sub-package locations
2442 * Mon Oct 27 2003 D. Scott Barninger <barninger at fairfieldcomputers.com>
2443 - Corrected Requires for Gnome 1.4/2.0 builds
2444 * Fri Oct 24 2003 D. Scott Barninger <barninger at fairfieldcomputers.com>
2445 - Added separate source declaration for depkgs
2446 - added patch for make_catalog_backup script
2447 * Mon May 11 2003 D. Scott Barninger <barninger at fairfieldcomputers.com>
2448 - Misc changes to mysql/sqlite build and rh7/8 menu differences
2449 - Added rh_version to sub-package names
2450 - Added installed but missing file /etc/bacula/gconsole
2451 - rm'd /etc/bacula/grant_mysql_privileges on sqlite builds
2452 * Thu May 08 2003 Kern Sibbald <kern at sibbald.com>
2453 - Update spec for version 1.31 and combine client
2454 * Sun Mar 30 2003 D. Scott Barninger <barninger at fairfieldcomputers.com>
2455 - Initial spec file