]> git.pld-linux.org Git - packages/bacula.git/blobdiff - bacula.spec
- up to 5.2.4
[packages/bacula.git] / bacula.spec
index 4bad9a1ef2f1c7a0f19429848ef04d2045a594ce..d6466c51232dc88079106de50aff9fc767f067dc 100644 (file)
@@ -1,61 +1,42 @@
 # TODO:
 # TODO:
-#      - update desktop files, think about su-wrappers for console
+#      - update desktop files, think about su-wrappers for console (with .desktop files)
 #      - package web admin
 #      - fix log file permissions
 #      - package web admin
 #      - fix log file permissions
+#      - check on upgrade (5.0 and 5.2 databases are NOT compatible)
 #
 # Conditional build:
 %bcond_without console_wx              # wx-console program
 #
 # Conditional build:
 %bcond_without console_wx              # wx-console program
+%if "%{pld_release}" == "ac"
+%bcond_with            bat                     # bat Qt4 GUI
+%else
 %bcond_without bat                     # bat Qt4 GUI
 %bcond_without bat                     # bat Qt4 GUI
-%bcond_without dbi                     # use Database Independent Abstraction Layer (libdbi)
-%bcond_with    mysql                   # use MySQL
-%bcond_with    pgsql                   # use PostgreSQL
-%bcond_with    python
+%endif
+%bcond_without mysql                   # use MySQL
+%bcond_without pgsql                   # use PostgreSQL
+%bcond_without sqlite3                 # use SQLite3
+%bcond_without python          # Python Scripting support, http://www.bacula.org/3.0.x-manuals/en/concepts/concepts/Python_Scripting.html
+%bcond_without nagios          # build nagios plugin
 %bcond_with    rescue
 %bcond_with    rescue
-%bcond_with    sqlite3                 # use SQLite3 instead of SQLite 2
 %bcond_with    sqlite3_sync_off        # makes SQLite3 backend much faster, but less reliable
 
 %bcond_with    sqlite3_sync_off        # makes SQLite3 backend much faster, but less reliable
 
-%if %{with dbi}
-%define                database        dbi
-%undefine       with_mysql
-%undefine       with_pgsql
-%undefine       with_sqlite3
-%endif
-%if %{with sqlite3}
-%define                database        sqlite3
-%undefine       with_dbi
-%undefine       with_mysql
-%undefine       with_pgsql
-%endif
-%if %{with pgsql}
-%define                database        postgresql
-%undefine       with_dbi
-%undefine       with_mysql
-%undefine       with_sqlite3
-%endif
-%if %{with mysql}
-%define                database        mysql
-%undefine       with_dbi
-%undefine       with_pgsql
-%undefine       with_sqlite3
-%endif
 %if %{without sqlite3}
 %undefine       with_sqlite3_sync_off
 %endif
 %if %{without sqlite3}
 %undefine       with_sqlite3_sync_off
 %endif
-#
+
+%define        qtver   4.6.2
 Summary:       Bacula - The Network Backup Solution
 Summary(pl.UTF-8):     Bacula - rozwiązanie do wykonywania kopii zapasowych po sieci
 Name:          bacula
 Summary:       Bacula - The Network Backup Solution
 Summary(pl.UTF-8):     Bacula - rozwiązanie do wykonywania kopii zapasowych po sieci
 Name:          bacula
-Version:       5.0.1
-Release:       0.2
-Epoch:         0
-License:       extended GPL v2
+Version:       5.2.4
+Release:       1
+License:       AGPL v3
 Group:         Networking/Utilities
 Source0:       http://downloads.sourceforge.net/bacula/%{name}-%{version}.tar.gz
 Group:         Networking/Utilities
 Source0:       http://downloads.sourceforge.net/bacula/%{name}-%{version}.tar.gz
-# Source0-md5: beb9f8da196b3c9ffb0356f087dbdb99
+# Source0-md5: be132861c6d576dce9fa22a40250b416
 Source1:       http://downloads.sourceforge.net/bacula/%{name}-docs-%{version}.tar.bz2
 Source1:       http://downloads.sourceforge.net/bacula/%{name}-docs-%{version}.tar.bz2
-# Source1-md5: ce2ef0dca50ab916fd6701b53b7bb4df
-Source2:       http://downloads.sourceforge.net/bacula/%{name}-rescue-5.0.0.tar.gz
-# Source2-md5: 349623581cfe0bcd798dd137abac959a
+# Source1-md5: 62751cb3ad45682409639dbb790c5a6f
+Source2:       http://downloads.sourceforge.net/bacula/%{name}-rescue-5.0.1.tar.gz
+# Source2-md5: bb194aed8e204f54bf2f61d7e721f257
 Source10:      %{name}-dir.init
 Source11:      %{name}-fd.init
 Source12:      %{name}-sd.init
 Source10:      %{name}-dir.init
 Source11:      %{name}-fd.init
 Source12:      %{name}-sd.init
@@ -64,54 +45,56 @@ Source14:   %{name}-dir.sysconfig
 Source15:      %{name}-fd.sysconfig
 Source16:      %{name}-sd.sysconfig
 Patch0:                %{name}-mtx-changer.patch
 Source15:      %{name}-fd.sysconfig
 Source16:      %{name}-sd.sysconfig
 Patch0:                %{name}-mtx-changer.patch
-Patch1:                %{name}-link.patch
-Patch2:                %{name}-tinfo-readline.patch
-Patch3:                %{name}-branding.patch
-Patch4:                %{name}-conf.patch
-Patch5:                %{name}-desktop.patch
-Patch6:                %{name}-64bitbuild_fix.patch
-Patch7:                %{name}-dbi_fixes.patch
-Patch8:                %{name}-dbi_dbcheck.patch
+Patch1:                %{name}-branding.patch
+Patch2:                %{name}-conf.patch
+Patch3:                %{name}-desktop.patch
+Patch4:                make_catalog_backup-setup-home.patch
 URL:           http://www.bacula.org/
 BuildRequires: acl-devel
 BuildRequires: autoconf
 BuildRequires: automake
 BuildRequires: gettext-devel
 URL:           http://www.bacula.org/
 BuildRequires: acl-devel
 BuildRequires: autoconf
 BuildRequires: automake
 BuildRequires: gettext-devel
+%{?with_console_wx:BuildRequires:      gtk+2-devel}
 BuildRequires: libcap-devel
 BuildRequires: libcap-devel
-%{?with_dbi:BuildRequires:     libdbi-devel >= 0.8.4}
-BuildRequires: libtool
+BuildRequires: libtool >= 2:2.2
 %if %{with rescue}
 BuildRequires: fakeroot
 %endif
 BuildRequires: libwrap-devel
 %if %{with rescue}
 BuildRequires: fakeroot
 %endif
 BuildRequires: libwrap-devel
-BuildRequires: mtx
 BuildRequires: ncurses-devel
 BuildRequires: openssl-devel
 BuildRequires: pkgconfig
 %if %{with python}
 BuildRequires: ncurses-devel
 BuildRequires: openssl-devel
 BuildRequires: pkgconfig
 %if %{with python}
-BuildRequires: python-static
+BuildRequires: python-devel
+BuildRequires: python-modules
 %endif
 %if %{with bat}
 BuildRequires: QtCore-devel
 BuildRequires: QtGui-devel
 %endif
 %if %{with bat}
 BuildRequires: QtCore-devel
 BuildRequires: QtGui-devel
-BuildRequires: qt4-build >= 4.3.3-3
-BuildRequires: qt4-qmake >= 4.3.3-3
-BuildRequires: qwt-devel >= 5.0.2-2
+BuildRequires: qt4-build >= %{qtver}
+BuildRequires: qt4-qmake >= %{qtver}
 %endif
 %{?with_mysql:BuildRequires:   mysql-devel}
 %{?with_pgsql:BuildRequires:   postgresql-devel}
 BuildRequires: readline-devel
 %endif
 %{?with_mysql:BuildRequires:   mysql-devel}
 %{?with_pgsql:BuildRequires:   postgresql-devel}
 BuildRequires: readline-devel
+BuildRequires: rpm >= 4.4.9-56
+BuildRequires: rpm-pythonprov
 BuildRequires: rpmbuild(macros) >= 1.268
 BuildRequires: sed >= 4.0
 %{?with_sqlite3:BuildRequires: sqlite3-devel}
 BuildRequires: rpmbuild(macros) >= 1.268
 BuildRequires: sed >= 4.0
 %{?with_sqlite3:BuildRequires: sqlite3-devel}
+BuildRequires: which
 %if %{with console_wx}
 BuildRequires: wxGTK2-unicode-devel >= 2.4.0
 %endif
 BuildRequires: zlib-devel
 BuildRoot:     %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
 
 %if %{with console_wx}
 BuildRequires: wxGTK2-unicode-devel >= 2.4.0
 %endif
 BuildRequires: zlib-devel
 BuildRoot:     %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
 
-%define                _sysconfdir     /etc/%{name}
+%define                _sysconfdir             /etc/%{name}
 %define                _localstatedir  /var/lib/%{name}
 %define                _localstatedir  /var/lib/%{name}
+%define                nagiosplugindir %{_libdir}/nagios/plugins
+
+# from 'the worst' to 'the best'
+%define        databases %{?with_sqlite3:sqlite3} %{?with_mysql:mysql} %{?with_pgsql:postgresql}
 
 # dependency section is broken. ccache usage is instead to makefiles
 %undefine      with_ccache
 
 # dependency section is broken. ccache usage is instead to makefiles
 %undefine      with_ccache
@@ -185,7 +168,8 @@ Summary:    Bacula Director and Catalog services
 Summary(pl.UTF-8):     Usługi Bacula Director i Catalog
 Group:         Networking/Utilities
 Requires(post):        sed >= 4.0
 Summary(pl.UTF-8):     Usługi Bacula Director i Catalog
 Group:         Networking/Utilities
 Requires(post):        sed >= 4.0
-Requires:      %{name}-common = %{epoch}:%{version}-%{release}
+Requires:      %{name}-common = %{version}-%{release}
+Requires:      bacula(db) = %{version}-%{release}
 Obsoletes:     bacula-updatedb
 
 %description dir
 Obsoletes:     bacula-updatedb
 
 %description dir
@@ -220,7 +204,7 @@ Summary:    Bacula Console
 Summary(pl.UTF-8):     Konsola Baculi
 Group:         Networking/Utilities
 Requires(post):        sed >= 4.0
 Summary(pl.UTF-8):     Konsola Baculi
 Group:         Networking/Utilities
 Requires(post):        sed >= 4.0
-Requires:      %{name}-common = %{epoch}:%{version}-%{release}
+Requires:      %{name}-common = %{version}-%{release}
 
 %description console
 Bacula - It comes by night and sucks the vital essence from your
 
 %description console
 Bacula - It comes by night and sucks the vital essence from your
@@ -242,7 +226,7 @@ Summary:    Bacula wxWidgets Console
 Summary(pl.UTF-8):     Konsola Baculi oparta na wxWidgets
 Group:         Networking/Utilities
 Requires(post):        sed >= 4.0
 Summary(pl.UTF-8):     Konsola Baculi oparta na wxWidgets
 Group:         Networking/Utilities
 Requires(post):        sed >= 4.0
-Requires:      %{name}-common = %{epoch}:%{version}-%{release}
+Requires:      %{name}-common = %{version}-%{release}
 
 %description console-wx
 Bacula - It comes by night and sucks the vital essence from your
 
 %description console-wx
 Bacula - It comes by night and sucks the vital essence from your
@@ -264,7 +248,8 @@ Summary:    Bacula Qt4 Console
 Summary(pl.UTF-8):     Konsola Baculi oparta na Qt4
 Group:         Networking/Utilities
 Requires(post):        sed >= 4.0
 Summary(pl.UTF-8):     Konsola Baculi oparta na Qt4
 Group:         Networking/Utilities
 Requires(post):        sed >= 4.0
-Requires:      %{name}-common = %{epoch}:%{version}-%{release}
+Requires:      %{name}-common = %{version}-%{release}
+Requires:      QtCore >= %{qtver}
 
 %description console-qt4
 Bacula - It comes by night and sucks the vital essence from your
 
 %description console-qt4
 Bacula - It comes by night and sucks the vital essence from your
@@ -284,7 +269,7 @@ interfejs graficzny oparty na Qt4.
 Summary:       Bacula Tray Monitor
 Group:         Networking/Utilities
 Requires(post):        sed >= 4.0
 Summary:       Bacula Tray Monitor
 Group:         Networking/Utilities
 Requires(post):        sed >= 4.0
-Requires:      %{name}-common = %{epoch}:%{version}-%{release}
+Requires:      %{name}-common = %{version}-%{release}
 
 %description tray-monitor
 Bacula - It comes by night and sucks the vital essence from your
 
 %description tray-monitor
 Bacula - It comes by night and sucks the vital essence from your
@@ -301,7 +286,7 @@ Summary:    Bacula File services (Client)
 Summary(pl.UTF-8):     Usługi Bacula File (klient)
 Group:         Networking/Utilities
 Requires(post):        sed >= 4.0
 Summary(pl.UTF-8):     Usługi Bacula File (klient)
 Group:         Networking/Utilities
 Requires(post):        sed >= 4.0
-Requires:      %{name}-common = %{epoch}:%{version}-%{release}
+Requires:      %{name}-common = %{version}-%{release}
 
 %description fd
 Bacula - It comes by night and sucks the vital essence from your
 
 %description fd
 Bacula - It comes by night and sucks the vital essence from your
@@ -336,7 +321,7 @@ Summary:    Bacula Storage services
 Summary(pl.UTF-8):     Usługi Bacula Storage
 Group:         Networking/Utilities
 Requires(post):        sed >= 4.0
 Summary(pl.UTF-8):     Usługi Bacula Storage
 Group:         Networking/Utilities
 Requires(post):        sed >= 4.0
-Requires:      %{name}-common = %{epoch}:%{version}-%{release}
+Requires:      %{name}-common = %{version}-%{release}
 Conflicts:     dvd+rw-tools <= 5.21.4.10.8-1
 
 %description sd
 Conflicts:     dvd+rw-tools <= 5.21.4.10.8-1
 
 %description sd
@@ -361,11 +346,56 @@ przechowywania danych, np. plików). Usługi Storage działają jako demon
 na maszynie, która zawiera urządzenie backupowe (zwykle napęd
 taśmowy).
 
 na maszynie, która zawiera urządzenie backupowe (zwykle napęd
 taśmowy).
 
+%package db-postgresql
+Summary:       PostgreSQL database driver for Bacula
+Summary(pl.UTF-8):     Sterownik bazy PostgreSQL dla Baculi
+Group:         Networking/Utilities
+Requires(post):        /sbin/ldconfig
+Requires:      %{name}-common = %{version}-%{release}
+Provides:      bacula(db) = %{version}-%{release}
+Obsoletes:     bacula(db)
+
+%description db-postgresql
+PostgreSQL database driver for Bacula.
+
+%description db-postgresql -l pl.UTF-8
+Sterownik bazy PostgreSQL dla Baculi.
+
+%package db-mysql
+Summary:       MySQL database driver for Bacula
+Summary(pl.UTF-8):     Sterownik bazy MySQL dla Baculi
+Group:         Networking/Utilities
+Requires(post):        /sbin/ldconfig
+Requires:      %{name}-common = %{version}-%{release}
+Provides:      bacula(db) = %{version}-%{release}
+Obsoletes:     bacula(db)
+
+%description db-mysql
+MySQL database driver for Bacula.
+
+%description db-mysql -l pl.UTF-8
+Sterownik bazy MySQL dla Baculi.
+
+%package db-sqlite3
+Summary:       SQLite database driver for Bacula
+Summary(pl.UTF-8):     Sterownik bazy SQLite dla Baculi
+Group:         Networking/Utilities
+Requires(post):        /sbin/ldconfig
+Requires:      %{name}-common = %{version}-%{release}
+Provides:      bacula(db) = %{version}-%{release}
+Obsoletes:     bacula(db)
+
+%description db-sqlite3
+SQLite database driver for Bacula.
+
+%description db-sqlite3 -l pl.UTF-8
+Sterownik bazy SQLite dla Baculi.
+
 %package rescue
 Summary:       Bacula - The Network Backup Solution
 Summary(pl.UTF-8):     Bacula - rozwiązanie do wykonywania kopii zapasowych po sieci
 Group:         Networking/Utilities
 %package rescue
 Summary:       Bacula - The Network Backup Solution
 Summary(pl.UTF-8):     Bacula - rozwiązanie do wykonywania kopii zapasowych po sieci
 Group:         Networking/Utilities
-Requires:      %{name}-fd = %{epoch}:%{version}-%{release}
+Requires:      %{name}-fd = %{version}-%{release}
 Requires:      coreutils
 Requires:      util-linux
 
 Requires:      coreutils
 Requires:      util-linux
 
@@ -384,12 +414,6 @@ recover lost or damaged files.
 This package installs scripts for disaster recovery and builds rescue
 floppy disk for bare metal recovery.
 
 This package installs scripts for disaster recovery and builds rescue
 floppy disk for bare metal recovery.
 
-To make the bacula rescue disk run "./make_rescue_disk
---copy-static-bacula
-- --copy-etc-files" from the %{_sysconfdir}/rescue directory. To
-  recreate the rescue information for this system run ./getdiskinfo
-  again.
-
 %description rescue -l pl.UTF-8
 Bacula - przychodzi nocą i wysysa żywotny ekstrakt z komputerów.
 
 %description rescue -l pl.UTF-8
 Bacula - przychodzi nocą i wysysa żywotny ekstrakt z komputerów.
 
@@ -405,10 +429,16 @@ plików.
 Ten pakiet zawiera skrypty do odtwarzania po awarii i tworzy dyskietkę
 ratunkowe do odtwarzania systemu od zera.
 
 Ten pakiet zawiera skrypty do odtwarzania po awarii i tworzy dyskietkę
 ratunkowe do odtwarzania systemu od zera.
 
-Aby stworzyć dyskietkę ratunkową Baculi, należy uruchomić "./make_rescue_disk
---copy-static-bacula - --copy-etc-files" z katalogu
-%{_sysconfdir}/rescue . Aby ponownie utworzyć informacje ratunkowe dla
-danego systemu, należy ponownie uruchomić ./getdiskinfo .
+%package -n nagios-plugin-check_bacula
+Summary:       Nagios plugin to check bacula
+Group:         Networking
+Requires:      nagios-common
+
+%description -n nagios-plugin-check_bacula
+Nagios plugin to check bacula.
+
+# provided by various db libraries as a symlink
+%define        _noautoreq      libbaccats-%{version}.so
 
 %prep
 %setup -q -a 1
 
 %prep
 %setup -q -a 1
@@ -417,10 +447,6 @@ danego systemu, należy ponownie uruchomić ./getdiskinfo .
 %patch2 -p1
 %patch3 -p1
 %patch4 -p1
 %patch2 -p1
 %patch3 -p1
 %patch4 -p1
-%patch5 -p1
-#%patch6 -p1
-%{?with_dbi:%patch7 -p1}
-%patch8 -p1
 
 tar -xf %{SOURCE2} && ln -s bacula-rescue-* rescue
 
 
 tar -xf %{SOURCE2} && ln -s bacula-rescue-* rescue
 
@@ -428,12 +454,7 @@ sed -i -e 's#bindir=.*#bindir=%{_bindir}#g' \
        src/cats/create_* src/cats/delete_* src/cats/drop_* \
        src/cats/grant_* src/cats/make_* src/cats/update_*
 sed -i -e 's/@hostname@/--hostname--/' src/*/*.conf.in
        src/cats/create_* src/cats/delete_* src/cats/drop_* \
        src/cats/grant_* src/cats/make_* src/cats/update_*
 sed -i -e 's/@hostname@/--hostname--/' src/*/*.conf.in
-
-%if %{with dbi}
-for dbtype in bdb mysql postgresql sqlite3; do
-       sed -i -e "s,@DB_TYPE@,$dbtype,g" src/cats/*_${dbtype}_*
-done
-%endif
+sed -i -e 's/@basename@/--hostname--/' src/*/*.conf.in
 
 %build
 cd autoconf
 
 %build
 cd autoconf
@@ -444,7 +465,9 @@ cd ..
 %{__autoconf} --prepend-include=$(pwd)/autoconf autoconf/configure.in > configure
 
 CPPFLAGS="-I/usr/include/ncurses -I%{_includedir}/readline"
 %{__autoconf} --prepend-include=$(pwd)/autoconf autoconf/configure.in > configure
 
 CPPFLAGS="-I/usr/include/ncurses -I%{_includedir}/readline"
+
 WXCONFIG=%{_bindir}/wx-gtk2-unicode-config \
 WXCONFIG=%{_bindir}/wx-gtk2-unicode-config \
+QMAKE=%{_bindir}/qt4-qmake \
 %configure \
        --with-scriptdir=%{_libexecdir}/%{name} \
        %{?with_bat:--enable-bat} \
 %configure \
        --with-scriptdir=%{_libexecdir}/%{name} \
        %{?with_bat:--enable-bat} \
@@ -461,8 +484,11 @@ WXCONFIG=%{_bindir}/wx-gtk2-unicode-config \
        --with-smtp-host=localhost \
        --with-pid-dir=/var/run \
        --with-subsys-dir=/var/lock/subsys \
        --with-smtp-host=localhost \
        --with-pid-dir=/var/run \
        --with-subsys-dir=/var/lock/subsys \
+       --with-systemd=/lib/systemd/system \
        --enable-batch-insert \
        --enable-batch-insert \
-       --with-%{database} \
+       %{?with_pgsql:--with-postgresql} \
+       %{?with_mysql:--with-mysql} \
+       %{?with_sqlite3:--with-sqlite3} \
        %{?with_sqlite3_sync_off:--enable-extra-sqlite3-init="pragma synchronous=0;"} \
        --with-dir-password="#FAKE-dir-password#" \
        --with-fd-password="#FAKE-fd-password#" \
        %{?with_sqlite3_sync_off:--enable-extra-sqlite3-init="pragma synchronous=0;"} \
        --with-dir-password="#FAKE-dir-password#" \
        --with-fd-password="#FAKE-fd-password#" \
@@ -478,7 +504,14 @@ qmake-qt4 bat.pro
 cd ../..
 %endif
 
 cd ../..
 %endif
 
-%{__make}
+%{__make} 2>&1 | tee log
+# check for build errors
+grep "Error in" log && exit 1
+
+%if %{with nagios}
+# nagios plugin
+%{__make} -C examples/nagios/check_bacula
+%endif
 
 %if %{with rescue}
 cd rescue
 
 %if %{with rescue}
 cd rescue
@@ -490,7 +523,6 @@ fakeroot %{__make}
 
 %install
 rm -rf $RPM_BUILD_ROOT
 
 %install
 rm -rf $RPM_BUILD_ROOT
-
 install -d $RPM_BUILD_ROOT/etc/{rc.d/init.d,logrotate.d,pam.d,sysconfig}
 install -d $RPM_BUILD_ROOT%{_sysconfdir}/rescue
 install -d $RPM_BUILD_ROOT{%{_pixmapsdir},%{_desktopdir},%{_mandir},%{_bindir},/var/log/bacula}
 install -d $RPM_BUILD_ROOT/etc/{rc.d/init.d,logrotate.d,pam.d,sysconfig}
 install -d $RPM_BUILD_ROOT%{_sysconfdir}/rescue
 install -d $RPM_BUILD_ROOT{%{_pixmapsdir},%{_desktopdir},%{_mandir},%{_bindir},/var/log/bacula}
@@ -498,49 +530,71 @@ install -d $RPM_BUILD_ROOT{%{_pixmapsdir},%{_desktopdir},%{_mandir},%{_bindir},/
 %{__make} install \
        DESTDIR=$RPM_BUILD_ROOT
 
 %{__make} install \
        DESTDIR=$RPM_BUILD_ROOT
 
-install %{SOURCE10} $RPM_BUILD_ROOT/etc/rc.d/init.d/bacula-dir
-install %{SOURCE11} $RPM_BUILD_ROOT/etc/rc.d/init.d/bacula-fd
-install %{SOURCE12} $RPM_BUILD_ROOT/etc/rc.d/init.d/bacula-sd
-install %{SOURCE13} $RPM_BUILD_ROOT/etc/logrotate.d/%{name}-dir
-install %{SOURCE14} $RPM_BUILD_ROOT/etc/sysconfig/bacula-dir
-install %{SOURCE15} $RPM_BUILD_ROOT/etc/sysconfig/bacula-fd
-install %{SOURCE16} $RPM_BUILD_ROOT/etc/sysconfig/bacula-sd
+# create copies of make_catalog_backup for specific databases; zeore default one (will be ghost)
+for database in %{databases}; do
+       sed -e "s#default_db_type=.*#default_db_type=${database}#g" \
+               $RPM_BUILD_ROOT%{_libdir}/%{name}/make_catalog_backup \
+               > $RPM_BUILD_ROOT%{_libdir}/%{name}/make_${database}_catalog_backup
+               chmod 755 $RPM_BUILD_ROOT%{_libdir}/%{name}/make_${database}_catalog_backup
+done
+:> $RPM_BUILD_ROOT%{_libdir}/%{name}/make_catalog_backup
+
+# we use db dependant (at compile time) shell script only
+rm $RPM_BUILD_ROOT%{_libexecdir}/%{name}/make_catalog_backup.pl
+
+## replace with empty file, replaced by ldconfig from each db-* package on intsall
+rm $RPM_BUILD_ROOT%{_libdir}/libbaccats-%{version}.so
+touch $RPM_BUILD_ROOT%{_libdir}/libbaccats-%{version}.so
+
+install -p %{SOURCE10} $RPM_BUILD_ROOT/etc/rc.d/init.d/bacula-dir
+install -p %{SOURCE11} $RPM_BUILD_ROOT/etc/rc.d/init.d/bacula-fd
+install -p %{SOURCE12} $RPM_BUILD_ROOT/etc/rc.d/init.d/bacula-sd
+cp -a %{SOURCE13} $RPM_BUILD_ROOT/etc/logrotate.d/%{name}-dir
+cp -a %{SOURCE14} $RPM_BUILD_ROOT/etc/sysconfig/bacula-dir
+cp -a %{SOURCE15} $RPM_BUILD_ROOT/etc/sysconfig/bacula-fd
+cp -a %{SOURCE16} $RPM_BUILD_ROOT/etc/sysconfig/bacula-sd
 
 %if %{with console_wx}
 # tray-monitor is for regular users
 #mv $RPM_BUILD_ROOT%{_sbindir}/bacula-tray-monitor $RPM_BUILD_ROOT%{_bindir}
 
 
 %if %{with console_wx}
 # tray-monitor is for regular users
 #mv $RPM_BUILD_ROOT%{_sbindir}/bacula-tray-monitor $RPM_BUILD_ROOT%{_bindir}
 
-install scripts/bacula.png $RPM_BUILD_ROOT%{_pixmapsdir}/bacula.png
+cp -a scripts/bacula.png $RPM_BUILD_ROOT%{_pixmapsdir}/bacula.png
 #install src/tray-monitor/generic.xpm $RPM_BUILD_ROOT%{_pixmapsdir}/bacula-tray-monitor.xpm
 sed -e 's/gnome-console/wx-console/g;s/Console/Wx Console/g' \
 #install src/tray-monitor/generic.xpm $RPM_BUILD_ROOT%{_pixmapsdir}/bacula-tray-monitor.xpm
 sed -e 's/gnome-console/wx-console/g;s/Console/Wx Console/g' \
-       scripts/bacula.desktop.gnome2 > $RPM_BUILD_ROOT%{_desktopdir}/bacula-wx.desktop
+       scripts/wxconsole.desktop.consolehelper > $RPM_BUILD_ROOT%{_desktopdir}/bacula-wx.desktop
 #sed -e 's#%{_sbindir}#%{_bindir}#' \
 #      scripts/bacula-tray-monitor.desktop > $RPM_BUILD_ROOT%{_desktopdir}/bacula-tray-monitor.desktop
 %endif
 
 %if %{with bat}
 #sed -e 's#%{_sbindir}#%{_bindir}#' \
 #      scripts/bacula-tray-monitor.desktop > $RPM_BUILD_ROOT%{_desktopdir}/bacula-tray-monitor.desktop
 %endif
 
 %if %{with bat}
-install src/qt-console/.libs/bat $RPM_BUILD_ROOT%{_sbindir}
-install scripts/bat.desktop $RPM_BUILD_ROOT%{_desktopdir}
+# qmake somewhy does not always create install_bins target. install our own the bin
+rm -f $RPM_BUILD_ROOT%{_sbindir}/bat
+libtool --silent --mode=install install src/qt-console/bat $RPM_BUILD_ROOT%{_bindir}
+cp -a scripts/bat.desktop $RPM_BUILD_ROOT%{_desktopdir}
 %endif
 
 %if %{with rescue}
 # install the rescue stuff, these are the rescue scripts
 %endif
 
 %if %{with rescue}
 # install the rescue stuff, these are the rescue scripts
-install rescue/linux/floppy/backup.etc.list $RPM_BUILD_ROOT%{_sysconfdir}/rescue
-install rescue/linux/floppy/*_* $RPM_BUILD_ROOT%{_sysconfdir}/rescue
-install rescue/linux/floppy/getdiskinfo $RPM_BUILD_ROOT%{_sysconfdir}/rescue
-install rescue/linux/floppy/sfdisk.bz2 $RPM_BUILD_ROOT%{_sysconfdir}/rescue
+cp -a rescue/linux/floppy/backup.etc.list $RPM_BUILD_ROOT%{_sysconfdir}/rescue
+cp -a rescue/linux/floppy/sfdisk.bz2 $RPM_BUILD_ROOT%{_sysconfdir}/rescue
+install -p rescue/linux/floppy/*_* $RPM_BUILD_ROOT%{_sysconfdir}/rescue
+install -p rescue/linux/floppy/getdiskinfo $RPM_BUILD_ROOT%{_sysconfdir}/rescue
 %endif
 
 touch $RPM_BUILD_ROOT/var/log/bacula/log
 
 %endif
 
 touch $RPM_BUILD_ROOT/var/log/bacula/log
 
-# install the updatedb scripts
-install updatedb/update_sqlite* $RPM_BUILD_ROOT%{_libexecdir}/%{name}
+# install the updatedb scripts for older versions that last full release
+# 2.0 -> 3.0 : 10_to_11
+# 5.0 -> 5.2 : 12_to_14
+install -p updatedb/update_*_tables_10_to_11 $RPM_BUILD_ROOT%{_libexecdir}/%{name}
+install -p updatedb/update_*_tables_11_to_12 $RPM_BUILD_ROOT%{_libexecdir}/%{name}
+install -p updatedb/update_*_tables_12_to_14 $RPM_BUILD_ROOT%{_libexecdir}/%{name}
 
 # place for site passwords
 touch $RPM_BUILD_ROOT%{_sysconfdir}/{dir-password,fd-password,sd-password}
 touch $RPM_BUILD_ROOT%{_sysconfdir}/{mon-dir-password,mon-fd-password,mon-sd-password}
 
 
 # place for site passwords
 touch $RPM_BUILD_ROOT%{_sysconfdir}/{dir-password,fd-password,sd-password}
 touch $RPM_BUILD_ROOT%{_sysconfdir}/{mon-dir-password,mon-fd-password,mon-sd-password}
 
-mv $RPM_BUILD_ROOT%{_libdir}/bacula/mtx-changer.conf $RPM_BUILD_ROOT/etc/bacula/mtx-changer.conf
+mv $RPM_BUILD_ROOT%{_libexecdir}/%{name}/mtx-changer.conf $RPM_BUILD_ROOT%{_sysconfdir}/mtx-changer.conf
 
 # some file changes
 rm -f $RPM_BUILD_ROOT%{_libexecdir}/%{name}/{gconsole,startmysql,stopmysql,bacula,bconsole,fd}
 
 # some file changes
 rm -f $RPM_BUILD_ROOT%{_libexecdir}/%{name}/{gconsole,startmysql,stopmysql,bacula,bconsole,fd}
@@ -561,6 +615,9 @@ rm $RPM_BUILD_ROOT%{_docdir}/bacula/technotes
 rm $RPM_BUILD_ROOT%{_sbindir}/bacula
 rm $RPM_BUILD_ROOT%{_libexecdir}/%{name}/bacula-ctl-*
 
 rm $RPM_BUILD_ROOT%{_sbindir}/bacula
 rm $RPM_BUILD_ROOT%{_libexecdir}/%{name}/bacula-ctl-*
 
+# unsupported
+rm $RPM_BUILD_ROOT%{_libexecdir}/%{name}/btraceback.mdb
+
 # rename to avoid possible conflicts
 mv $RPM_BUILD_ROOT%{_sbindir}/{,bacula-}dbcheck
 mv $RPM_BUILD_ROOT%{_mandir}/man8/{,bacula-}dbcheck.8.gz
 # rename to avoid possible conflicts
 mv $RPM_BUILD_ROOT%{_sbindir}/{,bacula-}dbcheck
 mv $RPM_BUILD_ROOT%{_mandir}/man8/{,bacula-}dbcheck.8.gz
@@ -568,9 +625,13 @@ mv $RPM_BUILD_ROOT%{_mandir}/man8/{,bacula-}dbcheck.8.gz
 # no -devel files packaged, so this is also useless
 rm $RPM_BUILD_ROOT%{_libdir}/libbac{,cfg,find,py,sql}.{so,la}
 
 # no -devel files packaged, so this is also useless
 rm $RPM_BUILD_ROOT%{_libdir}/libbac{,cfg,find,py,sql}.{so,la}
 
-# sqlite is not supported
-rm $RPM_BUILD_ROOT%{_libexecdir}/%{name}/update_sqlite_*
-
+%if %{with nagios}
+install -d $RPM_BUILD_ROOT%{nagiosplugindir}
+%{__make} -C examples/nagios/check_bacula install \
+       sbindir=%{nagiosplugindir} \
+       INSTALL_PROGRAM="libtool --mode=install install -p" \
+       DESTDIR=$RPM_BUILD_ROOT
+%endif
 
 %clean
 rm -rf $RPM_BUILD_ROOT
 
 %clean
 rm -rf $RPM_BUILD_ROOT
@@ -579,22 +640,25 @@ rm -rf $RPM_BUILD_ROOT
 %groupadd -P %{name}-common -g 136 -r -f bacula
 %useradd -P %{name}-common -u 136 -r -d /var/lib/bacula -s /bin/false -c "Bacula User" -g bacula bacula
 
 %groupadd -P %{name}-common -g 136 -r -f bacula
 %useradd -P %{name}-common -u 136 -r -d /var/lib/bacula -s /bin/false -c "Bacula User" -g bacula bacula
 
+%define update_configs \
+echo "Updating bacula passwords and names..." | %banner -a %{name} \
+cd %{_sysconfdir} \
+for f in *-password; do \
+       if [ ! -s $f ]; then \
+               openssl rand -base64 33 > $f \
+       fi \
+       p=$(cat $f) \
+       for cf in *.conf *.conf.rpmnew; do \
+               [ -f $cf ] && sed -i -e"s:#FAKE-$f#:$p:" "$cf" || : \
+       done \
+done \
+for cf in *.conf *.conf.rpmnew; do \
+       [ -f $cf ] && sed -i -e"s:--hostname--:`hostname`:" "$cf" || : \
+done
+
 %post common
 /sbin/ldconfig
 %post common
 /sbin/ldconfig
-echo "Updating bacula passwords and names..."
-cd /etc/bacula
-for f in *-password ; do
-       if [ ! -s $f ] ; then
-               openssl rand -base64 33 > $f
-       fi
-       p=`cat $f`
-       for cf in *.conf *.conf.rpmnew ; do
-               [ -f $cf ] && sed -i -e"s:#FAKE-$f#:$p:" "$cf" || :
-       done
-done
-for cf in *.conf *.conf.rpmnew ; do
-       [ -f $cf ] && sed -i -e"s:--hostname--:`hostname`:" "$cf" || :
-done
+%update_configs
 
 %postun common
 /sbin/ldconfig
 
 %postun common
 /sbin/ldconfig
@@ -603,54 +667,21 @@ if [ "$1" = "0" ]; then
        %groupremove bacula
 fi
 
        %groupremove bacula
 fi
 
-%post dir
-umask 077
-
-# XXX: Most of this upgrade procedure is safe for sqlite only. Other databases would require knowledge
-#      about currently used version so we can't easily support these :(
-
-%if %{with sqlite3}
-[ -s %{_localstatedir}/bacula.db ] && \
-       DB_VER=`echo "select * from Version;" | \
-       %{_bindir}/sqlite%{?with_sqlite3:3} %{_localstatedir}/bacula.db | tail -n 1 2>/dev/null`
-
-if [ -z "$DB_VER" ]; then
-# grant privileges and create tables
-       %{_libexecdir}/%{name}/grant_bacula_privileges > dev/null
-       %{_libexecdir}/%{name}/create_bacula_database > dev/null
-       %{_libexecdir}/%{name}/make_bacula_tables > dev/null
-else
-       echo "Backing up bacula tables"
-       echo ".dump" | sqlite%{?with_sqlite3:3} %{_localstatedir}/bacula.db | bzip2 > %{_localstatedir}/bacula_backup.sql.bz2
-
-       db_type="%{database}"
-
-       next_ver=$(($DB_VER + 1))
-       # support up to version 30; increase this if needed
-       for ver in $(seq $next_ver 30); do
-               prev_ver=$(($ver - 1))
-
-               if [ -x %{_libexecdir}/%{name}/update_${type}_tables_${prev_ver}_to_${ver} ]; then
-                       echo "Upgrading bacula database: db=${db_type} from ${prev_ver} to ${ver}..."
-                       %{_libexecdir}/%{name}/update_${type}_tables_${prev_ver}_to_${ver}
-               fi
-       done
-
-       %{_libexecdir}/%{name}/update_bacula_tables
-       echo "If bacula works correctly you can remove the backup file %{_localstatedir}/bacula_backup.sql.bz2"
-fi
-chown -R bacula:bacula %{_localstatedir}
-chmod -R u+rX,go-rwx %{_localstatedir}/*
-%endif
+%triggerpostun dir -- %{name}-dir < %{version}-0
+%banner bacula-dir -t3 <<EOF
+You have upgraded from an older version of Bacula director.
 
 
-echo "Updating Bacula passwords and names..."
-cd /etc/bacula
-for f in *-password; do
-       p=`cat $f`
-       sed -i -e"s:#FAKE-$f#:$p:" *.conf *.conf.rpmnew 2>/dev/null || :
-done
-sed -i -e"s:--hostname--:`hostname`:" *.conf *.conf.rpmnew 2>/dev/null || :
+You will probably need to call %{_libexecdir}/%{name}/update_bacula_tables
+script to upgrade the database.
+
+Ensure you database partition has enough free space before you run the upgrade,
+i.e check that there is enough room to rebuild 'File' table (it is the largest
+in bacula db).
+
+EOF
 
 
+%post dir
+%update_configs
 /sbin/chkconfig --add bacula-dir
 %service bacula-dir restart "Bacula Director daemon"
 
 /sbin/chkconfig --add bacula-dir
 %service bacula-dir restart "Bacula Director daemon"
 
@@ -661,14 +692,7 @@ if [ "$1" = "0" ]; then
 fi
 
 %post fd
 fi
 
 %post fd
-echo "Updating Bacula passwords and names..."
-cd /etc/bacula
-for f in *-password; do
-       p=`cat $f`
-       sed -i -e"s:#FAKE-$f#:$p:" *.conf *.conf.rpmnew 2>/dev/null || :
-done
-sed -i -e"s:--hostname--:`hostname`:" *.conf *.conf.rpmnew 2>/dev/null || :
-
+%update_configs
 /sbin/chkconfig --add bacula-fd
 %service bacula-fd restart "Bacula File daemon"
 
 /sbin/chkconfig --add bacula-fd
 %service bacula-fd restart "Bacula File daemon"
 
@@ -679,14 +703,7 @@ if [ "$1" = "0" ]; then
 fi
 
 %post sd
 fi
 
 %post sd
-echo "Updating Bacula passwords and names..."
-cd /etc/bacula
-for f in *-password; do
-       p=`cat $f`
-       sed -i -e"s:#FAKE-$f#:$p:" *.conf *.conf.rpmnew 2>/dev/null || :
-done
-sed -i -e"s:--hostname--:`hostname`:" *.conf *.conf.rpmnew 2>/dev/null || :
-
+%update_configs
 /sbin/chkconfig --add bacula-sd
 %service bacula-sd restart "Bacula Storage daemon"
 
 /sbin/chkconfig --add bacula-sd
 %service bacula-sd restart "Bacula Storage daemon"
 
@@ -702,40 +719,19 @@ if [ -e %{_sysconfdir}/console.conf -a ! -e %{_sysconfdir}/bconsole.conf ]; then
 fi
 
 %post console
 fi
 
 %post console
-echo "Updating Bacula passwords and names..."
-cd /etc/bacula
-for f in *-password; do
-       p=`cat $f`
-       sed -i -e"s:#FAKE-$f#:$p:" *.conf *.conf.rpmnew 2>/dev/null || :
-done
-sed -i -e"s:--hostname--:`hostname`:" *.conf *.conf.rpmnew 2>/dev/null || :
+%update_configs
 
 %post console-wx
 
 %post console-wx
-echo "Updating Bacula passwords and names..."
-cd /etc/bacula
-for f in *-password; do
-       p=`cat $f`
-       sed -i -e"s:#FAKE-$f#:$p:" *.conf *.conf.rpmnew 2>/dev/null || :
-done
-sed -i -e"s:--hostname--:`hostname`:" *.conf *.conf.rpmnew 2>/dev/null || :
+%update_configs
+
+%triggerpostun common -- %{name}-common < 5.0.1-2
+find %{_sysconfdir}/bat.conf* -perm /007 -print0 2>/dev/null | xargs -0 -r chmod 600 || :
 
 %post console-qt4
 
 %post console-qt4
-echo "Updating Bacula passwords and names..."
-cd /etc/bacula
-for f in *-password; do
-       p=`cat $f`
-       sed -i -e"s:#FAKE-$f#:$p:" *.conf *.conf.rpmnew 2>/dev/null || :
-done
-sed -i -e"s:--hostname--:`hostname`:" *.conf *.conf.rpmnew 2>/dev/null || :
+%update_configs
 
 %post tray-monitor
 
 %post tray-monitor
-echo "Updating Bacula passwords and names..."
-cd /etc/bacula
-for f in *-password; do
-       p=`cat $f`
-       sed -i -e"s:#FAKE-$f#:$p:" *.conf *.conf.rpmnew 2>/dev/null || :
-done
-sed -i -e"s:--hostname--:`hostname`:" *.conf *.conf.rpmnew 2>/dev/null || :
+%update_configs
 
 %post rescue
 # link our current installed conf file to the rescue directory
 
 %post rescue
 # link our current installed conf file to the rescue directory
@@ -758,19 +754,46 @@ if [ "$1" = "0" ]; then
        rm -rf %{_sysconfdir}/rescue/diskinfo/*
 fi
 
        rm -rf %{_sysconfdir}/rescue/diskinfo/*
 fi
 
+%define db_post() \
+/sbin/ldconfig \
+for name in "create database" "drop tables" "drop database" "grant privileges" "make tables" "update tables"; do \
+       prefix="${name%% *}" \
+       suffix="${name#* }" \
+       ln -sf "${prefix}_%{1}_${suffix}" %{_libexecdir}/%{name}/"${prefix}_bacula_${suffix}" || : \
+done \
+ln -sf "make_%{1}_catalog_backup" %{_libexecdir}/%{name}/make_catalog_backup || : \
+ln -sf libbaccats-%{1}-%{version}.so %{_libdir}/libbaccats-%{version}.so || : \
+%service bacula-dir restart "Bacula Director daemon"
+
+%post db-postgresql
+%db_post postgresql
+
+%postun db-postgresql -p /sbin/ldconfig
+
+%post db-mysql
+%db_post mysql
+
+%postun db-mysql -p /sbin/ldconfig
+
+%post db-sqlite3
+%db_post sqlite3
+
+%postun db-sqlite3 -p /sbin/ldconfig
+
 %files common
 %defattr(644,root,root,755)
 %doc LICENSE
 %files common
 %defattr(644,root,root,755)
 %doc LICENSE
+%{?with_python:%doc examples/python}
 %dir %{_sysconfdir}
 %attr(600,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/*-password
 # do not remove bsmtp from files. Fix build if it is not installed.
 %attr(755,root,root) %{_sbindir}/bsmtp
 %attr(755,root,root) %{_sbindir}/btraceback
 %dir %{_sysconfdir}
 %attr(600,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/*-password
 # do not remove bsmtp from files. Fix build if it is not installed.
 %attr(755,root,root) %{_sbindir}/bsmtp
 %attr(755,root,root) %{_sbindir}/btraceback
-%attr(755,root,root) %{_libdir}/libbac-%{version}.so
-%attr(755,root,root) %{_libdir}/libbaccfg-%{version}.so
-%attr(755,root,root) %{_libdir}/libbacfind-%{version}.so
-%attr(755,root,root) %{_libdir}/libbacpy-%{version}.so
-%attr(755,root,root) %{_libdir}/libbacsql-%{version}.so
+%attr(755,root,root) %{_libdir}/libbac-5*.so
+%attr(755,root,root) %{_libdir}/libbaccfg-5*.so
+%attr(755,root,root) %{_libdir}/libbacfind-5*.so
+%attr(755,root,root) %{_libdir}/libbacpy-5*.so
+%attr(755,root,root) %{_libdir}/libbacsql-5*.so
 %{_mandir}/man8/bacula.8*
 %{_mandir}/man1/bsmtp.1*
 %{_mandir}/man8/btraceback.8*
 %{_mandir}/man8/bacula.8*
 %{_mandir}/man1/bsmtp.1*
 %{_mandir}/man8/btraceback.8*
@@ -797,54 +820,75 @@ fi
 %attr(755,root,root) %{_sbindir}/bacula-dbcheck
 %{_mandir}/man8/bacula-dir.8*
 %{_mandir}/man8/bacula-dbcheck.8*
 %attr(755,root,root) %{_sbindir}/bacula-dbcheck
 %{_mandir}/man8/bacula-dir.8*
 %{_mandir}/man8/bacula-dbcheck.8*
+%{_mandir}/man8/bregex.8*
+%{_mandir}/man8/bwild.8*
 %{_libexecdir}/%{name}/query.sql
 %{_libexecdir}/%{name}/query.sql
-%if %{with bdb} || %{with dbi}
-%attr(755,root,root) %{_libexecdir}/%{name}/create_bdb_database
-%attr(755,root,root) %{_libexecdir}/%{name}/drop_bdb_database
-%attr(755,root,root) %{_libexecdir}/%{name}/drop_bdb_tables
-%attr(755,root,root) %{_libexecdir}/%{name}/grant_bdb_privileges
-%attr(755,root,root) %{_libexecdir}/%{name}/make_bdb_tables
-%attr(755,root,root) %{_libexecdir}/%{name}/update_bdb_*
-%endif
-%if %{with sqlite3} || %{with dbi}
-%attr(755,root,root) %{_libexecdir}/%{name}/create_sqlite3_database
-%attr(755,root,root) %{_libexecdir}/%{name}/drop_sqlite3_database
-%attr(755,root,root) %{_libexecdir}/%{name}/drop_sqlite3_tables
-%attr(755,root,root) %{_libexecdir}/%{name}/grant_sqlite3_privileges
-%attr(755,root,root) %{_libexecdir}/%{name}/make_sqlite3_tables
-%attr(755,root,root) %{_libexecdir}/%{name}/update_sqlite3_*
-%endif
-%if %{with mysql} || %{with dbi}
-%attr(755,root,root) %{_libexecdir}/%{name}/create_mysql_database
-%attr(755,root,root) %{_libexecdir}/%{name}/drop_mysql_database
-%attr(755,root,root) %{_libexecdir}/%{name}/drop_mysql_tables
-%attr(755,root,root) %{_libexecdir}/%{name}/grant_mysql_privileges
-%attr(755,root,root) %{_libexecdir}/%{name}/make_mysql_tables
-%attr(755,root,root) %{_libexecdir}/%{name}/update_mysql_*
-%endif
-%if %{with pgsql} || %{with dbi}
+%attr(755,root,root) %{_libexecdir}/%{name}/delete_catalog_backup
+
+%files db-postgresql
+%defattr(644,root,root,755)
 %attr(755,root,root) %{_libexecdir}/%{name}/create_postgresql_database
 %attr(755,root,root) %{_libexecdir}/%{name}/drop_postgresql_database
 %attr(755,root,root) %{_libexecdir}/%{name}/drop_postgresql_tables
 %attr(755,root,root) %{_libexecdir}/%{name}/grant_postgresql_privileges
 %attr(755,root,root) %{_libexecdir}/%{name}/make_postgresql_tables
 %attr(755,root,root) %{_libexecdir}/%{name}/update_postgresql_*
 %attr(755,root,root) %{_libexecdir}/%{name}/create_postgresql_database
 %attr(755,root,root) %{_libexecdir}/%{name}/drop_postgresql_database
 %attr(755,root,root) %{_libexecdir}/%{name}/drop_postgresql_tables
 %attr(755,root,root) %{_libexecdir}/%{name}/grant_postgresql_privileges
 %attr(755,root,root) %{_libexecdir}/%{name}/make_postgresql_tables
 %attr(755,root,root) %{_libexecdir}/%{name}/update_postgresql_*
-%endif
-%if %{without dbi}
-%attr(755,root,root) %{_libexecdir}/%{name}/create_bacula_database
-%attr(755,root,root) %{_libexecdir}/%{name}/drop_bacula_database
-%attr(755,root,root) %{_libexecdir}/%{name}/drop_bacula_tables
-%attr(755,root,root) %{_libexecdir}/%{name}/grant_bacula_privileges
-%attr(755,root,root) %{_libexecdir}/%{name}/make_bacula_tables
-%attr(755,root,root) %{_libexecdir}/%{name}/update_bacula_tables
-%endif
-#%attr(755,root,root) %{_libexecdir}/%{name}/make_catalog_backup
-#%attr(755,root,root) %{_libexecdir}/%{name}/delete_catalog_backup
+%attr(755,root,root) %{_libexecdir}/%{name}/make_postgresql_catalog_backup
+%attr(755,root,root) %{_libdir}/libbaccats-postgresql-5*.so
+
+%ghost %attr(755,root,root) %{_libdir}/libbaccats-5*.so
+%ghost %{_libexecdir}/%{name}/create_bacula_database
+%ghost %{_libexecdir}/%{name}/drop_bacula_tables
+%ghost %{_libexecdir}/%{name}/drop_bacula_database
+%ghost %{_libexecdir}/%{name}/grant_bacula_privileges
+%ghost %{_libexecdir}/%{name}/make_bacula_tables
+%ghost %{_libexecdir}/%{name}/update_bacula_tables
+%ghost %{_libexecdir}/%{name}/make_catalog_backup
+
+%files db-mysql
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libexecdir}/%{name}/create_mysql_database
+%attr(755,root,root) %{_libexecdir}/%{name}/drop_mysql_database
+%attr(755,root,root) %{_libexecdir}/%{name}/drop_mysql_tables
+%attr(755,root,root) %{_libexecdir}/%{name}/grant_mysql_privileges
+%attr(755,root,root) %{_libexecdir}/%{name}/make_mysql_tables
+%attr(755,root,root) %{_libexecdir}/%{name}/update_mysql_*
+%attr(755,root,root) %{_libexecdir}/%{name}/make_mysql_catalog_backup
+%attr(755,root,root) %{_libdir}/libbaccats-mysql-5*.so
+
+%ghost %attr(755,root,root) %{_libdir}/libbaccats-5*.so
+%ghost %{_libexecdir}/%{name}/create_bacula_database
+%ghost %{_libexecdir}/%{name}/drop_bacula_tables
+%ghost %{_libexecdir}/%{name}/drop_bacula_database
+%ghost %{_libexecdir}/%{name}/grant_bacula_privileges
+%ghost %{_libexecdir}/%{name}/make_bacula_tables
+%ghost %{_libexecdir}/%{name}/update_bacula_tables
+%ghost %{_libexecdir}/%{name}/make_catalog_backup
+
+%files db-sqlite3
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libexecdir}/%{name}/create_sqlite3_database
+%attr(755,root,root) %{_libexecdir}/%{name}/drop_sqlite3_database
+%attr(755,root,root) %{_libexecdir}/%{name}/drop_sqlite3_tables
+%attr(755,root,root) %{_libexecdir}/%{name}/grant_sqlite3_privileges
+%attr(755,root,root) %{_libexecdir}/%{name}/make_sqlite3_tables
+%attr(755,root,root) %{_libexecdir}/%{name}/update_sqlite3_*
+%attr(755,root,root) %{_libexecdir}/%{name}/make_sqlite3_catalog_backup
+%attr(755,root,root) %{_libdir}/libbaccats-sqlite3-5*.so
+
+%ghost %attr(755,root,root) %{_libdir}/libbaccats-5*.so
+%ghost %{_libexecdir}/%{name}/create_bacula_database
+%ghost %{_libexecdir}/%{name}/drop_bacula_tables
+%ghost %{_libexecdir}/%{name}/drop_bacula_database
+%ghost %{_libexecdir}/%{name}/grant_bacula_privileges
+%ghost %{_libexecdir}/%{name}/make_bacula_tables
+%ghost %{_libexecdir}/%{name}/update_bacula_tables
+%ghost %{_libexecdir}/%{name}/make_catalog_backup
 
 %files fd
 %defattr(644,root,root,755)
 %doc LICENSE
 
 %files fd
 %defattr(644,root,root,755)
 %doc LICENSE
-%attr(600,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/bacula-fd.conf
+%attr(640,root,bacula) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/bacula-fd.conf
 %attr(754,root,root) /etc/rc.d/init.d/bacula-fd
 %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/bacula-fd
 %attr(755,root,root) %{_sbindir}/bacula-fd
 %attr(754,root,root) /etc/rc.d/init.d/bacula-fd
 %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/bacula-fd
 %attr(755,root,root) %{_sbindir}/bacula-fd
@@ -854,8 +898,8 @@ fi
 %files sd
 %defattr(644,root,root,755)
 %doc LICENSE
 %files sd
 %defattr(644,root,root,755)
 %doc LICENSE
-%attr(600,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/bacula-sd.conf
-%attr(600,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/mtx-changer.conf
+%attr(640,root,bacula) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/bacula-sd.conf
+%attr(640,root,bacula) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/mtx-changer.conf
 %attr(754,root,root) /etc/rc.d/init.d/bacula-sd
 %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/bacula-sd
 %attr(755,root,root) %{_sbindir}/bacula-sd
 %attr(754,root,root) /etc/rc.d/init.d/bacula-sd
 %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/bacula-sd
 %attr(755,root,root) %{_sbindir}/bacula-sd
@@ -877,7 +921,7 @@ fi
 %files console
 %defattr(644,root,root,755)
 %doc LICENSE
 %files console
 %defattr(644,root,root,755)
 %doc LICENSE
-%attr(600,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/bconsole.conf
+%attr(640,root,bacula) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/bconsole.conf
 %attr(755,root,root) %{_sbindir}/bconsole
 %{_mandir}/man8/bconsole.8*
 
 %attr(755,root,root) %{_sbindir}/bconsole
 %{_mandir}/man8/bconsole.8*
 
@@ -887,7 +931,7 @@ fi
 %doc LICENSE
 %{_pixmapsdir}/%{name}.png
 %{_desktopdir}/bacula-wx.desktop
 %doc LICENSE
 %{_pixmapsdir}/%{name}.png
 %{_desktopdir}/bacula-wx.desktop
-%attr(600,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/bwx-console.conf
+%attr(640,root,bacula) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/bwx-console.conf
 %attr(755,root,root) %{_sbindir}/bwx-console
 %{_mandir}/man1/bacula-bwxconsole.1*
 %endif
 %attr(755,root,root) %{_sbindir}/bwx-console
 %{_mandir}/man1/bacula-bwxconsole.1*
 %endif
@@ -898,8 +942,10 @@ fi
 %doc LICENSE
 %{_pixmapsdir}/%{name}.png
 %{_desktopdir}/bat.desktop
 %doc LICENSE
 %{_pixmapsdir}/%{name}.png
 %{_desktopdir}/bat.desktop
-%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/bat.conf
-%attr(755,root,root) %{_sbindir}/bat
+# Do not make this file world-readable or any user will get full access to the
+# backup system
+%attr(640,root,bacula) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/bat.conf
+%attr(755,root,root) %{_bindir}/bat
 %{_mandir}/man1/bat.1*
 %{_docdir}/%{name}
 %endif
 %{_mandir}/man1/bat.1*
 %{_docdir}/%{name}
 %endif
@@ -931,3 +977,9 @@ fi
 %attr(755,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/rescue/run_lilo
 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/rescue/sfdisk.bz2
 %endif
 %attr(755,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/rescue/run_lilo
 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/rescue/sfdisk.bz2
 %endif
+
+%if %{with nagios}
+%files -n nagios-plugin-check_bacula
+%defattr(644,root,root,755)
+%attr(755,root,root) %{nagiosplugindir}/check_bacula
+%endif
This page took 0.066304 seconds and 4 git commands to generate.