]> git.sur5r.net Git - bacula/bacula/blob - bacula/platforms/redhat/bacula.spec.in
0df26ee9ae68a58e54b1b9035360367e9d15ed82
[bacula/bacula] / bacula / platforms / redhat / bacula.spec.in
1 # Bacula RPM spec file
2 # Copyright (C) 2000-2006 Kern Sibbald
3
4 # Platform Build Configuration
5
6 # basic defines for every build
7 %define _version @VERSION@
8 %define _release 1
9 %define depkgs_version 25Jun06
10 %define _rescuever 1.8.6
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 #--------------------------------------------------------------------------
18 # it should not be necessary to change anything below here for a release
19 # except for patch macros in the setup section
20 #--------------------------------------------------------------------------
21
22 # third party packagers
23 %define _packager D. Scott Barninger <barninger@fairfieldcomputers.com>
24 %{?contrib_packager:%define _packager %{contrib_packager}}
25
26 Summary: Bacula - The Network Backup Solution
27 Name: bacula
28 Version: %{_version}
29 Release: %{_release}
30 Group: System Environment/Daemons
31 License: GPL v2
32 Source0: http://www.prdownloads.sourceforge.net/bacula/%{name}-%{version}.tar.gz
33 Source1: http://www.prdownloads.sourceforge.net/bacula/depkgs-%{depkgs_version}.tar.gz
34 Source2: Release_Notes-%{version}-%{release}.tar.gz
35 Source3: http://www.prdownloads.sourceforge.net/bacula/%{name}-docs-%{docs_version}.tar.gz
36 Source4: http://www.prdownloads.sourceforge.net/bacula/%{name}-rescue-%{_rescuever}.tar.gz
37 BuildRoot: %{_tmppath}/%{name}-root
38 URL: http://www.bacula.org/
39 Vendor: The Bacula Team
40 Packager: %{_packager}
41
42 # define the basic package description
43 %define blurb Bacula - It comes by night and sucks the vital essence from your computers.
44 %define blurb2 Bacula is a set of computer programs that permit you (or the system
45 %define blurb3 administrator) to manage backup, recovery, and verification of computer
46 %define blurb4 data across a network of computers of different kinds. In technical terms,
47 %define blurb5 it is a network client/server based backup program. Bacula is relatively
48 %define blurb6 easy to use and efficient, while offering many advanced storage management
49 %define blurb7 features that make it easy to find and recover lost or damaged files.
50 %define blurb8 Bacula source code has been released under the GPL version 2 license.
51
52 # directory locations
53 %define sqlite_bindir /usr/lib/bacula/sqlite
54 %define working_dir /var/bacula
55 %define _docsrc ../%{name}-docs-%{docs_version}
56 %define _rescuesrc ../%{name}-rescue-%{_rescuever}
57 %define depkgs ../depkgs
58
59 # NOTE these defines are used in some rather complex useradd and groupadd
60 # commands. If you change them examine the post scripts for consequences.
61 %define director_daemon_user bacula
62 %define storage_daemon_user bacula
63 %define file_daemon_user root
64 %define daemon_group bacula
65 # group that has write access to tape devices, usually disk on Linux
66 %define storage_daemon_group disk
67 %define user_file /etc/passwd
68 %define group_file /etc/group
69
70 # program locations
71 %define useradd /usr/sbin/useradd
72 %define groupadd /usr/sbin/groupadd
73 %define usermod /usr/sbin/usermod
74
75 # platform defines - set one below or define the build_xxx on the command line
76 # RedHat builds
77 %define rh7 0
78 %{?build_rh7:%define rh7 1}
79 %define rh8 0
80 %{?build_rh8:%define rh8 1}
81 %define rh9 0
82 %{?build_rh9:%define rh9 1}
83 # Fedora Core build
84 %define fc1 0
85 %{?build_fc1:%define fc1 1}
86 %define fc3 0
87 %{?build_fc3:%define fc3 1}
88 %define fc4 0
89 %{?build_fc4:%define fc4 1}
90 %define fc5 0
91 %{?build_fc5:%define fc5 1}
92 # Whitebox Enterprise build
93 %define wb3 0
94 %{?build_wb3:%define wb3 1}
95 # RedHat Enterprise builds
96 %define rhel3 0
97 %{?build_rhel3:%define rhel3 1}
98 %{?build_rhel3:%define wb3 1}
99 %define rhel4 0
100 %{?build_rhel4:%define rhel4 1}
101 %{?build_rhel4:%define fc3 1}
102 # CentOS build
103 %define centos3 0
104 %{?build_centos3:%define centos3 1}
105 %{?build_centos3:%define wb3 1}
106 %define centos4 0
107 %{?build_centos4:%define centos4 1}
108 %{?build_centos4:%define fc3 1}
109 # SuSE build
110 %define su9 0
111 %{?build_su9:%define su9 1}
112 %define su10 0
113 %{?build_su10:%define su10 1}
114 # Mandrake builds
115 %define mdk 0
116 %{?build_mdk:%define mdk 1}
117 %define mdv 0
118 %{?build_mdv:%define mdv 1}
119 %{?build_mdv:%define mdk 1}
120
121 # client only build
122 %define client_only 0
123 %{?build_client_only:%define client_only 1}
124
125 # test for a platform definition
126 %if ! %{rh7} && ! %{rh8} && ! %{rh9} && ! %{fc1} && ! %{fc3} && ! %{fc4} && ! %{fc5} && ! %{wb3} && ! %{su9} && ! %{su10} && ! %{mdk}
127 %{error: You must specify a platform. Please examine the spec file.}
128 exit 1
129 %endif
130
131 # database defines
132 # set for database support desired or define the build_xxx on the command line
133 %define mysql 0
134 %{?build_mysql:%define mysql 1}
135 # if using mysql 4.x define this and mysql above
136 # currently: Mandrake 10.1, SuSE 9.x & 10.0, RHEL4 and Fedora Core 4
137 %define mysql4 0
138 %{?build_mysql4:%define mysql4 1}
139 %{?build_mysql4:%define mysql 1}
140 # if using mysql 5.x define this and mysql above
141 # currently: SuSE 10.1 and Fedora Core 5
142 %define mysql5 0
143 %{?build_mysql5:%define mysql5 1}
144 %{?build_mysql5:%define mysql 1}
145 %define sqlite 0
146 %{?build_sqlite:%define sqlite 1}
147 %define postgresql 0
148 %{?build_postgresql:%define postgresql 1}
149
150 # test for a database definition
151 %if ! %{mysql} && ! %{sqlite} && ! %{postgresql} && ! %{client_only}
152 %{error: You must specify database support. Please examine the spec file.}
153 exit 1
154 %endif
155
156 %if %{mysql}
157 %define db_backend mysql
158 %endif
159 %if %{sqlite}
160 %define db_backend sqlite
161 %endif
162 %if %{postgresql}
163 %define db_backend postgresql
164 %endif
165
166 # 64 bit support
167 %define x86_64 0
168 %{?build_x86_64:%define x86_64 1}
169
170 # check what distribution we are
171 %if %{rh7} || %{rh8} || %{rh9} || %{rhel3} || %{rhel4}
172 %define _dist %(grep Red /etc/redhat-release)
173 %endif
174 %if %{fc1} || %{fc4} || %{fc5}
175 %define _dist %(grep Fedora /etc/redhat-release)
176 %endif
177 %if %{centos4} || %{centos3}
178 %define _dist %(grep CentOS /etc/redhat-release)
179 %endif
180 %if %{fc3} && ! %{rhel4} && ! %{centos4}
181 %define _dist %(grep Fedora /etc/redhat-release)
182 %endif
183 %if %{wb3} && ! %{rhel3} && ! %{centos3}
184 %define _dist %(grep White /etc/whitebox-release)
185 %endif
186 %if %{su9} || %{su10}
187 %define _dist %(grep -i SuSE /etc/SuSE-release)
188 %endif
189 %if %{mdk}
190 %define _dist %(grep Mand /etc/mandrake-release)
191 %endif
192 Distribution: %{_dist}
193
194 # Should we build gconsole, possible only if gnome >= 2.0 available
195 %if %{rh7}
196 %define gconsole 0
197 %else
198 %define gconsole 1
199 %endif
200 # specifically disallow gconsole if desired
201 %{?nobuild_gconsole:%define gconsole 0}
202
203 # Should we build wxconsole, only wxWidgets >=2.6 is supported
204 # currently only SuSE 10 and FC4/FC5
205 %define wxconsole 0
206 %{?build_wxconsole:%define wxconsole 1}
207
208 # should we turn on python support
209 %define python 0
210 %{?build_python:%define python 1}
211
212 # for client only build
213 %if %{client_only}
214 %define mysql 0
215 %define mysql4 0
216 %define mysql5 0
217 %define postgresql 0
218 %define sqlite 0
219 %define gconsole 0
220 %define wxconsole 0
221 %endif
222
223 %{expand: %%define gccver %(rpm -q gcc | cut -d - -f 2)}
224 %{expand: %%define gccrel %(rpm -q gcc | cut -d - -f 3)}
225
226 BuildRequires: gcc, gcc-c++, make, autoconf
227 BuildRequires: atk-devel, ncurses-devel, pango-devel, perl
228 BuildRequires: libstdc++-devel = %{gccver}-%{gccrel}, libxml2-devel, zlib-devel
229 BuildRequires: openssl-devel
230 %if %{python}
231 BuildRequires: python, python-devel
232 %{expand: %%define pyver %(python -c 'import sys;print(sys.version[0:3])')}
233 %endif
234 %if %{gconsole}
235 BuildRequires: pkgconfig
236 %endif
237 %if %{rh7}
238 BuildRequires: libtermcap-devel
239 BuildRequires: glibc-devel >= 2.2
240 %endif
241 %if %{su9}
242 BuildRequires: termcap
243 BuildRequires: glibc-devel >= 2.3
244 %endif
245 %if %{su9} && %{gconsole}
246 BuildRequires: libgnome >= 2.0
247 BuildRequires: gtk2-devel >= 2.0
248 BuildRequires: libgnomeui-devel >= 2.0
249 BuildRequires: ORBit2-devel
250 BuildRequires: libart_lgpl-devel >= 2.0
251 BuildRequires: libbonobo-devel >= 2.0
252 BuildRequires: libbonoboui-devel >= 2.0
253 BuildRequires: bonobo-activation-devel
254 BuildRequires: gconf2-devel
255 BuildRequires: linc-devel
256 BuildRequires: freetype2-devel
257 %endif
258 %if %{su10}
259 BuildRequires: termcap
260 BuildRequires: glibc-devel >= 2.3
261 %endif
262 %if %{su10} && %{gconsole}
263 BuildRequires: libgnome >= 2.12
264 BuildRequires: gtk2-devel >= 2.8
265 BuildRequires: libgnomeui-devel >= 2.12
266 BuildRequires: ORBit2-devel
267 BuildRequires: libart_lgpl-devel >= 2.3
268 BuildRequires: libbonobo-devel >= 2.10
269 BuildRequires: libbonoboui-devel >= 2.10
270 BuildRequires: bonobo-activation-devel
271 BuildRequires: gconf2-devel
272 BuildRequires: freetype2-devel
273 BuildRequires: cairo-devel
274 BuildRequires: fontconfig-devel >= 2.3
275 BuildRequires: gnome-vfs2-devel >= 2.12
276 BuildRequires: libpng-devel
277 %endif
278 %if %{mdk}
279 BuildRequires: libtermcap-devel
280 BuildRequires: libstdc++-static-devel
281 BuildRequires: glibc-static-devel
282 BuildRequires: glibc-devel >= 2.3
283 %endif
284 %if %{mdk} && !%{mdv} && %{gconsole}
285 BuildRequires: gtk2-devel >= 2.0
286 BuildRequires: libgnomeui2-devel >= 2.0
287 BuildRequires: libORBit2-devel
288 BuildRequires: libart_lgpl-devel >= 2.0
289 BuildRequires: libbonobo2_0-devel
290 BuildRequires: libbonoboui2_0-devel
291 BuildRequires: libbonobo-activation-devel
292 BuildRequires: libGConf2-devel
293 BuildRequires: freetype2-devel
294 %endif
295 %if %{mdv} && %{gconsole}
296 BuildRequires: gtk2-devel >= 2.8
297 BuildRequires: libgnomeui2-devel >= 2.10
298 BuildRequires: libORBit2-devel
299 BuildRequires: libart_lgpl-devel >= 2.3
300 BuildRequires: libbonobo2_0-devel
301 BuildRequires: libbonoboui2_0-devel
302 BuildRequires: libbonobo-activation-devel
303 BuildRequires: libGConf2-devel
304 BuildRequires: freetype2-devel
305 %endif
306 %if %{fc3}
307 BuildRequires: libtermcap-devel
308 BuildRequires: glibc-devel >= 2.3
309 %endif
310 %if %{fc3} && %{gconsole}
311 BuildRequires: gtk2-devel >= 2.4
312 BuildRequires: libgnomeui-devel >= 2.8
313 BuildRequires: ORBit2-devel
314 BuildRequires: libart_lgpl-devel >= 2.3
315 BuildRequires: libbonobo-devel >= 2.8
316 BuildRequires: libbonoboui-devel >= 2.8
317 BuildRequires: bonobo-activation-devel
318 BuildRequires: GConf2-devel
319 BuildRequires: freetype-devel
320 %endif
321 %if %{fc4}
322 BuildRequires: libtermcap-devel
323 BuildRequires: glibc-devel >= 2.3
324 %endif
325 %if %{fc4} && %{gconsole}
326 BuildRequires: gtk2-devel >= 2.6
327 BuildRequires: libgnomeui-devel >= 2.10
328 BuildRequires: ORBit2-devel
329 BuildRequires: libart_lgpl-devel >= 2.3
330 BuildRequires: libbonobo-devel >= 2.8
331 BuildRequires: libbonoboui-devel >= 2.8
332 BuildRequires: bonobo-activation-devel
333 BuildRequires: GConf2-devel
334 BuildRequires: freetype-devel
335 %endif
336 %if %{fc5}
337 BuildRequires: libtermcap-devel
338 BuildRequires: glibc-devel >= 2.4
339 %endif
340 %if %{fc5} && %{gconsole}
341 BuildRequires: gtk2-devel >= 2.8
342 BuildRequires: libgnomeui-devel >= 2.14
343 BuildRequires: ORBit2-devel
344 BuildRequires: libart_lgpl-devel >= 2.3
345 BuildRequires: libbonobo-devel >= 2.14
346 BuildRequires: libbonoboui-devel >= 2.14
347 BuildRequires: GConf2-devel
348 BuildRequires: freetype-devel
349 %endif
350 %if ! %{rh7} && ! %{su9} && ! %{su10} && ! %{mdk} && ! %{fc3} && ! %{fc4} && ! %{fc5}
351 BuildRequires: libtermcap-devel
352 BuildRequires: glibc-devel >= 2.3
353 %endif
354 %if ! %{rh7} && ! %{su9} && ! %{su10} && ! %{mdk} && ! %{fc3} && ! %{fc4} && ! %{fc5} && %{gconsole}
355 BuildRequires: gtk2-devel >= 2.0
356 BuildRequires: libgnomeui-devel >= 2.0
357 BuildRequires: ORBit2-devel
358 BuildRequires: libart_lgpl-devel >= 2.0
359 BuildRequires: libbonobo-devel >= 2.0
360 BuildRequires: libbonoboui-devel >= 2.0
361 BuildRequires: bonobo-activation-devel
362 BuildRequires: GConf2-devel
363 BuildRequires: linc-devel
364 BuildRequires: freetype-devel
365 %endif
366
367 %if %{mysql} && ! %{mysql4} && ! %{mysql5}
368 BuildRequires: mysql-devel >= 3.23
369 %endif
370
371 %if %{mysql} && %{mysql4}
372 BuildRequires: mysql-devel >= 4.0
373 %endif
374
375 %if %{mysql} && %{mysql5}
376 BuildRequires: mysql-devel >= 5.0
377 %endif
378
379 %if %{postgresql} && %{wb3}
380 BuildRequires: rh-postgresql-devel >= 7
381 %endif
382
383 %if %{postgresql} && ! %{wb3}
384 BuildRequires: postgresql-devel >= 7
385 %endif
386
387 %if %{wxconsole}
388 BuildRequires: wxGTK-devel >= 2.6
389 %endif
390
391 %description
392 %{blurb}
393
394 %{blurb2}
395 %{blurb3}
396 %{blurb4}
397 %{blurb5}
398 %{blurb6}
399 %{blurb7}
400 %{blurb8}
401
402 %if %{mysql}
403 %package mysql
404 %endif
405 %if %{sqlite}
406 %package sqlite
407 %endif
408 %if %{postgresql}
409 %package postgresql
410 %endif
411
412 Summary: Bacula - The Network Backup Solution
413 Group: System Environment/Daemons
414 Provides: bacula-dir, bacula-sd, bacula-fd, bacula-server
415 Conflicts: bacula-client
416 Obsoletes: bacula-rescue
417
418 %if %{su9} || %{su10}
419 Conflicts: bacula
420 %endif
421
422 Requires: ncurses, libstdc++, zlib, openssl, mtx
423
424 %if %{rh7}
425 Requires: glibc >= 2.2
426 Requires: libtermcap
427 %endif
428 %if %{su9} || %{su10}
429 Requires: glibc >= 2.3
430 Requires: termcap
431 %endif
432 %if ! %{rh7} && ! %{su9} && ! %{su10} && ! %{fc5}
433 Requires: glibc >= 2.3
434 Requires: libtermcap
435 %endif
436 %if %{fc5}
437 Requires: glibc >= 2.4
438 Requires: libtermcap
439 %endif
440
441 %if %{mysql} && ! %{su9} && ! %{mdk} && ! %{mysql4} && ! %{mysql5}
442 Requires: mysql >= 3.23
443 Requires: mysql-server >= 3.23
444 %endif
445 %if %{mysql} && ! %{su9} && ! %{su10} && ! %{mdk} && %{mysql4}
446 Requires: mysql >= 4.0
447 Requires: mysql-server >= 4.0
448 %endif
449 %if %{mysql} && ! %{su9} && ! %{su10} && ! %{mdk} && %{mysql5}
450 Requires: mysql >= 5.0
451 Requires: mysql-server >= 5.0
452 %endif
453
454 %if %{mysql} && %{su9} && ! %{mysql4}
455 Requires: mysql >= 3.23
456 Requires: mysql-client >= 3.23
457 %endif
458 %if %{mysql} && %{su9} && %{mysql4}
459 Requires: mysql >= 4.0
460 Requires: mysql-client >= 4.0
461 %endif
462 %if %{mysql} && %{su10} && %{mysql4}
463 Requires: mysql >= 4.0
464 Requires: mysql-client >= 4.0
465 %endif
466 %if %{mysql} && %{su10} && %{mysql5}
467 Requires: mysql >= 5.0
468 Requires: mysql-client >= 5.0
469 %endif
470
471 %if %{mysql} && %{mdk} && ! %{mysql4}
472 Requires: mysql >= 3.23
473 Requires: mysql-client >= 3.23
474 %endif
475 %if %{mysql} && %{mdk} && %{mysql4}
476 Requires: mysql >= 4.0
477 Requires: mysql-client >= 4.0
478 %endif
479
480 %if %{postgresql} && %{wb3}
481 Requires: rh-postgresql >= 7
482 Requires: rh-postgresql-server >= 7
483 %endif
484 %if %{postgresql} && ! %{wb3}
485 Requires: postgresql >= 7
486 Requires: postgresql-server >= 7
487 %endif
488
489 %if %{mysql}
490 %description mysql
491 %endif
492 %if %{sqlite}
493 %description sqlite
494 %endif
495 %if %{postgresql}
496 %description postgresql
497 %endif
498
499 %if %{python}
500 Requires: python >= %{pyver}
501 %endif
502
503 %{blurb}
504
505 %{blurb2}
506 %{blurb3}
507 %{blurb4}
508 %{blurb5}
509 %{blurb6}
510 %{blurb7}
511 %{blurb8}
512
513 %if %{mysql}
514 This build requires MySQL to be installed separately as the catalog database.
515 %endif
516 %if %{postgresql}
517 This build requires PostgreSQL to be installed separately as the catalog database.
518 %endif
519 %if %{sqlite}
520 This build incorporates sqlite as the catalog database, statically compiled.
521 %endif
522 %if %{python}
523 This build includes python scripting support.
524 %endif
525
526 %if ! %{client_only}
527 %package mtx
528 Summary: Bacula - The Network Backup Solution
529 Group: System Environment/Daemons
530 Provides: mtx
531
532 %description mtx
533 This is Bacula's version of mtx tape utilities for Linux distributions that
534 do not provide their own mtx package
535 %endif
536
537 %package client
538 Summary: Bacula - The Network Backup Solution
539 Group: System Environment/Daemons
540 Provides: bacula-fd
541 Conflicts: bacula-mysql
542 Conflicts: bacula-sqlite
543 Conflicts: bacula-postgresql
544 Obsoletes: bacula-rescue
545
546 %if %{su9} || %{su10}
547 Provides: bacula
548 %endif
549
550 Requires: libstdc++, zlib, openssl
551
552 %if %{rh7}
553 Requires: glibc >= 2.2
554 Requires: libtermcap
555 %endif
556 %if %{su9} || %{su10}
557 Requires: glibc >= 2.3
558 Requires: termcap
559 %endif
560 %if ! %{rh7} && ! %{su9} && ! %{su10} && ! %{fc5}
561 Requires: glibc >= 2.3
562 Requires: libtermcap
563 %endif
564 %if %{fc5}
565 Requires: glibc >= 2.4
566 Requires: libtermcap
567 %endif
568
569 %if %{python}
570 Requires: python >= %{pyver}
571 %endif
572
573 %description client
574 %{blurb}
575
576 %{blurb2}
577 %{blurb3}
578 %{blurb4}
579 %{blurb5}
580 %{blurb6}
581 %{blurb7}
582 %{blurb8}
583
584 This is the File daemon (Client) only package. It includes the command line 
585 console program.
586 %if %{python}
587 This build includes python scripting support.
588 %endif
589
590 %if ! %{client_only}
591 %package updatedb
592
593 Summary: Bacula - The Network Backup Solution
594 Group: System Environment/Daemons
595
596 %description updatedb
597 %{blurb}
598
599 %{blurb2}
600 %{blurb3}
601 %{blurb4}
602 %{blurb5}
603 %{blurb6}
604 %{blurb7}
605 %{blurb8}
606
607 This package installs scripts for updating older versions of the bacula
608 database.
609 %endif
610
611 %if %{gconsole}
612 %package gconsole
613 Summary: Bacula - The Network Backup Solution
614 Group: System Environment/Daemons
615 Requires: atk, libstdc++, zlib, pango, libxml2, bacula-fd, openssl
616 %endif
617
618 %if %{gconsole} && %{su9}
619 Requires: gtk2 >= 2.0
620 Requires: libgnome >= 2.0
621 Requires: libgnomeui >= 2.0
622 Requires: glibc >= 2.3
623 Requires: ORBit2
624 Requires: libart_lgpl >= 2.0
625 Requires: libbonobo >= 2.0
626 Requires: libbonoboui >= 2.0
627 Requires: bonobo-activation
628 Requires: gconf2
629 Requires: linc
630 Requires: freetype2
631 %endif
632 %if %{gconsole} && %{su10}
633 Requires: gtk2 >= 2.8
634 Requires: libgnome >= 2.12
635 Requires: libgnomeui >= 2.12
636 Requires: glibc >= 2.3
637 Requires: ORBit2
638 Requires: libart_lgpl >= 2.3
639 Requires: libbonobo >= 2.10
640 Requires: libbonoboui >= 2.10
641 Requires: bonobo-activation
642 Requires: gconf2
643 Requires: freetype2
644 Requires: cairo
645 Requires: fontconfig >= 2.3
646 Requires: gnome-vfs2 >= 2.12
647 Requires: libpng
648 %endif
649 %if %{gconsole} && %{mdk} && !%{mdv}
650 Requires: gtk2 >= 2.0
651 Requires: libgnomeui2
652 Requires: glibc >= 2.3
653 Requires: ORBit2
654 Requires: libart_lgpl >= 2.0
655 Requires: libbonobo >= 2.0
656 Requires: libbonoboui >= 2.0
657 Requires: GConf2
658 Requires: freetype2
659 %endif
660 %if %{gconsole} && %{mdv}
661 Requires: gtk2 >= 2.8
662 Requires: libgnomeui2
663 Requires: glibc >= 2.3
664 Requires: ORBit2
665 Requires: libart_lgpl >= 2.3
666 Requires: libbonobo >= 2.10
667 Requires: libbonoboui >= 2.10
668 Requires: GConf2
669 Requires: freetype2
670 %endif
671 %if %{gconsole} && %{fc3}  
672 Requires: gtk2 >= 2.4
673 Requires: libgnomeui >= 2.8
674 Requires: glibc >= 2.3
675 Requires: ORBit2
676 Requires: libart_lgpl >= 2.3
677 Requires: libbonobo >= 2.8
678 Requires: libbonoboui >= 2.8
679 Requires: bonobo-activation
680 Requires: GConf2
681 Requires: freetype
682 %endif
683 %if %{gconsole} && %{fc4}  
684 Requires: gtk2 >= 2.6
685 Requires: libgnomeui >= 2.10
686 Requires: glibc >= 2.3
687 Requires: ORBit2
688 Requires: libart_lgpl >= 2.3
689 Requires: libbonobo >= 2.8
690 Requires: libbonoboui >= 2.8
691 Requires: bonobo-activation
692 Requires: GConf2
693 Requires: freetype
694 %endif
695 %if %{gconsole} && %{fc5}  
696 Requires: gtk2 >= 2.8
697 Requires: libgnomeui >= 2.14
698 Requires: glibc >= 2.4
699 Requires: ORBit2
700 Requires: libart_lgpl >= 2.3
701 Requires: libbonobo >= 2.14
702 Requires: libbonoboui >= 2.14
703 Requires: GConf2
704 Requires: freetype
705 %endif
706 %if %{gconsole} && ! %{su9} && ! %{su10} && ! %{mdk} && ! %{fc3} && ! %{fc4} && ! %{fc5}
707 Requires: gtk2 >= 2.0
708 Requires: libgnomeui >= 2.0
709 Requires: glibc >= 2.3
710 Requires: ORBit2
711 Requires: libart_lgpl >= 2.0
712 Requires: libbonobo >= 2.0
713 Requires: libbonoboui >= 2.0
714 Requires: bonobo-activation
715 Requires: GConf2
716 Requires: linc
717 Requires: freetype
718 %endif
719 %if %{gconsole} && %{su9}
720 Requires: xsu
721 %endif
722 %if %{gconsole} && %{su10}
723 Requires: xsu
724 %endif
725 %if %{gconsole} && ! %{su9} && ! %{su10}
726 Requires: usermode
727 %endif
728
729 %if %{gconsole}
730 %description gconsole
731 %{blurb}
732
733 %{blurb2}
734 %{blurb3}
735 %{blurb4}
736 %{blurb5}
737 %{blurb6}
738 %{blurb7}
739 %{blurb8}
740
741 This is the Gnome Console package. It is an add-on to the client or
742 server packages.
743 %endif
744
745 %if %{wxconsole}
746 %package wxconsole
747 Summary: Bacula - The Network Backup Solution
748 Group: System Environment/Daemons
749 Requires: wxGTK >= 2.6, libstdc++, openssl
750 %endif
751
752 %if %{wxconsole} && %{su10}
753 Requires: gtk2 >= 2.8
754 %endif
755
756 %if %{wxconsole} && %{fc3}  
757 Requires: gtk2 >= 2.4
758 %endif
759
760 %if %{wxconsole} && %{fc4}  
761 Requires: gtk2 >= 2.6
762 %endif
763
764 %if %{wxconsole} && %{fc5}  
765 Requires: gtk2 >= 2.8
766 %endif
767
768 %if %{wxconsole}
769 %description wxconsole
770 %{blurb}
771
772 %{blurb2}
773 %{blurb3}
774 %{blurb4}
775 %{blurb5}
776 %{blurb6}
777 %{blurb7}
778 %{blurb8}
779
780 This is the WXWindows Console package. It is an add-on to the client or
781 server packages.
782 %endif
783
784 %prep
785
786 %setup
787 %setup -T -D -b 1
788 %setup -T -D -b 2
789 %setup -T -D -b 3
790 %setup -T -D -b 4
791
792 %build
793
794 %if %{su9} || %{su10}
795 export LDFLAGS="${LDFLAGS} -L/usr/lib/termcap"
796 %endif
797
798 cwd=${PWD}
799 cd %{depkgs}
800 %if %{sqlite}
801 make sqlite
802 %endif
803 %if ! %{client_only}
804 make mtx
805 %endif
806 cd ${cwd}
807
808 # patches for the bundled sqlite scripts
809 # as of 1.38.0 first 3 patches no longer needed
810
811 # patch the make_sqlite_tables script for installation bindir
812 # patch src/cats/make_sqlite_tables.in src/cats/make_sqlite_tables.in.patch
813
814 # patch the create_sqlite_database script for installation bindir
815 #patch src/cats/create_sqlite_database.in src/cats/create_sqlite_database.in.patch
816
817 # patch the make_catalog_backup script for installation bindir
818 #patch src/cats/make_catalog_backup.in src/cats/make_catalog_backup.in.patch
819
820 # patch the update_sqlite_tables script for installation bindir
821 patch src/cats/update_sqlite_tables.in src/cats/update_sqlite_tables.in.patch
822
823 # patch the bacula-dir init script to remove sqlite service
824 %if %{sqlite} && %{su9}
825 patch platforms/suse/bacula-dir.in platforms/suse/bacula-dir-suse-sqlite.patch
826 %endif
827 %if %{sqlite} && %{su10}
828 patch platforms/suse/bacula-dir.in platforms/suse/bacula-dir-suse-sqlite.patch
829 %endif
830
831 # 64 bit lib location hacks
832 %if %{x86_64}
833 export LDFLAGS="${LDFLAGS} -L/usr/lib64"
834 %endif
835 %if %{mysql} && %{x86_64}
836 export LDFLAGS="${LDFLAGS} -L/usr/lib64/mysql"
837 %endif
838 # this MAY be necessary for python support - waiting for feedback to enable
839 #%if %{python} && %{x86_64}
840 #export LDFLAGS="${LDFLAGS} -L/usr/lib64/python%{pyver}"
841 #%endif
842
843 %configure \
844         --prefix=/usr \
845         --sbindir=/usr/sbin \
846         --sysconfdir=/etc/bacula \
847         --with-scriptdir=/etc/bacula \
848         --enable-smartalloc \
849         --enable-client-only \
850         %if %{mdk}
851         --disable-nls \
852         %endif
853         --enable-static-fd
854
855 make
856
857 %configure \
858         --prefix=/usr \
859         --sbindir=/usr/sbin \
860         --sysconfdir=/etc/bacula \
861         --with-scriptdir=/etc/bacula \
862         --enable-smartalloc \
863 %if %{gconsole}
864         --enable-gnome \
865 %endif
866 %if %{gconsole} && ! %{rh8}
867         --enable-tray-monitor \
868 %endif
869 %if %{mysql}
870         --with-mysql \
871 %endif
872 %if %{sqlite}
873         --with-sqlite=${cwd}/%{depkgs}/sqlite \
874 %endif
875 %if %{postgresql}
876         --with-postgresql \
877 %endif
878 %if %{wxconsole}
879         --enable-wx-console \
880 %endif
881 %if %{python}
882         --with-python \
883 %endif
884 %if %{client_only}
885         --enable-client-only \
886 %endif
887         --with-working-dir=%{working_dir} \
888         --with-pid-dir=/var/run \
889         --with-subsys-dir=/var/lock/subsys \
890         --with-dir-user=%{director_daemon_user} \
891         --with-dir-group=%{daemon_group} \
892         --with-sd-user=%{storage_daemon_user} \
893         --with-sd-group=%{storage_daemon_group} \
894         --with-fd-user=%{file_daemon_user} \
895         --with-fd-group=%{daemon_group} \
896         --with-dir-password="XXX_REPLACE_WITH_DIRECTOR_PASSWORD_XXX" \
897         --with-fd-password="XXX_REPLACE_WITH_CLIENT_PASSWORD_XXX" \
898         --with-sd-password="XXX_REPLACE_WITH_STORAGE_PASSWORD_XXX" \
899         --with-mon-dir-password="XXX_REPLACE_WITH_DIRECTOR_MONITOR_PASSWORD_XXX" \
900         --with-mon-fd-password="XXX_REPLACE_WITH_CLIENT_MONITOR_PASSWORD_XXX" \
901         --with-mon-sd-password="XXX_REPLACE_WITH_STORAGE_MONITOR_PASSWORD_XXX" \
902         --with-openssl
903
904 make
905
906 %install
907  
908 cwd=${PWD}
909 [ "$RPM_BUILD_ROOT" != "/" ] && rm -rf "$RPM_BUILD_ROOT"
910 mkdir -p $RPM_BUILD_ROOT/etc/init.d
911 mkdir -p $RPM_BUILD_ROOT/etc/logrotate.d
912 mkdir -p $RPM_BUILD_ROOT/etc/log.d/conf/logfiles
913 mkdir -p $RPM_BUILD_ROOT/etc/log.d/conf/services
914 mkdir -p $RPM_BUILD_ROOT/etc/log.d/scripts/services
915 mkdir -p $RPM_BUILD_ROOT/etc/bacula/updatedb
916
917 %if %{gconsole} || %{wxconsole}
918 mkdir -p $RPM_BUILD_ROOT/usr/share/applications
919 mkdir -p $RPM_BUILD_ROOT/usr/share/pixmaps
920 %endif
921
922 %if %{gconsole} || %{wxconsole}
923 %define usermode_iftrick 1
924 %else
925 %define usermode_iftrick 0
926 %endif
927
928 %if %{usermode_iftrick} && ! %{su9} && ! %{su10}
929 mkdir -p $RPM_BUILD_ROOT/etc/pam.d
930 mkdir -p $RPM_BUILD_ROOT/etc/security/console.apps
931 mkdir -p $RPM_BUILD_ROOT/usr/bin
932 %endif
933
934 %if %{sqlite}
935 mkdir -p $RPM_BUILD_ROOT%{sqlite_bindir}
936 %endif
937
938 make \
939         prefix=$RPM_BUILD_ROOT/usr \
940         sbindir=$RPM_BUILD_ROOT/usr/sbin \
941         sysconfdir=$RPM_BUILD_ROOT/etc/bacula \
942         scriptdir=$RPM_BUILD_ROOT/etc/bacula \
943         working_dir=$RPM_BUILD_ROOT%{working_dir} \
944         install
945
946 %if ! %{client_only}
947 cd %{depkgs}
948 make \
949         prefix=$RPM_BUILD_ROOT/usr \
950         sbindir=$RPM_BUILD_ROOT/usr/sbin \
951         sysconfdir=$RPM_BUILD_ROOT/etc/bacula \
952         working_dir=$RPM_BUILD_ROOT%{working_dir} \
953         mandir=$RPM_BUILD_ROOT/usr/man \
954         mtx-install
955 cd ${cwd}
956 %endif
957
958 # fixme - make installs the mysql scripts for sqlite build
959 %if %{sqlite}
960 rm -f $RPM_BUILD_ROOT/etc/bacula/startmysql
961 rm -f $RPM_BUILD_ROOT/etc/bacula/stopmysql
962 rm -f $RPM_BUILD_ROOT/etc/bacula/grant_mysql_privileges
963 %endif
964
965 # fixme - make installs the mysql scripts for postgresql build
966 %if %{postgresql}
967 rm -f $RPM_BUILD_ROOT/etc/bacula/startmysql
968 rm -f $RPM_BUILD_ROOT/etc/bacula/stopmysql
969 %endif
970
971 # fixme - make installs gconsole script for build without gconsole
972 %if ! %{gconsole}
973 rm -f $RPM_BUILD_ROOT/etc/bacula/gconsole
974 %endif
975
976 rm -f $RPM_BUILD_ROOT/usr/sbin/static-bacula-fd
977
978 # install the init scripts
979 %if %{su9} || %{su10}
980 cp -p platforms/suse/bacula-dir $RPM_BUILD_ROOT/etc/init.d/bacula-dir
981 cp -p platforms/suse/bacula-fd $RPM_BUILD_ROOT/etc/init.d/bacula-fd
982 cp -p platforms/suse/bacula-sd $RPM_BUILD_ROOT/etc/init.d/bacula-sd
983 %endif
984 %if %{mdk}
985 cp -p platforms/mandrake/bacula-dir $RPM_BUILD_ROOT/etc/init.d/bacula-dir
986 cp -p platforms/mandrake/bacula-fd $RPM_BUILD_ROOT/etc/init.d/bacula-fd
987 cp -p platforms/mandrake/bacula-sd $RPM_BUILD_ROOT/etc/init.d/bacula-sd
988 %endif
989 %if ! %{su9} && ! %{su10} && ! %{mdk}
990 cp -p platforms/redhat/bacula-dir $RPM_BUILD_ROOT/etc/init.d/bacula-dir
991 cp -p platforms/redhat/bacula-fd $RPM_BUILD_ROOT/etc/init.d/bacula-fd
992 cp -p platforms/redhat/bacula-sd $RPM_BUILD_ROOT/etc/init.d/bacula-sd
993 %endif
994 chmod 0754 $RPM_BUILD_ROOT/etc/init.d/*
995 %if %{client_only}
996 rm -f $RPM_BUILD_ROOT/etc/init.d/bacula-dir
997 rm -f $RPM_BUILD_ROOT/etc/init.d/bacula-sd
998 %endif
999
1000 # install the menu stuff
1001 %if %{gconsole} && %{su9}
1002 cp -p scripts/bacula.png $RPM_BUILD_ROOT/usr/share/pixmaps/bacula.png
1003 cp -p scripts/bacula.desktop.gnome2.xsu $RPM_BUILD_ROOT/usr/share/applications/bacula.desktop
1004 cp -p src/tray-monitor/generic.xpm $RPM_BUILD_ROOT/usr/share/pixmaps/bacula-tray-monitor.xpm
1005 cp -p scripts/bacula-tray-monitor.desktop $RPM_BUILD_ROOT/usr/share/applications/bacula-tray-monitor.desktop
1006 %endif
1007 %if %{gconsole} && %{su10}
1008 cp -p scripts/bacula.png $RPM_BUILD_ROOT/usr/share/pixmaps/bacula.png
1009 cp -p scripts/bacula.desktop.gnome2.xsu $RPM_BUILD_ROOT/usr/share/applications/bacula.desktop
1010 cp -p src/tray-monitor/generic.xpm $RPM_BUILD_ROOT/usr/share/pixmaps/bacula-tray-monitor.xpm
1011 cp -p scripts/bacula-tray-monitor.desktop $RPM_BUILD_ROOT/usr/share/applications/bacula-tray-monitor.desktop
1012 %endif
1013 %if %{wxconsole} && %{su10}
1014 cp -p src/wx-console/wxwin16x16.xpm $RPM_BUILD_ROOT/usr/share/pixmaps/wxwin16x16.xpm
1015 cp -p scripts/wxconsole.desktop.xsu $RPM_BUILD_ROOT/usr/share/applications/wxconsole.desktop
1016 %endif
1017 %if %{rh8} || %{rh9} || %{wb3} || %{fc1} || %{fc3} || %{fc4} || %{fc5} || %{mdk}
1018 %define iftrick 1
1019 %else
1020 %define iftrick 0
1021 %endif
1022 %if %{gconsole} && %{iftrick}
1023 cp -p scripts/bacula.png $RPM_BUILD_ROOT/usr/share/pixmaps/bacula.png
1024 cp -p scripts/bacula.desktop.gnome2.consolehelper $RPM_BUILD_ROOT/usr/share/applications/bacula.desktop
1025 cp -p scripts/gnome-console.console_apps $RPM_BUILD_ROOT/etc/security/console.apps/gnome-console
1026 cp -p scripts/gnome-console.pamd $RPM_BUILD_ROOT/etc/pam.d/gnome-console
1027 ln -sf consolehelper $RPM_BUILD_ROOT/usr/bin/gnome-console
1028 %endif
1029 %if %{gconsole} && ! %{rh8}
1030 cp -p src/tray-monitor/generic.xpm $RPM_BUILD_ROOT/usr/share/pixmaps/bacula-tray-monitor.xpm
1031 cp -p scripts/bacula-tray-monitor.desktop $RPM_BUILD_ROOT/usr/share/applications/bacula-tray-monitor.desktop
1032 %endif
1033 %if %{wxconsole} && %{iftrick}
1034 cp -p src/wx-console/wxwin16x16.xpm $RPM_BUILD_ROOT/usr/share/pixmaps/wxwin16x16.xpm
1035 cp -p scripts/wxconsole.desktop.consolehelper $RPM_BUILD_ROOT/usr/share/applications/wxconsole.desktop
1036 cp -p scripts/wxconsole.console_apps $RPM_BUILD_ROOT/etc/security/console.apps/wxconsole
1037 cp -p scripts/wxconsole.pamd $RPM_BUILD_ROOT/etc/pam.d/wxconsole
1038 ln -sf consolehelper $RPM_BUILD_ROOT/usr/bin/wxconsole
1039 %endif
1040
1041 # install sqlite
1042 %if %{sqlite}
1043 cp -p %{depkgs}/sqlite/sqlite $RPM_BUILD_ROOT%{sqlite_bindir}/sqlite
1044 cp -p %{depkgs}/sqlite/sqlite.h $RPM_BUILD_ROOT%{sqlite_bindir}/sqlite.h
1045 cp -p %{depkgs}/sqlite/libsqlite.a $RPM_BUILD_ROOT%{sqlite_bindir}/libsqlite.a
1046 %endif
1047
1048 # install the logrotate file
1049 cp -p scripts/logrotate $RPM_BUILD_ROOT/etc/logrotate.d/bacula
1050
1051 # install the updatedb scripts
1052 cp -p updatedb/* $RPM_BUILD_ROOT/etc/bacula/updatedb/
1053
1054 # install the logwatch scripts
1055 %if ! %{client_only}
1056 cp -p scripts/logwatch/bacula $RPM_BUILD_ROOT/etc/log.d/scripts/services/bacula
1057 cp -p scripts/logwatch/logfile.bacula.conf $RPM_BUILD_ROOT/etc/log.d/conf/logfiles/bacula.conf
1058 cp -p scripts/logwatch/services.bacula.conf $RPM_BUILD_ROOT/etc/log.d/conf/services/bacula.conf
1059 chmod 755 $RPM_BUILD_ROOT/etc/log.d/scripts/services/bacula
1060 chmod 644 $RPM_BUILD_ROOT/etc/log.d/conf/logfiles/bacula.conf
1061 chmod 644 $RPM_BUILD_ROOT/etc/log.d/conf/services/bacula.conf
1062 %endif
1063
1064 # install the rescue files
1065 mkdir $RPM_BUILD_ROOT/etc/bacula/rescue
1066 cp -p %{_rescuesrc}/Makefile* $RPM_BUILD_ROOT/etc/bacula/rescue/
1067 cp -p %{_rescuesrc}/README $RPM_BUILD_ROOT/etc/bacula/rescue/
1068 cp -p %{_rescuesrc}/configure $RPM_BUILD_ROOT/etc/bacula/rescue/
1069 cp -p %{_rescuesrc}/version.h $RPM_BUILD_ROOT/etc/bacula/rescue/
1070 cp -pr %{_rescuesrc}/linux $RPM_BUILD_ROOT/etc/bacula/rescue/
1071 cp -pr %{_rescuesrc}/autoconf $RPM_BUILD_ROOT/etc/bacula/rescue/
1072 touch $RPM_BUILD_ROOT/etc/bacula/rescue/linux/cdrom/rpm_release
1073 cp -p src/filed/static-bacula-fd $RPM_BUILD_ROOT/etc/bacula/rescue/linux/cdrom/bacula/bin/bacula-fd
1074 rm -f src/filed/static-bacula-fd
1075
1076 %if %{wxconsole}
1077 mv $RPM_BUILD_ROOT/usr/sbin/wx-console $RPM_BUILD_ROOT/usr/sbin/wxconsole
1078 mv $RPM_BUILD_ROOT/etc/bacula/wx-console.conf $RPM_BUILD_ROOT/etc/bacula/wxconsole.conf
1079 %endif
1080
1081 # now clean up permissions that are left broken by the install
1082 %if ! %{client_only}
1083 chmod o-r $RPM_BUILD_ROOT/etc/bacula/query.sql
1084 %endif
1085 chmod o-rwx $RPM_BUILD_ROOT/var/bacula
1086 %if %{gconsole} && ! %{rh8}
1087 chmod 755 $RPM_BUILD_ROOT/usr/sbin/bacula-tray-monitor
1088 chmod 644 $RPM_BUILD_ROOT/etc/bacula/tray-monitor.conf
1089 %endif
1090
1091 # fix me - building enable-client-only installs files not included in bacula-client package
1092 %if %{client_only}
1093 rm -f $RPM_BUILD_ROOT/etc/bacula/bacula
1094 rm -f $RPM_BUILD_ROOT/etc/bacula/bacula-ctl-dir
1095 rm -f $RPM_BUILD_ROOT/etc/bacula/bacula-ctl-sd
1096 rm -f $RPM_BUILD_ROOT/etc/bacula/disk-changer
1097 rm -f $RPM_BUILD_ROOT/etc/bacula/dvd-handler
1098 rm -f $RPM_BUILD_ROOT/etc/bacula/mtx-changer
1099 rm -f $RPM_BUILD_ROOT/etc/bacula/startmysql
1100 rm -f $RPM_BUILD_ROOT/etc/bacula/stopmysql
1101 rm -rf $RPM_BUILD_ROOT/etc/bacula/updatedb
1102 %endif
1103
1104 %clean
1105 [ "$RPM_BUILD_ROOT" != "/" ] && rm -rf "$RPM_BUILD_ROOT"
1106
1107 %if %{mysql}
1108 # MySQL specific files
1109 %files mysql
1110 %defattr(-, root, root)
1111 %attr(-, root, %{daemon_group}) /etc/bacula/create_mysql_database
1112 %attr(-, root, %{daemon_group}) /etc/bacula/drop_mysql_database
1113 %attr(-, root, %{daemon_group}) /etc/bacula/make_mysql_tables
1114 %attr(-, root, %{daemon_group}) /etc/bacula/drop_mysql_tables
1115 %attr(-, root, %{daemon_group}) /etc/bacula/update_mysql_tables
1116 %attr(-, root, %{daemon_group}) /etc/bacula/grant_mysql_privileges
1117 %attr(-, root, %{daemon_group}) /etc/bacula/startmysql
1118 %attr(-, root, %{daemon_group}) /etc/bacula/stopmysql
1119 %endif
1120
1121 %if %{sqlite}
1122 %files sqlite
1123 %defattr(-,root,root)
1124 %attr(-, root, %{daemon_group}) /etc/bacula/create_sqlite_database
1125 %attr(-, root, %{daemon_group}) /etc/bacula/drop_sqlite_database
1126 %attr(-, root, %{daemon_group}) /etc/bacula/grant_sqlite_privileges
1127 %attr(-, root, %{daemon_group}) /etc/bacula/make_sqlite_tables
1128 %attr(-, root, %{daemon_group}) /etc/bacula/drop_sqlite_tables
1129 %attr(-, root, %{daemon_group}) /etc/bacula/update_sqlite_tables
1130 %{sqlite_bindir}/libsqlite.a
1131 %{sqlite_bindir}/sqlite.h
1132 %{sqlite_bindir}/sqlite
1133 %endif
1134
1135 %if %{postgresql}
1136 %files postgresql
1137 %defattr(-,root,root)
1138 %attr(-, root, %{daemon_group}) /etc/bacula/create_postgresql_database
1139 %attr(-, root, %{daemon_group}) /etc/bacula/drop_postgresql_database
1140 %attr(-, root, %{daemon_group}) /etc/bacula/make_postgresql_tables
1141 %attr(-, root, %{daemon_group}) /etc/bacula/drop_postgresql_tables
1142 %attr(-, root, %{daemon_group}) /etc/bacula/update_postgresql_tables
1143 %attr(-, root, %{daemon_group}) /etc/bacula/grant_postgresql_privileges
1144 %endif
1145
1146 # The rest is DB backend independent
1147 %if ! %{client_only}
1148 %attr(-, root, %{daemon_group}) %dir /etc/bacula
1149 %attr(-, root, %{daemon_group}) /etc/bacula/bacula
1150 %attr(-, root, %{daemon_group}) /etc/bacula/bconsole
1151 %attr(-, root, %{daemon_group}) /etc/bacula/create_bacula_database
1152 %attr(-, root, %{daemon_group}) /etc/bacula/drop_bacula_database
1153 %attr(-, root, %{daemon_group}) /etc/bacula/grant_bacula_privileges
1154 %attr(-, root, %{daemon_group}) /etc/bacula/make_bacula_tables
1155 %attr(-, root, %{daemon_group}) /etc/bacula/drop_bacula_tables
1156 %attr(-, root, %{daemon_group}) /etc/bacula/update_bacula_tables
1157 %attr(-, root, %{daemon_group}) /etc/bacula/make_catalog_backup
1158 %attr(-, root, %{daemon_group}) /etc/bacula/delete_catalog_backup
1159 %attr(-, root, %{daemon_group}) /etc/bacula/btraceback.dbx
1160 %attr(-, root, %{daemon_group}) /etc/bacula/btraceback.gdb
1161 %attr(-, root, %{daemon_group}) /etc/bacula/rescue
1162 %attr(-, root, %{daemon_group}) /etc/bacula/disk-changer
1163 %attr(-, root, %{daemon_group}) /etc/bacula/bacula-ctl-dir
1164 %attr(-, root, %{daemon_group}) /etc/bacula/bacula-ctl-fd
1165 %attr(-, root, %{daemon_group}) /etc/bacula/bacula-ctl-sd
1166 %attr(-, root, %{daemon_group}) /etc/init.d/bacula-dir
1167 %attr(-, root, %{daemon_group}) /etc/init.d/bacula-fd
1168 %attr(-, root, %{storage_daemon_group}) /etc/bacula/dvd-handler
1169 %attr(-, root, %{storage_daemon_group}) /etc/init.d/bacula-sd
1170 %attr(-, root, %{storage_daemon_group}) /etc/bacula/mtx-changer
1171
1172 %doc COPYING ChangeLog ReleaseNotes VERIFYING kernstodo 
1173 %doc %{_docsrc}/manual/bacula.pdf %{_docsrc}/developers/developers.pdf %{_docsrc}/manual/bacula ../Release_Notes-%{version}-%{release}.txt
1174
1175 /etc/logrotate.d/bacula
1176 /etc/log.d/scripts/services/bacula
1177 %attr(-, root, %{daemon_group}) %config(noreplace) /etc/bacula/bacula-dir.conf
1178 %attr(-, root, %{daemon_group}) %config(noreplace) /etc/bacula/bacula-fd.conf
1179 %attr(-, root, %{storage_daemon_group}) %config(noreplace) /etc/bacula/bacula-sd.conf
1180 %attr(-, root, %{daemon_group}) %config(noreplace) /etc/bacula/bconsole.conf
1181 %attr(-, root, %{daemon_group}) %config(noreplace) /etc/log.d/conf/logfiles/bacula.conf
1182 %attr(-, root, %{daemon_group}) %config(noreplace) /etc/log.d/conf/services/bacula.conf
1183 %attr(-, root, %{daemon_group}) /etc/bacula/query.sql
1184 %attr(-, root, %{daemon_group}) %dir %{working_dir}
1185
1186 /usr/sbin/bacula-dir
1187 /usr/sbin/bacula-fd
1188 /usr/sbin/bacula-sd
1189 /usr/sbin/bcopy
1190 /usr/sbin/bextract
1191 /usr/sbin/bls
1192 /usr/sbin/bscan
1193 /usr/sbin/btape
1194 /usr/sbin/btraceback
1195 /usr/sbin/bconsole
1196 /usr/sbin/dbcheck
1197 /usr/sbin/bsmtp
1198 /usr/sbin/bregex
1199 /usr/sbin/bwild
1200 %endif
1201
1202 %if %{mysql}
1203 %pre mysql
1204 # test for bacula database older than version 8
1205 # note: this ASSUMES no password has been set for bacula database
1206 DB_VER=`mysql 2>/dev/null bacula -e 'select * from Version;'|tail -n 1`
1207 %endif
1208
1209 %if %{sqlite}
1210 %pre sqlite
1211 # test for bacula database older than version 8
1212 if [ -s %{working_dir}/bacula.db ] && [ -s %{sqlite_bindir}/sqlite ];then
1213         DB_VER=`echo "select * from Version;" | %{sqlite_bindir}/sqlite 2>/dev/null %{working_dir}/bacula.db | tail -n 1`
1214 %endif
1215
1216 %if %{postgresql}
1217 %pre postgresql
1218 DB_VER=`echo 'select * from Version;' | psql bacula 2>/dev/null | tail -3 | head -1`
1219 %endif
1220
1221 if [ -n "$DB_VER" ] && [ "$DB_VER" -lt "8" ]; then
1222         echo "This bacula upgrade will update a bacula database from version 8 to 9."
1223         echo "You appear to be running database version $DB_VER. You must first update"
1224         echo "your database to version 8 and then install this upgrade. The alternative"
1225         echo "is to use /etc/bacula/drop_%{db_backend}_tables to delete all your your current"
1226         echo "catalog information, then do the upgrade. Information on updating a"
1227         echo "database older than version 8 can be found in the release notes."
1228         exit 1
1229 fi
1230
1231 %if %{sqlite}
1232 fi
1233 %endif
1234
1235 %if ! %{client_only}
1236 # check for and copy /etc/bacula/console.conf to bconsole.conf
1237 if [ -s /etc/bacula/console.conf ];then
1238         cp -p /etc/bacula/console.conf /etc/bacula/bconsole.conf
1239 fi
1240
1241 # create the daemon users and groups
1242 # first create the groups if they don't exist
1243 HAVE_BACULA=`grep %{daemon_group} %{group_file} 2>/dev/null`
1244 if [ -z "$HAVE_BACULA" ]; then
1245         %{groupadd} -r %{daemon_group} > /dev/null 2>&1
1246         echo "The group %{daemon_group} has been added to %{group_file}."
1247         echo "See the manual chapter \"Running Bacula\" for details."
1248 fi
1249 HAVE_BACULA=`grep %{storage_daemon_group} %{group_file} 2>/dev/null`
1250 if [ -z "$HAVE_BACULA" ]; then
1251         %{groupadd} -r %{storage_daemon_group} > /dev/null 2>&1
1252         echo "The group %{storage_daemon_group} has been added to %{group_file}."
1253         echo "See the manual chapter \"Running Bacula\" for details."
1254 fi
1255 # now create the users if they do not exist
1256 # we do not use the -g option allowing the primary group to be set to system default
1257 # this will be a unique group on redhat type systems or the group users on some systems
1258 HAVE_BACULA=`grep %{storage_daemon_user} %{user_file} 2>/dev/null`
1259 if [ -z "$HAVE_BACULA" ]; then
1260         %{useradd} -r -c "Bacula" -d %{working_dir} -g %{storage_daemon_group} -M -s /sbin/nologin %{storage_daemon_user} > /dev/null 2>&1
1261         echo "The user %{storage_daemon_user} has been added to %{user_file}."
1262         echo "See the manual chapter \"Running Bacula\" for details."
1263 fi
1264 HAVE_BACULA=`grep %{director_daemon_user} %{user_file} 2>/dev/null`
1265 if [ -z "$HAVE_BACULA" ]; then
1266         %{useradd} -r -c "Bacula" -d %{working_dir} -g %{daemon_group} -M -s /sbin/nologin %{director_daemon_user} > /dev/null 2>&1
1267         echo "The user %{director_daemon_user} has been added to %{user_file}."
1268         echo "See the manual chapter \"Running Bacula\" for details."
1269 fi
1270 HAVE_BACULA=`grep %{file_daemon_user} %{user_file} 2>/dev/null`
1271 if [ -z "$HAVE_BACULA" ]; then
1272         %{useradd} -r -c "Bacula" -d %{working_dir} -g %{daemon_group} -M -s /sbin/nologin %{file_daemon_user} > /dev/null 2>&1
1273         echo "The user %{file_daemon_user} has been added to %{user_file}."
1274         echo "See the manual chapter \"Running Bacula\" for details."
1275 fi
1276 # now we add the supplementary groups, this is ok to call even if the users already exist
1277 # we only do this if the user is NOT root
1278 IS_ROOT=%{director_daemon_user}
1279 if [ "$IS_ROOT" != "root" ]; then
1280 %{usermod} -G %{daemon_group} %{director_daemon_user}
1281 fi
1282 IS_ROOT=%{storage_daemon_user}
1283 if [ "$IS_ROOT" != "root" ]; then
1284 %{usermod} -G %{daemon_group},%{storage_daemon_group} %{storage_daemon_user}
1285 fi
1286 IS_ROOT=%{file_daemon_user}
1287 if [ "$IS_ROOT" != "root" ]; then
1288 %{usermod} -G %{daemon_group} %{file_daemon_user}
1289 fi
1290 %endif
1291
1292 %if %{mysql}
1293 %post mysql
1294 %endif
1295 %if %{sqlite}
1296 %post sqlite
1297 %endif
1298 %if %{postgresql}
1299 %post postgresql
1300 %endif
1301
1302 %if ! %{client_only}
1303 # add our links
1304 if [ "$1" -ge 1 ] ; then
1305 /sbin/chkconfig --add bacula-dir
1306 /sbin/chkconfig --add bacula-fd
1307 /sbin/chkconfig --add bacula-sd
1308 fi
1309 %endif
1310
1311 %if %{mysql}
1312 # test for an existing database
1313 # note: this ASSUMES no password has been set for bacula database
1314 DB_VER=`mysql 2>/dev/null bacula -e 'select * from Version;'|tail -n 1`
1315
1316 # grant privileges and create tables if they do not exist
1317 if [ -z "$DB_VER" ]; then
1318         echo "Hmm, doesn't look like you have an existing database."
1319         echo "Granting privileges for MySQL user bacula..."
1320         /etc/bacula/grant_mysql_privileges
1321         echo "Creating MySQL bacula database..."
1322         /etc/bacula/create_mysql_database
1323         echo "Creating bacula tables..."
1324         /etc/bacula/make_mysql_tables
1325
1326 # check to see if we need to upgrade a 1.36 or lower database
1327 elif [ "$DB_VER" -lt "9" ]; then
1328         echo "This release requires an upgrade to your bacula database."
1329         echo "Backing up your current database..."
1330         mysqldump -f --opt bacula | bzip2 > %{working_dir}/bacula_backup.sql.bz2
1331         echo "Upgrading bacula database ..."
1332         /etc/bacula/update_mysql_tables
1333         echo "If bacula works correctly you can remove the backup file %{working_dir}/bacula_backup.sql.bz2"
1334
1335 fi
1336 %endif
1337
1338 %if %{sqlite}
1339 # test for an existing database
1340 if [ -s %{working_dir}/bacula.db ]; then
1341         DB_VER=`echo "select * from Version;" | %{sqlite_bindir}/sqlite 2>/dev/null %{working_dir}/bacula.db | tail -n 1`
1342         # check to see if we need to upgrade a 1.36 or lower database
1343         if [ "$DB_VER" -lt "9" ] && [ "$DB_VER" -ge "8" ]; then
1344                 echo "This release requires an upgrade to your bacula database."
1345                 echo "Backing up your current database..."
1346                 echo ".dump" | %{sqlite_bindir}/sqlite %{working_dir}/bacula.db | bzip2 > %{working_dir}/bacula_backup.sql.bz2
1347                 echo "Upgrading bacula database ..."
1348                 /etc/bacula/update_sqlite_tables
1349                 echo "If bacula works correctly you can remove the backup file %{working_dir}/bacula_backup.sql.bz2"
1350         fi
1351 else
1352         # create the database and tables
1353         echo "Hmm, doesn't look like you have an existing database."
1354         echo "Creating SQLite database..."
1355         /etc/bacula/create_sqlite_database
1356         echo "Creating the SQLite tables..."
1357         /etc/bacula/make_sqlite_tables
1358 fi
1359 %endif
1360
1361 %if %{postgresql}
1362 # test for an existing database
1363 # note: this ASSUMES no password has been set for bacula database
1364 DB_VER=`echo 'select * from Version;' | psql bacula 2>/dev/null | tail -3 | head -1`
1365
1366 # grant privileges and create tables if they do not exist
1367 if [ -z "$DB_VER" ]; then
1368         echo "Hmm, doesn't look like you have an existing database."
1369         echo "Creating PostgreSQL bacula database..."
1370         /etc/bacula/create_postgresql_database
1371         echo "Creating bacula tables..."
1372         /etc/bacula/make_postgresql_tables
1373         echo "Granting privileges for PostgreSQL user bacula..."
1374         /etc/bacula/grant_postgresql_privileges
1375
1376 # check to see if we need to upgrade a 1.36 or lower database
1377 elif [ "$DB_VER" -lt "9" ]; then
1378         echo "This release requires an upgrade to your bacula database."
1379         echo "Backing up your current database..."
1380         pg_dump bacula | bzip2 > %{working_dir}/bacula_backup.sql.bz2
1381         echo "Upgrading bacula database ..."
1382         /etc/bacula/update_postgresql_tables
1383         echo "If bacula works correctly you can remove the backup file %{working_dir}/bacula_backup.sql.bz2"
1384         
1385 fi
1386 %endif
1387
1388 %if ! %{client_only}
1389 # generate passwords if needed
1390 if [ -d /etc/bacula ]; then
1391         cd /etc/bacula
1392         for file in *.conf; do
1393                 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
1394                         need_password=`grep $string $file 2>/dev/null`
1395                         if [ -n "$need_password" ]; then
1396                                 pass=`openssl rand -base64 33`
1397                                 sed "s-$string-$pass-g" $file > $file.new
1398                                 cp -f $file.new $file; rm -f $file.new
1399                         fi
1400                 done
1401         done
1402 fi
1403 %endif
1404
1405 %if %{mysql}
1406 %preun mysql
1407 %endif
1408 %if %{sqlite}
1409 %preun sqlite
1410 %endif
1411 %if %{postgresql}
1412 %preun postgresql
1413 %endif
1414
1415 %if ! %{client_only}
1416 # delete our links
1417 if [ $1 = 0 ]; then
1418 /sbin/chkconfig --del bacula-dir
1419 /sbin/chkconfig --del bacula-fd
1420 /sbin/chkconfig --del bacula-sd
1421 fi
1422 %endif
1423
1424
1425 %if ! %{client_only}
1426 %files mtx
1427 %attr(-, root, %{storage_daemon_group}) /usr/sbin/loaderinfo
1428 %attr(-, root, %{storage_daemon_group}) /usr/sbin/mtx
1429 %attr(-, root, %{storage_daemon_group}) /usr/sbin/scsitape
1430 %attr(-, root, %{storage_daemon_group}) /usr/sbin/tapeinfo
1431 /usr/man/man1/*
1432 %endif
1433
1434
1435 %files client
1436 %defattr(-,root,root)
1437 %attr(-, root, %{daemon_group}) %dir /etc/bacula
1438 %attr(-, root, %{daemon_group}) /etc/bacula/bconsole
1439 /etc/bacula/bacula-ctl-fd
1440 /etc/init.d/bacula-fd
1441 %attr(-, root, %{daemon_group}) /etc/bacula/rescue
1442
1443 %doc COPYING ChangeLog ReleaseNotes VERIFYING kernstodo 
1444 %doc %{_docsrc}/manual/bacula.pdf %{_docsrc}/developers/developers.pdf %{_docsrc}/manual/bacula ../Release_Notes-%{version}-%{release}.txt
1445
1446 /etc/logrotate.d/bacula
1447
1448 %attr(-, root, %{daemon_group}) %config(noreplace) /etc/bacula/bacula-fd.conf
1449 %attr(-, root, %{daemon_group}) %config(noreplace) /etc/bacula/bconsole.conf
1450 %attr(-, root, %{daemon_group}) %dir %{working_dir}
1451
1452 /usr/sbin/bacula-fd
1453 /usr/sbin/btraceback
1454 %attr(-, root, %{daemon_group}) /etc/bacula/btraceback.gdb
1455 %attr(-, root, %{daemon_group}) /etc/bacula/btraceback.dbx
1456 /usr/sbin/bconsole
1457
1458
1459 %pre client
1460 # create the daemon group and user
1461 HAVE_BACULA=`grep %{daemon_group} %{group_file} 2>/dev/null`
1462 if [ -z "$HAVE_BACULA" ]; then
1463         %{groupadd} -r %{daemon_group} > /dev/null 2>&1
1464         echo "The group %{daemon_group} has been added to %{group_file}."
1465         echo "See the manual chapter \"Running Bacula\" for details."
1466 fi
1467 # we do not use the -g option allowing the primary group to be set to system default
1468 # this will be a unique group on redhat type systems or the group users on some systems
1469 HAVE_BACULA=`grep %{file_daemon_user} %{user_file} 2>/dev/null`
1470 if [ -z "$HAVE_BACULA" ]; then
1471         %{useradd} -r -c "Bacula" -d %{working_dir} -g %{daemon_group} -M -s /sbin/nologin %{file_daemon_user} > /dev/null 2>&1
1472         echo "The user %{file_daemon_user} has been added to %{user_file}."
1473         echo "See the manual chapter \"Running Bacula\" for details."
1474 fi
1475 # now we add the supplementary group, this is ok to call even if the user already exists
1476 # we only do this if the user is NOT root
1477 IS_ROOT=%{file_daemon_user}
1478 if [ "$IS_ROOT" != "root" ]; then
1479 %{usermod} -G %{daemon_group} %{file_daemon_user}
1480 fi
1481
1482 %post client
1483 # add our link
1484 if [ "$1" -ge 1 ] ; then
1485 /sbin/chkconfig --add bacula-fd
1486 fi
1487
1488 # generate passwords if needed
1489 if [ -d /etc/bacula ]; then
1490         cd /etc/bacula
1491         for file in *.conf; do
1492                 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
1493                         need_password=`grep $string $file 2>/dev/null`
1494                         if [ -n "$need_password" ]; then
1495                                 pass=`openssl rand -base64 33`
1496                                 sed "s-$string-$pass-g" $file > $file.new
1497                                 cp -f $file.new $file; rm -f $file.new
1498                         fi
1499                 done
1500         done
1501 fi
1502
1503 %preun client
1504 # delete our link
1505 if [ $1 = 0 ]; then
1506 /sbin/chkconfig --del bacula-fd
1507 fi
1508
1509 %if ! %{client_only}
1510 %files updatedb
1511 %defattr(-,root,%{daemon_group})
1512 /etc/bacula/updatedb/*
1513
1514 %pre updatedb
1515 # create the daemon group
1516 HAVE_BACULA=`grep %{daemon_group} %{group_file} 2>/dev/null`
1517 if [ -z "$HAVE_BACULA" ]; then
1518         %{groupadd} -r %{daemon_group} > /dev/null 2>&1
1519         echo "The group %{daemon_group} has been added to %{group_file}."
1520         echo "See the manual chapter \"Running Bacula\" for details."
1521 fi
1522
1523 %post updatedb
1524 echo "The database update scripts were installed to /etc/bacula/updatedb"
1525 %endif
1526
1527 %if %{gconsole}
1528 %files gconsole
1529 %defattr(-,root,root)
1530 /usr/sbin/gnome-console
1531 %attr(-, root, %{daemon_group}) %dir /etc/bacula
1532 %attr(-, root, %{daemon_group}) /etc/bacula/gconsole
1533 %attr(-, root, %{daemon_group}) %config(noreplace) /etc/bacula/gnome-console.conf
1534 /usr/share/pixmaps/bacula.png
1535 /usr/share/applications/bacula.desktop
1536 %endif
1537
1538 %if %{gconsole} && ! %{rh8}
1539 /usr/sbin/bacula-tray-monitor
1540 %config(noreplace) /etc/bacula/tray-monitor.conf
1541 /usr/share/pixmaps/bacula-tray-monitor.xpm
1542 /usr/share/applications/bacula-tray-monitor.desktop
1543 %endif
1544
1545 %if %{gconsole} && ! %{su9} && ! %{su10}
1546 # add the console helper files
1547 %config(noreplace,missingok) /etc/pam.d/gnome-console
1548 %config(noreplace,missingok) /etc/security/console.apps/gnome-console
1549 /usr/bin/gnome-console
1550 %endif
1551
1552 %if %{gconsole}
1553 %pre gconsole
1554 # create the daemon group
1555 HAVE_BACULA=`grep %{daemon_group} %{group_file} 2>/dev/null`
1556 if [ -z "$HAVE_BACULA" ]; then
1557         %{groupadd} -r %{daemon_group} > /dev/null 2>&1
1558         echo "The group %{daemon_group} has been added to %{group_file}."
1559         echo "See the manual chapter \"Running Bacula\" for details."
1560 fi
1561
1562 %post gconsole
1563 # generate passwords if needed
1564 if [ -d /etc/bacula ]; then
1565         cd /etc/bacula
1566         for file in *.conf; do
1567                 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
1568                         need_password=`grep $string $file 2>/dev/null`
1569                         if [ -n "$need_password" ]; then
1570                                 pass=`openssl rand -base64 33`
1571                                 sed "s-$string-$pass-g" $file > $file.new
1572                                 cp -f $file.new $file; rm -f $file.new
1573                         fi
1574                 done
1575         done
1576 fi
1577 %endif
1578
1579 %if %{wxconsole}
1580 %files wxconsole
1581 %defattr(-,root,root)
1582 /usr/sbin/wxconsole
1583 %attr(-, root, %{daemon_group}) %dir /etc/bacula
1584 %attr(-, root, %{daemon_group}) %config(noreplace) /etc/bacula/wxconsole.conf
1585 /usr/share/pixmaps/wxwin16x16.xpm
1586 /usr/share/applications/wxconsole.desktop
1587 %endif
1588
1589 %if %{wxconsole} && ! %{su9} && ! %{su10}
1590 # add the console helper files
1591 %config(noreplace,missingok) /etc/pam.d/wxconsole
1592 %config(noreplace,missingok) /etc/security/console.apps/wxconsole
1593 /usr/bin/wxconsole
1594 %endif
1595
1596 %if %{wxconsole}
1597 %pre wxconsole
1598 # create the daemon group
1599 HAVE_BACULA=`grep %{daemon_group} %{group_file} 2>/dev/null`
1600 if [ -z "$HAVE_BACULA" ]; then
1601         %{groupadd} -r %{daemon_group} > /dev/null 2>&1
1602         echo "The group %{daemon_group} has been added to %{group_file}."
1603         echo "See the manual chapter \"Running Bacula\" for details."
1604 fi
1605
1606 %post wxconsole
1607 # generate passwords if needed
1608 if [ -d /etc/bacula ]; then
1609         cd /etc/bacula
1610         for file in *.conf; do
1611                 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
1612                         need_password=`grep $string $file 2>/dev/null`
1613                         if [ -n "$need_password" ]; then
1614                                 pass=`openssl rand -base64 33`
1615                                 sed "s-$string-$pass-g" $file > $file.new
1616                                 cp -f $file.new $file; rm -f $file.new
1617                         fi
1618                 done
1619         done
1620 fi
1621 %endif
1622
1623 %changelog
1624 * Sat Jul 15 2006 D. Scott Barninger <barninger@fairfieldcomputers.com>
1625 - add provides and conflicts for standard suse packages
1626 - add third party packager tag support
1627 - add build_client_only tag
1628 - remove bsmtp from client package
1629 - add bacula-ctl-fd to client package
1630 * Thu Jul 13 2006 D. Scott Barninger <barninger@fairfieldcomputers.com>
1631 - fix directory creation when wxconsole and not gconsole
1632 * Tue Jul 04 2006 D. Scott Barninger <barninger@fairfieldcomputers.com>
1633 - add check to buildrequires to make sure libstdc++ version matches gcc
1634 * Mon Jul 03 2006 D. Scott Barninger <barninger@fairfieldcomputers.com>
1635 - add python build support
1636 - fix LDFLAGS declarations
1637 * Sun Jul 02 2006 D. Scott Barninger <barninger@fairfieldcomputers.com>
1638 - add requires for standard compiler toolchain
1639 - move version and release tags up
1640 - move patches up
1641 - add docs_version tag
1642 * Sat Jul 01 2006 D. Scott Barninger <barninger@fairfieldcomputers.com>
1643 - update rescuever to 1.8.6
1644 * Sun Jun 25 2006 D. Scott Barninger <barninger@fairfieldcomputers.com>
1645 - update depkgs to 25Jun06
1646 - add mysql5 build tag
1647 * Mon Jun 12 2006 D. Scott Barninger <barninger@fairfieldcomputers.com>
1648 - 1.38.10 bump rescue version
1649 * Sun Jun 03 2006 D. Scott Barninger <barninger@fairfieldcomputers.com>
1650 - fix usermod statements
1651 - add fc5 target
1652 * Thu Apr 27 2006 D. Scott Barninger <barninger@fairfieldcomputers.com>
1653 - add -g param back to useradd statements Bug 605
1654 * Mon Apr 17 2006 D. Scott Barninger <barninger@fairfieldcomputers.com>
1655 - redundant code cleanup
1656 * Sun Apr 16 2006 D. Scott Barninger <barninger@fairfieldcomputers.com>
1657 - add wxconsole package
1658 * Fri Apr 14 2006 D. Scott Barninger <barninger@fairfieldcomputers.com>
1659 - 1.38.8 release
1660 - dependency update for Mandriva
1661 * Sun Apr 08 2006 D. Scott Barninger <barninger@fairfieldcomputers.com>
1662 - 1.38.7 release
1663 - remove -n option from useradd scripts
1664 * Sun Apr 02 2006 D. Scott Barninger <barninger@fairfieldcomputers.com>
1665 - 1.38.6 release
1666 - fix problem specifying more than one primary group for user bacula
1667 - add build switch to not build gconsole regardless of platform
1668 * Sun Jan 29 2006 D. Scott Barninger <barninger@fairfieldcomputers.com>
1669 - add centos3 build tag
1670 - fix link error of static-fd on Mandrake with --disable-nls
1671 * Fri Jan 27 2006 D. Scott Barninger <barninger@fairfieldcomputers.com>
1672 - add fc4 dependencies
1673 * Mon Jan 23 2006 D. Scott Barninger <barninger@fairfieldcomputers.com>
1674 - add SuSE 10.0 build
1675 - remove specific permission in attrib macros
1676 * Sat Jan 21 2006 D. Scott Barninger <barninger@fairfieldcomputers.com>
1677 - 1.38.5 release
1678 - fix usermode required on suse, suse doesn't have usermode (xsu instead)
1679 - refix compat for _dist on SLES9 which seems to have been removed
1680 - added note regarding Aleksandar's use of specific permissions in attrib macros
1681 - need to review and add specific fc4 build currently using fc3 Requires
1682 * Wed Dec 14 2005 Aleksandar Milivojevic <alex@milivojevic.org>
1683 - 1.38.2 release
1684 - Reorganize files and pre/post sections to remove repetitions
1685 - Always build separate mtx package
1686 - Fix file ownerships for /etc/bacula and Bacula's working dir
1687 * Wed Nov 23 2005 Aleksandar Milivojevic <alex@milivojevic.org>
1688 - Disable GNOME on RH7
1689 * Fri Nov 18 2005 Aleksandar Milivojevic <alex@milivojevic.org>
1690 - Red Hat and look alikes have mtx RPM, do not build/package our version
1691 * Sun Nov 13 2005 D. Scott Barninger <barninger@fairfieldcomputers.com>
1692 - minor edit to _dist for SLES9 compatibility
1693 * Sat Nov 05 2005 D. Scott Barninger <barninger@fairfieldcomputers.com>
1694 - 1.38.0 release
1695 - kern changed location of pdf files and html manual in docs package
1696 * Sun Oct 30 2005 D. Scott Barninger <barninger@fairfieldcomputers.com>
1697 - 1.38.0 release
1698 - add docs (from prebuilt tarball) and rescue packages back in
1699 - remove dvd-freespace and dvd-writepart files, add dvd-handler
1700 - remove 3 of 4 sqlite script patches as not needed
1701 * Sun Jul 24 2005 D. Scott Barninger <barninger@fairfieldcomputers.com>
1702 - changes for 1.38
1703 - remove docs and rescue sections (remove static fd)
1704 - add dvd-freespace and dvd-writepart files
1705 - update depkgs to 22Jun05
1706 - change database update to 8 to 9
1707 * Sun Jul 24 2005 D. Scott Barninger <barninger@fairfieldcomputers.com>
1708 - minor cleanups before 1.38 changes
1709 - add popt and popt-devel build dependencies
1710 - add tetex and tetex-dvips dependencies for doc build
1711 - replace deprecated Copyright tag with License
1712 * Sat May 07 2005 D. Scott Barninger <barninger@fairfieldcomputers.com>
1713 - move sqlite installation bindir to /usr/lib/bacula/sqlite and remove
1714 - conflict with sqlite packages. remove readline dependency.
1715 * Sun Apr 17 2005 D. Scott Barninger <barninger@fairfieldcomputers.com>
1716 - release 1.36.3 update docs
1717 * Tue Apr 05 2005 D. Scott Barninger <barninger@fairfieldcomputers.com>
1718 - add centos4 build tag
1719 - add x86_64 build tag
1720 * Sun Apr 03 2005 D. Scott Barninger <barninger@fairfieldcomputers.com>
1721 - add rhel4 build tag
1722 - clean up for mysql4 which is now mdk-10.1, suse-9.2 and rhel4
1723 * Sun Mar 06 2005 D. Scott Barninger <barninger@fairfieldcomputers.com>
1724 - add rhel3 build tag
1725 * Tue Mar 01 2005 D. Scott Barninger <barninger@fairfieldcomputers.com>
1726 - fix tray-monitor.conf for noreplace
1727 * Mon Feb 28 2005 D. Scott Barninger <barninger@fairfieldcomputers.com>
1728 - fix distribution check for Fedora and Whitebox
1729 * Sun Feb 06 2005 D. Scott Barninger <barninger@fairfieldcomputers.com>
1730 - add logwatch script
1731 - add dvd scripts
1732 * Sat Jan 15 2005 D. Scott Barninger <barninger@fairfieldcomputers.com>
1733 - add build for Fedora Core 3 (linc now included in ORDit2)
1734 - add mysql4 define for Mandrake 10.1
1735 * Fri Jan 14 2005 D. Scott Barninger <barninger@fairfieldcomputers.com>
1736 - fix {group_file} variable in post scripts
1737 * Thu Dec 30 2004 D. Scott Barninger <barninger@fairfieldcomputers.com>
1738 - add distribution checking and custom Distribution tag
1739 * Thu Dec 09 2004 D. Scott Barninger <barninger at fairfieldcomputers.com>
1740 - ASSIGNMENT OF COPYRIGHT
1741 - FOR VALUE RECEIVED, D. Scott Barninger hereby sells, transfers and 
1742 - assigns unto Kern Sibbald, his successors, assigns and personal representatives, 
1743 - all right, title and interest in and to the copyright in this software RPM
1744 - spec file. D. Scott Barninger warrants good title to said copyright, that it is 
1745 - free of all liens, encumbrances or any known claims against said copyright.
1746 * Sat Dec 04 2004 D. Scott Barninger <barninger at fairfieldcomputers.com>
1747 - bug 183 fixes
1748 - thanks to Daniel Widyono
1749 - update description for rescue package to describe cdrom creation
1750 * Thu Nov 18 2004 D. Scott Barninger <barninger at fairfieldcomputers.com>
1751 - update depkgs to 29Oct04
1752 * Fri Nov 12 2004 D. Scott Barninger <barninger at fairfieldcomputers.com>
1753 - add cdrom rescue to bacula-rescue package
1754 * Sun Oct 31 2004 D. Scott Barninger <barninger at fairfieldcomputers.com>
1755 - misc fixes from 1.36.0 suse feedback
1756 - fix situation where sqlite database exists but sqlite has been removed.
1757 * Fri Oct 22 2004 D. Scott Barninger <barninger at fairfieldcomputers.com>
1758 - remove tray-monitor from RH8 build
1759 - fix permissions on tray-monitor files
1760 * Wed Oct 13 2004 D. Scott Barninger <barninger at fairfieldcomputers.com>
1761 - add Mandrake support and tray-monitor, misc changes for 1.35.8/1.36.0,
1762 - change database update to 7 to 8 upgrade,
1763 - revert depkgs to 08Mar04 as there seems to be a bug in the sqlite
1764 - build in 30Jul04, add freetype dependancy to gnome package.
1765 * Sun Sep 12 2004 D. Scott Barninger <barninger at fairfieldcomputers.com>
1766 - add documentation to console for groupadd
1767 * Sat Sep 04 2004 D. Scott Barninger <barninger at fairfieldcomputers.com>
1768 - add support for running daemons as root.bacula
1769 - correct for change in location of floppy rescue files in 1.35.2
1770 - removed /etc/bacula/fd script from all packages as it has disappeared from 1.35.2
1771 - updated depgkgs to 30Jul04
1772 * Thu Jun 24 2004 D. Scott Barninger <barninger at fairfieldcomputers.com>
1773 - really, really fix symlink creation for gconsole
1774 * Thu Jun 17 2004 D. Scott Barninger <barninger at fairfieldcomputers.com>
1775 - fix symlink creation in gconsole post install
1776 * Sat Jun 12 2004 D. Scott Barninger <barninger at fairfieldcomputers.com>
1777 - fixed error in gconsole post script
1778 * Fri Apr 30 2004 D. Scott Barninger <barninger at fairfieldcomputers.com>
1779 - add check for gconsole symlink before trying to create it
1780 * Sun Apr 11 2004 D. Scott Barninger <barninger at fairfieldcomputers.com>
1781 - fix some minor permissions issues on doc files that CVS won't let us fix
1782 * Sun Apr 04 2004 D. Scott Barninger <barninger at fairfieldcomputers.com>
1783 - add pkgconfig to BuildRequires
1784 - clean up gnome1/2 menu entries for appropriate packages
1785 * Fri Apr 02 2004 D. Scott Barninger <barninger at fairfieldcomputers.com>
1786 - tightened up doc distribution
1787 * Tue Mar 30 2004 D. Scott Barninger <barninger at fairfieldcomputers.com>
1788 - added usermode (Redhat) and xsu (SuSE) support for gnome-console;
1789 - rpm's horrible bug that prevents nested conditional macros prevents me
1790 - from implementing these 2 separate approaches within the conditionals which
1791 - create the separate server packages.
1792 - the solution adopted is to remove the gnome-console files from the server packages
1793 - so bacula-gconsole is now an add on for both client and server packages.
1794 - this also now allows the server packages to be install on machines without
1795 - an X-server and we can still maintain a single spec file.
1796 - added tests to make sure we have defined platform and database macros.
1797 * Sat Mar 13 2004 D. Scott Barninger <barninger at fairfieldcomputers.com>
1798 - corrected mysql prerequisites for suse
1799 * Mon Mar 1 2004 D. Scott Barninger <barninger at fairfieldcomputers.com>
1800 - replaced all cp commands with cp -p
1801 - removed addition of a+x permissions on gnome-console
1802 - corrected permissions on init scripts
1803 * Sat Feb 28 2004 D. Scott Barninger <barninger at fairfieldcomputers.com>
1804 - corrected creation of sqlite_bindir in install from !mysql to sqlite
1805 -
1806 - various cleanup patches from Michael K. Johnson:
1807 - corrected post install routines for nicer chkconfig
1808 - removed chmod changes in post routines and moved to install section
1809 - removed interactive nature of post routine for rescue package
1810 - added description of building rescue disks to the description of rescue package
1811 - added clean of build root to beginning of install
1812 - removed specifying attr in all file lists
1813 * Fri Feb 20 2004 D. Scott Barninger <barninger at fairfieldcomputers.com>
1814 - added bconsole to client package
1815 - added gconsole package as add-on to client
1816 - removed spurious dependancies on updatedb package (!cut/paste)
1817 * Thu Feb 19 2004 D. Scott Barninger <barninger at fairfieldcomputers.com>
1818 - added updatedb package
1819 * Thu Feb 12 2004 D. Scott Barninger <barninger at fairfieldcomputers.com>
1820 - added postgresql package
1821 * Wed Feb 11 2004 D. Scott Barninger <barninger at fairfieldcomputers.com>
1822 - corrected the if else logic in the dependancy sections
1823 - changes for 1.34 release
1824 - /etc/bacula/console is now /etc/bacula/bconsole
1825 - /etc/bacula/console.conf is now /etc/bacula/bconsole.conf
1826 - /usr/sbin/btraceback.gdb is now /etc/bacula/btraceback.gdb
1827 - /usr/sbin/smtp is now /usr/sbin/bsmtp
1828 - added new /etc/bacula/drop_mysql_database
1829 - added new /etc/bacula/drop_sqlite_database
1830 - added new /etc/bacula/grant_sqlite_privileges
1831 - added new generic bacula database scripts in /etc/bacula
1832 - added pre-install sections to check for database versions older than 6
1833 - added check for /etc/bacula/console.conf and copy to bconsole.conf
1834 * Sun Feb 08 2004 D. Scott Barninger <barninger at fairfieldcomputers.com>
1835 - added /etc/bacula/update_sqlite_tables and /etc/bacula/update_mysql_tables for 1.34 release
1836 - added testing for existing databases before executing any of the database creation scripts
1837 - added defines working_dir and sqlite_bindir in place of hard coded paths
1838 * Sat Jan 31 2004 D. Scott Barninger <barninger at fairfieldcomputers.com>
1839 - added build configuration for SuSE.
1840 - Thanks to Matt Vollmar <matt at panamschool.edu.sv> for his input
1841 * Sat Jan 24 2004 D. Scott Barninger <barninger at fairfieldcomputers.com>
1842 - added patch for create_sqlite_database to fix the installed bindir
1843 - added execute of create_sqlite_database to post of sqlite package
1844 * Sat Jan 10 2004 D. Scott Barninger <barninger at fairfieldcomputers.com>
1845 - added virtual package Provides bacula-dir, bacula-sd, bacula-fd
1846 - added bacula-fd as Requires for rescue package
1847 - added build tag for Fedora Core 1
1848 - cleaned up dependancies for all builds
1849 * Thu Jan 1 2004 D. Scott Barninger <barninger at fairfieldcomputers.com>
1850 - removed rh_version from package names
1851 - added platform build configuration section to beginning of file
1852 * Tue Nov 25 2003 D. Scott Barninger <barninger at fairfieldcomputers.com>
1853 - removed make_static_bacula script from rescue package install
1854 * Sun Nov 23 2003 D. Scott Barninger <barninger at fairfieldcomputers.com>
1855 - Added define at top of file for depkgs version
1856 - Added rescue sub-package
1857 - Moved requires statements into proper sub-package locations
1858 * Mon Oct 27 2003 D. Scott Barninger <barninger at fairfieldcomputers.com>
1859 - Corrected Requires for Gnome 1.4/2.0 builds
1860 * Fri Oct 24 2003 D. Scott Barninger <barninger at fairfieldcomputers.com>
1861 - Added separate source declaration for depkgs
1862 - added patch for make_catalog_backup script
1863 * Mon May 11 2003 D. Scott Barninger <barninger at fairfieldcomputers.com>
1864 - Misc changes to mysql/sqlite build and rh7/8 menu differences
1865 - Added rh_version to sub-package names
1866 - Added installed but missing file /etc/bacula/gconsole
1867 - rm'd /etc/bacula/grant_mysql_privileges on sqlite builds
1868 * Thu May 08 2003 Kern Sibbald <kern at sibbald.com>
1869 - Update spec for version 1.31 and combine client
1870 * Sun Mar 30 2003 D. Scott Barninger <barninger at fairfieldcomputers.com>
1871 - Initial spec file