1 # Platform Build Configuration
3 # basic defines for every build
4 %define depkgs ../depkgs
5 %define depkgs_version 08Mar04
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: gtk2-devel >= 2.0
88 BuildRequires: libgnomeui-devel >= 2.0
89 BuildRequires: glibc-devel >= 2.3
90 BuildRequires: ORBit2-devel
91 BuildRequires: libart_lgpl-devel >= 2.0
92 BuildRequires: libbonobo-devel >= 2.0
93 BuildRequires: libbonoboui-devel >= 2.0
94 BuildRequires: bonobo-activation-devel
95 BuildRequires: gconf2-devel
96 BuildRequires: linc-devel
97 BuildRequires: freetype2-devel
100 BuildRequires: libtermcap-devel
101 BuildRequires: gtk2-devel >= 2.0
102 BuildRequires: libgnomeui2-devel >= 2.0
103 BuildRequires: glibc-devel >= 2.3
104 BuildRequires: libORBit2-devel
105 BuildRequires: libart_lgpl-devel >= 2.0
106 BuildRequires: libbonobo2_0-devel
107 BuildRequires: libbonoboui2_0-devel
108 BuildRequires: libbonobo-activation-devel
109 BuildRequires: libGConf2-devel
110 BuildRequires: libstdc++-static-devel
111 BuildRequires: glibc-static-devel
112 BuildRequires: freetype2-devel
114 %if ! %{rh7} && ! %{su9} && ! %{mdk}
115 BuildRequires: libtermcap-devel
116 BuildRequires: gtk2-devel >= 2.0
117 BuildRequires: libgnomeui-devel >= 2.0
118 BuildRequires: glibc-devel >= 2.3
119 BuildRequires: ORBit2-devel
120 BuildRequires: libart_lgpl-devel >= 2.0
121 BuildRequires: libbonobo-devel >= 2.0
122 BuildRequires: libbonoboui-devel >= 2.0
123 BuildRequires: bonobo-activation-devel
124 BuildRequires: GConf2-devel
125 BuildRequires: linc-devel
126 BuildRequires: freetype-devel
130 BuildRequires: mysql-devel >= 3.23
133 %if %{postgresql} && %{wb3}
134 BuildRequires: rh-postgresql-devel >= 7
137 %if %{postgresql} && ! %{wb3}
138 BuildRequires: postgresql-devel >= 7
142 Bacula - It comes by night and sucks the vital essence from your computers.
144 Bacula is a set of computer programs that permit you (or the system
145 administrator) to manage backup, recovery, and verification of computer
146 data across a network of computers of different kinds. In technical terms,
147 it is a network client/server based backup program. Bacula is relatively
148 easy to use and efficient, while offering many advanced storage management
149 features that make it easy to find and recover lost or damaged files.
150 Bacula source code has been released under the GPL version 2 license.
162 Summary: Bacula - The Network Backup Solution
163 Group: System Environment/Daemons
164 Provides: bacula-dir, bacula-sd, bacula-fd, bacula-server
165 Conflicts: bacula-client
166 Requires: readline, ncurses, libstdc++, zlib
168 Conflicts: sqlite, sqlite-tools
171 Requires: glibc >= 2.2
175 Requires: glibc >= 2.3
178 %if ! %{rh7} && ! %{su9}
179 Requires: glibc >= 2.3
182 %if %{mysql} && ! %{su9} && ! %{mdk}
183 Requires: mysql >= 3.23
184 Requires: mysql-server >= 3.23
186 %if %{mysql} && %{su9}
187 Requires: mysql >= 3.23
188 Requires: mysql-client >= 3.23
190 %if %{mysql} && %{mdk}
191 Requires: mysql >= 3.23
192 Requires: mysql-client >= 3.23
194 %if %{postgresql} && %{wb3}
195 Requires: rh-postgresql >= 7
196 Requires: rh-postgresql-server >= 7
198 %if %{postgresql} && ! %{wb3}
199 Requires: postgresql >= 7
200 Requires: postgresql-server >= 7
210 %description postgresql
213 Bacula - It comes by night and sucks the vital essence from your computers.
215 Bacula is a set of computer programs that permit you (or the system
216 administrator) to manage backup, recovery, and verification of computer
217 data across a network of computers of different kinds. In technical terms,
218 it is a network client/server based backup program. Bacula is relatively
219 easy to use and efficient, while offering many advanced storage management
220 features that make it easy to find and recover lost or damaged files.
221 Bacula source code has been released under the GPL version 2 license.
224 This build requires MySQL to be installed separately as the catalog database.
227 This build requires PostgreSQL to be installed separately as the catalog database.
230 This build incorporates sqlite as the catalog database, statically compiled.
234 Summary: Bacula - The Network Backup Solution
235 Group: System Environment/Daemons
237 Requires: readline, libstdc++, zlib
240 Requires: glibc >= 2.2
244 Requires: glibc >= 2.3
247 %if ! %{rh7} && ! %{su9}
248 Requires: glibc >= 2.3
253 Bacula - It comes by night and sucks the vital essence from your computers.
255 Bacula is a set of computer programs that permit you (or the system
256 administrator) to manage backup, recovery, and verification of computer
257 data across a network of computers of different kinds. In technical terms,
258 it is a network client/server based backup program. Bacula is relatively
259 easy to use and efficient, while offering many advanced storage management
260 features that make it easy to find and recover lost or damaged files.
261 Bacula source code has been released under the GPL version 2 license.
263 This is the File daemon (Client) only package. It includes the command line
268 Summary: Bacula - The Network Backup Solution
269 Group: System Environment/Daemons
270 Requires: coreutils, util-linux, libc5, bacula-fd
273 Bacula - It comes by night and sucks the vital essence from your computers.
275 Bacula is a set of computer programs that permit you (or the system
276 administrator) to manage backup, recovery, and verification of computer
277 data across a network of computers of different kinds. In technical terms,
278 it is a network client/server based backup program. Bacula is relatively
279 easy to use and efficient, while offering many advanced storage management
280 features that make it easy to find and recover lost or damaged files.
281 Bacula source code has been released under the GPL version 2 license.
283 This package installs scripts for disaster recovery and builds rescue
284 floppy disks for bare metal recovery. This package includes tomsrtbt
285 (http://www.toms.net/rb/, by Tom Oehser, Tom@Toms.NET) to provide a tool
286 to build a boot floppy disk.
288 You need to have the bacula-sqlite, bacula-mysql, bacula-postgresql or
289 bacula-client package for your platform installed and configured before
290 installing this package.
292 To create a boot disk run "./getdiskinfo" from the /etc/bacula/rescue
293 directory (this is done when the package is first installed),
294 then run "./install.s" from the /etc/bacula/rescue/tomsrtbt/
295 directory. To make the bacula rescue disk run
296 "./make_rescue_disk --copy-static-bacula --copy-etc-files"
297 from the /etc/bacula/rescue directory. To recreate the rescue
298 information for this system run ./getdiskinfo again.
302 Summary: Bacula - The Network Backup Solution
303 Group: System Environment/Daemons
305 %description updatedb
306 Bacula - It comes by night and sucks the vital essence from your computers.
308 Bacula is a set of computer programs that permit you (or the system
309 administrator) to manage backup, recovery, and verification of computer
310 data across a network of computers of different kinds. In technical terms,
311 it is a network client/server based backup program. Bacula is relatively
312 easy to use and efficient, while offering many advanced storage management
313 features that make it easy to find and recover lost or damaged files.
314 Bacula source code has been released under the GPL version 2 license.
316 This package installs scripts for updating older versions of the bacula
320 Summary: Bacula - The Network Backup Solution
321 Group: System Environment/Daemons
322 Requires: readline, atk, libstdc++, zlib, pango, libxml2, bacula-fd
325 Requires: gtk+ >= 1.2
326 Requires: gnome-libs >= 1.4
327 Requires: glibc >= 2.2
334 Requires: gtk2 >= 2.0
335 Requires: libgnomeui >= 2.0
336 Requires: glibc >= 2.3
338 Requires: libart_lgpl >= 2.0
339 Requires: libbonobo >= 2.0
340 Requires: libbonoboui >= 2.0
341 Requires: bonobo-activation
347 Requires: gtk2 >= 2.0
348 Requires: libgnomeui2
349 Requires: glibc >= 2.3
351 Requires: libart_lgpl >= 2.0
352 Requires: libbonobo >= 2.0
353 Requires: libbonoboui >= 2.0
357 %if ! %{rh7} && ! %{su9} && ! %{mdk}
358 Requires: gtk2 >= 2.0
359 Requires: libgnomeui >= 2.0
360 Requires: glibc >= 2.3
362 Requires: libart_lgpl >= 2.0
363 Requires: libbonobo >= 2.0
364 Requires: libbonoboui >= 2.0
365 Requires: bonobo-activation
376 %description gconsole
377 Bacula - It comes by night and sucks the vital essence from your computers.
379 Bacula is a set of computer programs that permit you (or the system
380 administrator) to manage backup, recovery, and verification of computer
381 data across a network of computers of different kinds. In technical terms,
382 it is a network client/server based backup program. Bacula is relatively
383 easy to use and efficient, while offering many advanced storage management
384 features that make it easy to find and recover lost or damaged files.
385 Bacula source code has been released under the GPL version 2 license.
387 This is the Gnome Console package. It is an add-on to the client or
399 export LDFLAGS="-L/usr/lib/termcap"
410 # patches for the bundled sqlite scripts
412 # patch the make_sqlite_tables script for installation bindir
413 patch src/cats/make_sqlite_tables.in src/cats/make_sqlite_tables.in.patch
415 # patch the create_sqlite_database script for installation bindir
416 patch src/cats/create_sqlite_database.in src/cats/create_sqlite_database.in.patch
418 # patch the make_catalog_backup script for installation bindir
419 patch src/cats/make_catalog_backup.in src/cats/make_catalog_backup.in.patch
421 # patch the update_sqlite_tables script for installation bindir
422 patch src/cats/update_sqlite_tables.in src/cats/update_sqlite_tables.in.patch
426 --sbindir=/usr/sbin \
427 --sysconfdir=/etc/bacula \
428 --with-scriptdir=/etc/bacula \
429 --enable-smartalloc \
433 --enable-tray-monitor \
439 --with-sqlite=${cwd}/../depkgs/sqlite \
444 --with-working-dir=%{working_dir} \
445 --with-pid-dir=/var/run \
446 --with-subsys-dir=/var/lock/subsys \
447 --with-dir-user=%{daemon_user} \
448 --with-dir-group=%{daemon_group} \
449 --with-sd-user=%{daemon_user} \
450 --with-sd-group=%{daemon_group} \
451 --with-fd-user=%{daemon_user} \
452 --with-fd-group=%{daemon_group}
456 strip static-bacula-fd
462 [ "$RPM_BUILD_ROOT" != "/" ] && rm -rf "$RPM_BUILD_ROOT"
463 mkdir -p $RPM_BUILD_ROOT/etc/init.d
464 mkdir -p $RPM_BUILD_ROOT/etc/logrotate.d
465 mkdir -p $RPM_BUILD_ROOT/usr/share/pixmaps
467 mkdir -p $RPM_BUILD_ROOT/usr/share/gnome/apps/System
469 mkdir -p $RPM_BUILD_ROOT/usr/share/applications
471 mkdir -p $RPM_BUILD_ROOT/etc/bacula/rescue
472 mkdir -p $RPM_BUILD_ROOT/etc/bacula/rescue/tomsrtbt
473 mkdir -p $RPM_BUILD_ROOT/etc/bacula/updatedb
475 mkdir -p $RPM_BUILD_ROOT/etc/pam.d
476 mkdir -p $RPM_BUILD_ROOT/etc/security/console.apps
477 mkdir -p $RPM_BUILD_ROOT/usr/bin
481 mkdir -p $RPM_BUILD_ROOT%{sqlite_bindir}
485 prefix=$RPM_BUILD_ROOT/usr \
486 sbindir=$RPM_BUILD_ROOT/usr/sbin \
487 sysconfdir=$RPM_BUILD_ROOT/etc/bacula \
488 scriptdir=$RPM_BUILD_ROOT/etc/bacula \
489 working_dir=$RPM_BUILD_ROOT%{working_dir} \
494 prefix=$RPM_BUILD_ROOT/usr \
495 sbindir=$RPM_BUILD_ROOT/usr/sbin \
496 sysconfdir=$RPM_BUILD_ROOT/etc/bacula \
497 working_dir=$RPM_BUILD_ROOT%{working_dir} \
498 mandir=$RPM_BUILD_ROOT/usr/man \
502 # setup the manual for the doc dir and correct some broken CVS permissions
504 cp -p doc/html-manual/*.html html-manual/
505 cp -p doc/html-manual/*.jpg html-manual/
506 cp -p doc/html-manual/*.gif html-manual/
507 cp -p doc/html-manual/*.css html-manual/
508 chmod 644 html-manual/*
509 chmod 644 doc/bacula.pdf
511 # fixme - make installs the mysql scripts for sqlite build
513 rm -f $RPM_BUILD_ROOT/etc/bacula/startmysql
514 rm -f $RPM_BUILD_ROOT/etc/bacula/stopmysql
515 rm -f $RPM_BUILD_ROOT/etc/bacula/grant_mysql_privileges
518 # fixme - make installs the mysql scripts for postgresql build
520 rm -f $RPM_BUILD_ROOT/etc/bacula/startmysql
521 rm -f $RPM_BUILD_ROOT/etc/bacula/stopmysql
524 # install the init scripts
526 cp -p platforms/suse/bacula-dir $RPM_BUILD_ROOT/etc/init.d/bacula-dir
527 cp -p platforms/suse/bacula-fd $RPM_BUILD_ROOT/etc/init.d/bacula-fd
528 cp -p platforms/suse/bacula-sd $RPM_BUILD_ROOT/etc/init.d/bacula-sd
531 cp -p platforms/mandrake/bacula-dir $RPM_BUILD_ROOT/etc/init.d/bacula-dir
532 cp -p platforms/mandrake/bacula-fd $RPM_BUILD_ROOT/etc/init.d/bacula-fd
533 cp -p platforms/mandrake/bacula-sd $RPM_BUILD_ROOT/etc/init.d/bacula-sd
535 %if ! %{su9} && ! %{mdk}
536 cp -p platforms/redhat/bacula-dir $RPM_BUILD_ROOT/etc/init.d/bacula-dir
537 cp -p platforms/redhat/bacula-fd $RPM_BUILD_ROOT/etc/init.d/bacula-fd
538 cp -p platforms/redhat/bacula-sd $RPM_BUILD_ROOT/etc/init.d/bacula-sd
540 chmod 0754 $RPM_BUILD_ROOT/etc/init.d/*
542 # install the menu stuff
544 cp -p scripts/bacula.png $RPM_BUILD_ROOT/usr/share/pixmaps/bacula.png
545 cp -p scripts/bacula.desktop.gnome2.xsu $RPM_BUILD_ROOT/usr/share/applications/bacula.desktop
546 cp -p src/tray-monitor/generic.xpm $RPM_BUILD_ROOT/usr/share/pixmaps/bacula-tray-monitor.xpm
547 cp -p scripts/bacula-tray-monitor.desktop $RPM_BUILD_ROOT/usr/share/applications/bacula-tray-monitor.desktop
550 cp -p scripts/bacula.png $RPM_BUILD_ROOT/usr/share/pixmaps/bacula.png
551 cp -p scripts/bacula.desktop.gnome1.consolehelper $RPM_BUILD_ROOT/usr/share/gnome/apps/System/bacula.desktop
552 cp -p scripts/gnome-console.console_apps $RPM_BUILD_ROOT/etc/security/console.apps/gnome-console
553 cp -p scripts/gnome-console.pamd $RPM_BUILD_ROOT/etc/pam.d/gnome-console
554 ln -sf consolehelper $RPM_BUILD_ROOT/usr/bin/gnome-console
556 %if %{rh8} || %{rh9} || %{wb3} || %{fc1} || %{mdk}
557 cp -p scripts/bacula.png $RPM_BUILD_ROOT/usr/share/pixmaps/bacula.png
558 cp -p scripts/bacula.desktop.gnome2.consolehelper $RPM_BUILD_ROOT/usr/share/applications/bacula.desktop
559 cp -p scripts/gnome-console.console_apps $RPM_BUILD_ROOT/etc/security/console.apps/gnome-console
560 cp -p scripts/gnome-console.pamd $RPM_BUILD_ROOT/etc/pam.d/gnome-console
561 ln -sf consolehelper $RPM_BUILD_ROOT/usr/bin/gnome-console
562 cp -p src/tray-monitor/generic.xpm $RPM_BUILD_ROOT/usr/share/pixmaps/bacula-tray-monitor.xpm
563 cp -p scripts/bacula-tray-monitor.desktop $RPM_BUILD_ROOT/usr/share/applications/bacula-tray-monitor.desktop
568 cp -p ../depkgs/sqlite/sqlite $RPM_BUILD_ROOT%{sqlite_bindir}/sqlite
569 cp -p ../depkgs/sqlite/sqlite.h $RPM_BUILD_ROOT%{sqlite_bindir}/sqlite.h
570 cp -p ../depkgs/sqlite/libsqlite.a $RPM_BUILD_ROOT%{sqlite_bindir}/libsqlite.a
573 # install the logrotate file
574 cp -p scripts/logrotate $RPM_BUILD_ROOT/etc/logrotate.d/bacula
576 # install the rescue stuff
577 # these are the rescue scripts
578 cp -p rescue/linux/floppy/backup.etc.list $RPM_BUILD_ROOT/etc/bacula/rescue/
579 cp -p rescue/linux/floppy/format_floppy $RPM_BUILD_ROOT/etc/bacula/rescue/
580 cp -p rescue/linux/floppy/getdiskinfo $RPM_BUILD_ROOT/etc/bacula/rescue/
581 cp -p rescue/linux/floppy/make_rescue_disk $RPM_BUILD_ROOT/etc/bacula/rescue/
582 cp -p rescue/linux/floppy/restore_bacula $RPM_BUILD_ROOT/etc/bacula/rescue/
583 cp -p rescue/linux/floppy/restore_etc $RPM_BUILD_ROOT/etc/bacula/rescue/
584 cp -p rescue/linux/floppy/run_grub $RPM_BUILD_ROOT/etc/bacula/rescue/
585 cp -p rescue/linux/floppy/run_lilo $RPM_BUILD_ROOT/etc/bacula/rescue/
586 cp -p rescue/linux/floppy/sfdisk.bz2 $RPM_BUILD_ROOT/etc/bacula/rescue/
588 # this is the static file daemon
589 cp -p src/filed/static-bacula-fd $RPM_BUILD_ROOT/etc/bacula/rescue/bacula-fd
591 # this is the tom's root boot disk
592 cp -p ../%{tomsrtbt}/* $RPM_BUILD_ROOT/etc/bacula/rescue/tomsrtbt/
594 # install the updatedb scripts
595 cp -p updatedb/* $RPM_BUILD_ROOT/etc/bacula/updatedb/
597 # now clean up permissions that are left broken by the install
598 chmod o-r $RPM_BUILD_ROOT/etc/bacula/query.sql
599 chmod o-rwx $RPM_BUILD_ROOT/var/bacula
602 [ "$RPM_BUILD_ROOT" != "/" ] && rm -rf "$RPM_BUILD_ROOT"
607 %defattr(-,root,root)
611 /etc/bacula/create_mysql_database
612 /etc/bacula/drop_mysql_database
613 /etc/bacula/make_mysql_tables
614 /etc/bacula/drop_mysql_tables
615 /etc/bacula/update_mysql_tables
616 /etc/bacula/grant_mysql_privileges
617 /etc/bacula/create_bacula_database
618 /etc/bacula/drop_bacula_database
619 /etc/bacula/grant_bacula_privileges
620 /etc/bacula/make_bacula_tables
621 /etc/bacula/drop_bacula_tables
622 /etc/bacula/update_bacula_tables
623 /etc/bacula/make_catalog_backup
624 /etc/bacula/delete_catalog_backup
625 /etc/bacula/startmysql
626 /etc/bacula/stopmysql
627 /etc/bacula/mtx-changer
628 /etc/bacula/btraceback.dbx
629 /etc/bacula/btraceback.gdb
630 /etc/init.d/bacula-dir
631 /etc/init.d/bacula-fd
632 /etc/init.d/bacula-sd
634 %doc COPYING ChangeLog ReleaseNotes VERIFYING kernstodo doc/bacula.pdf html-manual ../Release_Notes-%{version}-%{release}.txt
637 /etc/logrotate.d/bacula
639 %config(noreplace) /etc/bacula/bacula-dir.conf
640 %config(noreplace) /etc/bacula/bacula-fd.conf
641 %config(noreplace) /etc/bacula/bacula-sd.conf
642 %config(noreplace) /etc/bacula/bconsole.conf
643 /etc/bacula/query.sql
662 /usr/sbin/static-bacula-fd
665 # test for bacula database older than version 7
666 # note: this ASSUMES no password has been set for bacula database
667 DB_VER=`mysql bacula -e 'select * from Version;'|tail -n 1 2>/dev/null`
669 if [ -n "$DB_VER" ] && [ "$DB_VER" -lt "7" ]; then
670 echo "This bacula upgrade will update a bacula database from version 7 to 8."
671 echo "You appear to be running database version $DB_VER. You must first update"
672 echo "your database to version 7 and then install this upgrade. The alternative"
673 echo "is to use /etc/bacula/drop_mysql_tables to delete all your your current"
674 echo "catalog information, then do the upgrade. Information on updating a"
675 echo "database older than version 7 can be found in the release notes."
678 # check for and copy /etc/bacula/console.conf to bconsole.conf
679 if [ -s /etc/bacula/console.conf ];then
680 cp -p /etc/bacula/console.conf /etc/bacula/bconsole.conf
686 if [ "$1" -ge 1 ] ; then
687 /sbin/chkconfig --add bacula-dir
688 /sbin/chkconfig --add bacula-fd
689 /sbin/chkconfig --add bacula-sd
692 # test for an existing database
693 # note: this ASSUMES no password has been set for bacula database
694 DB_VER=`mysql bacula -e 'select * from Version;'|tail -n 1 2>/dev/null`
696 # grant privileges and create tables if they do not exist
697 if [ -z "$DB_VER" ]; then
698 echo "Hmm, doesn't look like you have an existing database."
699 echo "Granting privileges for MySQL user bacula..."
700 /etc/bacula/grant_mysql_privileges
701 echo "Creating MySQL bacula database..."
702 /etc/bacula/create_mysql_database
703 echo "Creating bacula tables..."
704 /etc/bacula/make_mysql_tables
706 # check to see if we need to upgrade a 1.34 or lower database
707 elif [ "$DB_VER" -lt "8" ]; then
708 echo "This release requires an upgrade to your bacula database."
709 echo "Backing up your current database..."
710 mysqldump -f --opt bacula | bzip2 > %{working_dir}/bacula_backup.sql.bz2
711 echo "Upgrading bacula database ..."
712 /etc/bacula/update_mysql_tables
713 echo "If bacula works correctly you can remove the backup file %{working_dir}/bacula_backup.sql.bz2"
717 # create the daemon group
718 HAVE_BACULA=`cat %{group_file} | grep %{daemon_group} 2>/dev/null`
719 if [ -z $HAVE_BACULA ]; then
720 %{groupadd} -r %{daemon_group} > /dev/null 2>&1
721 echo "The group %{daemon_group} has been added to %{groupfile}."
722 echo "See the manual chapter Running Bacula for details."
728 /sbin/chkconfig --del bacula-dir
729 /sbin/chkconfig --del bacula-fd
730 /sbin/chkconfig --del bacula-sd
738 %defattr(-,root,root)
742 /etc/bacula/create_bacula_database
743 /etc/bacula/drop_bacula_database
744 /etc/bacula/grant_bacula_privileges
745 /etc/bacula/make_bacula_tables
746 /etc/bacula/drop_bacula_tables
747 /etc/bacula/update_bacula_tables
748 /etc/bacula/create_sqlite_database
749 /etc/bacula/drop_sqlite_database
750 /etc/bacula/grant_sqlite_privileges
751 /etc/bacula/make_sqlite_tables
752 /etc/bacula/drop_sqlite_tables
753 /etc/bacula/update_sqlite_tables
754 /etc/bacula/make_catalog_backup
755 /etc/bacula/delete_catalog_backup
756 /etc/bacula/mtx-changer
757 /etc/bacula/btraceback.dbx
758 /etc/bacula/btraceback.gdb
759 /etc/init.d/bacula-dir
760 /etc/init.d/bacula-fd
761 /etc/init.d/bacula-sd
763 %doc COPYING ChangeLog ReleaseNotes VERIFYING kernstodo doc/bacula.pdf html-manual ../Release_Notes-%{version}-%{release}.txt
766 /etc/logrotate.d/bacula
768 %config(noreplace) /etc/bacula/bacula-dir.conf
769 %config(noreplace) /etc/bacula/bacula-fd.conf
770 %config(noreplace) /etc/bacula/bacula-sd.conf
771 %config(noreplace) /etc/bacula/bconsole.conf
772 /etc/bacula/query.sql
773 %{sqlite_bindir}/libsqlite.a
774 %{sqlite_bindir}/sqlite.h
793 /usr/sbin/static-bacula-fd
794 %{sqlite_bindir}/sqlite
798 # test for bacula database older than version 7
799 if [ -s %{working_dir}/bacula.db ];then
800 DB_VER=`echo "select * from Version;" | %{sqlite_bindir}/sqlite %{working_dir}/bacula.db | tail -n 1 2>/dev/null`
801 if [ -n "$DB_VER" ] && [ "$DB_VER" -lt "7" ]; then
802 echo "This bacula upgrade will update a bacula database from version 7 to 8."
803 echo "You appear to be running database version $DB_VER. You must first update"
804 echo "your database to version 7 and then install this upgrade. The alternative"
805 echo "is to use /etc/bacula/drop_sqlite_tables to delete all your your current"
806 echo "catalog information, then do the upgrade. Information on updating a"
807 echo "database older than version 7 can be found in the release notes."
811 # check for and copy /etc/bacula/console.conf to bconsole.conf
812 if [ -s /etc/bacula/console.conf ];then
813 cp -p /etc/bacula/console.conf /etc/bacula/bconsole.conf
818 if [ "$1" -ge 1 ] ; then
819 /sbin/chkconfig --add bacula-dir
820 /sbin/chkconfig --add bacula-fd
821 /sbin/chkconfig --add bacula-sd
824 # test for an existing database
825 if [ -s %{working_dir}/bacula.db ]; then
826 DB_VER=`echo "select * from Version;" | %{sqlite_bindir}/sqlite %{working_dir}/bacula.db | tail -n 1 2>/dev/null`
827 # check to see if we need to upgrade a 1.34 or lower database
828 if [ "$DB_VER" -lt "8" ]; then
829 echo "This release requires an upgrade to your bacula database."
830 echo "Backing up your current database..."
831 echo ".dump" | %{sqlite_bindir}/sqlite %{working_dir}/bacula.db | bzip2 > %{working_dir}/bacula_backup.sql.bz2
832 echo "Upgrading bacula database ..."
833 /etc/bacula/update_sqlite_tables
834 echo "If bacula works correctly you can remove the backup file %{working_dir}/bacula_backup.sql.bz2"
837 # create the database and tables
838 echo "Hmm, doesn't look like you have an existing database."
839 echo "Creating SQLite database..."
840 /etc/bacula/create_sqlite_database
841 echo "Creating the SQLite tables..."
842 /etc/bacula/make_sqlite_tables
845 # create the daemon group
846 HAVE_BACULA=`cat %{group_file} | grep %{daemon_group} 2>/dev/null`
847 if [ -z $HAVE_BACULA ]; then
848 %{groupadd} -r %{daemon_group} > /dev/null 2>&1
849 echo "The group %{daemon_group} has been added to %{groupfile}."
850 echo "See the manual chapter Running Bacula for details."
856 /sbin/chkconfig --del bacula-dir
857 /sbin/chkconfig --del bacula-fd
858 /sbin/chkconfig --del bacula-sd
866 %defattr(-,root,root)
870 /etc/bacula/create_postgresql_database
871 /etc/bacula/drop_postgresql_database
872 /etc/bacula/make_postgresql_tables
873 /etc/bacula/drop_postgresql_tables
874 /etc/bacula/update_postgresql_tables
875 /etc/bacula/grant_postgresql_privileges
876 /etc/bacula/create_bacula_database
877 /etc/bacula/drop_bacula_database
878 /etc/bacula/grant_bacula_privileges
879 /etc/bacula/make_bacula_tables
880 /etc/bacula/drop_bacula_tables
881 /etc/bacula/update_bacula_tables
882 /etc/bacula/make_catalog_backup
883 /etc/bacula/delete_catalog_backup
884 /etc/bacula/mtx-changer
885 /etc/bacula/btraceback.dbx
886 /etc/bacula/btraceback.gbd
887 /etc/init.d/bacula-dir
888 /etc/init.d/bacula-fd
889 /etc/init.d/bacula-sd
891 %doc COPYING ChangeLog ReleaseNotes VERIFYING kernstodo doc/bacula.pdf html-manual ../Release_Notes-%{version}-%{release}.txt
894 /etc/logrotate.d/bacula
896 %config(noreplace) /etc/bacula/bacula-dir.conf
897 %config(noreplace) /etc/bacula/bacula-fd.conf
898 %config(noreplace) /etc/bacula/bacula-sd.conf
899 %config(noreplace) /etc/bacula/bconsole.conf
900 /etc/bacula/query.sql
919 /usr/sbin/static-bacula-fd
922 # test for bacula database older than version 7
923 # note: this ASSUMES no password has been set for bacula database
924 DB_VER=`echo 'select * from Version;' | psql bacula | tail -3 | head -1 2>/dev/null`
926 if [ -n "$DB_VER" ] && [ "$DB_VER" -lt "7" ]; then
927 echo "This bacula upgrade will update a bacula database from version 7 to 8."
928 echo "You appear to be running database version $DB_VER. You must first update"
929 echo "your database to version 7 and then install this upgrade. The alternative"
930 echo "is to use /etc/bacula/drop_postgresql_tables to delete all your your current"
931 echo "catalog information, then do the upgrade. Information on updating a"
932 echo "database older than version 7 can be found in the release notes."
938 if [ "$1" -ge 1 ] ; then
939 /sbin/chkconfig --add bacula-dir
940 /sbin/chkconfig --add bacula-fd
941 /sbin/chkconfig --add bacula-sd
944 # test for an existing database
945 # note: this ASSUMES no password has been set for bacula database
946 DB_VER=`echo 'select * from Version;' | psql bacula | tail -3 | head -1 2>/dev/null`
948 # grant privileges and create tables if they do not exist
949 if [ -z "$DB_VER" ]; then
950 echo "Hmm, doesn't look like you have an existing database."
951 echo "Granting privileges for PostgreSQL user bacula..."
952 /etc/bacula/grant_postgresql_privileges
953 echo "Creating PostgreSQL bacula database..."
954 /etc/bacula/create_postgresql_database
955 echo "Creating bacula tables..."
956 /etc/bacula/make_postgresql_tables
958 # check to see if we need to upgrade a 1.34 or lower database
959 elif [ "$DB_VER" -lt "8" ]; then
960 echo "This release requires an upgrade to your bacula database."
961 echo "Backing up your current database..."
962 pg_dump bacula | bzip2 > %{working_dir}/bacula_backup.sql.bz2
963 echo "Upgrading bacula database ..."
964 /etc/bacula/update_postgresql_tables
965 echo "If bacula works correctly you can remove the backup file %{working_dir}/bacula_backup.sql.bz2"
969 # create the daemon group
970 HAVE_BACULA=`cat %{group_file} | grep %{daemon_group} 2>/dev/null`
971 if [ -z $HAVE_BACULA ]; then
972 %{groupadd} -r %{daemon_group} > /dev/null 2>&1
973 echo "The group %{daemon_group} has been added to %{groupfile}."
974 echo "See the manual chapter Running Bacula for details."
981 /sbin/chkconfig --del bacula-dir
982 /sbin/chkconfig --del bacula-fd
983 /sbin/chkconfig --del bacula-sd
989 %defattr(-,root,root)
992 /etc/init.d/bacula-fd
994 %doc COPYING ChangeLog ReleaseNotes VERIFYING kernstodo doc/bacula.pdf html-manual ../Release_Notes-%{version}-%{release}.txt
995 /etc/logrotate.d/bacula
997 %config(noreplace) /etc/bacula/bacula-fd.conf
998 %config(noreplace) /etc/bacula/bconsole.conf
1002 /usr/sbin/btraceback
1003 /etc/bacula/btraceback.gdb
1004 /etc/bacula/btraceback.dbx
1011 if [ "$1" -ge 1 ] ; then
1012 /sbin/chkconfig --add bacula-fd
1015 # create the daemon group
1016 HAVE_BACULA=`cat %{group_file} | grep %{daemon_group} 2>/dev/null`
1017 if [ -z $HAVE_BACULA ]; then
1018 %{groupadd} -r %{daemon_group} > /dev/null 2>&1
1019 echo "The group %{daemon_group} has been added to %{groupfile}."
1020 echo "See the manual chapter Running Bacula for details."
1026 /sbin/chkconfig --del bacula-fd
1030 %defattr(-,root,root)
1031 /etc/bacula/rescue/backup.etc.list
1032 /etc/bacula/rescue/format_floppy
1033 /etc/bacula/rescue/getdiskinfo
1034 /etc/bacula/rescue/make_rescue_disk
1035 /etc/bacula/rescue/restore_bacula
1036 /etc/bacula/rescue/restore_etc
1037 /etc/bacula/rescue/run_grub
1038 /etc/bacula/rescue/run_lilo
1039 /etc/bacula/rescue/sfdisk.bz2
1040 /etc/bacula/rescue/bacula-fd
1041 /etc/bacula/rescue/tomsrtbt/*
1044 # link our current installed conf file to the rescue directory
1045 ln -s /etc/bacula-fd.conf /etc/bacula/rescue/bacula-fd.conf
1048 echo "Creating rescue files for this system..."
1049 cd /etc/bacula/rescue
1053 # remove the files created after the initial rpm installation
1054 rm -f /etc/bacula/rescue/bacula-fd.conf
1055 rm -f /etc/bacula/rescue/partition.*
1056 rm -f /etc/bacula/rescue/format.*
1057 rm -f /etc/bacula/rescue/mount_drives
1058 rm -f /etc/bacula/rescue/start_network
1059 rm -f /etc/bacula/rescue/sfdisk
1060 rm -rf /etc/bacula/rescue/diskinfo/*
1063 %defattr(-,root,root)
1064 /etc/bacula/updatedb/*
1067 echo "The database update scripts were installed to /etc/bacula/updatedb"
1070 %defattr(-,root,root)
1071 /usr/sbin/gnome-console
1072 /etc/bacula/gconsole
1073 %config(noreplace) /etc/bacula/gnome-console.conf
1074 /usr/share/pixmaps/bacula.png
1076 /usr/share/gnome/apps/System/bacula.desktop
1078 /usr/share/applications/bacula.desktop
1079 /usr/sbin/bacula-tray-monitor
1080 /etc/bacula/tray-monitor.conf
1081 /usr/share/pixmaps/bacula-tray-monitor.xpm
1082 /usr/share/applications/bacula-tray-monitor.desktop
1086 # add the console helper files
1087 %config(noreplace,missingok) /etc/pam.d/gnome-console
1088 %config(noreplace,missingok) /etc/security/console.apps/gnome-console
1089 /usr/bin/gnome-console
1094 * Wed Oct 13 2004 D. Scott Barninger <barninger at fairfieldcomputers.com>
1095 - add Mandrake support and tray-monitor, misc changes for 1.35.8/1.36.0,
1096 - change database update to 7 to 8 upgrade,
1097 - revert depkgs to 08Mar04 as there seems to be a bug in the sqlite
1098 - build in 30Jul04, add freetype dependancy to gnome package.
1099 * Sun Sep 12 2004 D. Scott Barninger <barninger at fairfieldcomputers.com>
1100 - add documentation to console for groupadd
1101 * Sat Sep 04 2004 D. Scott Barninger <barninger at fairfieldcomputers.com>
1102 - add support for running daemons as root.bacula
1103 - correct for change in location of floppy rescue files in 1.35.2
1104 - removed /etc/bacula/fd script from all packages as it has disappeared from 1.35.2
1105 - updated depgkgs to 30Jul04
1106 * Thu Jun 24 2004 D. Scott Barninger <barninger at fairfieldcomputers.com>
1107 - really, really fix symlink creation for gconsole
1108 * Thu Jun 17 2004 D. Scott Barninger <barninger at fairfieldcomputers.com>
1109 - fix symlink creation in gconsole post install
1110 * Sat Jun 12 2004 D. Scott Barninger <barninger at fairfieldcomputers.com>
1111 - fixed error in gconsole post script
1112 * Fri Apr 30 2004 D. Scott Barninger <barninger at fairfieldcomputers.com>
1113 - add check for gconsole symlink before trying to create it
1114 * Sun Apr 11 2004 D. Scott Barninger <barninger at fairfieldcomputers.com>
1115 - fix some minor permissions issues on doc files that CVS won't let us fix
1116 * Sun Apr 04 2004 D. Scott Barninger <barninger at fairfieldcomputers.com>
1117 - add pkgconfig to BuildRequires
1118 - clean up gnome1/2 menu entries for appropriate packages
1119 * Fri Apr 02 2004 D. Scott Barninger <barninger at fairfieldcomputers.com>
1120 - tightened up doc distribution
1121 * Tue Mar 30 2004 D. Scott Barninger <barninger at fairfieldcomputers.com>
1122 - added usermode (Redhat) and xsu (SuSE) support for gnome-console;
1123 - rpm's horrible bug that prevents nested conditional macros prevents me
1124 - from implementing these 2 separate approaches within the conditionals which
1125 - create the separate server packages.
1126 - the solution adopted is to remove the gnome-console files from the server packages
1127 - so bacula-gconsole is now an add on for both client and server packages.
1128 - this also now allows the server packages to be install on machines without
1129 - an X-server and we can still maintain a single spec file.
1130 - added tests to make sure we have defined platform and database macros.
1131 * Sat Mar 13 2004 D. Scott Barninger <barninger at fairfieldcomputers.com>
1132 - corrected mysql prerequisites for suse
1133 * Mon Mar 1 2004 D. Scott Barninger <barninger at fairfieldcomputers.com>
1134 - replaced all cp commands with cp -p
1135 - removed addition of a+x permissions on gnome-console
1136 - corrected permissions on init scripts
1137 * Sat Feb 28 2004 D. Scott Barninger <barninger at fairfieldcomputers.com>
1138 - corrected creation of sqlite_bindir in install from !mysql to sqlite
1140 - various cleanup patches from Michael K. Johnson:
1141 - corrected post install routines for nicer chkconfig
1142 - removed chmod changes in post routines and moved to install section
1143 - removed interactive nature of post routine for rescue package
1144 - added description of building rescue disks to the description of rescue package
1145 - added clean of build root to beginning of install
1146 - removed specifying attr in all file lists
1147 * Fri Feb 20 2004 D. Scott Barninger <barninger at fairfieldcomputers.com>
1148 - added bconsole to client package
1149 - added gconsole package as add-on to client
1150 - removed spurious dependancies on updatedb package (!cut/paste)
1151 * Thu Feb 19 2004 D. Scott Barninger <barninger at fairfieldcomputers.com>
1152 - added updatedb package
1153 * Thu Feb 12 2004 D. Scott Barninger <barninger at fairfieldcomputers.com>
1154 - added postgresql package
1155 * Wed Feb 11 2004 D. Scott Barninger <barninger at fairfieldcomputers.com>
1156 - corrected the if else logic in the dependancy sections
1157 - changes for 1.34 release
1158 - /etc/bacula/console is now /etc/bacula/bconsole
1159 - /etc/bacula/console.conf is now /etc/bacula/bconsole.conf
1160 - /usr/sbin/btraceback.gdb is now /etc/bacula/btraceback.gdb
1161 - /usr/sbin/smtp is now /usr/sbin/bsmtp
1162 - added new /etc/bacula/drop_mysql_database
1163 - added new /etc/bacula/drop_sqlite_database
1164 - added new /etc/bacula/grant_sqlite_privileges
1165 - added new generic bacula database scripts in /etc/bacula
1166 - added pre-install sections to check for database versions older than 6
1167 - added check for /etc/bacula/console.conf and copy to bconsole.conf
1168 * Sun Feb 08 2004 D. Scott Barninger <barninger at fairfieldcomputers.com>
1169 - added /etc/bacula/update_sqlite_tables and /etc/bacula/update_mysql_tables for 1.34 release
1170 - added testing for existing databases before executing any of the database creation scripts
1171 - added defines working_dir and sqlite_bindir in place of hard coded paths
1172 * Sat Jan 31 2004 D. Scott Barninger <barninger at fairfieldcomputers.com>
1173 - added build configuration for SuSE.
1174 - Thanks to Matt Vollmar <matt at panamschool.edu.sv> for his input
1175 * Sat Jan 24 2004 D. Scott Barninger <barninger at fairfieldcomputers.com>
1176 - added patch for create_sqlite_database to fix the installed bindir
1177 - added execute of create_sqlite_database to post of sqlite package
1178 * Sat Jan 10 2004 D. Scott Barninger <barninger at fairfieldcomputers.com>
1179 - added virtual package Provides bacula-dir, bacula-sd, bacula-fd
1180 - added bacula-fd as Requires for rescue package
1181 - added build tag for Fedora Core 1
1182 - cleaned up dependancies for all builds
1183 * Thu Jan 1 2004 D. Scott Barninger <barninger at fairfieldcomputers.com>
1184 - removed rh_version from package names
1185 - added platform build configuration section to beginning of file
1186 * Tue Nov 25 2003 D. Scott Barninger <barninger at fairfieldcomputers.com>
1187 - removed make_static_bacula script from rescue package install
1188 * Sun Nov 23 2003 D. Scott Barninger <barninger at fairfieldcomputers.com>
1189 - Added define at top of file for depkgs version
1190 - Added rescue sub-package
1191 - Moved requires statements into proper sub-package locations
1192 * Mon Oct 27 2003 D. Scott Barninger <barninger at fairfieldcomputers.com>
1193 - Corrected Requires for Gnome 1.4/2.0 builds
1194 * Fri Oct 24 2003 D. Scott Barninger <barninger at fairfieldcomputers.com>
1195 - Added separate source declaration for depkgs
1196 - added patch for make_catalog_backup script
1197 * Mon May 11 2003 D. Scott Barninger <barninger at fairfieldcomputers.com>
1198 - Misc changes to mysql/sqlite build and rh7/8 menu differences
1199 - Added rh_version to sub-package names
1200 - Added installed but missing file /etc/bacula/gconsole
1201 - rm'd /etc/bacula/grant_mysql_privileges on sqlite builds
1202 * Thu May 08 2003 Kern Sibbald <kern at sibbald.com>
1203 - Update spec for version 1.31 and combine client
1204 * Sun Mar 30 2003 D. Scott Barninger <barninger at fairfieldcomputers.com>