]> git.sur5r.net Git - bacula/bacula/blobdiff - bacula/platforms/suse/bacula.spec.in
Fix dist detection.
[bacula/bacula] / bacula / platforms / suse / bacula.spec.in
index 1ecac1ac5a731d3134d04fe021e98685dd89873d..080bc02ec893e1fdf1a8044369ef027002d06ae8 100644 (file)
@@ -1,11 +1,18 @@
+# Bacula RPM spec file
+# Copyright (C) 2004 Kern Sibbald
+
 # Platform Build Configuration
 
 # basic defines for every build
 %define depkgs ../depkgs
-%define depkgs_version 24Jul03
+%define depkgs_version 29Oct04
 %define tomsrtbt tomsrtbt-2.0.103
 %define sqlite_bindir /usr/lib/sqlite
 %define working_dir /var/bacula
+%define daemon_user root
+%define daemon_group bacula
+%define group_file /etc/group
+%define groupadd /usr/sbin/groupadd
 
 # platform defines - set one below or define the build_xxx on the command line
 # RedHat builds
 %{?build_rh8:%define rh8 1}
 %define rh9 0
 %{?build_rh9:%define rh9 1}
-# Fedora Core build
+# Fedora Core build
 %define fc1 0
 %{?build_fc1:%define fc1 1}
+%define fc3 0
+%{?build_fc3:%define fc3 1}
 # Whitebox Enterprise build
 # this should also work for RHEL
 %define wb3 0
 # this is known to build on SuSE 8.2 and 9.0
 %define su9 0
 %{?build_su9:%define su9 1}
+# Mandrake build
+%define mdk 0
+%{?build_mdk:%define mdk 1}
 
 # test for a platform definition
-%if ! %{rh7} && ! %{rh8} && ! %{rh9} && ! %{fc1} && ! %{wb3} && ! %{su9}
+%if ! %{rh7} && ! %{rh8} && ! %{rh9} && ! %{fc1} && ! %{fc3} && ! %{wb3} && ! %{su9} && ! %{mdk}
 %{error: You must specify a platform. Please examine the spec file.}
 exit 1
 %endif
@@ -37,6 +49,9 @@ exit 1
 # set for database support desired or define the build_xxx on the command line
 %define mysql 0
 %{?build_mysql:%define mysql 1}
+# if using mysql 4.x define this and mysql above
+%define mysql4 0
+%{?build_mysql4:%define mysql4 1}
 %define sqlite 0
 %{?build_sqlite:%define sqlite 1}
 %define postgresql 0
@@ -48,6 +63,23 @@ exit 1
 exit 1
 %endif
 
+# check what distribution we are
+%if %{rh7} || %{rh8} || %{rh9}
+%define _dist %(grep Red /etc/redhat-release)
+%endif
+%if %{fc1} || %{fc3}
+%define _dist %(grep Fedora /etc/redhat-release)
+%endif
+%if %{wb3}
+%define _dist %(grep White /etc/whitebox-release)
+%endif
+%if %{su9}
+%define _dist %(grep SuSE /etc/SuSE-release)
+%endif
+%if %{mdk}
+%define _dist %(grep Mandrake /etc/mandrake-release)
+%endif
+
 Summary: Bacula - The Network Backup Solution
 Name: bacula
 Version: @VERSION@
@@ -61,7 +93,7 @@ Source3: Release_Notes-%{version}-%{release}.tar.gz
 BuildRoot: %{_tmppath}/%{name}-root
 URL: http://www.bacula.org/
 Vendor: The Bacula Team
-Distribution: The Bacula Team
+Distribution: %{_dist}
 Packager: D. Scott Barninger <barninger@fairfieldcomputers.com>
 BuildRequires: readline-devel, atk-devel, ncurses-devel, pango-devel
 BuildRequires: libstdc++-devel, libxml2-devel, zlib-devel, pkgconfig
@@ -73,9 +105,11 @@ BuildRequires: glibc-devel >= 2.2
 BuildRequires: ORBit-devel
 BuildRequires: bonobo-devel
 BuildRequires: GConf-devel
+BuildRequires: freetype-devel
 %endif
 %if %{su9}
 BuildRequires: termcap
+BuildRequires: libgnome >= 2.0
 BuildRequires: gtk2-devel >= 2.0
 BuildRequires: libgnomeui-devel >= 2.0
 BuildRequires: glibc-devel >= 2.3
@@ -86,8 +120,37 @@ BuildRequires: libbonoboui-devel >= 2.0
 BuildRequires: bonobo-activation-devel
 BuildRequires: gconf2-devel
 BuildRequires: linc-devel
+BuildRequires: freetype2-devel
 %endif
-%if ! %{rh7} && ! %{su9}
+%if %{mdk}
+BuildRequires: libtermcap-devel
+BuildRequires: gtk2-devel >= 2.0
+BuildRequires: libgnomeui2-devel >= 2.0
+BuildRequires: glibc-devel >= 2.3
+BuildRequires: libORBit2-devel
+BuildRequires: libart_lgpl-devel >= 2.0
+BuildRequires: libbonobo2_0-devel
+BuildRequires: libbonoboui2_0-devel
+BuildRequires: libbonobo-activation-devel
+BuildRequires: libGConf2-devel
+BuildRequires: libstdc++-static-devel
+BuildRequires: glibc-static-devel
+BuildRequires: freetype2-devel
+%endif
+%if %{fc3}
+BuildRequires: libtermcap-devel
+BuildRequires: gtk2-devel >= 2.4
+BuildRequires: libgnomeui-devel >= 2.8
+BuildRequires: glibc-devel >= 2.3
+BuildRequires: ORBit2-devel
+BuildRequires: libart_lgpl-devel >= 2.3
+BuildRequires: libbonobo-devel >= 2.8
+BuildRequires: libbonoboui-devel >= 2.8
+BuildRequires: bonobo-activation-devel
+BuildRequires: GConf2-devel
+BuildRequires: freetype-devel
+%endif
+%if ! %{rh7} && ! %{su9} && ! %{mdk} && ! %{fc3}
 BuildRequires: libtermcap-devel
 BuildRequires: gtk2-devel >= 2.0
 BuildRequires: libgnomeui-devel >= 2.0
@@ -99,12 +162,17 @@ BuildRequires: libbonoboui-devel >= 2.0
 BuildRequires: bonobo-activation-devel
 BuildRequires: GConf2-devel
 BuildRequires: linc-devel
+BuildRequires: freetype-devel
 %endif
 
-%if %{mysql}
+%if %{mysql} && ! %{mysql4}
 BuildRequires: mysql-devel >= 3.23
 %endif
 
+%if %{mysql} && %{mysql4}
+BuildRequires: mysql-devel >= 4.0
+%endif
+
 %if %{postgresql} && %{wb3}
 BuildRequires: rh-postgresql-devel >= 7
 %endif
@@ -139,6 +207,9 @@ Group: System Environment/Daemons
 Provides: bacula-dir, bacula-sd, bacula-fd, bacula-server
 Conflicts: bacula-client
 Requires: readline, ncurses, libstdc++, zlib
+%if %{sqlite}
+Conflicts: sqlite, sqlite-tools
+%endif
 %if %{rh7}
 Requires: glibc >= 2.2
 Requires: libtermcap
@@ -151,7 +222,7 @@ Requires: termcap
 Requires: glibc >= 2.3
 Requires: libtermcap
 %endif
-%if %{mysql} && ! %{su9}
+%if %{mysql} && ! %{su9} && ! %{mdk}
 Requires: mysql >= 3.23
 Requires: mysql-server >= 3.23
 %endif
@@ -159,6 +230,14 @@ Requires: mysql-server >= 3.23
 Requires: mysql >= 3.23
 Requires: mysql-client >= 3.23
 %endif
+%if %{mysql} && %{mdk} && ! %{mysql4}
+Requires: mysql >= 3.23
+Requires: mysql-client >= 3.23
+%endif
+%if %{mysql} && %{mdk} && %{mysql4}
+Requires: mysql >= 4.0
+Requires: mysql-client >= 4.0
+%endif
 %if %{postgresql} && %{wb3}
 Requires: rh-postgresql >= 7
 Requires: rh-postgresql-server >= 7
@@ -235,7 +314,7 @@ console program.
 
 Summary: Bacula - The Network Backup Solution
 Group: System Environment/Daemons
-Requires: coreutils, util-linux, libc5, bacula-fd
+Requires: coreutils, util-linux, bacula-fd, cdrecord, mkisofs, make
 
 %description rescue
 Bacula - It comes by night and sucks the vital essence from your computers.
@@ -249,7 +328,7 @@ features that make it easy to find and recover lost or damaged files.
 Bacula source code has been released under the GPL version 2 license.
 
 This package installs scripts for disaster recovery and builds rescue 
-floppy disks for bare metal recovery. This package includes tomsrtbt
+floppy disks and cdroms for bare metal recovery. This package includes tomsrtbt
 (http://www.toms.net/rb/, by Tom Oehser, Tom@Toms.NET) to provide a tool
 to build a boot floppy disk.
 
@@ -257,14 +336,20 @@ You need to have the bacula-sqlite, bacula-mysql, bacula-postgresql or
 bacula-client package for your platform installed and configured before 
 installing this package.
 
-To create a boot disk run "./getdiskinfo" from the /etc/bacula/rescue
+To create a floppy boot disk run "./getdiskinfo" from the /etc/bacula/rescue/floppy
 directory (this is done when the package is first installed), 
-then run "./install.s" from the /etc/bacula/rescue/tomsrtbt/
+then run "./install.s" from the /etc/bacula/rescue/floppy/tomsrtbt/
 directory. To make the bacula rescue disk run
 "./make_rescue_disk --copy-static-bacula --copy-etc-files"
-from the /etc/bacula/rescue directory. To recreate the rescue
+from the /etc/bacula/rescue/floppy directory. To recreate the rescue
 information for this system run ./getdiskinfo again.
 
+To create a rescue cdrom run "make all" from the /etc/bacula/rescue/cdrom
+directory which will create an iso image file. You can burn that image with your
+favorite cd burning utility or run "make burn" after examining and possibly
+adjusting /etc/bacula/rescue/cdrom/Makefile.  To recreate the rescue
+information for this system run /etc/bacula/rescue/cdrom/bacula/getdiskinfo again.
+
 %package updatedb
 
 Summary: Bacula - The Network Backup Solution
@@ -296,9 +381,11 @@ Requires: glibc >= 2.2
 Requires: ORBit
 Requires: bonobo
 Requires: GConf
+Requires: freetype
 %endif
 %if %{su9}
 Requires: gtk2 >= 2.0
+Requires: libgnome >= 2.0
 Requires: libgnomeui >= 2.0
 Requires: glibc >= 2.3
 Requires: ORBit2
@@ -308,8 +395,32 @@ Requires: libbonoboui >= 2.0
 Requires: bonobo-activation
 Requires: gconf2
 Requires: linc
+Requires: freetype2
 %endif
-%if ! %{rh7} && ! %{su9}
+%if %{mdk}
+Requires: gtk2 >= 2.0
+Requires: libgnomeui2
+Requires: glibc >= 2.3
+Requires: ORBit2
+Requires: libart_lgpl >= 2.0
+Requires: libbonobo >= 2.0
+Requires: libbonoboui >= 2.0
+Requires: GConf2
+Requires: freetype2
+%endif
+%if %{fc3}
+Requires: gtk2 >= 2.4
+Requires: libgnomeui >= 2.8
+Requires: glibc >= 2.3
+Requires: ORBit2
+Requires: libart_lgpl >= 2.3
+Requires: libbonobo >= 2.8
+Requires: libbonoboui >= 2.8
+Requires: bonobo-activation
+Requires: GConf2
+Requires: freetype
+%endif
+%if ! %{rh7} && ! %{su9} && ! %{mdk} && ! %{fc3}
 Requires: gtk2 >= 2.0
 Requires: libgnomeui >= 2.0
 Requires: glibc >= 2.3
@@ -320,6 +431,7 @@ Requires: libbonoboui >= 2.0
 Requires: bonobo-activation
 Requires: GConf2
 Requires: linc
+Requires: freetype
 %endif
 %if %{su9}
 Requires: xsu
@@ -343,9 +455,10 @@ server packages.
 
 %prep
 
-%setup -b 1
-%setup -b 2
-%setup -b 3
+%setup
+%setup -T -D -b 1
+%setup -T -D -b 2
+%setup -T -D -b 3
 
 %build
 
@@ -375,6 +488,11 @@ patch src/cats/make_catalog_backup.in src/cats/make_catalog_backup.in.patch
 # patch the update_sqlite_tables script for installation bindir
 patch src/cats/update_sqlite_tables.in src/cats/update_sqlite_tables.in.patch
 
+# patch the bacula-dir init script to remove sqlite service
+%if %{sqlite} && %{su9}
+patch platforms/suse/bacula-dir.in platforms/suse/bacula-dir-suse-sqlite.patch
+%endif
+
 %configure \
         --prefix=/usr \
         --sbindir=/usr/sbin \
@@ -383,18 +501,27 @@ patch src/cats/update_sqlite_tables.in src/cats/update_sqlite_tables.in.patch
         --enable-smartalloc \
         --enable-gnome \
        --enable-static-fd \
+%if ! %{rh7} && ! %{rh8}
+       --enable-tray-monitor \
+%endif
 %if %{mysql}
         --with-mysql \
 %endif
 %if %{sqlite}
-        --with-sqlite=${cwd}/../depkgs/sqlite \
+        --with-sqlite=${cwd}/%{depkgs}/sqlite \
 %endif
 %if %{postgresql}
         --with-postgresql \
 %endif
         --with-working-dir=%{working_dir} \
         --with-pid-dir=/var/run \
-        --with-subsys-dir=/var/lock/subsys
+        --with-subsys-dir=/var/lock/subsys \
+       --with-dir-user=%{daemon_user} \
+       --with-dir-group=%{daemon_group} \
+       --with-sd-user=%{daemon_user} \
+       --with-sd-group=%{daemon_group} \
+       --with-fd-user=%{daemon_user} \
+       --with-fd-group=%{daemon_group}
 make
 
 cd src/filed
@@ -407,18 +534,23 @@ cwd=${PWD}
 [ "$RPM_BUILD_ROOT" != "/" ] && rm -rf "$RPM_BUILD_ROOT"
 mkdir -p $RPM_BUILD_ROOT/etc/init.d
 mkdir -p $RPM_BUILD_ROOT/etc/logrotate.d
+mkdir -p $RPM_BUILD_ROOT/etc/log.d/conf/logfiles
+mkdir -p $RPM_BUILD_ROOT/etc/log.d/conf/services
+mkdir -p $RPM_BUILD_ROOT/etc/log.d/scripts/services
 mkdir -p $RPM_BUILD_ROOT/usr/share/pixmaps
 %if %{rh7}
 mkdir -p $RPM_BUILD_ROOT/usr/share/gnome/apps/System
 %else
 mkdir -p $RPM_BUILD_ROOT/usr/share/applications
 %endif
-mkdir -p $RPM_BUILD_ROOT/etc/bacula/rescue
-mkdir -p $RPM_BUILD_ROOT/etc/bacula/rescue/tomsrtbt
+mkdir -p $RPM_BUILD_ROOT/etc/bacula/rescue/floppy
+mkdir -p $RPM_BUILD_ROOT/etc/bacula/rescue/floppy/tomsrtbt
+mkdir -p $RPM_BUILD_ROOT/etc/bacula/rescue/cdrom
 mkdir -p $RPM_BUILD_ROOT/etc/bacula/updatedb
 %if ! %{su9}
 mkdir -p $RPM_BUILD_ROOT/etc/pam.d
 mkdir -p $RPM_BUILD_ROOT/etc/security/console.apps
+mkdir -p $RPM_BUILD_ROOT/usr/bin
 %endif
 
 %if %{sqlite}
@@ -470,7 +602,13 @@ rm -f $RPM_BUILD_ROOT/etc/bacula/stopmysql
 cp -p platforms/suse/bacula-dir $RPM_BUILD_ROOT/etc/init.d/bacula-dir
 cp -p platforms/suse/bacula-fd $RPM_BUILD_ROOT/etc/init.d/bacula-fd
 cp -p platforms/suse/bacula-sd $RPM_BUILD_ROOT/etc/init.d/bacula-sd
-%else
+%endif
+%if %{mdk}
+cp -p platforms/mandrake/bacula-dir $RPM_BUILD_ROOT/etc/init.d/bacula-dir
+cp -p platforms/mandrake/bacula-fd $RPM_BUILD_ROOT/etc/init.d/bacula-fd
+cp -p platforms/mandrake/bacula-sd $RPM_BUILD_ROOT/etc/init.d/bacula-sd
+%endif
+%if ! %{su9} && ! %{mdk}
 cp -p platforms/redhat/bacula-dir $RPM_BUILD_ROOT/etc/init.d/bacula-dir
 cp -p platforms/redhat/bacula-fd $RPM_BUILD_ROOT/etc/init.d/bacula-fd
 cp -p platforms/redhat/bacula-sd $RPM_BUILD_ROOT/etc/init.d/bacula-sd
@@ -481,54 +619,82 @@ chmod 0754 $RPM_BUILD_ROOT/etc/init.d/*
 %if %{su9}
 cp -p scripts/bacula.png $RPM_BUILD_ROOT/usr/share/pixmaps/bacula.png
 cp -p scripts/bacula.desktop.gnome2.xsu $RPM_BUILD_ROOT/usr/share/applications/bacula.desktop
+cp -p src/tray-monitor/generic.xpm $RPM_BUILD_ROOT/usr/share/pixmaps/bacula-tray-monitor.xpm
+cp -p scripts/bacula-tray-monitor.desktop $RPM_BUILD_ROOT/usr/share/applications/bacula-tray-monitor.desktop
 %endif
 %if %{rh7}
 cp -p scripts/bacula.png $RPM_BUILD_ROOT/usr/share/pixmaps/bacula.png
 cp -p scripts/bacula.desktop.gnome1.consolehelper $RPM_BUILD_ROOT/usr/share/gnome/apps/System/bacula.desktop
 cp -p scripts/gnome-console.console_apps $RPM_BUILD_ROOT/etc/security/console.apps/gnome-console
 cp -p scripts/gnome-console.pamd $RPM_BUILD_ROOT/etc/pam.d/gnome-console
+ln -sf consolehelper $RPM_BUILD_ROOT/usr/bin/gnome-console
 %endif
-%if %{rh8} || %{rh9} || %{wb3} || %{fc1}
+%if %{rh8} || %{rh9} || %{wb3} || %{fc1} || %{fc3} || %{mdk}
 cp -p scripts/bacula.png $RPM_BUILD_ROOT/usr/share/pixmaps/bacula.png
 cp -p scripts/bacula.desktop.gnome2.consolehelper $RPM_BUILD_ROOT/usr/share/applications/bacula.desktop
 cp -p scripts/gnome-console.console_apps $RPM_BUILD_ROOT/etc/security/console.apps/gnome-console
 cp -p scripts/gnome-console.pamd $RPM_BUILD_ROOT/etc/pam.d/gnome-console
+ln -sf consolehelper $RPM_BUILD_ROOT/usr/bin/gnome-console
+%endif
+%if ! %{rh7} && ! %{rh8}
+cp -p src/tray-monitor/generic.xpm $RPM_BUILD_ROOT/usr/share/pixmaps/bacula-tray-monitor.xpm
+cp -p scripts/bacula-tray-monitor.desktop $RPM_BUILD_ROOT/usr/share/applications/bacula-tray-monitor.desktop
 %endif
 
 # install sqlite
 %if %{sqlite}
-cp -p ../depkgs/sqlite/sqlite $RPM_BUILD_ROOT%{sqlite_bindir}/sqlite
-cp -p ../depkgs/sqlite/sqlite.h $RPM_BUILD_ROOT%{sqlite_bindir}/sqlite.h
-cp -p ../depkgs/sqlite/libsqlite.a $RPM_BUILD_ROOT%{sqlite_bindir}/libsqlite.a
+cp -p %{depkgs}/sqlite/sqlite $RPM_BUILD_ROOT%{sqlite_bindir}/sqlite
+cp -p %{depkgs}/sqlite/sqlite.h $RPM_BUILD_ROOT%{sqlite_bindir}/sqlite.h
+cp -p %{depkgs}/sqlite/libsqlite.a $RPM_BUILD_ROOT%{sqlite_bindir}/libsqlite.a
 %endif
 
 # install the logrotate file
 cp -p scripts/logrotate $RPM_BUILD_ROOT/etc/logrotate.d/bacula
 
 # install the rescue stuff
-# these are the rescue scripts
-cp -p rescue/linux/backup.etc.list $RPM_BUILD_ROOT/etc/bacula/rescue/
-cp -p rescue/linux/format_floppy $RPM_BUILD_ROOT/etc/bacula/rescue/
-cp -p rescue/linux/getdiskinfo $RPM_BUILD_ROOT/etc/bacula/rescue/
-cp -p rescue/linux/make_rescue_disk $RPM_BUILD_ROOT/etc/bacula/rescue/
-cp -p rescue/linux/restore_bacula $RPM_BUILD_ROOT/etc/bacula/rescue/
-cp -p rescue/linux/restore_etc $RPM_BUILD_ROOT/etc/bacula/rescue/
-cp -p rescue/linux/run_grub $RPM_BUILD_ROOT/etc/bacula/rescue/
-cp -p rescue/linux/run_lilo $RPM_BUILD_ROOT/etc/bacula/rescue/
-cp -p rescue/linux/sfdisk.bz2 $RPM_BUILD_ROOT/etc/bacula/rescue/
+# these are the floppy rescue scripts
+cp -p rescue/linux/floppy/backup.etc.list $RPM_BUILD_ROOT/etc/bacula/rescue/floppy/
+cp -p rescue/linux/floppy/format_floppy $RPM_BUILD_ROOT/etc/bacula/rescue/floppy/
+cp -p rescue/linux/floppy/getdiskinfo $RPM_BUILD_ROOT/etc/bacula/rescue/floppy/
+cp -p rescue/linux/floppy/make_rescue_disk $RPM_BUILD_ROOT/etc/bacula/rescue/floppy/
+cp -p rescue/linux/floppy/restore_bacula $RPM_BUILD_ROOT/etc/bacula/rescue/floppy/
+cp -p rescue/linux/floppy/restore_etc $RPM_BUILD_ROOT/etc/bacula/rescue/floppy/
+cp -p rescue/linux/floppy/run_grub $RPM_BUILD_ROOT/etc/bacula/rescue/floppy/
+cp -p rescue/linux/floppy/run_lilo $RPM_BUILD_ROOT/etc/bacula/rescue/floppy/
+cp -p rescue/linux/floppy/sfdisk.bz2 $RPM_BUILD_ROOT/etc/bacula/rescue/floppy/
+
+# this is the cdrom rescue stuff
+cp -r -p rescue/linux/cdrom/* $RPM_BUILD_ROOT/etc/bacula/rescue/cdrom/
+mkdir -p $RPM_BUILD_ROOT/etc/bacula/rescue/cdrom/bin/
+rm -f $RPM_BUILD_ROOT/etc/bacula/rescue/cdrom/Makefile.in
+rm -f $RPM_BUILD_ROOT/etc/bacula/rescue/cdrom/bacula/Makefile.in
+touch $RPM_BUILD_ROOT/etc/bacula/rescue/cdrom/rpm_release
 
 # this is the static file daemon
-cp -p src/filed/static-bacula-fd $RPM_BUILD_ROOT/etc/bacula/rescue/bacula-fd
+cp -p src/filed/static-bacula-fd $RPM_BUILD_ROOT/etc/bacula/rescue/floppy/bacula-fd
+cp -p src/filed/static-bacula-fd $RPM_BUILD_ROOT/etc/bacula/rescue/cdrom/bin/bacula-fd
 
 # this is the tom's root boot disk
-cp -p ../%{tomsrtbt}/* $RPM_BUILD_ROOT/etc/bacula/rescue/tomsrtbt/
+cp -p ../%{tomsrtbt}/* $RPM_BUILD_ROOT/etc/bacula/rescue/floppy/tomsrtbt/
 
 # install the updatedb scripts
 cp -p updatedb/* $RPM_BUILD_ROOT/etc/bacula/updatedb/
 
+# install the logwatch scripts
+cp -p scripts/logwatch/bacula $RPM_BUILD_ROOT/etc/log.d/scripts/services/bacula
+cp -p scripts/logwatch/logfile.bacula.conf $RPM_BUILD_ROOT/etc/log.d/conf/logfiles/bacula.conf
+cp -p scripts/logwatch/services.bacula.conf $RPM_BUILD_ROOT/etc/log.d/conf/services/bacula.conf
+chmod 755 $RPM_BUILD_ROOT/etc/log.d/scripts/services/bacula
+chmod 644 $RPM_BUILD_ROOT/etc/log.d/conf/logfiles/bacula.conf
+chmod 644 $RPM_BUILD_ROOT/etc/log.d/conf/services/bacula.conf
+
 # now clean up permissions that are left broken by the install
 chmod o-r $RPM_BUILD_ROOT/etc/bacula/query.sql
 chmod o-rwx $RPM_BUILD_ROOT/var/bacula
+%if ! %{rh7} && ! %{rh8}
+chmod 755 $RPM_BUILD_ROOT/usr/sbin/bacula-tray-monitor
+chmod 644 $RPM_BUILD_ROOT/etc/bacula/tray-monitor.conf
+%endif
 
 %clean
 [ "$RPM_BUILD_ROOT" != "/" ] && rm -rf "$RPM_BUILD_ROOT"
@@ -540,7 +706,6 @@ chmod o-rwx $RPM_BUILD_ROOT/var/bacula
 
 /etc/bacula/bacula
 /etc/bacula/bconsole
-/etc/bacula/fd
 /etc/bacula/create_mysql_database
 /etc/bacula/drop_mysql_database
 /etc/bacula/make_mysql_tables
@@ -558,6 +723,10 @@ chmod o-rwx $RPM_BUILD_ROOT/var/bacula
 /etc/bacula/startmysql
 /etc/bacula/stopmysql
 /etc/bacula/mtx-changer
+/etc/bacula/btraceback.dbx
+/etc/bacula/btraceback.gdb
+/etc/bacula/dvd-freespace
+/etc/bacula/dvd-writepart
 /etc/init.d/bacula-dir
 /etc/init.d/bacula-fd
 /etc/init.d/bacula-sd
@@ -566,11 +735,13 @@ chmod o-rwx $RPM_BUILD_ROOT/var/bacula
 /usr/man/man1/*
 
 /etc/logrotate.d/bacula
-
+/etc/log.d/scripts/services/bacula
 %config(noreplace) /etc/bacula/bacula-dir.conf
 %config(noreplace) /etc/bacula/bacula-fd.conf
 %config(noreplace) /etc/bacula/bacula-sd.conf
 %config(noreplace) /etc/bacula/bconsole.conf
+%config(noreplace) /etc/log.d/conf/logfiles/bacula.conf
+%config(noreplace) /etc/log.d/conf/services/bacula.conf
 /etc/bacula/query.sql
 %dir %{working_dir}
 
@@ -591,20 +762,19 @@ chmod o-rwx $RPM_BUILD_ROOT/var/bacula
 /usr/sbin/bsmtp
 /usr/sbin/tapeinfo
 /usr/sbin/static-bacula-fd
-/etc/bacula/btraceback.gdb
 
 %pre mysql
-# test for bacula database older than version 6
+# test for bacula database older than version 7
 # note: this ASSUMES no password has been set for bacula database
-DB_VER=`mysql bacula -e 'select * from Version;'|tail -n 1 2>/dev/null`
+DB_VER=`mysql 2>/dev/null bacula -e 'select * from Version;'|tail -n 1`
 
-if [ -n "$DB_VER" ] && [ "$DB_VER" -lt "6" ]; then
-       echo "This bacula upgrade will update a bacula database from version 6 to 7."
+if [ -n "$DB_VER" ] && [ "$DB_VER" -lt "7" ]; then
+       echo "This bacula upgrade will update a bacula database from version 7 to 8."
        echo "You appear to be running database version $DB_VER. You must first update"
-       echo "your database to version 6 and then install this upgrade. The alternative"
+       echo "your database to version 7 and then install this upgrade. The alternative"
        echo "is to use /etc/bacula/drop_mysql_tables to delete all your your current"
        echo "catalog information, then do the upgrade. Information on updating a"
-       echo "database older than version 6 can be found in the release notes."
+       echo "database older than version 7 can be found in the release notes."
        exit 1
 fi
 # check for and copy /etc/bacula/console.conf to bconsole.conf
@@ -623,7 +793,7 @@ fi
 
 # test for an existing database
 # note: this ASSUMES no password has been set for bacula database
-DB_VER=`mysql bacula -e 'select * from Version;'|tail -n 1 2>/dev/null`
+DB_VER=`mysql 2>/dev/null bacula -e 'select * from Version;'|tail -n 1`
 
 # grant privileges and create tables if they do not exist
 if [ -z "$DB_VER" ]; then
@@ -635,8 +805,8 @@ if [ -z "$DB_VER" ]; then
        echo "Creating bacula tables..."
        /etc/bacula/make_mysql_tables
 
-# check to see if we need to upgrade a 1.32 or lower database
-elif [ "$DB_VER" -lt "7" ]; then
+# check to see if we need to upgrade a 1.34 or lower database
+elif [ "$DB_VER" -lt "8" ]; then
        echo "This release requires an upgrade to your bacula database."
        echo "Backing up your current database..."
        mysqldump -f --opt bacula | bzip2 > %{working_dir}/bacula_backup.sql.bz2
@@ -646,6 +816,14 @@ elif [ "$DB_VER" -lt "7" ]; then
 
 fi
 
+# create the daemon group
+HAVE_BACULA=`grep %{daemon_group} %{group_file} 2>/dev/null`
+if [ -z $HAVE_BACULA ]; then
+       %{groupadd} -r %{daemon_group} > /dev/null 2>&1
+       echo "The group %{daemon_group} has been added to %{group_file}."
+       echo "See the manual chapter Running Bacula for details."
+fi
+
 %preun mysql
 # delete our links
 if [ $1 = 0 ]; then
@@ -663,7 +841,6 @@ fi
 
 /etc/bacula/bacula
 /etc/bacula/bconsole
-/etc/bacula/fd
 /etc/bacula/create_bacula_database
 /etc/bacula/drop_bacula_database
 /etc/bacula/grant_bacula_privileges
@@ -679,6 +856,10 @@ fi
 /etc/bacula/make_catalog_backup
 /etc/bacula/delete_catalog_backup
 /etc/bacula/mtx-changer
+/etc/bacula/btraceback.dbx
+/etc/bacula/btraceback.gdb
+/etc/bacula/dvd-freespace
+/etc/bacula/dvd-writepart
 /etc/init.d/bacula-dir
 /etc/init.d/bacula-fd
 /etc/init.d/bacula-sd
@@ -687,11 +868,13 @@ fi
 /usr/man/man1/*
 
 /etc/logrotate.d/bacula
-
+/etc/log.d/scripts/services/bacula
 %config(noreplace) /etc/bacula/bacula-dir.conf
 %config(noreplace) /etc/bacula/bacula-fd.conf
 %config(noreplace) /etc/bacula/bacula-sd.conf
 %config(noreplace) /etc/bacula/bconsole.conf
+%config(noreplace) /etc/log.d/conf/logfiles/bacula.conf
+%config(noreplace) /etc/log.d/conf/services/bacula.conf
 /etc/bacula/query.sql
 %{sqlite_bindir}/libsqlite.a
 %{sqlite_bindir}/sqlite.h
@@ -715,19 +898,19 @@ fi
 /usr/sbin/tapeinfo
 /usr/sbin/static-bacula-fd
 %{sqlite_bindir}/sqlite
-/etc/bacula/btraceback.gdb
+
 
 %pre sqlite
-# test for bacula database older than version 6
-if [ -s %{working_dir}/bacula.db ];then
-       DB_VER=`echo "select * from Version;" | %{sqlite_bindir}/sqlite %{working_dir}/bacula.db | tail -n 1 2>/dev/null`
-       if [ -n "$DB_VER" ] && [ "$DB_VER" -lt "6" ]; then
-               echo "This bacula upgrade will update a bacula database from version 6 to 7."
+# test for bacula database older than version 7
+if [ -s %{working_dir}/bacula.db ] && [ -s %{sqlite_bindir}/sqlite ];then
+       DB_VER=`echo "select * from Version;" | %{sqlite_bindir}/sqlite 2>/dev/null %{working_dir}/bacula.db | tail -n 1`
+       if [ -n "$DB_VER" ] && [ "$DB_VER" -lt "7" ]; then
+               echo "This bacula upgrade will update a bacula database from version 7 to 8."
                echo "You appear to be running database version $DB_VER. You must first update"
-               echo "your database to version 6 and then install this upgrade. The alternative"
+               echo "your database to version 7 and then install this upgrade. The alternative"
                echo "is to use /etc/bacula/drop_sqlite_tables to delete all your your current"
                echo "catalog information, then do the upgrade. Information on updating a"
-               echo "database older than version 6 can be found in the release notes."
+               echo "database older than version 7 can be found in the release notes."
                exit 1
        fi
 fi
@@ -746,9 +929,18 @@ fi
 
 # test for an existing database
 if [ -s %{working_dir}/bacula.db ]; then
-       DB_VER=`echo "select * from Version;" | %{sqlite_bindir}/sqlite %{working_dir}/bacula.db | tail -n 1 2>/dev/null`
-       # check to see if we need to upgrade a 1.32 or lower database
+       DB_VER=`echo "select * from Version;" | %{sqlite_bindir}/sqlite 2>/dev/null %{working_dir}/bacula.db | tail -n 1`
+       # check to see if we need to upgrade a 1.34 or lower database
        if [ "$DB_VER" -lt "7" ]; then
+               echo "This bacula upgrade requires a database update to version 8. You appear to"
+               echo "be running database version $DB_VER. You must update your database using the"
+               echo "upgrade scripts in the bacula-updatedb package. The alternative"
+               echo "is to use /etc/bacula/drop_sqlite_tables to delete all your your current"
+               echo "catalog information, then /etc/bacula/make_sqlite_tables. Information on updating a"
+               echo "database older than version 7 can be found in the release notes."
+       fi      
+       
+       if [ "$DB_VER" -lt "8" ] && [ "$DB_VER" -ge "7" ]; then
                echo "This release requires an upgrade to your bacula database."
                echo "Backing up your current database..."
                echo ".dump" | %{sqlite_bindir}/sqlite %{working_dir}/bacula.db | bzip2 > %{working_dir}/bacula_backup.sql.bz2
@@ -765,6 +957,14 @@ else
        /etc/bacula/make_sqlite_tables
 fi
 
+# create the daemon group
+HAVE_BACULA=`grep %{daemon_group} %{group_file} 2>/dev/null`
+if [ -z $HAVE_BACULA ]; then
+       %{groupadd} -r %{daemon_group} > /dev/null 2>&1
+       echo "The group %{daemon_group} has been added to %{group_file}."
+       echo "See the manual chapter Running Bacula for details."
+fi
+
 %preun sqlite
 # delete our links
 if [ $1 = 0 ]; then
@@ -782,7 +982,6 @@ fi
 
 /etc/bacula/bacula
 /etc/bacula/bconsole
-/etc/bacula/fd
 /etc/bacula/create_postgresql_database
 /etc/bacula/drop_postgresql_database
 /etc/bacula/make_postgresql_tables
@@ -798,6 +997,10 @@ fi
 /etc/bacula/make_catalog_backup
 /etc/bacula/delete_catalog_backup
 /etc/bacula/mtx-changer
+/etc/bacula/btraceback.dbx
+/etc/bacula/btraceback.gdb
+/etc/bacula/dvd-freespace
+/etc/bacula/dvd-writepart
 /etc/init.d/bacula-dir
 /etc/init.d/bacula-fd
 /etc/init.d/bacula-sd
@@ -806,11 +1009,13 @@ fi
 /usr/man/man1/*
 
 /etc/logrotate.d/bacula
-
+/etc/log.d/scripts/services/bacula
 %config(noreplace) /etc/bacula/bacula-dir.conf
 %config(noreplace) /etc/bacula/bacula-fd.conf
 %config(noreplace) /etc/bacula/bacula-sd.conf
 %config(noreplace) /etc/bacula/bconsole.conf
+%config(noreplace) /etc/log.d/conf/logfiles/bacula.conf
+%config(noreplace) /etc/log.d/conf/services/bacula.conf
 /etc/bacula/query.sql
 %dir %{working_dir}
 
@@ -831,7 +1036,21 @@ fi
 /usr/sbin/bsmtp
 /usr/sbin/tapeinfo
 /usr/sbin/static-bacula-fd
-/etc/bacula/btraceback.gdb
+
+%pre postgresql
+# test for bacula database older than version 7
+# note: this ASSUMES no password has been set for bacula database
+DB_VER=`echo 'select * from Version;' | psql bacula 2>/dev/null | tail -3 | head -1`
+
+if [ -n "$DB_VER" ] && [ "$DB_VER" -lt "7" ]; then
+       echo "This bacula upgrade will update a bacula database from version 7 to 8."
+       echo "You appear to be running database version $DB_VER. You must first update"
+       echo "your database to version 7 and then install this upgrade. The alternative"
+       echo "is to use /etc/bacula/drop_postgresql_tables to delete all your your current"
+       echo "catalog information, then do the upgrade. Information on updating a"
+       echo "database older than version 7 can be found in the release notes."
+       exit 1
+fi
 
 %post postgresql
 # add our links
@@ -843,17 +1062,36 @@ fi
 
 # test for an existing database
 # note: this ASSUMES no password has been set for bacula database
-DB_VER=`echo 'select * from Version;' | psql bacula | tail -3 | head -1 2>/dev/null`
+DB_VER=`echo 'select * from Version;' | psql bacula 2>/dev/null | tail -3 | head -1`
 
 # grant privileges and create tables if they do not exist
 if [ -z "$DB_VER" ]; then
        echo "Hmm, doesn't look like you have an existing database."
-       echo "Granting privileges for PostgreSQL user bacula..."
-       /etc/bacula/grant_postgresql_privileges
        echo "Creating PostgreSQL bacula database..."
        /etc/bacula/create_postgresql_database
        echo "Creating bacula tables..."
        /etc/bacula/make_postgresql_tables
+       echo "Granting privileges for PostgreSQL user bacula..."
+       /etc/bacula/grant_postgresql_privileges
+
+# check to see if we need to upgrade a 1.34 or lower database
+elif [ "$DB_VER" -lt "8" ]; then
+       echo "This release requires an upgrade to your bacula database."
+       echo "Backing up your current database..."
+       pg_dump bacula | bzip2 > %{working_dir}/bacula_backup.sql.bz2
+       echo "Upgrading bacula database ..."
+       /etc/bacula/update_postgresql_tables
+       echo "If bacula works correctly you can remove the backup file %{working_dir}/bacula_backup.sql.bz2"
+       
+fi
+
+# create the daemon group
+HAVE_BACULA=`grep %{daemon_group} %{group_file} 2>/dev/null`
+if [ -z $HAVE_BACULA ]; then
+       %{groupadd} -r %{daemon_group} > /dev/null 2>&1
+       echo "The group %{daemon_group} has been added to %{groupfile}."
+       echo "See the manual chapter Running Bacula for details."
+fi
        
 
 %preun postgresql
@@ -869,7 +1107,6 @@ fi
 %files client
 %defattr(-,root,root)
 
-/etc/bacula/fd
 /etc/bacula/bconsole
 /etc/init.d/bacula-fd
 
@@ -883,6 +1120,7 @@ fi
 /usr/sbin/bacula-fd
 /usr/sbin/btraceback
 /etc/bacula/btraceback.gdb
+/etc/bacula/btraceback.dbx
 /usr/sbin/bsmtp
 /usr/sbin/bconsole
 
@@ -893,6 +1131,14 @@ if [ "$1" -ge 1 ] ; then
 /sbin/chkconfig --add bacula-fd
 fi
 
+# create the daemon group
+HAVE_BACULA=`cat %{group_file} | grep %{daemon_group} 2>/dev/null`
+if [ -z $HAVE_BACULA ]; then
+       %{groupadd} -r %{daemon_group} > /dev/null 2>&1
+       echo "The group %{daemon_group} has been added to %{group_file}."
+       echo "See the manual chapter Running Bacula for details."
+fi
+
 %preun client
 # delete our link
 if [ $1 = 0 ]; then
@@ -901,36 +1147,37 @@ fi
 
 %files rescue
 %defattr(-,root,root)
-/etc/bacula/rescue/backup.etc.list
-/etc/bacula/rescue/format_floppy
-/etc/bacula/rescue/getdiskinfo
-/etc/bacula/rescue/make_rescue_disk
-/etc/bacula/rescue/restore_bacula
-/etc/bacula/rescue/restore_etc
-/etc/bacula/rescue/run_grub
-/etc/bacula/rescue/run_lilo
-/etc/bacula/rescue/sfdisk.bz2
-/etc/bacula/rescue/bacula-fd
-/etc/bacula/rescue/tomsrtbt/*
+/etc/bacula/rescue/floppy/*
+/etc/bacula/rescue/cdrom/*
 
 %post rescue
 # link our current installed conf file to the rescue directory
-ln -s /etc/bacula-fd.conf /etc/bacula/rescue/bacula-fd.conf
+ln -s /etc/bacula/bacula-fd.conf /etc/bacula/rescue/floppy/bacula-fd.conf
+ln -s /etc/bacula/bacula-fd.conf /etc/bacula/rescue/cdrom/bin/bacula-fd.conf
 
 # run getdiskinfo
 echo "Creating rescue files for this system..."
-cd /etc/bacula/rescue
+cd /etc/bacula/rescue/floppy
+./getdiskinfo
+cd /etc/bacula/rescue/cdrom/bacula
 ./getdiskinfo
 
 %preun rescue
 # remove the files created after the initial rpm installation
-rm -f /etc/bacula/rescue/bacula-fd.conf
-rm -f /etc/bacula/rescue/partition.*
-rm -f /etc/bacula/rescue/format.*
-rm -f /etc/bacula/rescue/mount_drives
-rm -f /etc/bacula/rescue/start_network
-rm -f /etc/bacula/rescue/sfdisk
-rm -rf /etc/bacula/rescue/diskinfo/*
+rm -f /etc/bacula/rescue/floppy/bacula-fd.conf
+rm -f /etc/bacula/rescue/floppy/partition.*
+rm -f /etc/bacula/rescue/floppy/format.*
+rm -f /etc/bacula/rescue/floppy/mount_drives
+rm -f /etc/bacula/rescue/floppy/start_network
+rm -f /etc/bacula/rescue/floppy/sfdisk
+rm -rf /etc/bacula/rescue/floppy/diskinfo/*
+
+rm -f /etc/bacula/rescue/cdrom/bacula/bacula-fd.conf
+rm -f /etc/bacula/rescue/cdrom/bacula/partition.*
+rm -f /etc/bacula/rescue/cdrom/bacula/format.*
+rm -f /etc/bacula/rescue/cdrom/bacula/mount_drives
+rm -f /etc/bacula/rescue/cdrom/bacula/start_network
+rm -rf /etc/bacula/rescue/cdrom/bacula/diskinfo/*
 
 %files updatedb
 %defattr(-,root,root)
@@ -945,29 +1192,80 @@ echo "The database update scripts were installed to /etc/bacula/updatedb"
 /etc/bacula/gconsole
 %config(noreplace) /etc/bacula/gnome-console.conf
 /usr/share/pixmaps/bacula.png
+
 %if %{rh7}
 /usr/share/gnome/apps/System/bacula.desktop
 %else
 /usr/share/applications/bacula.desktop
 %endif
 
+%if ! %{rh7} && ! %{rh8}
+/usr/sbin/bacula-tray-monitor
+/etc/bacula/tray-monitor.conf
+/usr/share/pixmaps/bacula-tray-monitor.xpm
+/usr/share/applications/bacula-tray-monitor.desktop
+%endif
+
 %if ! %{su9} 
 # add the console helper files
 %config(noreplace,missingok) /etc/pam.d/gnome-console
 %config(noreplace,missingok) /etc/security/console.apps/gnome-console
-
-%post gconsole
-# add gnome-console consolehelper link
-if [ !  -f /usr/bin/consolehelper ]; then
-ln -s /usr/bin/consolehelper /usr/bin/gnome-console
-fi
-
-%postun gconsole
-# remove gnome-console consolehelper link
-rm -f /usr/bin/gnome-console
+/usr/bin/gnome-console
 %endif
 
+
 %changelog
+* Mon Feb 28 2005 D. Scott Barninger <barninger@fairfieldcomputers.com>
+- fix distribution check for Fedora and Whitebox
+* Sun Feb 06 2005 D. Scott Barninger <barninger@fairfieldcomputers.com>
+- add logwatch script
+- add dvd scripts
+* Sat Jan 15 2005 D. Scott Barninger <barninger@fairfieldcomputers.com>
+- add build for Fedora Core 3 (linc now included in ORDit2)
+- add mysql4 define for Mandrake 10.1
+* Fri Jan 14 2005 D. Scott Barninger <barninger@fairfieldcomputers.com>
+- fix {group_file} variable in post scripts
+* Thu Dec 30 2004 D. Scott Barninger <barninger@fairfieldcomputers.com>
+- add distribution checking and custom Distribution tag
+* Thu Dec 09 2004 D. Scott Barninger <barninger at fairfieldcomputers.com>
+- ASSIGNMENT OF COPYRIGHT
+- FOR VALUE RECEIVED, D. Scott Barninger hereby sells, transfers and 
+- assigns unto Kern Sibbald, his successors, assigns and personal representatives, 
+- all right, title and interest in and to the copyright in this software RPM
+- spec file. D. Scott Barninger warrants good title to said copyright, that it is 
+- free of all liens, encumbrances or any known claims against said copyright.
+* Sat Dec 04 2004 D. Scott Barninger <barninger at fairfieldcomputers.com>
+- bug 183 fixes
+- thanks to Daniel Widyono
+- update description for rescue package to describe cdrom creation
+* Thu Nov 18 2004 D. Scott Barninger <barninger at fairfieldcomputers.com>
+- update depkgs to 29Oct04
+* Fri Nov 12 2004 D. Scott Barninger <barninger at fairfieldcomputers.com>
+- add cdrom rescue to bacula-rescue package
+* Sun Oct 31 2004 D. Scott Barninger <barninger at fairfieldcomputers.com>
+- misc fixes from 1.36.0 suse feedback
+- fix situation where sqlite database exists but sqlite has been removed.
+* Fri Oct 22 2004 D. Scott Barninger <barninger at fairfieldcomputers.com>
+- remove tray-monitor from RH8 build
+- fix permissions on tray-monitor files
+* Wed Oct 13 2004 D. Scott Barninger <barninger at fairfieldcomputers.com>
+- add Mandrake support and tray-monitor, misc changes for 1.35.8/1.36.0,
+- change database update to 7 to 8 upgrade,
+- revert depkgs to 08Mar04 as there seems to be a bug in the sqlite
+- build in 30Jul04, add freetype dependancy to gnome package.
+* Sun Sep 12 2004 D. Scott Barninger <barninger at fairfieldcomputers.com>
+- add documentation to console for groupadd
+* Sat Sep 04 2004 D. Scott Barninger <barninger at fairfieldcomputers.com>
+- add support for running daemons as root.bacula
+- correct for change in location of floppy rescue files in 1.35.2
+- removed /etc/bacula/fd script from all packages as it has disappeared from 1.35.2
+- updated depgkgs to 30Jul04
+* Thu Jun 24 2004 D. Scott Barninger <barninger at fairfieldcomputers.com>
+- really, really fix symlink creation for gconsole
+* Thu Jun 17 2004 D. Scott Barninger <barninger at fairfieldcomputers.com>
+- fix symlink creation in gconsole post install
+* Sat Jun 12 2004 D. Scott Barninger <barninger at fairfieldcomputers.com>
+- fixed error in gconsole post script
 * Fri Apr 30 2004 D. Scott Barninger <barninger at fairfieldcomputers.com>
 - add check for gconsole symlink before trying to create it
 * Sun Apr 11 2004 D. Scott Barninger <barninger at fairfieldcomputers.com>