1 # Platform Build Configuration
3 # basic defines for every build
4 %define depkgs ../depkgs
5 %define depkgs_version 24Jul03
6 %define tomsrtbt tomsrtbt-2.0.103
7 %define sqlite_bindir /usr/lib/sqlite
8 %define working_dir /var/bacula
10 # platform defines - set one below or define the build_xxx on the command line
13 %{?build_rh7:%define rh7 1}
15 %{?build_rh8:%define rh8 1}
17 %{?build_rh9:%define rh9 1}
20 %{?build_fc1:%define fc1 1}
21 # Whitebox Enterprise build
22 # this should also work for RHEL
24 %{?build_wb3:%define wb3 1}
26 # this is known to build on SuSE 8.2 and 9.0
28 %{?build_su9:%define su9 1}
30 # test for a platform definition
31 %if ! %{rh7} && ! %{rh8} && ! %{rh9} && ! %{fc1} && ! %{wb3} && ! %{su9}
32 %{error: You must specify a platform. Please examine the spec file.}
37 # set for database support desired or define the build_xxx on the command line
39 %{?build_mysql:%define mysql 1}
41 %{?build_sqlite:%define sqlite 1}
43 %{?build_postgresql:%define postgresql 1}
45 # test for a database definition
46 %if ! %{mysql} && ! %{sqlite} && ! %{postgresql}
47 %{error: You must specify database support. Please examine the spec file.}
51 Summary: Bacula - The Network Backup Solution
55 Group: System Environment/Daemons
57 Source0:http://www.prdownloads.sourceforge.net/bacula/%{name}-%{version}.tar.gz
58 Source1:http://www.prdownloads.sourceforge.net/bacula/depkgs-%{depkgs_version}.tar.gz
59 Source2:http://www.tux.org/pub/distributions/tinylinux/tomsrtbt/%{tomsrtbt}.tar.gz
60 Source3: Release_Notes-%{version}-%{release}.tar.gz
61 BuildRoot: %{_tmppath}/%{name}-root
62 URL: http://www.bacula.org/
63 Vendor: The Bacula Team
64 Distribution: The Bacula Team
65 Packager: D. Scott Barninger <barninger@fairfieldcomputers.com>
66 BuildRequires: readline-devel, atk-devel, ncurses-devel, pango-devel
67 BuildRequires: libstdc++-devel, libxml2-devel, zlib-devel, pkgconfig
69 BuildRequires: libtermcap-devel
70 BuildRequires: gtk+-devel >= 1.2
71 BuildRequires: gnome-libs-devel >= 1.4
72 BuildRequires: glibc-devel >= 2.2
73 BuildRequires: ORBit-devel
74 BuildRequires: bonobo-devel
75 BuildRequires: GConf-devel
78 BuildRequires: termcap
79 BuildRequires: gtk2-devel >= 2.0
80 BuildRequires: libgnomeui-devel >= 2.0
81 BuildRequires: glibc-devel >= 2.3
82 BuildRequires: ORBit2-devel
83 BuildRequires: libart_lgpl-devel >= 2.0
84 BuildRequires: libbonobo-devel >= 2.0
85 BuildRequires: libbonoboui-devel >= 2.0
86 BuildRequires: bonobo-activation-devel
87 BuildRequires: gconf2-devel
88 BuildRequires: linc-devel
90 %if ! %{rh7} && ! %{su9}
91 BuildRequires: libtermcap-devel
92 BuildRequires: gtk2-devel >= 2.0
93 BuildRequires: libgnomeui-devel >= 2.0
94 BuildRequires: glibc-devel >= 2.3
95 BuildRequires: ORBit2-devel
96 BuildRequires: libart_lgpl-devel >= 2.0
97 BuildRequires: libbonobo-devel >= 2.0
98 BuildRequires: libbonoboui-devel >= 2.0
99 BuildRequires: bonobo-activation-devel
100 BuildRequires: GConf2-devel
101 BuildRequires: linc-devel
105 BuildRequires: mysql-devel >= 3.23
108 %if %{postgresql} && %{wb3}
109 BuildRequires: rh-postgresql-devel >= 7
112 %if %{postgresql} && ! %{wb3}
113 BuildRequires: postgresql-devel >= 7
117 Bacula - It comes by night and sucks the vital essence from your computers.
119 Bacula is a set of computer programs that permit you (or the system
120 administrator) to manage backup, recovery, and verification of computer
121 data across a network of computers of different kinds. In technical terms,
122 it is a network client/server based backup program. Bacula is relatively
123 easy to use and efficient, while offering many advanced storage management
124 features that make it easy to find and recover lost or damaged files.
125 Bacula source code has been released under the GPL version 2 license.
137 Summary: Bacula - The Network Backup Solution
138 Group: System Environment/Daemons
139 Provides: bacula-dir, bacula-sd, bacula-fd, bacula-server
140 Conflicts: bacula-client
141 Requires: readline, ncurses, libstdc++, zlib
143 Requires: glibc >= 2.2
147 Requires: glibc >= 2.3
150 %if ! %{rh7} && ! %{su9}
151 Requires: glibc >= 2.3
154 %if %{mysql} && ! %{su9}
155 Requires: mysql >= 3.23
156 Requires: mysql-server >= 3.23
158 %if %{mysql} && %{su9}
159 Requires: mysql >= 3.23
160 Requires: mysql-client >= 3.23
162 %if %{postgresql} && %{wb3}
163 Requires: rh-postgresql >= 7
164 Requires: rh-postgresql-server >= 7
166 %if %{postgresql} && ! %{wb3}
167 Requires: postgresql >= 7
168 Requires: postgresql-server >= 7
178 %description postgresql
181 Bacula - It comes by night and sucks the vital essence from your computers.
183 Bacula is a set of computer programs that permit you (or the system
184 administrator) to manage backup, recovery, and verification of computer
185 data across a network of computers of different kinds. In technical terms,
186 it is a network client/server based backup program. Bacula is relatively
187 easy to use and efficient, while offering many advanced storage management
188 features that make it easy to find and recover lost or damaged files.
189 Bacula source code has been released under the GPL version 2 license.
192 This build requires MySQL to be installed separately as the catalog database.
195 This build requires PostgreSQL to be installed separately as the catalog database.
198 This build incorporates sqlite as the catalog database, statically compiled.
202 Summary: Bacula - The Network Backup Solution
203 Group: System Environment/Daemons
205 Requires: readline, libstdc++, zlib
208 Requires: glibc >= 2.2
212 Requires: glibc >= 2.3
215 %if ! %{rh7} && ! %{su9}
216 Requires: glibc >= 2.3
221 Bacula - It comes by night and sucks the vital essence from your computers.
223 Bacula is a set of computer programs that permit you (or the system
224 administrator) to manage backup, recovery, and verification of computer
225 data across a network of computers of different kinds. In technical terms,
226 it is a network client/server based backup program. Bacula is relatively
227 easy to use and efficient, while offering many advanced storage management
228 features that make it easy to find and recover lost or damaged files.
229 Bacula source code has been released under the GPL version 2 license.
231 This is the File daemon (Client) only package. It includes the command line
236 Summary: Bacula - The Network Backup Solution
237 Group: System Environment/Daemons
238 Requires: coreutils, util-linux, libc5, bacula-fd
241 Bacula - It comes by night and sucks the vital essence from your computers.
243 Bacula is a set of computer programs that permit you (or the system
244 administrator) to manage backup, recovery, and verification of computer
245 data across a network of computers of different kinds. In technical terms,
246 it is a network client/server based backup program. Bacula is relatively
247 easy to use and efficient, while offering many advanced storage management
248 features that make it easy to find and recover lost or damaged files.
249 Bacula source code has been released under the GPL version 2 license.
251 This package installs scripts for disaster recovery and builds rescue
252 floppy disks for bare metal recovery. This package includes tomsrtbt
253 (http://www.toms.net/rb/, by Tom Oehser, Tom@Toms.NET) to provide a tool
254 to build a boot floppy disk.
256 You need to have the bacula-sqlite, bacula-mysql, bacula-postgresql or
257 bacula-client package for your platform installed and configured before
258 installing this package.
260 To create a boot disk run "./getdiskinfo" from the /etc/bacula/rescue
261 directory (this is done when the package is first installed),
262 then run "./install.s" from the /etc/bacula/rescue/tomsrtbt/
263 directory. To make the bacula rescue disk run
264 "./make_rescue_disk --copy-static-bacula --copy-etc-files"
265 from the /etc/bacula/rescue directory. To recreate the rescue
266 information for this system run ./getdiskinfo again.
270 Summary: Bacula - The Network Backup Solution
271 Group: System Environment/Daemons
273 %description updatedb
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 updating older versions of the bacula
288 Summary: Bacula - The Network Backup Solution
289 Group: System Environment/Daemons
290 Requires: readline, atk, libstdc++, zlib, pango, libxml2, bacula-fd
293 Requires: gtk+ >= 1.2
294 Requires: gnome-libs >= 1.4
295 Requires: glibc >= 2.2
301 Requires: gtk2 >= 2.0
302 Requires: libgnomeui >= 2.0
303 Requires: glibc >= 2.3
305 Requires: libart_lgpl >= 2.0
306 Requires: libbonobo >= 2.0
307 Requires: libbonoboui >= 2.0
308 Requires: bonobo-activation
312 %if ! %{rh7} && ! %{su9}
313 Requires: gtk2 >= 2.0
314 Requires: libgnomeui >= 2.0
315 Requires: glibc >= 2.3
317 Requires: libart_lgpl >= 2.0
318 Requires: libbonobo >= 2.0
319 Requires: libbonoboui >= 2.0
320 Requires: bonobo-activation
330 %description gconsole
331 Bacula - It comes by night and sucks the vital essence from your computers.
333 Bacula is a set of computer programs that permit you (or the system
334 administrator) to manage backup, recovery, and verification of computer
335 data across a network of computers of different kinds. In technical terms,
336 it is a network client/server based backup program. Bacula is relatively
337 easy to use and efficient, while offering many advanced storage management
338 features that make it easy to find and recover lost or damaged files.
339 Bacula source code has been released under the GPL version 2 license.
341 This is the Gnome Console package. It is an add-on to the client or
353 export LDFLAGS="-L/usr/lib/termcap"
364 # patches for the bundled sqlite scripts
366 # patch the make_sqlite_tables script for installation bindir
367 patch src/cats/make_sqlite_tables.in src/cats/make_sqlite_tables.in.patch
369 # patch the create_sqlite_database script for installation bindir
370 patch src/cats/create_sqlite_database.in src/cats/create_sqlite_database.in.patch
372 # patch the make_catalog_backup script for installation bindir
373 patch src/cats/make_catalog_backup.in src/cats/make_catalog_backup.in.patch
375 # patch the update_sqlite_tables script for installation bindir
376 patch src/cats/update_sqlite_tables.in src/cats/update_sqlite_tables.in.patch
380 --sbindir=/usr/sbin \
381 --sysconfdir=/etc/bacula \
382 --with-scriptdir=/etc/bacula \
383 --enable-smartalloc \
390 --with-sqlite=${cwd}/../depkgs/sqlite \
395 --with-working-dir=%{working_dir} \
396 --with-pid-dir=/var/run \
397 --with-subsys-dir=/var/lock/subsys
401 strip static-bacula-fd
407 [ "$RPM_BUILD_ROOT" != "/" ] && rm -rf "$RPM_BUILD_ROOT"
408 mkdir -p $RPM_BUILD_ROOT/etc/init.d
409 mkdir -p $RPM_BUILD_ROOT/etc/logrotate.d
410 mkdir -p $RPM_BUILD_ROOT/usr/share/pixmaps
412 mkdir -p $RPM_BUILD_ROOT/usr/share/gnome/apps/System
414 mkdir -p $RPM_BUILD_ROOT/usr/share/applications
416 mkdir -p $RPM_BUILD_ROOT/etc/bacula/rescue
417 mkdir -p $RPM_BUILD_ROOT/etc/bacula/rescue/tomsrtbt
418 mkdir -p $RPM_BUILD_ROOT/etc/bacula/updatedb
420 mkdir -p $RPM_BUILD_ROOT/etc/pam.d
421 mkdir -p $RPM_BUILD_ROOT/etc/security/console.apps
425 mkdir -p $RPM_BUILD_ROOT%{sqlite_bindir}
429 prefix=$RPM_BUILD_ROOT/usr \
430 sbindir=$RPM_BUILD_ROOT/usr/sbin \
431 sysconfdir=$RPM_BUILD_ROOT/etc/bacula \
432 scriptdir=$RPM_BUILD_ROOT/etc/bacula \
433 working_dir=$RPM_BUILD_ROOT%{working_dir} \
438 prefix=$RPM_BUILD_ROOT/usr \
439 sbindir=$RPM_BUILD_ROOT/usr/sbin \
440 sysconfdir=$RPM_BUILD_ROOT/etc/bacula \
441 working_dir=$RPM_BUILD_ROOT%{working_dir} \
442 mandir=$RPM_BUILD_ROOT/usr/man \
446 # setup the manual for the doc dir
448 cp -p doc/html-manual/*.html html-manual/
449 cp -p doc/html-manual/*.jpg html-manual/
450 cp -p doc/html-manual/*.gif html-manual/
451 cp -p doc/html-manual/*.css html-manual/
453 # fixme - make installs the mysql scripts for sqlite build
455 rm -f $RPM_BUILD_ROOT/etc/bacula/startmysql
456 rm -f $RPM_BUILD_ROOT/etc/bacula/stopmysql
457 rm -f $RPM_BUILD_ROOT/etc/bacula/grant_mysql_privileges
460 # fixme - make installs the mysql scripts for postgresql build
462 rm -f $RPM_BUILD_ROOT/etc/bacula/startmysql
463 rm -f $RPM_BUILD_ROOT/etc/bacula/stopmysql
466 # install the init scripts
468 cp -p platforms/suse/bacula-dir $RPM_BUILD_ROOT/etc/init.d/bacula-dir
469 cp -p platforms/suse/bacula-fd $RPM_BUILD_ROOT/etc/init.d/bacula-fd
470 cp -p platforms/suse/bacula-sd $RPM_BUILD_ROOT/etc/init.d/bacula-sd
472 cp -p platforms/redhat/bacula-dir $RPM_BUILD_ROOT/etc/init.d/bacula-dir
473 cp -p platforms/redhat/bacula-fd $RPM_BUILD_ROOT/etc/init.d/bacula-fd
474 cp -p platforms/redhat/bacula-sd $RPM_BUILD_ROOT/etc/init.d/bacula-sd
476 chmod 0754 $RPM_BUILD_ROOT/etc/init.d/*
478 # install the menu stuff
480 cp -p scripts/bacula.png $RPM_BUILD_ROOT/usr/share/pixmaps/bacula.png
481 cp -p scripts/bacula.desktop.gnome2.xsu $RPM_BUILD_ROOT/usr/share/applications/bacula.desktop
484 cp -p scripts/bacula.png $RPM_BUILD_ROOT/usr/share/pixmaps/bacula.png
485 cp -p scripts/bacula.desktop.gnome1.consolehelper $RPM_BUILD_ROOT/usr/share/gnome/apps/System/bacula.desktop
486 cp -p scripts/gnome-console.console_apps $RPM_BUILD_ROOT/etc/security/console.apps/gnome-console
487 cp -p scripts/gnome-console.pamd $RPM_BUILD_ROOT/etc/pam.d/gnome-console
489 %if %{rh8} || %{rh9} || %{wb3} || %{fc1}
490 cp -p scripts/bacula.png $RPM_BUILD_ROOT/usr/share/pixmaps/bacula.png
491 cp -p scripts/bacula.desktop.gnome2.consolehelper $RPM_BUILD_ROOT/usr/share/applications/bacula.desktop
492 cp -p scripts/gnome-console.console_apps $RPM_BUILD_ROOT/etc/security/console.apps/gnome-console
493 cp -p scripts/gnome-console.pamd $RPM_BUILD_ROOT/etc/pam.d/gnome-console
498 cp -p ../depkgs/sqlite/sqlite $RPM_BUILD_ROOT%{sqlite_bindir}/sqlite
499 cp -p ../depkgs/sqlite/sqlite.h $RPM_BUILD_ROOT%{sqlite_bindir}/sqlite.h
500 cp -p ../depkgs/sqlite/libsqlite.a $RPM_BUILD_ROOT%{sqlite_bindir}/libsqlite.a
503 # install the logrotate file
504 cp -p scripts/logrotate $RPM_BUILD_ROOT/etc/logrotate.d/bacula
506 # install the rescue stuff
507 # these are the rescue scripts
508 cp -p rescue/linux/backup.etc.list $RPM_BUILD_ROOT/etc/bacula/rescue/
509 cp -p rescue/linux/format_floppy $RPM_BUILD_ROOT/etc/bacula/rescue/
510 cp -p rescue/linux/getdiskinfo $RPM_BUILD_ROOT/etc/bacula/rescue/
511 cp -p rescue/linux/make_rescue_disk $RPM_BUILD_ROOT/etc/bacula/rescue/
512 cp -p rescue/linux/restore_bacula $RPM_BUILD_ROOT/etc/bacula/rescue/
513 cp -p rescue/linux/restore_etc $RPM_BUILD_ROOT/etc/bacula/rescue/
514 cp -p rescue/linux/run_grub $RPM_BUILD_ROOT/etc/bacula/rescue/
515 cp -p rescue/linux/run_lilo $RPM_BUILD_ROOT/etc/bacula/rescue/
516 cp -p rescue/linux/sfdisk.bz2 $RPM_BUILD_ROOT/etc/bacula/rescue/
518 # this is the static file daemon
519 cp -p src/filed/static-bacula-fd $RPM_BUILD_ROOT/etc/bacula/rescue/bacula-fd
521 # this is the tom's root boot disk
522 cp -p ../%{tomsrtbt}/* $RPM_BUILD_ROOT/etc/bacula/rescue/tomsrtbt/
524 # install the updatedb scripts
525 cp -p updatedb/* $RPM_BUILD_ROOT/etc/bacula/updatedb/
527 # now clean up permissions that are left broken by the install
528 chmod o-r $RPM_BUILD_ROOT/etc/bacula/query.sql
529 chmod o-rwx $RPM_BUILD_ROOT/var/bacula
532 [ "$RPM_BUILD_ROOT" != "/" ] && rm -rf "$RPM_BUILD_ROOT"
537 %defattr(-,root,root)
542 /etc/bacula/create_mysql_database
543 /etc/bacula/drop_mysql_database
544 /etc/bacula/make_mysql_tables
545 /etc/bacula/drop_mysql_tables
546 /etc/bacula/update_mysql_tables
547 /etc/bacula/grant_mysql_privileges
548 /etc/bacula/create_bacula_database
549 /etc/bacula/drop_bacula_database
550 /etc/bacula/grant_bacula_privileges
551 /etc/bacula/make_bacula_tables
552 /etc/bacula/drop_bacula_tables
553 /etc/bacula/update_bacula_tables
554 /etc/bacula/make_catalog_backup
555 /etc/bacula/delete_catalog_backup
556 /etc/bacula/startmysql
557 /etc/bacula/stopmysql
558 /etc/bacula/mtx-changer
559 /etc/init.d/bacula-dir
560 /etc/init.d/bacula-fd
561 /etc/init.d/bacula-sd
563 %doc COPYING ChangeLog ReleaseNotes VERIFYING kernstodo doc/bacula.pdf html-manual ../Release_Notes-%{version}-%{release}.txt
566 /etc/logrotate.d/bacula
568 %config(noreplace) /etc/bacula/bacula-dir.conf
569 %config(noreplace) /etc/bacula/bacula-fd.conf
570 %config(noreplace) /etc/bacula/bacula-sd.conf
571 %config(noreplace) /etc/bacula/bconsole.conf
572 /etc/bacula/query.sql
591 /usr/sbin/static-bacula-fd
592 /etc/bacula/btraceback.gdb
595 # test for bacula database older than version 6
596 # note: this ASSUMES no password has been set for bacula database
597 DB_VER=`mysql bacula -e 'select * from Version;'|tail -n 1 2>/dev/null`
599 if [ -n "$DB_VER" ] && [ "$DB_VER" -lt "6" ]; then
600 echo "This bacula upgrade will update a bacula database from version 6 to 7."
601 echo "You appear to be running database version $DB_VER. You must first update"
602 echo "your database to version 6 and then install this upgrade. The alternative"
603 echo "is to use /etc/bacula/drop_mysql_tables to delete all your your current"
604 echo "catalog information, then do the upgrade. Information on updating a"
605 echo "database older than version 6 can be found in the release notes."
608 # check for and copy /etc/bacula/console.conf to bconsole.conf
609 if [ -s /etc/bacula/console.conf ];then
610 cp -p /etc/bacula/console.conf /etc/bacula/bconsole.conf
616 if [ "$1" -ge 1 ] ; then
617 /sbin/chkconfig --add bacula-dir
618 /sbin/chkconfig --add bacula-fd
619 /sbin/chkconfig --add bacula-sd
622 # test for an existing database
623 # note: this ASSUMES no password has been set for bacula database
624 DB_VER=`mysql bacula -e 'select * from Version;'|tail -n 1 2>/dev/null`
626 # grant privileges and create tables if they do not exist
627 if [ -z "$DB_VER" ]; then
628 echo "Hmm, doesn't look like you have an existing database."
629 echo "Granting privileges for MySQL user bacula..."
630 /etc/bacula/grant_mysql_privileges
631 echo "Creating MySQL bacula database..."
632 /etc/bacula/create_mysql_database
633 echo "Creating bacula tables..."
634 /etc/bacula/make_mysql_tables
636 # check to see if we need to upgrade a 1.32 or lower database
637 elif [ "$DB_VER" -lt "7" ]; then
638 echo "This release requires an upgrade to your bacula database."
639 echo "Backing up your current database..."
640 mysqldump -f --opt bacula | bzip2 > %{working_dir}/bacula_backup.sql.bz2
641 echo "Upgrading bacula database ..."
642 /etc/bacula/update_mysql_tables
643 echo "If bacula works correctly you can remove the backup file %{working_dir}/bacula_backup.sql.bz2"
650 /sbin/chkconfig --del bacula-dir
651 /sbin/chkconfig --del bacula-fd
652 /sbin/chkconfig --del bacula-sd
660 %defattr(-,root,root)
665 /etc/bacula/create_bacula_database
666 /etc/bacula/drop_bacula_database
667 /etc/bacula/grant_bacula_privileges
668 /etc/bacula/make_bacula_tables
669 /etc/bacula/drop_bacula_tables
670 /etc/bacula/update_bacula_tables
671 /etc/bacula/create_sqlite_database
672 /etc/bacula/drop_sqlite_database
673 /etc/bacula/grant_sqlite_privileges
674 /etc/bacula/make_sqlite_tables
675 /etc/bacula/drop_sqlite_tables
676 /etc/bacula/update_sqlite_tables
677 /etc/bacula/make_catalog_backup
678 /etc/bacula/delete_catalog_backup
679 /etc/bacula/mtx-changer
680 /etc/init.d/bacula-dir
681 /etc/init.d/bacula-fd
682 /etc/init.d/bacula-sd
684 %doc COPYING ChangeLog ReleaseNotes VERIFYING kernstodo doc/bacula.pdf html-manual ../Release_Notes-%{version}-%{release}.txt
687 /etc/logrotate.d/bacula
689 %config(noreplace) /etc/bacula/bacula-dir.conf
690 %config(noreplace) /etc/bacula/bacula-fd.conf
691 %config(noreplace) /etc/bacula/bacula-sd.conf
692 %config(noreplace) /etc/bacula/bconsole.conf
693 /etc/bacula/query.sql
694 %{sqlite_bindir}/libsqlite.a
695 %{sqlite_bindir}/sqlite.h
714 /usr/sbin/static-bacula-fd
715 %{sqlite_bindir}/sqlite
716 /etc/bacula/btraceback.gdb
719 # test for bacula database older than version 6
720 if [ -s %{working_dir}/bacula.db ];then
721 DB_VER=`echo "select * from Version;" | %{sqlite_bindir}/sqlite %{working_dir}/bacula.db | tail -n 1 2>/dev/null`
722 if [ -n "$DB_VER" ] && [ "$DB_VER" -lt "6" ]; then
723 echo "This bacula upgrade will update a bacula database from version 6 to 7."
724 echo "You appear to be running database version $DB_VER. You must first update"
725 echo "your database to version 6 and then install this upgrade. The alternative"
726 echo "is to use /etc/bacula/drop_sqlite_tables to delete all your your current"
727 echo "catalog information, then do the upgrade. Information on updating a"
728 echo "database older than version 6 can be found in the release notes."
732 # check for and copy /etc/bacula/console.conf to bconsole.conf
733 if [ -s /etc/bacula/console.conf ];then
734 cp -p /etc/bacula/console.conf /etc/bacula/bconsole.conf
739 if [ "$1" -ge 1 ] ; then
740 /sbin/chkconfig --add bacula-dir
741 /sbin/chkconfig --add bacula-fd
742 /sbin/chkconfig --add bacula-sd
745 # test for an existing database
746 if [ -s %{working_dir}/bacula.db ]; then
747 DB_VER=`echo "select * from Version;" | %{sqlite_bindir}/sqlite %{working_dir}/bacula.db | tail -n 1 2>/dev/null`
748 # check to see if we need to upgrade a 1.32 or lower database
749 if [ "$DB_VER" -lt "7" ]; then
750 echo "This release requires an upgrade to your bacula database."
751 echo "Backing up your current database..."
752 echo ".dump" | %{sqlite_bindir}/sqlite %{working_dir}/bacula.db | bzip2 > %{working_dir}/bacula_backup.sql.bz2
753 echo "Upgrading bacula database ..."
754 /etc/bacula/update_sqlite_tables
755 echo "If bacula works correctly you can remove the backup file %{working_dir}/bacula_backup.sql.bz2"
758 # create the database and tables
759 echo "Hmm, doesn't look like you have an existing database."
760 echo "Creating SQLite database..."
761 /etc/bacula/create_sqlite_database
762 echo "Creating the SQLite tables..."
763 /etc/bacula/make_sqlite_tables
769 /sbin/chkconfig --del bacula-dir
770 /sbin/chkconfig --del bacula-fd
771 /sbin/chkconfig --del bacula-sd
779 %defattr(-,root,root)
784 /etc/bacula/create_postgresql_database
785 /etc/bacula/drop_postgresql_database
786 /etc/bacula/make_postgresql_tables
787 /etc/bacula/drop_postgresql_tables
788 /etc/bacula/update_postgresql_tables
789 /etc/bacula/grant_postgresql_privileges
790 /etc/bacula/create_bacula_database
791 /etc/bacula/drop_bacula_database
792 /etc/bacula/grant_bacula_privileges
793 /etc/bacula/make_bacula_tables
794 /etc/bacula/drop_bacula_tables
795 /etc/bacula/update_bacula_tables
796 /etc/bacula/make_catalog_backup
797 /etc/bacula/delete_catalog_backup
798 /etc/bacula/mtx-changer
799 /etc/init.d/bacula-dir
800 /etc/init.d/bacula-fd
801 /etc/init.d/bacula-sd
803 %doc COPYING ChangeLog ReleaseNotes VERIFYING kernstodo doc/bacula.pdf html-manual ../Release_Notes-%{version}-%{release}.txt
806 /etc/logrotate.d/bacula
808 %config(noreplace) /etc/bacula/bacula-dir.conf
809 %config(noreplace) /etc/bacula/bacula-fd.conf
810 %config(noreplace) /etc/bacula/bacula-sd.conf
811 %config(noreplace) /etc/bacula/bconsole.conf
812 /etc/bacula/query.sql
831 /usr/sbin/static-bacula-fd
832 /etc/bacula/btraceback.gdb
836 if [ "$1" -ge 1 ] ; then
837 /sbin/chkconfig --add bacula-dir
838 /sbin/chkconfig --add bacula-fd
839 /sbin/chkconfig --add bacula-sd
842 # test for an existing database
843 # note: this ASSUMES no password has been set for bacula database
844 DB_VER=`echo 'select * from Version;' | psql bacula | tail -3 | head -1 2>/dev/null`
846 # grant privileges and create tables if they do not exist
847 if [ -z "$DB_VER" ]; then
848 echo "Hmm, doesn't look like you have an existing database."
849 echo "Granting privileges for PostgreSQL user bacula..."
850 /etc/bacula/grant_postgresql_privileges
851 echo "Creating PostgreSQL bacula database..."
852 /etc/bacula/create_postgresql_database
853 echo "Creating bacula tables..."
854 /etc/bacula/make_postgresql_tables
860 /sbin/chkconfig --del bacula-dir
861 /sbin/chkconfig --del bacula-fd
862 /sbin/chkconfig --del bacula-sd
868 %defattr(-,root,root)
872 /etc/init.d/bacula-fd
874 %doc COPYING ChangeLog ReleaseNotes VERIFYING kernstodo doc/bacula.pdf html-manual ../Release_Notes-%{version}-%{release}.txt
875 /etc/logrotate.d/bacula
877 %config(noreplace) /etc/bacula/bacula-fd.conf
878 %config(noreplace) /etc/bacula/bconsole.conf
883 /etc/bacula/btraceback.gdb
890 if [ "$1" -ge 1 ] ; then
891 /sbin/chkconfig --add bacula-fd
897 /sbin/chkconfig --del bacula-fd
901 %defattr(-,root,root)
902 /etc/bacula/rescue/backup.etc.list
903 /etc/bacula/rescue/format_floppy
904 /etc/bacula/rescue/getdiskinfo
905 /etc/bacula/rescue/make_rescue_disk
906 /etc/bacula/rescue/restore_bacula
907 /etc/bacula/rescue/restore_etc
908 /etc/bacula/rescue/run_grub
909 /etc/bacula/rescue/run_lilo
910 /etc/bacula/rescue/sfdisk.bz2
911 /etc/bacula/rescue/bacula-fd
912 /etc/bacula/rescue/tomsrtbt/*
915 # link our current installed conf file to the rescue directory
916 ln -s /etc/bacula-fd.conf /etc/bacula/rescue/bacula-fd.conf
919 echo "Creating rescue files for this system..."
920 cd /etc/bacula/rescue
924 # remove the files created after the initial rpm installation
925 rm -f /etc/bacula/rescue/bacula-fd.conf
926 rm -f /etc/bacula/rescue/partition.*
927 rm -f /etc/bacula/rescue/format.*
928 rm -f /etc/bacula/rescue/mount_drives
929 rm -f /etc/bacula/rescue/start_network
930 rm -f /etc/bacula/rescue/sfdisk
931 rm -rf /etc/bacula/rescue/diskinfo/*
934 %defattr(-,root,root)
935 /etc/bacula/updatedb/*
938 echo "The database update scripts were installed to /etc/bacula/updatedb"
941 %defattr(-,root,root)
942 /usr/sbin/gnome-console
944 %config(noreplace) /etc/bacula/gnome-console.conf
945 /usr/share/pixmaps/bacula.png
947 /usr/share/gnome/apps/System/bacula.desktop
949 /usr/share/applications/bacula.desktop
953 # add the console helper files
954 %config(noreplace,missingok) /etc/pam.d/gnome-console
955 %config(noreplace,missingok) /etc/security/console.apps/gnome-console
958 # add gnome-console consolehelper link
959 ln -s /usr/bin/consolehelper /usr/bin/gnome-console
962 # remove gnome-console consolehelper link
963 rm -f /usr/bin/gnome-console
967 * Sun Apr 04 2004 D. Scott Barninger <barninger at fairfieldcomputers.com>
968 - add pkgconfig to BuildRequires
969 - clean up gnome1/2 menu entries for appropriate packages
970 * Fri Apr 02 2004 D. Scott Barninger <barninger at fairfieldcomputers.com>
971 - tightened up doc distribution
972 * Tue Mar 30 2004 D. Scott Barninger <barninger at fairfieldcomputers.com>
973 - added usermode (Redhat) and xsu (SuSE) support for gnome-console;
974 - rpm's horrible bug that prevents nested conditional macros prevents me
975 - from implementing these 2 separate approaches within the conditionals which
976 - create the separate server packages.
977 - the solution adopted is to remove the gnome-console files from the server packages
978 - so bacula-gconsole is now an add on for both client and server packages.
979 - this also now allows the server packages to be install on machines without
980 - an X-server and we can still maintain a single spec file.
981 - added tests to make sure we have defined platform and database macros.
982 * Sat Mar 13 2004 D. Scott Barninger <barninger at fairfieldcomputers.com>
983 - corrected mysql prerequisites for suse
984 * Mon Mar 1 2004 D. Scott Barninger <barninger at fairfieldcomputers.com>
985 - replaced all cp commands with cp -p
986 - removed addition of a+x permissions on gnome-console
987 - corrected permissions on init scripts
988 * Sat Feb 28 2004 D. Scott Barninger <barninger at fairfieldcomputers.com>
989 - corrected creation of sqlite_bindir in install from !mysql to sqlite
991 - various cleanup patches from Michael K. Johnson:
992 - corrected post install routines for nicer chkconfig
993 - removed chmod changes in post routines and moved to install section
994 - removed interactive nature of post routine for rescue package
995 - added description of building rescue disks to the description of rescue package
996 - added clean of build root to beginning of install
997 - removed specifying attr in all file lists
998 * Fri Feb 20 2004 D. Scott Barninger <barninger at fairfieldcomputers.com>
999 - added bconsole to client package
1000 - added gconsole package as add-on to client
1001 - removed spurious dependancies on updatedb package (!cut/paste)
1002 * Thu Feb 19 2004 D. Scott Barninger <barninger at fairfieldcomputers.com>
1003 - added updatedb package
1004 * Thu Feb 12 2004 D. Scott Barninger <barninger at fairfieldcomputers.com>
1005 - added postgresql package
1006 * Wed Feb 11 2004 D. Scott Barninger <barninger at fairfieldcomputers.com>
1007 - corrected the if else logic in the dependancy sections
1008 - changes for 1.34 release
1009 - /etc/bacula/console is now /etc/bacula/bconsole
1010 - /etc/bacula/console.conf is now /etc/bacula/bconsole.conf
1011 - /usr/sbin/btraceback.gdb is now /etc/bacula/btraceback.gdb
1012 - /usr/sbin/smtp is now /usr/sbin/bsmtp
1013 - added new /etc/bacula/drop_mysql_database
1014 - added new /etc/bacula/drop_sqlite_database
1015 - added new /etc/bacula/grant_sqlite_privileges
1016 - added new generic bacula database scripts in /etc/bacula
1017 - added pre-install sections to check for database versions older than 6
1018 - added check for /etc/bacula/console.conf and copy to bconsole.conf
1019 * Sun Feb 08 2004 D. Scott Barninger <barninger at fairfieldcomputers.com>
1020 - added /etc/bacula/update_sqlite_tables and /etc/bacula/update_mysql_tables for 1.34 release
1021 - added testing for existing databases before executing any of the database creation scripts
1022 - added defines working_dir and sqlite_bindir in place of hard coded paths
1023 * Sat Jan 31 2004 D. Scott Barninger <barninger at fairfieldcomputers.com>
1024 - added build configuration for SuSE.
1025 - Thanks to Matt Vollmar <matt at panamschool.edu.sv> for his input
1026 * Sat Jan 24 2004 D. Scott Barninger <barninger at fairfieldcomputers.com>
1027 - added patch for create_sqlite_database to fix the installed bindir
1028 - added execute of create_sqlite_database to post of sqlite package
1029 * Sat Jan 10 2004 D. Scott Barninger <barninger at fairfieldcomputers.com>
1030 - added virtual package Provides bacula-dir, bacula-sd, bacula-fd
1031 - added bacula-fd as Requires for rescue package
1032 - added build tag for Fedora Core 1
1033 - cleaned up dependancies for all builds
1034 * Thu Jan 1 2004 D. Scott Barninger <barninger at fairfieldcomputers.com>
1035 - removed rh_version from package names
1036 - added platform build configuration section to beginning of file
1037 * Tue Nov 25 2003 D. Scott Barninger <barninger at fairfieldcomputers.com>
1038 - removed make_static_bacula script from rescue package install
1039 * Sun Nov 23 2003 D. Scott Barninger <barninger at fairfieldcomputers.com>
1040 - Added define at top of file for depkgs version
1041 - Added rescue sub-package
1042 - Moved requires statements into proper sub-package locations
1043 * Mon Oct 27 2003 D. Scott Barninger <barninger at fairfieldcomputers.com>
1044 - Corrected Requires for Gnome 1.4/2.0 builds
1045 * Fri Oct 24 2003 D. Scott Barninger <barninger at fairfieldcomputers.com>
1046 - Added separate source declaration for depkgs
1047 - added patch for make_catalog_backup script
1048 * Mon May 11 2003 D. Scott Barninger <barninger at fairfieldcomputers.com>
1049 - Misc changes to mysql/sqlite build and rh7/8 menu differences
1050 - Added rh_version to sub-package names
1051 - Added installed but missing file /etc/bacula/gconsole
1052 - rm'd /etc/bacula/grant_mysql_privileges on sqlite builds
1053 * Thu May 08 2003 Kern Sibbald <kern at sibbald.com>
1054 - Update spec for version 1.31 and combine client
1055 * Sun Mar 30 2003 D. Scott Barninger <barninger at fairfieldcomputers.com>