1 # Platform Build Configuration
3 # basic defines for every build
4 %define depkgs ../depkgs
5 %define depkgs_version 29Oct04
6 %define tomsrtbt tomsrtbt-2.0.103
7 %define sqlite_bindir /usr/lib/sqlite
8 %define working_dir /var/bacula
9 %define daemon_user root
10 %define daemon_group bacula
11 %define group_file /etc/group
12 %define groupadd /usr/sbin/groupadd
14 # platform defines - set one below or define the build_xxx on the command line
17 %{?build_rh7:%define rh7 1}
19 %{?build_rh8:%define rh8 1}
21 %{?build_rh9:%define rh9 1}
24 %{?build_fc1:%define fc1 1}
25 # Whitebox Enterprise build
26 # this should also work for RHEL
28 %{?build_wb3:%define wb3 1}
30 # this is known to build on SuSE 8.2 and 9.0
32 %{?build_su9:%define su9 1}
35 %{?build_mdk:%define mdk 1}
37 # test for a platform definition
38 %if ! %{rh7} && ! %{rh8} && ! %{rh9} && ! %{fc1} && ! %{wb3} && ! %{su9} && ! %{mdk}
39 %{error: You must specify a platform. Please examine the spec file.}
44 # set for database support desired or define the build_xxx on the command line
46 %{?build_mysql:%define mysql 1}
48 %{?build_sqlite:%define sqlite 1}
50 %{?build_postgresql:%define postgresql 1}
52 # test for a database definition
53 %if ! %{mysql} && ! %{sqlite} && ! %{postgresql}
54 %{error: You must specify database support. Please examine the spec file.}
58 Summary: Bacula - The Network Backup Solution
62 Group: System Environment/Daemons
64 Source0:http://www.prdownloads.sourceforge.net/bacula/%{name}-%{version}.tar.gz
65 Source1:http://www.prdownloads.sourceforge.net/bacula/depkgs-%{depkgs_version}.tar.gz
66 Source2:http://www.tux.org/pub/distributions/tinylinux/tomsrtbt/%{tomsrtbt}.tar.gz
67 Source3: Release_Notes-%{version}-%{release}.tar.gz
68 BuildRoot: %{_tmppath}/%{name}-root
69 URL: http://www.bacula.org/
70 Vendor: The Bacula Team
71 Distribution: The Bacula Team
72 Packager: D. Scott Barninger <barninger@fairfieldcomputers.com>
73 BuildRequires: readline-devel, atk-devel, ncurses-devel, pango-devel
74 BuildRequires: libstdc++-devel, libxml2-devel, zlib-devel, pkgconfig
76 BuildRequires: libtermcap-devel
77 BuildRequires: gtk+-devel >= 1.2
78 BuildRequires: gnome-libs-devel >= 1.4
79 BuildRequires: glibc-devel >= 2.2
80 BuildRequires: ORBit-devel
81 BuildRequires: bonobo-devel
82 BuildRequires: GConf-devel
83 BuildRequires: freetype-devel
86 BuildRequires: termcap
87 BuildRequires: libgnome >= 2.0
88 BuildRequires: gtk2-devel >= 2.0
89 BuildRequires: libgnomeui-devel >= 2.0
90 BuildRequires: glibc-devel >= 2.3
91 BuildRequires: ORBit2-devel
92 BuildRequires: libart_lgpl-devel >= 2.0
93 BuildRequires: libbonobo-devel >= 2.0
94 BuildRequires: libbonoboui-devel >= 2.0
95 BuildRequires: bonobo-activation-devel
96 BuildRequires: gconf2-devel
97 BuildRequires: linc-devel
98 BuildRequires: freetype2-devel
101 BuildRequires: libtermcap-devel
102 BuildRequires: gtk2-devel >= 2.0
103 BuildRequires: libgnomeui2-devel >= 2.0
104 BuildRequires: glibc-devel >= 2.3
105 BuildRequires: libORBit2-devel
106 BuildRequires: libart_lgpl-devel >= 2.0
107 BuildRequires: libbonobo2_0-devel
108 BuildRequires: libbonoboui2_0-devel
109 BuildRequires: libbonobo-activation-devel
110 BuildRequires: libGConf2-devel
111 BuildRequires: libstdc++-static-devel
112 BuildRequires: glibc-static-devel
113 BuildRequires: freetype2-devel
115 %if ! %{rh7} && ! %{su9} && ! %{mdk}
116 BuildRequires: libtermcap-devel
117 BuildRequires: gtk2-devel >= 2.0
118 BuildRequires: libgnomeui-devel >= 2.0
119 BuildRequires: glibc-devel >= 2.3
120 BuildRequires: ORBit2-devel
121 BuildRequires: libart_lgpl-devel >= 2.0
122 BuildRequires: libbonobo-devel >= 2.0
123 BuildRequires: libbonoboui-devel >= 2.0
124 BuildRequires: bonobo-activation-devel
125 BuildRequires: GConf2-devel
126 BuildRequires: linc-devel
127 BuildRequires: freetype-devel
131 BuildRequires: mysql-devel >= 3.23
134 %if %{postgresql} && %{wb3}
135 BuildRequires: rh-postgresql-devel >= 7
138 %if %{postgresql} && ! %{wb3}
139 BuildRequires: postgresql-devel >= 7
143 Bacula - It comes by night and sucks the vital essence from your computers.
145 Bacula is a set of computer programs that permit you (or the system
146 administrator) to manage backup, recovery, and verification of computer
147 data across a network of computers of different kinds. In technical terms,
148 it is a network client/server based backup program. Bacula is relatively
149 easy to use and efficient, while offering many advanced storage management
150 features that make it easy to find and recover lost or damaged files.
151 Bacula source code has been released under the GPL version 2 license.
163 Summary: Bacula - The Network Backup Solution
164 Group: System Environment/Daemons
165 Provides: bacula-dir, bacula-sd, bacula-fd, bacula-server
166 Conflicts: bacula-client
167 Requires: readline, ncurses, libstdc++, zlib
169 Conflicts: sqlite, sqlite-tools
172 Requires: glibc >= 2.2
176 Requires: glibc >= 2.3
179 %if ! %{rh7} && ! %{su9}
180 Requires: glibc >= 2.3
183 %if %{mysql} && ! %{su9} && ! %{mdk}
184 Requires: mysql >= 3.23
185 Requires: mysql-server >= 3.23
187 %if %{mysql} && %{su9}
188 Requires: mysql >= 3.23
189 Requires: mysql-client >= 3.23
191 %if %{mysql} && %{mdk}
192 Requires: mysql >= 3.23
193 Requires: mysql-client >= 3.23
195 %if %{postgresql} && %{wb3}
196 Requires: rh-postgresql >= 7
197 Requires: rh-postgresql-server >= 7
199 %if %{postgresql} && ! %{wb3}
200 Requires: postgresql >= 7
201 Requires: postgresql-server >= 7
211 %description postgresql
214 Bacula - It comes by night and sucks the vital essence from your computers.
216 Bacula is a set of computer programs that permit you (or the system
217 administrator) to manage backup, recovery, and verification of computer
218 data across a network of computers of different kinds. In technical terms,
219 it is a network client/server based backup program. Bacula is relatively
220 easy to use and efficient, while offering many advanced storage management
221 features that make it easy to find and recover lost or damaged files.
222 Bacula source code has been released under the GPL version 2 license.
225 This build requires MySQL to be installed separately as the catalog database.
228 This build requires PostgreSQL to be installed separately as the catalog database.
231 This build incorporates sqlite as the catalog database, statically compiled.
235 Summary: Bacula - The Network Backup Solution
236 Group: System Environment/Daemons
238 Requires: readline, libstdc++, zlib
241 Requires: glibc >= 2.2
245 Requires: glibc >= 2.3
248 %if ! %{rh7} && ! %{su9}
249 Requires: glibc >= 2.3
254 Bacula - It comes by night and sucks the vital essence from your computers.
256 Bacula is a set of computer programs that permit you (or the system
257 administrator) to manage backup, recovery, and verification of computer
258 data across a network of computers of different kinds. In technical terms,
259 it is a network client/server based backup program. Bacula is relatively
260 easy to use and efficient, while offering many advanced storage management
261 features that make it easy to find and recover lost or damaged files.
262 Bacula source code has been released under the GPL version 2 license.
264 This is the File daemon (Client) only package. It includes the command line
269 Summary: Bacula - The Network Backup Solution
270 Group: System Environment/Daemons
271 Requires: coreutils, util-linux, bacula-fd, cdrecord, mkisofs, make
274 Bacula - It comes by night and sucks the vital essence from your computers.
276 Bacula is a set of computer programs that permit you (or the system
277 administrator) to manage backup, recovery, and verification of computer
278 data across a network of computers of different kinds. In technical terms,
279 it is a network client/server based backup program. Bacula is relatively
280 easy to use and efficient, while offering many advanced storage management
281 features that make it easy to find and recover lost or damaged files.
282 Bacula source code has been released under the GPL version 2 license.
284 This package installs scripts for disaster recovery and builds rescue
285 floppy disks for bare metal recovery. This package includes tomsrtbt
286 (http://www.toms.net/rb/, by Tom Oehser, Tom@Toms.NET) to provide a tool
287 to build a boot floppy disk.
289 You need to have the bacula-sqlite, bacula-mysql, bacula-postgresql or
290 bacula-client package for your platform installed and configured before
291 installing this package.
293 To create a boot disk run "./getdiskinfo" from the /etc/bacula/rescue
294 directory (this is done when the package is first installed),
295 then run "./install.s" from the /etc/bacula/rescue/tomsrtbt/
296 directory. To make the bacula rescue disk run
297 "./make_rescue_disk --copy-static-bacula --copy-etc-files"
298 from the /etc/bacula/rescue directory. To recreate the rescue
299 information for this system run ./getdiskinfo again.
303 Summary: Bacula - The Network Backup Solution
304 Group: System Environment/Daemons
306 %description updatedb
307 Bacula - It comes by night and sucks the vital essence from your computers.
309 Bacula is a set of computer programs that permit you (or the system
310 administrator) to manage backup, recovery, and verification of computer
311 data across a network of computers of different kinds. In technical terms,
312 it is a network client/server based backup program. Bacula is relatively
313 easy to use and efficient, while offering many advanced storage management
314 features that make it easy to find and recover lost or damaged files.
315 Bacula source code has been released under the GPL version 2 license.
317 This package installs scripts for updating older versions of the bacula
321 Summary: Bacula - The Network Backup Solution
322 Group: System Environment/Daemons
323 Requires: readline, atk, libstdc++, zlib, pango, libxml2, bacula-fd
326 Requires: gtk+ >= 1.2
327 Requires: gnome-libs >= 1.4
328 Requires: glibc >= 2.2
335 Requires: gtk2 >= 2.0
336 Requires: libgnome >= 2.0
337 Requires: libgnomeui >= 2.0
338 Requires: glibc >= 2.3
340 Requires: libart_lgpl >= 2.0
341 Requires: libbonobo >= 2.0
342 Requires: libbonoboui >= 2.0
343 Requires: bonobo-activation
349 Requires: gtk2 >= 2.0
350 Requires: libgnomeui2
351 Requires: glibc >= 2.3
353 Requires: libart_lgpl >= 2.0
354 Requires: libbonobo >= 2.0
355 Requires: libbonoboui >= 2.0
359 %if ! %{rh7} && ! %{su9} && ! %{mdk}
360 Requires: gtk2 >= 2.0
361 Requires: libgnomeui >= 2.0
362 Requires: glibc >= 2.3
364 Requires: libart_lgpl >= 2.0
365 Requires: libbonobo >= 2.0
366 Requires: libbonoboui >= 2.0
367 Requires: bonobo-activation
378 %description gconsole
379 Bacula - It comes by night and sucks the vital essence from your computers.
381 Bacula is a set of computer programs that permit you (or the system
382 administrator) to manage backup, recovery, and verification of computer
383 data across a network of computers of different kinds. In technical terms,
384 it is a network client/server based backup program. Bacula is relatively
385 easy to use and efficient, while offering many advanced storage management
386 features that make it easy to find and recover lost or damaged files.
387 Bacula source code has been released under the GPL version 2 license.
389 This is the Gnome Console package. It is an add-on to the client or
402 export LDFLAGS="-L/usr/lib/termcap"
413 # patches for the bundled sqlite scripts
415 # patch the make_sqlite_tables script for installation bindir
416 patch src/cats/make_sqlite_tables.in src/cats/make_sqlite_tables.in.patch
418 # patch the create_sqlite_database script for installation bindir
419 patch src/cats/create_sqlite_database.in src/cats/create_sqlite_database.in.patch
421 # patch the make_catalog_backup script for installation bindir
422 patch src/cats/make_catalog_backup.in src/cats/make_catalog_backup.in.patch
424 # patch the update_sqlite_tables script for installation bindir
425 patch src/cats/update_sqlite_tables.in src/cats/update_sqlite_tables.in.patch
427 # patch the bacula-dir init script to remove sqlite service
428 %if %{sqlite} && %{su9}
429 patch platforms/suse/bacula-dir.in platforms/suse/bacula-dir-suse-sqlite.patch
434 --sbindir=/usr/sbin \
435 --sysconfdir=/etc/bacula \
436 --with-scriptdir=/etc/bacula \
437 --enable-smartalloc \
440 %if ! %{rh7} && ! %{rh8}
441 --enable-tray-monitor \
447 --with-sqlite=${cwd}/%{depkgs}/sqlite \
452 --with-working-dir=%{working_dir} \
453 --with-pid-dir=/var/run \
454 --with-subsys-dir=/var/lock/subsys \
455 --with-dir-user=%{daemon_user} \
456 --with-dir-group=%{daemon_group} \
457 --with-sd-user=%{daemon_user} \
458 --with-sd-group=%{daemon_group} \
459 --with-fd-user=%{daemon_user} \
460 --with-fd-group=%{daemon_group}
464 strip static-bacula-fd
470 [ "$RPM_BUILD_ROOT" != "/" ] && rm -rf "$RPM_BUILD_ROOT"
471 mkdir -p $RPM_BUILD_ROOT/etc/init.d
472 mkdir -p $RPM_BUILD_ROOT/etc/logrotate.d
473 mkdir -p $RPM_BUILD_ROOT/usr/share/pixmaps
475 mkdir -p $RPM_BUILD_ROOT/usr/share/gnome/apps/System
477 mkdir -p $RPM_BUILD_ROOT/usr/share/applications
479 mkdir -p $RPM_BUILD_ROOT/etc/bacula/rescue/floppy
480 mkdir -p $RPM_BUILD_ROOT/etc/bacula/rescue/floppy/tomsrtbt
481 mkdir -p $RPM_BUILD_ROOT/etc/bacula/rescue/cdrom
482 mkdir -p $RPM_BUILD_ROOT/etc/bacula/updatedb
484 mkdir -p $RPM_BUILD_ROOT/etc/pam.d
485 mkdir -p $RPM_BUILD_ROOT/etc/security/console.apps
486 mkdir -p $RPM_BUILD_ROOT/usr/bin
490 mkdir -p $RPM_BUILD_ROOT%{sqlite_bindir}
494 prefix=$RPM_BUILD_ROOT/usr \
495 sbindir=$RPM_BUILD_ROOT/usr/sbin \
496 sysconfdir=$RPM_BUILD_ROOT/etc/bacula \
497 scriptdir=$RPM_BUILD_ROOT/etc/bacula \
498 working_dir=$RPM_BUILD_ROOT%{working_dir} \
503 prefix=$RPM_BUILD_ROOT/usr \
504 sbindir=$RPM_BUILD_ROOT/usr/sbin \
505 sysconfdir=$RPM_BUILD_ROOT/etc/bacula \
506 working_dir=$RPM_BUILD_ROOT%{working_dir} \
507 mandir=$RPM_BUILD_ROOT/usr/man \
511 # setup the manual for the doc dir and correct some broken CVS permissions
513 cp -p doc/html-manual/*.html html-manual/
514 cp -p doc/html-manual/*.jpg html-manual/
515 cp -p doc/html-manual/*.gif html-manual/
516 cp -p doc/html-manual/*.css html-manual/
517 chmod 644 html-manual/*
518 chmod 644 doc/bacula.pdf
520 # fixme - make installs the mysql scripts for sqlite build
522 rm -f $RPM_BUILD_ROOT/etc/bacula/startmysql
523 rm -f $RPM_BUILD_ROOT/etc/bacula/stopmysql
524 rm -f $RPM_BUILD_ROOT/etc/bacula/grant_mysql_privileges
527 # fixme - make installs the mysql scripts for postgresql build
529 rm -f $RPM_BUILD_ROOT/etc/bacula/startmysql
530 rm -f $RPM_BUILD_ROOT/etc/bacula/stopmysql
533 # install the init scripts
535 cp -p platforms/suse/bacula-dir $RPM_BUILD_ROOT/etc/init.d/bacula-dir
536 cp -p platforms/suse/bacula-fd $RPM_BUILD_ROOT/etc/init.d/bacula-fd
537 cp -p platforms/suse/bacula-sd $RPM_BUILD_ROOT/etc/init.d/bacula-sd
540 cp -p platforms/mandrake/bacula-dir $RPM_BUILD_ROOT/etc/init.d/bacula-dir
541 cp -p platforms/mandrake/bacula-fd $RPM_BUILD_ROOT/etc/init.d/bacula-fd
542 cp -p platforms/mandrake/bacula-sd $RPM_BUILD_ROOT/etc/init.d/bacula-sd
544 %if ! %{su9} && ! %{mdk}
545 cp -p platforms/redhat/bacula-dir $RPM_BUILD_ROOT/etc/init.d/bacula-dir
546 cp -p platforms/redhat/bacula-fd $RPM_BUILD_ROOT/etc/init.d/bacula-fd
547 cp -p platforms/redhat/bacula-sd $RPM_BUILD_ROOT/etc/init.d/bacula-sd
549 chmod 0754 $RPM_BUILD_ROOT/etc/init.d/*
551 # install the menu stuff
553 cp -p scripts/bacula.png $RPM_BUILD_ROOT/usr/share/pixmaps/bacula.png
554 cp -p scripts/bacula.desktop.gnome2.xsu $RPM_BUILD_ROOT/usr/share/applications/bacula.desktop
555 cp -p src/tray-monitor/generic.xpm $RPM_BUILD_ROOT/usr/share/pixmaps/bacula-tray-monitor.xpm
556 cp -p scripts/bacula-tray-monitor.desktop $RPM_BUILD_ROOT/usr/share/applications/bacula-tray-monitor.desktop
559 cp -p scripts/bacula.png $RPM_BUILD_ROOT/usr/share/pixmaps/bacula.png
560 cp -p scripts/bacula.desktop.gnome1.consolehelper $RPM_BUILD_ROOT/usr/share/gnome/apps/System/bacula.desktop
561 cp -p scripts/gnome-console.console_apps $RPM_BUILD_ROOT/etc/security/console.apps/gnome-console
562 cp -p scripts/gnome-console.pamd $RPM_BUILD_ROOT/etc/pam.d/gnome-console
563 ln -sf consolehelper $RPM_BUILD_ROOT/usr/bin/gnome-console
565 %if %{rh8} || %{rh9} || %{wb3} || %{fc1} || %{mdk}
566 cp -p scripts/bacula.png $RPM_BUILD_ROOT/usr/share/pixmaps/bacula.png
567 cp -p scripts/bacula.desktop.gnome2.consolehelper $RPM_BUILD_ROOT/usr/share/applications/bacula.desktop
568 cp -p scripts/gnome-console.console_apps $RPM_BUILD_ROOT/etc/security/console.apps/gnome-console
569 cp -p scripts/gnome-console.pamd $RPM_BUILD_ROOT/etc/pam.d/gnome-console
570 ln -sf consolehelper $RPM_BUILD_ROOT/usr/bin/gnome-console
572 %if ! %{rh7} && ! %{rh8}
573 cp -p src/tray-monitor/generic.xpm $RPM_BUILD_ROOT/usr/share/pixmaps/bacula-tray-monitor.xpm
574 cp -p scripts/bacula-tray-monitor.desktop $RPM_BUILD_ROOT/usr/share/applications/bacula-tray-monitor.desktop
579 cp -p %{depkgs}/sqlite/sqlite $RPM_BUILD_ROOT%{sqlite_bindir}/sqlite
580 cp -p %{depkgs}/sqlite/sqlite.h $RPM_BUILD_ROOT%{sqlite_bindir}/sqlite.h
581 cp -p %{depkgs}/sqlite/libsqlite.a $RPM_BUILD_ROOT%{sqlite_bindir}/libsqlite.a
584 # install the logrotate file
585 cp -p scripts/logrotate $RPM_BUILD_ROOT/etc/logrotate.d/bacula
587 # install the rescue stuff
588 # these are the floppy rescue scripts
589 cp -p rescue/linux/floppy/backup.etc.list $RPM_BUILD_ROOT/etc/bacula/rescue/floppy/
590 cp -p rescue/linux/floppy/format_floppy $RPM_BUILD_ROOT/etc/bacula/rescue/floppy/
591 cp -p rescue/linux/floppy/getdiskinfo $RPM_BUILD_ROOT/etc/bacula/rescue/floppy/
592 cp -p rescue/linux/floppy/make_rescue_disk $RPM_BUILD_ROOT/etc/bacula/rescue/floppy/
593 cp -p rescue/linux/floppy/restore_bacula $RPM_BUILD_ROOT/etc/bacula/rescue/floppy/
594 cp -p rescue/linux/floppy/restore_etc $RPM_BUILD_ROOT/etc/bacula/rescue/floppy/
595 cp -p rescue/linux/floppy/run_grub $RPM_BUILD_ROOT/etc/bacula/rescue/floppy/
596 cp -p rescue/linux/floppy/run_lilo $RPM_BUILD_ROOT/etc/bacula/rescue/floppy/
597 cp -p rescue/linux/floppy/sfdisk.bz2 $RPM_BUILD_ROOT/etc/bacula/rescue/floppy/
599 # this is the cdrom rescue stuff
600 cp -r -p rescue/linux/cdrom/* $RPM_BUILD_ROOT/etc/bacula/rescue/cdrom/
601 mkdir -p $RPM_BUILD_ROOT/etc/bacula/rescue/cdrom/bin/
602 rm -f $RPM_BUILD_ROOT/etc/bacula/rescue/cdrom/Makefile.in
603 rm -f $RPM_BUILD_ROOT/etc/bacula/rescue/cdrom/bacula/Makefile.in
604 touch $RPM_BUILD_ROOT/etc/bacula/rescue/cdrom/rpm_release
606 # this is the static file daemon
607 cp -p src/filed/static-bacula-fd $RPM_BUILD_ROOT/etc/bacula/rescue/floppy/bacula-fd
608 cp -p src/filed/static-bacula-fd $RPM_BUILD_ROOT/etc/bacula/rescue/cdrom/bin/bacula-fd
610 # this is the tom's root boot disk
611 cp -p ../%{tomsrtbt}/* $RPM_BUILD_ROOT/etc/bacula/rescue/floppy/tomsrtbt/
613 # install the updatedb scripts
614 cp -p updatedb/* $RPM_BUILD_ROOT/etc/bacula/updatedb/
616 # now clean up permissions that are left broken by the install
617 chmod o-r $RPM_BUILD_ROOT/etc/bacula/query.sql
618 chmod o-rwx $RPM_BUILD_ROOT/var/bacula
619 %if ! %{rh7} && ! %{rh8}
620 chmod 755 $RPM_BUILD_ROOT/usr/sbin/bacula-tray-monitor
621 chmod 644 $RPM_BUILD_ROOT/etc/bacula/tray-monitor.conf
625 [ "$RPM_BUILD_ROOT" != "/" ] && rm -rf "$RPM_BUILD_ROOT"
630 %defattr(-,root,root)
634 /etc/bacula/create_mysql_database
635 /etc/bacula/drop_mysql_database
636 /etc/bacula/make_mysql_tables
637 /etc/bacula/drop_mysql_tables
638 /etc/bacula/update_mysql_tables
639 /etc/bacula/grant_mysql_privileges
640 /etc/bacula/create_bacula_database
641 /etc/bacula/drop_bacula_database
642 /etc/bacula/grant_bacula_privileges
643 /etc/bacula/make_bacula_tables
644 /etc/bacula/drop_bacula_tables
645 /etc/bacula/update_bacula_tables
646 /etc/bacula/make_catalog_backup
647 /etc/bacula/delete_catalog_backup
648 /etc/bacula/startmysql
649 /etc/bacula/stopmysql
650 /etc/bacula/mtx-changer
651 /etc/bacula/btraceback.dbx
652 /etc/bacula/btraceback.gdb
653 /etc/init.d/bacula-dir
654 /etc/init.d/bacula-fd
655 /etc/init.d/bacula-sd
657 %doc COPYING ChangeLog ReleaseNotes VERIFYING kernstodo doc/bacula.pdf html-manual ../Release_Notes-%{version}-%{release}.txt
660 /etc/logrotate.d/bacula
662 %config(noreplace) /etc/bacula/bacula-dir.conf
663 %config(noreplace) /etc/bacula/bacula-fd.conf
664 %config(noreplace) /etc/bacula/bacula-sd.conf
665 %config(noreplace) /etc/bacula/bconsole.conf
666 /etc/bacula/query.sql
685 /usr/sbin/static-bacula-fd
688 # test for bacula database older than version 7
689 # note: this ASSUMES no password has been set for bacula database
690 DB_VER=`mysql bacula -e 'select * from Version;'|tail -n 1 2>/dev/null`
692 if [ -n "$DB_VER" ] && [ "$DB_VER" -lt "7" ]; then
693 echo "This bacula upgrade will update a bacula database from version 7 to 8."
694 echo "You appear to be running database version $DB_VER. You must first update"
695 echo "your database to version 7 and then install this upgrade. The alternative"
696 echo "is to use /etc/bacula/drop_mysql_tables to delete all your your current"
697 echo "catalog information, then do the upgrade. Information on updating a"
698 echo "database older than version 7 can be found in the release notes."
701 # check for and copy /etc/bacula/console.conf to bconsole.conf
702 if [ -s /etc/bacula/console.conf ];then
703 cp -p /etc/bacula/console.conf /etc/bacula/bconsole.conf
709 if [ "$1" -ge 1 ] ; then
710 /sbin/chkconfig --add bacula-dir
711 /sbin/chkconfig --add bacula-fd
712 /sbin/chkconfig --add bacula-sd
715 # test for an existing database
716 # note: this ASSUMES no password has been set for bacula database
717 DB_VER=`mysql bacula -e 'select * from Version;'|tail -n 1 2>/dev/null`
719 # grant privileges and create tables if they do not exist
720 if [ -z "$DB_VER" ]; then
721 echo "Hmm, doesn't look like you have an existing database."
722 echo "Granting privileges for MySQL user bacula..."
723 /etc/bacula/grant_mysql_privileges
724 echo "Creating MySQL bacula database..."
725 /etc/bacula/create_mysql_database
726 echo "Creating bacula tables..."
727 /etc/bacula/make_mysql_tables
729 # check to see if we need to upgrade a 1.34 or lower database
730 elif [ "$DB_VER" -lt "8" ]; then
731 echo "This release requires an upgrade to your bacula database."
732 echo "Backing up your current database..."
733 mysqldump -f --opt bacula | bzip2 > %{working_dir}/bacula_backup.sql.bz2
734 echo "Upgrading bacula database ..."
735 /etc/bacula/update_mysql_tables
736 echo "If bacula works correctly you can remove the backup file %{working_dir}/bacula_backup.sql.bz2"
740 # create the daemon group
741 HAVE_BACULA=`cat %{group_file} | grep %{daemon_group} 2>/dev/null`
742 if [ -z $HAVE_BACULA ]; then
743 %{groupadd} -r %{daemon_group} > /dev/null 2>&1
744 echo "The group %{daemon_group} has been added to %{groupfile}."
745 echo "See the manual chapter Running Bacula for details."
751 /sbin/chkconfig --del bacula-dir
752 /sbin/chkconfig --del bacula-fd
753 /sbin/chkconfig --del bacula-sd
761 %defattr(-,root,root)
765 /etc/bacula/create_bacula_database
766 /etc/bacula/drop_bacula_database
767 /etc/bacula/grant_bacula_privileges
768 /etc/bacula/make_bacula_tables
769 /etc/bacula/drop_bacula_tables
770 /etc/bacula/update_bacula_tables
771 /etc/bacula/create_sqlite_database
772 /etc/bacula/drop_sqlite_database
773 /etc/bacula/grant_sqlite_privileges
774 /etc/bacula/make_sqlite_tables
775 /etc/bacula/drop_sqlite_tables
776 /etc/bacula/update_sqlite_tables
777 /etc/bacula/make_catalog_backup
778 /etc/bacula/delete_catalog_backup
779 /etc/bacula/mtx-changer
780 /etc/bacula/btraceback.dbx
781 /etc/bacula/btraceback.gdb
782 /etc/init.d/bacula-dir
783 /etc/init.d/bacula-fd
784 /etc/init.d/bacula-sd
786 %doc COPYING ChangeLog ReleaseNotes VERIFYING kernstodo doc/bacula.pdf html-manual ../Release_Notes-%{version}-%{release}.txt
789 /etc/logrotate.d/bacula
791 %config(noreplace) /etc/bacula/bacula-dir.conf
792 %config(noreplace) /etc/bacula/bacula-fd.conf
793 %config(noreplace) /etc/bacula/bacula-sd.conf
794 %config(noreplace) /etc/bacula/bconsole.conf
795 /etc/bacula/query.sql
796 %{sqlite_bindir}/libsqlite.a
797 %{sqlite_bindir}/sqlite.h
816 /usr/sbin/static-bacula-fd
817 %{sqlite_bindir}/sqlite
821 # test for bacula database older than version 7
822 if [ -s %{working_dir}/bacula.db ] && [ -s %{sqlite_bindir}/sqlite ];then
823 DB_VER=`echo "select * from Version;" | %{sqlite_bindir}/sqlite %{working_dir}/bacula.db | tail -n 1 2>/dev/null`
824 if [ -n "$DB_VER" ] && [ "$DB_VER" -lt "7" ]; then
825 echo "This bacula upgrade will update a bacula database from version 7 to 8."
826 echo "You appear to be running database version $DB_VER. You must first update"
827 echo "your database to version 7 and then install this upgrade. The alternative"
828 echo "is to use /etc/bacula/drop_sqlite_tables to delete all your your current"
829 echo "catalog information, then do the upgrade. Information on updating a"
830 echo "database older than version 7 can be found in the release notes."
834 # check for and copy /etc/bacula/console.conf to bconsole.conf
835 if [ -s /etc/bacula/console.conf ];then
836 cp -p /etc/bacula/console.conf /etc/bacula/bconsole.conf
841 if [ "$1" -ge 1 ] ; then
842 /sbin/chkconfig --add bacula-dir
843 /sbin/chkconfig --add bacula-fd
844 /sbin/chkconfig --add bacula-sd
847 # test for an existing database
848 if [ -s %{working_dir}/bacula.db ]; then
849 DB_VER=`echo "select * from Version;" | %{sqlite_bindir}/sqlite %{working_dir}/bacula.db | tail -n 1 2>/dev/null`
850 # check to see if we need to upgrade a 1.34 or lower database
851 if [ "$DB_VER" -lt "7" ]; then
852 echo "This bacula upgrade requires a database update to version 8. You appear to"
853 echo "be running database version $DB_VER. You must update your database using the"
854 echo "upgrade scripts in the bacula-updatedb package. The alternative"
855 echo "is to use /etc/bacula/drop_sqlite_tables to delete all your your current"
856 echo "catalog information, then /etc/bacula/make_sqlite_tables. Information on updating a"
857 echo "database older than version 7 can be found in the release notes."
860 if [ "$DB_VER" -lt "8" ] && [ "$DB_VER" -ge "7" ]; then
861 echo "This release requires an upgrade to your bacula database."
862 echo "Backing up your current database..."
863 echo ".dump" | %{sqlite_bindir}/sqlite %{working_dir}/bacula.db | bzip2 > %{working_dir}/bacula_backup.sql.bz2
864 echo "Upgrading bacula database ..."
865 /etc/bacula/update_sqlite_tables
866 echo "If bacula works correctly you can remove the backup file %{working_dir}/bacula_backup.sql.bz2"
869 # create the database and tables
870 echo "Hmm, doesn't look like you have an existing database."
871 echo "Creating SQLite database..."
872 /etc/bacula/create_sqlite_database
873 echo "Creating the SQLite tables..."
874 /etc/bacula/make_sqlite_tables
877 # create the daemon group
878 HAVE_BACULA=`cat %{group_file} | grep %{daemon_group} 2>/dev/null`
879 if [ -z $HAVE_BACULA ]; then
880 %{groupadd} -r %{daemon_group} > /dev/null 2>&1
881 echo "The group %{daemon_group} has been added to %{groupfile}."
882 echo "See the manual chapter Running Bacula for details."
888 /sbin/chkconfig --del bacula-dir
889 /sbin/chkconfig --del bacula-fd
890 /sbin/chkconfig --del bacula-sd
898 %defattr(-,root,root)
902 /etc/bacula/create_postgresql_database
903 /etc/bacula/drop_postgresql_database
904 /etc/bacula/make_postgresql_tables
905 /etc/bacula/drop_postgresql_tables
906 /etc/bacula/update_postgresql_tables
907 /etc/bacula/grant_postgresql_privileges
908 /etc/bacula/create_bacula_database
909 /etc/bacula/drop_bacula_database
910 /etc/bacula/grant_bacula_privileges
911 /etc/bacula/make_bacula_tables
912 /etc/bacula/drop_bacula_tables
913 /etc/bacula/update_bacula_tables
914 /etc/bacula/make_catalog_backup
915 /etc/bacula/delete_catalog_backup
916 /etc/bacula/mtx-changer
917 /etc/bacula/btraceback.dbx
918 /etc/bacula/btraceback.gdb
919 /etc/init.d/bacula-dir
920 /etc/init.d/bacula-fd
921 /etc/init.d/bacula-sd
923 %doc COPYING ChangeLog ReleaseNotes VERIFYING kernstodo doc/bacula.pdf html-manual ../Release_Notes-%{version}-%{release}.txt
926 /etc/logrotate.d/bacula
928 %config(noreplace) /etc/bacula/bacula-dir.conf
929 %config(noreplace) /etc/bacula/bacula-fd.conf
930 %config(noreplace) /etc/bacula/bacula-sd.conf
931 %config(noreplace) /etc/bacula/bconsole.conf
932 /etc/bacula/query.sql
951 /usr/sbin/static-bacula-fd
954 # test for bacula database older than version 7
955 # note: this ASSUMES no password has been set for bacula database
956 DB_VER=`echo 'select * from Version;' | psql bacula | tail -3 | head -1 2>/dev/null`
958 if [ -n "$DB_VER" ] && [ "$DB_VER" -lt "7" ]; then
959 echo "This bacula upgrade will update a bacula database from version 7 to 8."
960 echo "You appear to be running database version $DB_VER. You must first update"
961 echo "your database to version 7 and then install this upgrade. The alternative"
962 echo "is to use /etc/bacula/drop_postgresql_tables to delete all your your current"
963 echo "catalog information, then do the upgrade. Information on updating a"
964 echo "database older than version 7 can be found in the release notes."
970 if [ "$1" -ge 1 ] ; then
971 /sbin/chkconfig --add bacula-dir
972 /sbin/chkconfig --add bacula-fd
973 /sbin/chkconfig --add bacula-sd
976 # test for an existing database
977 # note: this ASSUMES no password has been set for bacula database
978 DB_VER=`echo 'select * from Version;' | psql bacula | tail -3 | head -1 2>/dev/null`
980 # grant privileges and create tables if they do not exist
981 if [ -z "$DB_VER" ]; then
982 echo "Hmm, doesn't look like you have an existing database."
983 echo "Granting privileges for PostgreSQL user bacula..."
984 /etc/bacula/grant_postgresql_privileges
985 echo "Creating PostgreSQL bacula database..."
986 /etc/bacula/create_postgresql_database
987 echo "Creating bacula tables..."
988 /etc/bacula/make_postgresql_tables
990 # check to see if we need to upgrade a 1.34 or lower database
991 elif [ "$DB_VER" -lt "8" ]; then
992 echo "This release requires an upgrade to your bacula database."
993 echo "Backing up your current database..."
994 pg_dump bacula | bzip2 > %{working_dir}/bacula_backup.sql.bz2
995 echo "Upgrading bacula database ..."
996 /etc/bacula/update_postgresql_tables
997 echo "If bacula works correctly you can remove the backup file %{working_dir}/bacula_backup.sql.bz2"
1001 # create the daemon group
1002 HAVE_BACULA=`cat %{group_file} | grep %{daemon_group} 2>/dev/null`
1003 if [ -z $HAVE_BACULA ]; then
1004 %{groupadd} -r %{daemon_group} > /dev/null 2>&1
1005 echo "The group %{daemon_group} has been added to %{groupfile}."
1006 echo "See the manual chapter Running Bacula for details."
1013 /sbin/chkconfig --del bacula-dir
1014 /sbin/chkconfig --del bacula-fd
1015 /sbin/chkconfig --del bacula-sd
1021 %defattr(-,root,root)
1023 /etc/bacula/bconsole
1024 /etc/init.d/bacula-fd
1026 %doc COPYING ChangeLog ReleaseNotes VERIFYING kernstodo doc/bacula.pdf html-manual ../Release_Notes-%{version}-%{release}.txt
1027 /etc/logrotate.d/bacula
1029 %config(noreplace) /etc/bacula/bacula-fd.conf
1030 %config(noreplace) /etc/bacula/bconsole.conf
1034 /usr/sbin/btraceback
1035 /etc/bacula/btraceback.gdb
1036 /etc/bacula/btraceback.dbx
1043 if [ "$1" -ge 1 ] ; then
1044 /sbin/chkconfig --add bacula-fd
1047 # create the daemon group
1048 HAVE_BACULA=`cat %{group_file} | grep %{daemon_group} 2>/dev/null`
1049 if [ -z $HAVE_BACULA ]; then
1050 %{groupadd} -r %{daemon_group} > /dev/null 2>&1
1051 echo "The group %{daemon_group} has been added to %{groupfile}."
1052 echo "See the manual chapter Running Bacula for details."
1058 /sbin/chkconfig --del bacula-fd
1062 %defattr(-,root,root)
1063 /etc/bacula/rescue/floppy/*
1064 /etc/bacula/rescue/cdrom/*
1067 # link our current installed conf file to the rescue directory
1068 ln -s /etc/bacula/bacula-fd.conf /etc/bacula/rescue/floppy/bacula-fd.conf
1069 ln -s /etc/bacula/bacula-fd.conf /etc/bacula/rescue/cdrom/bin/bacula-fd.conf
1072 echo "Creating rescue files for this system..."
1073 cd /etc/bacula/rescue/floppy
1075 cd /etc/bacula/rescue/cdrom/bacula
1079 # remove the files created after the initial rpm installation
1080 rm -f /etc/bacula/rescue/floppy/bacula-fd.conf
1081 rm -f /etc/bacula/rescue/floppy/partition.*
1082 rm -f /etc/bacula/rescue/floppy/format.*
1083 rm -f /etc/bacula/rescue/floppy/mount_drives
1084 rm -f /etc/bacula/rescue/floppy/start_network
1085 rm -f /etc/bacula/rescue/floppy/sfdisk
1086 rm -rf /etc/bacula/rescue/floppy/diskinfo/*
1088 rm -f /etc/bacula/rescue/cdrom/bacula/bacula-fd.conf
1089 rm -f /etc/bacula/rescue/cdrom/bacula/partition.*
1090 rm -f /etc/bacula/rescue/cdrom/bacula/format.*
1091 rm -f /etc/bacula/rescue/cdrom/bacula/mount_drives
1092 rm -f /etc/bacula/rescue/cdrom/bacula/start_network
1093 rm -rf /etc/bacula/rescue/cdrom/bacula/diskinfo/*
1096 %defattr(-,root,root)
1097 /etc/bacula/updatedb/*
1100 echo "The database update scripts were installed to /etc/bacula/updatedb"
1103 %defattr(-,root,root)
1104 /usr/sbin/gnome-console
1105 /etc/bacula/gconsole
1106 %config(noreplace) /etc/bacula/gnome-console.conf
1107 /usr/share/pixmaps/bacula.png
1110 /usr/share/gnome/apps/System/bacula.desktop
1112 /usr/share/applications/bacula.desktop
1115 %if ! %{rh7} && ! %{rh8}
1116 /usr/sbin/bacula-tray-monitor
1117 /etc/bacula/tray-monitor.conf
1118 /usr/share/pixmaps/bacula-tray-monitor.xpm
1119 /usr/share/applications/bacula-tray-monitor.desktop
1123 # add the console helper files
1124 %config(noreplace,missingok) /etc/pam.d/gnome-console
1125 %config(noreplace,missingok) /etc/security/console.apps/gnome-console
1126 /usr/bin/gnome-console
1131 * Thu Nov 18 2004 D. Scott Barninger <barninger at fairfieldcomputers.com>
1132 - update depkgs to 29Oct04
1133 * Fri Nov 12 2004 D. Scott Barninger <barninger at fairfieldcomputers.com>
1134 - add cdrom rescue to bacula-rescue package
1135 * Sun Oct 31 2004 D. Scott Barninger <barninger at fairfieldcomputers.com>
1136 - misc fixes from 1.36.0 suse feedback
1137 - fix situation where sqlite database exists but sqlite has been removed.
1138 * Fri Oct 22 2004 D. Scott Barninger <barninger at fairfieldcomputers.com>
1139 - remove tray-monitor from RH8 build
1140 - fix permissions on tray-monitor files
1141 * Wed Oct 13 2004 D. Scott Barninger <barninger at fairfieldcomputers.com>
1142 - add Mandrake support and tray-monitor, misc changes for 1.35.8/1.36.0,
1143 - change database update to 7 to 8 upgrade,
1144 - revert depkgs to 08Mar04 as there seems to be a bug in the sqlite
1145 - build in 30Jul04, add freetype dependancy to gnome package.
1146 * Sun Sep 12 2004 D. Scott Barninger <barninger at fairfieldcomputers.com>
1147 - add documentation to console for groupadd
1148 * Sat Sep 04 2004 D. Scott Barninger <barninger at fairfieldcomputers.com>
1149 - add support for running daemons as root.bacula
1150 - correct for change in location of floppy rescue files in 1.35.2
1151 - removed /etc/bacula/fd script from all packages as it has disappeared from 1.35.2
1152 - updated depgkgs to 30Jul04
1153 * Thu Jun 24 2004 D. Scott Barninger <barninger at fairfieldcomputers.com>
1154 - really, really fix symlink creation for gconsole
1155 * Thu Jun 17 2004 D. Scott Barninger <barninger at fairfieldcomputers.com>
1156 - fix symlink creation in gconsole post install
1157 * Sat Jun 12 2004 D. Scott Barninger <barninger at fairfieldcomputers.com>
1158 - fixed error in gconsole post script
1159 * Fri Apr 30 2004 D. Scott Barninger <barninger at fairfieldcomputers.com>
1160 - add check for gconsole symlink before trying to create it
1161 * Sun Apr 11 2004 D. Scott Barninger <barninger at fairfieldcomputers.com>
1162 - fix some minor permissions issues on doc files that CVS won't let us fix
1163 * Sun Apr 04 2004 D. Scott Barninger <barninger at fairfieldcomputers.com>
1164 - add pkgconfig to BuildRequires
1165 - clean up gnome1/2 menu entries for appropriate packages
1166 * Fri Apr 02 2004 D. Scott Barninger <barninger at fairfieldcomputers.com>
1167 - tightened up doc distribution
1168 * Tue Mar 30 2004 D. Scott Barninger <barninger at fairfieldcomputers.com>
1169 - added usermode (Redhat) and xsu (SuSE) support for gnome-console;
1170 - rpm's horrible bug that prevents nested conditional macros prevents me
1171 - from implementing these 2 separate approaches within the conditionals which
1172 - create the separate server packages.
1173 - the solution adopted is to remove the gnome-console files from the server packages
1174 - so bacula-gconsole is now an add on for both client and server packages.
1175 - this also now allows the server packages to be install on machines without
1176 - an X-server and we can still maintain a single spec file.
1177 - added tests to make sure we have defined platform and database macros.
1178 * Sat Mar 13 2004 D. Scott Barninger <barninger at fairfieldcomputers.com>
1179 - corrected mysql prerequisites for suse
1180 * Mon Mar 1 2004 D. Scott Barninger <barninger at fairfieldcomputers.com>
1181 - replaced all cp commands with cp -p
1182 - removed addition of a+x permissions on gnome-console
1183 - corrected permissions on init scripts
1184 * Sat Feb 28 2004 D. Scott Barninger <barninger at fairfieldcomputers.com>
1185 - corrected creation of sqlite_bindir in install from !mysql to sqlite
1187 - various cleanup patches from Michael K. Johnson:
1188 - corrected post install routines for nicer chkconfig
1189 - removed chmod changes in post routines and moved to install section
1190 - removed interactive nature of post routine for rescue package
1191 - added description of building rescue disks to the description of rescue package
1192 - added clean of build root to beginning of install
1193 - removed specifying attr in all file lists
1194 * Fri Feb 20 2004 D. Scott Barninger <barninger at fairfieldcomputers.com>
1195 - added bconsole to client package
1196 - added gconsole package as add-on to client
1197 - removed spurious dependancies on updatedb package (!cut/paste)
1198 * Thu Feb 19 2004 D. Scott Barninger <barninger at fairfieldcomputers.com>
1199 - added updatedb package
1200 * Thu Feb 12 2004 D. Scott Barninger <barninger at fairfieldcomputers.com>
1201 - added postgresql package
1202 * Wed Feb 11 2004 D. Scott Barninger <barninger at fairfieldcomputers.com>
1203 - corrected the if else logic in the dependancy sections
1204 - changes for 1.34 release
1205 - /etc/bacula/console is now /etc/bacula/bconsole
1206 - /etc/bacula/console.conf is now /etc/bacula/bconsole.conf
1207 - /usr/sbin/btraceback.gdb is now /etc/bacula/btraceback.gdb
1208 - /usr/sbin/smtp is now /usr/sbin/bsmtp
1209 - added new /etc/bacula/drop_mysql_database
1210 - added new /etc/bacula/drop_sqlite_database
1211 - added new /etc/bacula/grant_sqlite_privileges
1212 - added new generic bacula database scripts in /etc/bacula
1213 - added pre-install sections to check for database versions older than 6
1214 - added check for /etc/bacula/console.conf and copy to bconsole.conf
1215 * Sun Feb 08 2004 D. Scott Barninger <barninger at fairfieldcomputers.com>
1216 - added /etc/bacula/update_sqlite_tables and /etc/bacula/update_mysql_tables for 1.34 release
1217 - added testing for existing databases before executing any of the database creation scripts
1218 - added defines working_dir and sqlite_bindir in place of hard coded paths
1219 * Sat Jan 31 2004 D. Scott Barninger <barninger at fairfieldcomputers.com>
1220 - added build configuration for SuSE.
1221 - Thanks to Matt Vollmar <matt at panamschool.edu.sv> for his input
1222 * Sat Jan 24 2004 D. Scott Barninger <barninger at fairfieldcomputers.com>
1223 - added patch for create_sqlite_database to fix the installed bindir
1224 - added execute of create_sqlite_database to post of sqlite package
1225 * Sat Jan 10 2004 D. Scott Barninger <barninger at fairfieldcomputers.com>
1226 - added virtual package Provides bacula-dir, bacula-sd, bacula-fd
1227 - added bacula-fd as Requires for rescue package
1228 - added build tag for Fedora Core 1
1229 - cleaned up dependancies for all builds
1230 * Thu Jan 1 2004 D. Scott Barninger <barninger at fairfieldcomputers.com>
1231 - removed rh_version from package names
1232 - added platform build configuration section to beginning of file
1233 * Tue Nov 25 2003 D. Scott Barninger <barninger at fairfieldcomputers.com>
1234 - removed make_static_bacula script from rescue package install
1235 * Sun Nov 23 2003 D. Scott Barninger <barninger at fairfieldcomputers.com>
1236 - Added define at top of file for depkgs version
1237 - Added rescue sub-package
1238 - Moved requires statements into proper sub-package locations
1239 * Mon Oct 27 2003 D. Scott Barninger <barninger at fairfieldcomputers.com>
1240 - Corrected Requires for Gnome 1.4/2.0 builds
1241 * Fri Oct 24 2003 D. Scott Barninger <barninger at fairfieldcomputers.com>
1242 - Added separate source declaration for depkgs
1243 - added patch for make_catalog_backup script
1244 * Mon May 11 2003 D. Scott Barninger <barninger at fairfieldcomputers.com>
1245 - Misc changes to mysql/sqlite build and rh7/8 menu differences
1246 - Added rh_version to sub-package names
1247 - Added installed but missing file /etc/bacula/gconsole
1248 - rm'd /etc/bacula/grant_mysql_privileges on sqlite builds
1249 * Thu May 08 2003 Kern Sibbald <kern at sibbald.com>
1250 - Update spec for version 1.31 and combine client
1251 * Sun Mar 30 2003 D. Scott Barninger <barninger at fairfieldcomputers.com>