]> git.pld-linux.org Git - packages/bacula.git/blobdiff - bacula.spec
Version: 9.4.2, Amazon S3 driver, Qt5
[packages/bacula.git] / bacula.spec
index 79e6468593b7026c6afe96ff3d673c747444dd82..1a9732dfcffbb9870f69a2fad35ea8108cd9948e 100644 (file)
@@ -1,32 +1,34 @@
-# TODO:
-#      - update desktop files, think about su-wrappers for console
-#      - package web admin
+## TODO:
+#      - fix libtoolize
+#      - update desktop files, think about su-wrappers for console (with .desktop files)
 #      - fix log file permissions
-#      - build documentation and package it
 #
 # Conditional build:
-%bcond_without console_wx      # wx-console program
-%bcond_without gnome           # gnome-console program
-%bcond_with    python
-%bcond_with    rescue
-%bcond_with    sqlite3         # use sqlite3 insted sqlite
-#
+%bcond_without qt                      # BAT / qt-console Qt5 GUI
+%bcond_without mysql                   # use MySQL
+%bcond_without pgsql                   # use PostgreSQL
+%bcond_without sqlite3                 # use SQLite3
+%bcond_without nagios                  # build nagios plugin
+%bcond_without s3                      # Amazon S3 cloud backend
+%bcond_with    sqlite3_sync_off        # makes SQLite3 backend much faster, but less reliable
+
+%if %{without sqlite3}
+%undefine       with_sqlite3_sync_off
+%endif
+
+# Bacula requires this specific, custom version
+%define                libs3_version   20181010
+
 Summary:       Bacula - The Network Backup Solution
-Summary(pl):   Bacula - rozwi±zanie do wykonywania kopii zapasowych po sieci
+Summary(pl.UTF-8):     Bacula - rozwiązanie do wykonywania kopii zapasowych po sieci
 Name:          bacula
-Version:       2.0.0
-Release:       0.2
-Epoch:         0
-License:       extended GPL v2
+Version:       9.4.2
+Release:       1
+License:       AGPL v3
 Group:         Networking/Utilities
-Source0:       http://dl.sourceforge.net/bacula/%{name}-%{version}.tar.gz
-# Source0-md5: fbf990e64eb895a674c52c0de5acf0cd
-Source1:       http://dl.sourceforge.net/bacula/%{name}-docs-%{version}.tar.gz
-# Source1-md5: 9fe0efdf50c82f40f15b3ea6c7ad7ed6
-Source2:       http://dl.sourceforge.net/bacula/%{name}-gui-%{version}.tar.gz
-# Source2-md5: c46b03dbdd9becfd56e109badcad3593
-Source3:       http://dl.sourceforge.net/bacula/%{name}-rescue-%{version}.tar.gz
-# Source3-md5: 4a21381f16355193771a34fc2eb4e806
+Source0:       http://downloads.sourceforge.net/bacula/%{name}-%{version}.tar.gz
+# Source0-md5: 376e67b16cfa7254a5717177770233b6
+Source1:       https://www.bacula.org/downloads/libs3-%{libs3_version}.tar.gz
 Source10:      %{name}-dir.init
 Source11:      %{name}-fd.init
 Source12:      %{name}-sd.init
@@ -34,49 +36,59 @@ Source13:   %{name}.logrotate
 Source14:      %{name}-dir.sysconfig
 Source15:      %{name}-fd.sysconfig
 Source16:      %{name}-sd.sysconfig
-Patch0:                %{name}-dvd-handler_path.patch
-Patch1:                %{name}-dvd_append.patch
-Patch2:                %{name}-link.patch
-Patch3:                %{name}-compile.patch
-Patch4:                %{name}-wx28.patch
+Source17:      %{name}-dir.service
+Source18:      %{name}-fd.service
+Source19:      %{name}-sd.service
+Patch0:                %{name}-mtx-changer.patch
+Patch1:                %{name}-branding.patch
+Patch2:                %{name}-desktop.patch
+Patch3:                make_catalog_backup-setup-home.patch
+Patch4:                %{name}-no_lockmgr.patch
+Patch5:                x32.patch
+Patch6:                libs3-curl.patch
 URL:           http://www.bacula.org/
-BuildRequires: acl-static
+BuildRequires: acl-devel
+BuildRequires: autoconf >= 2.61
 BuildRequires: automake
-%if %{with rescue}
-BuildRequires: fakeroot
-%endif
-BuildRequires: glibc-static
-%if %{with gnome}
-BuildRequires: libgnome-devel >= 2.0
-BuildRequires: libgnomeui-devel >= 2.0
-%endif
-BuildRequires: libstdc++-static
-BuildRequires: libwrap-static
-BuildRequires: mtx
+%{?with_s3:BuildRequires:      curl-devel}
+BuildRequires: gettext-tools
+BuildRequires: libcap-devel
+BuildRequires: libtool >= 2:2.2
+BuildRequires: libwrap-devel
+%{?with_s3:BuildRequires:      libxml2-devel}
 BuildRequires: ncurses-devel
 BuildRequires: openssl-devel
-BuildRequires: openssl-static
 BuildRequires: pkgconfig
-%if %{with python}
-BuildRequires: python-static
+BuildRequires: python
+BuildRequires: python-modules
+%if %{with qt}
+BuildRequires: Qt5Core-devel
+BuildRequires: Qt5Gui-devel
+BuildRequires: qt5-build
+BuildRequires: qt5-qmake
 %endif
+%{?with_mysql:BuildRequires:   mysql-devel}
+%{?with_pgsql:BuildRequires:   postgresql-devel}
 BuildRequires: readline-devel
-BuildRequires: rpmbuild(macros) >= 1.268
+BuildRequires: rpm >= 4.4.9-56
+BuildRequires: rpm-pythonprov
+BuildRequires: rpmbuild(macros) >= 1.644
 BuildRequires: sed >= 4.0
-%if %{with sqlite3}
-BuildRequires: sqlite3-devel
-%else
-BuildRequires: sqlite-devel
-%endif
-%if %{with console_wx}
-BuildRequires: wxGTK2-unicode-devel >= 2.4.0
-%endif
+%{?with_sqlite3:BuildRequires: sqlite3-devel}
+BuildRequires: which
 BuildRequires: zlib-devel
-BuildRequires: zlib-static
+Requires:      systemd-units >= 38
 BuildRoot:     %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
 
-%define                _sysconfdir     /etc/%{name}
+%define                _sysconfdir             /etc/%{name}
 %define                _localstatedir  /var/lib/%{name}
+%define                nagiosplugindir %{_libdir}/nagios/plugins
+
+# db packages contain duplicates
+%define                _duplicate_files_terminate_build        0
+
+# 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
@@ -93,21 +105,21 @@ Bacula is relatively easy to use and efficient, while offering many
 advanced storage management features that make it easy to find and
 recover lost or damaged files.
 
-%description -l pl
-Bacula - przychodzi noc± i wysysa ¿ywotny ekstrakt z komputerów.
+%description -l pl.UTF-8
+Bacula - przychodzi nocą i wysysa żywotny ekstrakt z komputerów.
 
-Bacula to zbiór programów umo¿liwiaj±cych administratorowi na
-zarz±dzanie kopiami zapasowymi, odzyskiwaniem i weryfikacj± danych w
-sieci komputerów ró¿nego rodzaju. W terminologii technicznej jest to
-program do kopii zapasowych pracuj±cy w architekturze klient-serwer.
-Bacula jest stosunkowo ³atwa w u¿yciu i wydajna, oferuj±c przy tym
-wiele zaawansowanych mo¿liwo¶ci przy zarz±dzaniu no¶nikami,
-u³atwiaj±cych znalezienie i odzyskanie utraconych lub uszkodzonych
-plików.
+Bacula to zbiór programów umożliwiających administratorowi na
+zarządzanie kopiami zapasowymi, odzyskiwaniem i weryfikacją danych w
+sieci komputerów różnego rodzaju. W terminologii technicznej jest to
+program do kopii zapasowych pracujący w architekturze klient-serwer.
+Bacula jest stosunkowo łatwa w użyciu i wydajna, oferując przy tym
+wiele zaawansowanych możliwości przy zarządzaniu nośnikami,
+ułatwiających znalezienie i odzyskanie utraconych lub uszkodzonych
+plików.
 
 %package common
 Summary:       Common files for bacula package
-Summary(pl):   Pliki wspólne dla pakietu bacula
+Summary(pl.UTF-8):     Pliki wspólne dla pakietu bacula
 Group:         Networking/Utilities
 Requires(post):        openssl-tools
 Requires(post):        sed >= 4.0
@@ -120,6 +132,7 @@ Conflicts:  bacula-console < 0:1.34.6
 Conflicts:     bacula-dir < 0:1.34.6
 Conflicts:     bacula-fd < 0:1.34.6
 Conflicts:     bacula-sd < 0:1.34.6
+Conflicts:     logrotate < 3.8.0
 
 %description common
 Bacula - It comes by night and sucks the vital essence from your
@@ -133,24 +146,26 @@ Bacula is relatively easy to use and efficient, while offering many
 advanced storage management features that make it easy to find and
 recover lost or damaged files.
 
-%description common -l pl
-Bacula - przychodzi noc± i wysysa ¿ywotny ekstrakt z komputerów.
+%description common -l pl.UTF-8
+Bacula - przychodzi nocą i wysysa żywotny ekstrakt z komputerów.
 
-Bacula to zbiór programów umo¿liwiaj±cych administratorowi na
-zarz±dzanie kopiami zapasowymi, odzyskiwaniem i weryfikacj± danych w
-sieci komputerów ró¿nego rodzaju. W terminologii technicznej jest to
-program do kopii zapasowych pracuj±cy w architekturze klient-serwer.
-Bacula jest stosunkowo ³atwa w u¿yciu i wydajna, oferuj±c przy tym
-wiele zaawansowanych mo¿liwo¶ci przy zarz±dzaniu no¶nikami,
-u³atwiaj±cych znalezienie i odzyskanie utraconych lub uszkodzonych
-plików.
+Bacula to zbiór programów umożliwiających administratorowi na
+zarządzanie kopiami zapasowymi, odzyskiwaniem i weryfikacją danych w
+sieci komputerów różnego rodzaju. W terminologii technicznej jest to
+program do kopii zapasowych pracujący w architekturze klient-serwer.
+Bacula jest stosunkowo łatwa w użyciu i wydajna, oferując przy tym
+wiele zaawansowanych możliwości przy zarządzaniu nośnikami,
+ułatwiających znalezienie i odzyskanie utraconych lub uszkodzonych
+plików.
 
 %package dir
 Summary:       Bacula Director and Catalog services
-Summary(pl):   Us³ugi Bacula Director i Catalog
+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}
+Requires:      systemd-units >= 38
 Obsoletes:     bacula-updatedb
 
 %description dir
@@ -164,31 +179,28 @@ services are comprised of the software programs responsible for
 maintaining the file indexes and volume databases for all files backed
 up. The Catalog services permit the System Administrator or user to
 quickly locate and restore any desired file, since it maintains a
-record of all Volumes used, all Jobs run, and all Files saved. This
-build requires sqlite%{?with_sqlite3:3} to be installed separately as the catalog
-database.
+record of all Volumes used, all Jobs run, and all Files saved.
 
-%description dir -l pl
-Bacula - przychodzi noc± i wysysa ¿ywotny ekstrakt z komputerów.
+%description dir -l pl.UTF-8
+Bacula - przychodzi nocą i wysysa żywotny ekstrakt z komputerów.
 
-Bacula Director to program nadzoruj±cy wszystkie operacje wykonywania
+Bacula Director to program nadzorujący wszystkie operacje wykonywania
 kopii zapasowych, odzyskiwania, weryfikacji i archiwizowania.
-Administrator u¿ywa Bacula Directora do szeregowania kopii zapasowych
-oraz odzyskiwania plików. Us³ugi katalogowe (Catalog services) s±
-u¿ywane przez programy odpowiedzialne za zarz±dzanie indeksami plików
-i baz± danych wolumenów dla wszystkich kopiowanych plików. Us³ugi
-katalogowe umo¿liwiaj± administratorowi lub u¿ytkownikowi szybko
-zlokalizowaæ i odtworzyæ dowolny plik, poniewa¿ utrzymuj± rekord ze
-wszystkimi u¿ywanymi wolumenami, uruchomionymi zadaniami i zapisanymi
-plikami. Pakiet wymaga sqlite%{?with_sqlite3:3} zainstalowanego oddzielnie jako bazy
-danych dla katalogu.
+Administrator używa Bacula Directora do szeregowania kopii zapasowych
+oraz odzyskiwania plików. Usługi katalogowe (Catalog services) są
+używane przez programy odpowiedzialne za zarządzanie indeksami plików
+i bazą danych wolumenów dla wszystkich kopiowanych plików. Usługi
+katalogowe umożliwiają administratorowi lub użytkownikowi szybko
+zlokalizować i odtworzyć dowolny plik, ponieważ utrzymują rekord ze
+wszystkimi używanymi wolumenami, uruchomionymi zadaniami i zapisanymi
+plikami.
 
 %package console
 Summary:       Bacula Console
-Summary(pl):   Konsola Baculi
+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
@@ -198,61 +210,40 @@ Bacula Console is the program that allows the administrator or user to
 communicate with the Bacula Director. This is the text only console
 interface.
 
-%description console -l pl
-Bacula - przychodzi noc± i wysysa ¿ywotny ekstrakt z komputerów.
+%description console -l pl.UTF-8
+Bacula - przychodzi nocą i wysysa żywotny ekstrakt z komputerów.
 
-Bacula Console to program umo¿liwiaj±cy administratorowi lub
-u¿ytkownikowi komunikowanie siê z programem Bacula Director. To jest
+Bacula Console to program umożliwiający administratorowi lub
+użytkownikowi komunikowanie się z programem Bacula Director. To jest
 interfejs czysto tekstowy.
 
-%package console-wx
-Summary:       Bacula wxWidgets Console
-Summary(pl):   Konsola Baculi oparta na wxWidgets
-Group:         Networking/Utilities
-Requires(post):        sed >= 4.0
-Requires:      %{name}-common = %{epoch}:%{version}-%{release}
-
-%description console-wx
-Bacula - It comes by night and sucks the vital essence from your
-computers.
-
-Bacula Console is the program that allows the administrator or user to
-communicate with the Bacula Director. This is the wxWidgets GUI
-interface.
-
-%description console-wx -l pl
-Bacula - przychodzi noc± i wysysa ¿ywotny ekstrakt z komputerów.
-
-Bacula Console to program umo¿liwiaj±cy administratorowi lub
-u¿ytkownikowi komunikowanie siê z programem Bacula Director. To jest
-interfejs graficzny oparty na wxWidgets.
-
-%package console-gnome
-Summary:       Bacula GNOME Console
-Summary(pl):   Konsola Baculi oparta dla GNOME
+%package console-qt
+Summary:       bat – The Bacula Administration Tool
+Summary(pl.UTF-8):     bat – narzędzie administratora Baculi
 Group:         Networking/Utilities
 Requires(post):        sed >= 4.0
-Requires:      %{name}-common = %{epoch}:%{version}-%{release}
+Requires:      %{name}-common = %{version}-%{release}
+Requires:      Qt5Core
+Obsoletes:     bacula-console-qt5 < 5.2.13-1
 
-%description console-gnome
+%description console-qt
 Bacula - It comes by night and sucks the vital essence from your
 computers.
 
-Bacula Console is the program that allows the administrator or user to
-communicate with the Bacula Director. This is the GNOME GUI interface.
+bat is short for Bacula Administration Tool. It is a GUI form of
+bconsole, but with many additional features.
 
-%description console-gnome -l pl
-Bacula - przychodzi noc± i wysysa ¿ywotny ekstrakt z komputerów.
+%description console-qt -l pl.UTF-8
+Bacula - przychodzi nocą i wysysa żywotny ekstrakt z komputerów.
 
-Bacula Console to program umo¿liwiaj±cy administratorowi lub
-u¿ytkownikowi komunikowanie siê z programem Bacula Director. To jest
-interfejs graficzny oparty na GNOME.
+bat, czyli Bacula Administration Tool, jest graficznym odpowiednikiem
+bconsole, z wieloma dodatkowymi funkcjami.
 
 %package tray-monitor
 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
@@ -266,10 +257,11 @@ configured.
 
 %package fd
 Summary:       Bacula File services (Client)
-Summary(pl):   Us³ugi Bacula File (klient)
+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}
+Requires:      systemd-units >= 38
 
 %description fd
 Bacula - It comes by night and sucks the vital essence from your
@@ -285,26 +277,28 @@ This program runs as a daemon on the machine to be backed up, and in
 some of the documentation, the File daemon is referred to as the
 Client (for example in Bacula configuration file).
 
-%description fd -l pl
-Bacula - przychodzi noc± i wysysa ¿ywotny ekstrakt z komputerów.
-
-Us³ugi Bacula File (inaczej program kliencki) to oprogramowanie, które
-instaluje siê na maszynach, z których maj± byæ wykonywane kopie
-zapasowe. S± one specyficzne dla systemu operacyjnego, pod którym
-dzia³a dana maszyna i odpowiadaj± za dostarczanie atrybutów i danych
-plików na ¿±danie Directora. Us³ugi plikowe s± tak¿e odpowiedzialne za
-zale¿n± od systemu plików czê¶æ odzyskiwania atrybutów i danych plików
-podczas operacji odzyskiwania danych. Program dzia³a jako demon na
-maszynie, która ma byæ backupowana i w czê¶ci dokumentacji demon ten
-(File) jest nazywany klientem (na przyk³ad w pliku konfiguracyjnym
+%description fd -l pl.UTF-8
+Bacula - przychodzi nocą i wysysa żywotny ekstrakt z komputerów.
+
+Usługi Bacula File (inaczej program kliencki) to oprogramowanie, które
+instaluje się na maszynach, z których mają być wykonywane kopie
+zapasowe. Są one specyficzne dla systemu operacyjnego, pod którym
+działa dana maszyna i odpowiadają za dostarczanie atrybutów i danych
+plików na żądanie Directora. Usługi plikowe są także odpowiedzialne za
+zależną od systemu plików część odzyskiwania atrybutów i danych plików
+podczas operacji odzyskiwania danych. Program działa jako demon na
+maszynie, która ma być backupowana i w części dokumentacji demon ten
+(File) jest nazywany klientem (na przykład w pliku konfiguracyjnym
 Baculi).
 
 %package sd
 Summary:       Bacula Storage services
-Summary(pl):   Us³ugi Bacula Storage
+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}
+Requires:      systemd-units >= 38
+Suggests:      mtx
 Conflicts:     dvd+rw-tools <= 5.21.4.10.8-1
 
 %description sd
@@ -318,65 +312,72 @@ is responsible for reading and writing your tapes (or other storage
 media, e.g. files). The Storage services runs as a daemon on the
 machine that has the backup device (usually a tape drive).
 
-%description sd -l pl
-Bacula - przychodzi noc± i wysysa ¿ywotny ekstrakt z komputerów.
+%description sd -l pl.UTF-8
+Bacula - przychodzi nocą i wysysa żywotny ekstrakt z komputerów.
 
-Us³ugi Bacula Storage sk³adaj± siê z programów obs³uguj±cych
-przechowywanie danych oraz odzyskiwanie atrybutów i danych na
-fizycznych no¶nikach lub wolumenach. Innymi s³owy, demon Storage jest
-odpowiedzialny za odczyt i zapis ta¶m (lub innych no¶ników do
-przechowywania danych, np. plików). Us³ugi Storage dzia³aj± jako demon
-na maszynie, która zawiera urz±dzenie backupowe (zwykle napêd
-tamowy).
+Usługi Bacula Storage składają się z programów obsługujących
+przechowywanie danych oraz odzyskiwanie atrybutów i danych na
+fizycznych nośnikach lub wolumenach. Innymi słowy, demon Storage jest
+odpowiedzialny za odczyt i zapis taśm (lub innych nośników do
+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).
 
-%package rescue
-Summary:       Bacula - The Network Backup Solution
-Summary(pl):   Bacula - rozwi±zanie do wykonywania kopii zapasowych po sieci
+%package db-postgresql
+Summary:       PostgreSQL database driver for Bacula
+Summary(pl.UTF-8):     Sterownik bazy PostgreSQL dla Baculi
 Group:         Networking/Utilities
-Requires:      %{name}-fd = %{epoch}:%{version}-%{release}
-Requires:      coreutils
-Requires:      util-linux
+Requires(post):        /sbin/ldconfig
+Requires:      %{name}-common = %{version}-%{release}
+Provides:      bacula(db) = %{version}-%{release}
+Obsoletes:     bacula(db)
 
-%description rescue
-Bacula - It comes by night and sucks the vital essence from your
-computers.
+%description db-postgresql
+PostgreSQL database driver for Bacula.
 
-Bacula is a set of computer programs that permit you (or the system
-administrator) to manage backup, recovery, and verification of
-computer data across a network of computers of different kinds. In
-technical terms, it is a network client/server based backup program.
-Bacula is relatively easy to use and efficient, while offering many
-advanced storage management features that make it easy to find and
-recover lost or damaged files.
+%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)
 
-This package installs scripts for disaster recovery and builds rescue
-floppy disk for bare metal recovery.
+%description db-mysql
+MySQL database driver for Bacula.
 
-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 db-mysql -l pl.UTF-8
+Sterownik bazy MySQL dla Baculi.
 
-%description rescue -l pl
-Bacula - przychodzi noc± i wysysa ¿ywotny ekstrakt z komputerów.
+%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.
 
-Bacula to zbiór programów umo¿liwiaj±cych administratorowi na
-zarz±dzanie kopiami zapasowymi, odzyskiwaniem i weryfikacj± danych w
-sieci komputerów ró¿nego rodzaju. W terminologii technicznej jest to
-program do kopii zapasowych pracuj±cy w architekturze klient-serwer.
-Bacula jest stosunkowo ³atwa w u¿yciu i wydajna, oferuj±c przy tym
-wiele zaawansowanych mo¿liwo¶ci przy zarz±dzaniu no¶nikami,
-u³atwiaj±cych znalezienie i odzyskanie utraconych lub uszkodzonych
-plików.
+%description db-sqlite3 -l pl.UTF-8
+Sterownik bazy SQLite dla Baculi.
 
-Ten pakiet zawiera skrypty do odtwarzania po awarii i tworzy dyskietkê
-ratunkowe do odtwarzania systemu od zera.
+%package -n nagios-plugin-check_bacula
+Summary:       Nagios plugin to check bacula
+Group:         Networking
+Requires:      nagios-common
 
-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 .
+%description -n nagios-plugin-check_bacula
+Nagios plugin to check bacula.
+
+%define        _noautoreq      libbaccats-%{version}.so
+# provided by various db libraries as a symlink
 
 %prep
 %setup -q -a 1
@@ -385,26 +386,45 @@ danego systemu, nale
 %patch2 -p1
 %patch3 -p1
 %patch4 -p1
-#tar -xf %{SOURCE2}
-tar -xf %{SOURCE3} && ln -s bacula-rescue-* rescue
-sed -i -e 's#wx-config#wx-gtk2-unicode-config#g' configure*
-sed -i -e 's#-lreadline -lhistory -ltermcap#-lreadline -lhistory#g' configure*
+%ifarch x32
+%patch5 -p1
+%endif
+%if %{with s3}
+cd libs3-%{libs3_version}
+%patch6 -p1
+cd ..
+%endif
+
 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
+sed -i -e 's/@basename@/--hostname--/' src/*/*.conf.in
 
 %build
-cp -f %{_datadir}/automake/config.sub autoconf
+cd autoconf
+%{__aclocal} -I bacula-macros -I gettext-macros -I libtool
+## $BUILD_DIR not seen by libtoolize, export it
+#BUILD_DIR=.. %%{__libtoolize}
+cd ..
+%{__autoconf} --prepend-include=$(pwd)/autoconf autoconf/configure.in > configure
+
+%if %{with s3}
+cd libs3-%{libs3_version}
+CFLAGS="%{rpmcflags} -Wno-stringop-overflow" make VERBOSE=1 build/lib/libs3.a
+ln -s ../inc build/include
+cd ..
+%endif
+
 CPPFLAGS="-I/usr/include/ncurses -I%{_includedir}/readline"
+
+QMAKE=%{_bindir}/qmake-qt5 \
 %configure \
+       DISTNAME=pld-linux \
        --with-scriptdir=%{_libexecdir}/%{name} \
-       --%{!?with_gnome:dis}%{?with_gnome:en}able-gnome \
+       %{?with_qt:--enable-bat} \
        --disable-conio \
        --enable-smartalloc \
-       %{?with_console_wx:--enable-wx-console} \
-       --enable-tray-monitor \
-       %{?with_python:--with-python} \
        --with-readline \
        --with-tcp-wrappers \
        --with-working-dir=%{_var}/lib/%{name} \
@@ -413,82 +433,140 @@ CPPFLAGS="-I/usr/include/ncurses -I%{_includedir}/readline"
        --with-smtp-host=localhost \
        --with-pid-dir=/var/run \
        --with-subsys-dir=/var/lock/subsys \
-       --with-sqlite%{?with_sqlite3:3} \
+       --with-systemd=%{systemdunitdir} \
+       --enable-batch-insert \
+       %{?with_pgsql:--with-postgresql} \
+       %{?with_mysql:--with-mysql} \
+       %{?with_sqlite3:--with-sqlite3} \
+       %{?with_sqlite3_sync_off:--enable-extra-sqlite3-init="pragma synchronous=0;"} \
+       %{!?with_s3:--without-s3} \
+       %{?with_s3:--with-s3=$PWD/libs3-%{libs3_version}/build} \
        --with-dir-password="#FAKE-dir-password#" \
        --with-fd-password="#FAKE-fd-password#" \
        --with-sd-password="#FAKE-sd-password#" \
        --with-mon-dir-password="#FAKE-mon-dir-password#" \
        --with-mon-fd-password="#FAKE-mon-fd-password#" \
        --with-mon-sd-password="#FAKE-mon-sd-password#" \
-       --enable-static-fd \
        --with-openssl
-%{__make}
 
-%if %{with rescue}
-cd rescue
-%configure \
-       --with-bacula=../
-cd linux/cdrom
-fakeroot %{__make}
+%if %{with qt}
+cd src/qt-console
+qmake-qt5 bat.pro
+cd ../..
+%endif
+
+%{__make} \
+       %{?with_s3:S3_LIBS="$PWD/libs3-%{libs3_version}/build/lib -ls3 $(pkg-config --libs libcurl libxml2)"} \
+       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
 
 %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}}
+install -d $RPM_BUILD_ROOT/etc/{rc.d/init.d,logrotate.d,pam.d,sysconfig} \
+               $RPM_BUILD_ROOT{%{_pixmapsdir},%{_desktopdir}} \
+               $RPM_BUILD_ROOT{%{_mandir},%{_bindir},/var/log{,/archive}/bacula} \
+               $RPM_BUILD_ROOT%{systemdunitdir}
 
 %{__make} install \
        DESTDIR=$RPM_BUILD_ROOT
 
-# static daemon
-strip -R.comment -R.note src/filed/static-bacula-fd
-install src/filed/static-bacula-fd $RPM_BUILD_ROOT%{_sysconfdir}/rescue/bacula-fd
-
-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
-
-%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
-install src/tray-monitor/generic.xpm $RPM_BUILD_ROOT%{_pixmapsdir}/bacula-tray-monitor.xpm
-install scripts/bacula.desktop.gnome2 $RPM_BUILD_ROOT%{_desktopdir}/bacula.desktop
-sed -e 's/gnome-console/wx-console/g;s/Console/Wx Console/g' \
-       scripts/bacula.desktop.gnome2 > $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
+%{__make} -C src/stored install-aligned \
+       DESTDIR=$RPM_BUILD_ROOT
+
+%if %{with s3}
+%{__make} -C src/stored install-cloud \
+       DESTDIR=$RPM_BUILD_ROOT
 %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
+# 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%{_libexecdir}/%{name}/make_catalog_backup \
+               > $RPM_BUILD_ROOT%{_libexecdir}/%{name}/make_${database}_catalog_backup
+               chmod 755 $RPM_BUILD_ROOT%{_libexecdir}/%{name}/make_${database}_catalog_backup
+done
+:> $RPM_BUILD_ROOT%{_libexecdir}/%{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
+cp -a %{SOURCE17} $RPM_BUILD_ROOT%{systemdunitdir}/bacula-dir.service
+cp -a %{SOURCE18} $RPM_BUILD_ROOT%{systemdunitdir}/bacula-fd.service
+cp -a %{SOURCE19} $RPM_BUILD_ROOT%{systemdunitdir}/bacula-sd.service
+
+%if %{with qt}
+# 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/bacula.png $RPM_BUILD_ROOT%{_pixmapsdir}/bacula.png
+cp -a scripts/bat.desktop $RPM_BUILD_ROOT%{_desktopdir}
 %endif
 
-# install the updatedb scripts
-install updatedb/update_sqlite* $RPM_BUILD_ROOT%{_libexecdir}/%{name}
+touch $RPM_BUILD_ROOT/var/log/bacula/log
+
+# 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}
 
 # 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%{_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}
-rm -f $RPM_BUILD_ROOT%{_sbindir}/static-bacula-fd
-%if !%{with console_wx}
-rm -f $RPM_BUILD_ROOT%{_desktopdir}/bacula-wx.desktop
+
+rm $RPM_BUILD_ROOT%{_docdir}/bacula/ChangeLog
+rm $RPM_BUILD_ROOT%{_docdir}/bacula/INSTALL
+rm $RPM_BUILD_ROOT%{_docdir}/bacula/LICENSE
+rm $RPM_BUILD_ROOT%{_docdir}/bacula/README
+rm $RPM_BUILD_ROOT%{_docdir}/bacula/ReleaseNotes
+rm $RPM_BUILD_ROOT%{_docdir}/bacula/VERIFYING
+
+# startup scripts, those in /etc/rc.d/init.d are better
+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
+
+# no -devel files packaged, so this is also useless
+rm $RPM_BUILD_ROOT%{_libdir}/libbac{,cfg,find,sql,cats,sd}.{so,la}
+rm $RPM_BUILD_ROOT%{_libdir}/bacula-sd-*-driver.so
+%{?with_mysql:rm $RPM_BUILD_ROOT%{_libdir}/libbaccats-mysql.{la,so}}
+%{?with_pgsql:rm $RPM_BUILD_ROOT%{_libdir}/libbaccats-postgresql.{la,so}}
+%{?with_sqlite3:rm $RPM_BUILD_ROOT%{_libdir}/libbaccats-sqlite3.{la,so}}
+
+%if %{with nagios}
+install -d $RPM_BUILD_ROOT%{nagiosplugindir}
+%{__make} -C examples/nagios/check_bacula install \
+       sbindir=%{nagiosplugindir} \
+       DESTDIR=$RPM_BUILD_ROOT
 %endif
-touch $RPM_BUILD_ROOT%{_sysconfdir}/.pw.sed
 
 %clean
 rm -rf $RPM_BUILD_ROOT
@@ -497,123 +575,93 @@ 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
 
-%post common
-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" || :
+%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
+%update_configs
+
 %postun common
+/sbin/ldconfig
 if [ "$1" = "0" ]; then
        %userremove bacula
        %groupremove bacula
 fi
 
-%post dir
-umask 077
-[ -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
-elif [ "$DB_VER" -lt "9" ]; then
-       echo "Backing up bacula tables"
-       echo ".dump" | sqlite%{?with_sqlite3:3} %{_localstatedir}/bacula.db | bzip2 > %{_localstatedir}/bacula_backup.sql.bz2
-       echo "Upgrading bacula tables"
-       %if %{with sqlite3}
-               type=sqlite3
-               if [ "$DB_VER" -lt "9" ]; then
-                       %{_libexecdir}/%{name}/update_${type}_tables_8_to_9
-               fi
-       %else
-               type=sqlite
-               if [ "$DB_VER" -lt "9" ]; then
-                       if [ "$DB_VER" -lt "8" ]; then
-                               if [ "$DB_VER" -lt "7" ]; then
-                                       if [ "$DB_VER" -lt "6" ]; then
-                                               if [ "$DB_VER" -lt "5" ]; then
-                                                       %{_libexecdir}/%{name}/update_${type}_tables_4_to_5
-                                               fi
-                                               %{_libexecdir}/%{name}/update_${type}_tables_5_to_6
-                                       fi
-                                       %{_libexecdir}/%{name}/update_${type}_tables_6_to_7
-                               fi
-                               %{_libexecdir}/%{name}/update_${type}_tables_7_to_8
-                       fi
-                       %{_libexecdir}/%{name}/update_${type}_tables_8_to_9
-               fi
-       %endif
-       %{_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}/*
-
-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 || :
+%triggerpostun dir -- %{name}-dir < %{version}-0
+%banner bacula-dir -t3 <<EOF
+You have upgraded from an older version of Bacula director.
+
+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"
+%systemd_post bacula-dir.service
 
 %preun dir
 if [ "$1" = "0" ]; then
        %service bacula-dir stop
        /sbin/chkconfig --del bacula-dir
 fi
+%systemd_preun bacula-dir.service
 
-%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 || :
+%postun dir
+%systemd_reload
 
+%post fd
+%update_configs
 /sbin/chkconfig --add bacula-fd
 %service bacula-fd restart "Bacula File daemon"
+%systemd_post bacula-fd.service
 
 %preun fd
 if [ "$1" = "0" ]; then
        %service bacula-fd stop
        /sbin/chkconfig --del bacula-fd
 fi
+%systemd_preun bacula-fd.service
 
-%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 || :
+%postun fd
+%systemd_reload
 
+%post sd
+%update_configs
 /sbin/chkconfig --add bacula-sd
 %service bacula-sd restart "Bacula Storage daemon"
+%systemd_post bacula-sd.service
 
 %preun sd
 if [ "$1" = "0" ]; then
        %service bacula-sd stop
        /sbin/chkconfig --del bacula-sd
 fi
+%systemd_preun bacula-sd.service
+
+%postun sd
+%systemd_reload
 
 %pre console
 if [ -e %{_sysconfdir}/console.conf -a ! -e %{_sysconfdir}/bconsole.conf ]; then
@@ -621,142 +669,193 @@ if [ -e %{_sysconfdir}/console.conf -a ! -e %{_sysconfdir}/bconsole.conf ]; then
 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 || :
-
-%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 || :
-
-%post console-gnome
-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-qt
+%update_configs
 
 %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
+
+%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 rescue
-# link our current installed conf file to the rescue directory
-ln -sf %{_sysconfdir}/bacula-fd.conf %{_sysconfdir}/rescue/bacula-fd.conf
+%post db-postgresql
+%db_post postgresql
 
-# run getdiskinfo
-echo "Creating rescue files for this system..."
-cd %{_sysconfdir}/rescue
-./getdiskinfo
+%postun db-postgresql -p /sbin/ldconfig
 
-%preun rescue
-# remove the files created after the initial rpm installation
-if [ "$1" = "0" ]; then
-       rm -f %{_sysconfdir}/rescue/bacula-fd.conf
-       rm -f %{_sysconfdir}/rescue/partition.*
-       rm -f %{_sysconfdir}/rescue/format.*
-       rm -f %{_sysconfdir}/rescue/mount_drives
-       rm -f %{_sysconfdir}/rescue/start_network
-       rm -f %{_sysconfdir}/rescue/sfdisk
-       rm -rf %{_sysconfdir}/rescue/diskinfo/*
-fi
+%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
 %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-9*.so
+%attr(755,root,root) %{_libdir}/libbacsd-9*.so
+%attr(755,root,root) %{_libdir}/libbaccfg-9*.so
+%attr(755,root,root) %{_libdir}/libbacfind-9*.so
+%attr(755,root,root) %{_libdir}/libbacsql-9*.so
 %{_mandir}/man8/bacula.8*
 %{_mandir}/man1/bsmtp.1*
 %{_mandir}/man8/btraceback.8*
 %dir %{_libexecdir}/%{name}
 %{_libexecdir}/%{name}/btraceback.dbx
 %{_libexecdir}/%{name}/btraceback.gdb
+%{_libexecdir}/%{name}/bacula_config
 %attr(770,root,bacula) %dir %{_localstatedir}
+%attr(750,bacula,logs) %dir /var/log/bacula
+%attr(640,bacula,logs) %ghost /var/log/bacula/log
+%attr(750,bacula,logs) %dir /var/log/archive/bacula
 
 %files dir
 %defattr(644,root,root,755)
-%doc ChangeLog CheckList ReleaseNotes kernstodo LICENSE
-#%doc examples %{name}-docs-%{version}-1/manual/{*.pdf,bacula}
-%attr(600,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/bacula-dir.conf
-%ghost %{_sysconfdir}/.pw.sed
+%doc ChangeLog ReleaseNotes LICENSE
+#%doc examples %{name}-docs-%{version}/manual/{*.pdf,bacula}
+%attr(640,root,bacula) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/bacula-dir.conf
 %attr(640,root,root) %config(noreplace) /etc/logrotate.d/bacula-dir
 %attr(754,root,root) /etc/rc.d/init.d/bacula-dir
 %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/bacula-dir
+%{systemdunitdir}/bacula-dir.service
 %attr(755,root,root) %{_sbindir}/bacula-dir
+%attr(755,root,root) %{_sbindir}/bdirjson
 %attr(755,root,root) %{_sbindir}/bregex
 %attr(755,root,root) %{_sbindir}/bwild
-%attr(755,root,root) %{_sbindir}/dbcheck
+%attr(755,root,root) %{_sbindir}/bacula-dbcheck
 %{_mandir}/man8/bacula-dir.8*
-%{_mandir}/man8/dbcheck.8*
+%{_mandir}/man8/bacula-dbcheck.8*
+%{_mandir}/man8/bregex.8*
+%{_mandir}/man8/bwild.8*
 %{_libexecdir}/%{name}/query.sql
+%attr(755,root,root) %{_libexecdir}/%{name}/delete_catalog_backup
+
+%if %{with pgsql}
+%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}/make_postgresql_catalog_backup
+%attr(755,root,root) %{_libdir}/libbaccats-postgresql-9*.so
+
+%ghost %attr(755,root,root) %{_libdir}/libbaccats-9*.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
+%endif
+
+%if %{with mysql}
+%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-9*.so
+
+%ghost %attr(755,root,root) %{_libdir}/libbaccats-9*.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
+%endif
+
 %if %{with sqlite3}
+%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_*
-%else
-%attr(755,root,root) %{_libexecdir}/%{name}/create_sqlite_database
-%attr(755,root,root) %{_libexecdir}/%{name}/drop_sqlite_database
-%attr(755,root,root) %{_libexecdir}/%{name}/drop_sqlite_tables
-%attr(755,root,root) %{_libexecdir}/%{name}/grant_sqlite_privileges
-%attr(755,root,root) %{_libexecdir}/%{name}/make_sqlite_tables
-%attr(755,root,root) %{_libexecdir}/%{name}/update_sqlite_*
+%attr(755,root,root) %{_libexecdir}/%{name}/make_sqlite3_catalog_backup
+%attr(755,root,root) %{_libdir}/libbaccats-sqlite3-9*.so
+
+%ghost %attr(755,root,root) %{_libdir}/libbaccats-9*.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
 %endif
-%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
-%attr(755,root,root) %{_libexecdir}/%{name}/make_catalog_backup
-%attr(755,root,root) %{_libexecdir}/%{name}/delete_catalog_backup
 
 %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
+%{systemdunitdir}/bacula-fd.service
 %attr(755,root,root) %{_sbindir}/bacula-fd
+%attr(755,root,root) %{_sbindir}/bfdjson
+%attr(755,root,root) %{_libdir}/bpipe-fd.so
 %{_mandir}/man8/bacula-fd.8*
 
 %files sd
 %defattr(644,root,root,755)
 %doc LICENSE
-%dir %{_sysconfdir}
-%attr(600,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/bacula-sd.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
+%{systemdunitdir}/bacula-sd.service
 %attr(755,root,root) %{_sbindir}/bacula-sd
 %attr(755,root,root) %{_sbindir}/bcopy
 %attr(755,root,root) %{_sbindir}/bextract
 %attr(755,root,root) %{_sbindir}/bls
 %attr(755,root,root) %{_sbindir}/bscan
+%attr(755,root,root) %{_sbindir}/bsdjson
 %attr(755,root,root) %{_sbindir}/btape
-%attr(755,root,root) %{_libexecdir}/%{name}/mtx-changer
+%attr(755,root,root) %{_libexecdir}/%{name}/baculabackupreport
+%attr(755,root,root) %{_libexecdir}/%{name}/bacula-tray-monitor.desktop
 %attr(755,root,root) %{_libexecdir}/%{name}/disk-changer
-%attr(755,root,root) %{_libexecdir}/%{name}/dvd-handler
+%attr(755,root,root) %{_libexecdir}/%{name}/isworm
+%attr(755,root,root) %{_libexecdir}/%{name}/mtx-changer
+%attr(755,root,root) %{_libexecdir}/%{name}/tapealert
+%attr(755,root,root) %{_libdir}/bacula-sd-aligned-driver-9.*.so
+%if %{with s3}
+%attr(755,root,root) %{_libdir}/bacula-sd-cloud-driver-9.*.so
+%endif
+
 %{_mandir}/man8/bacula-sd.8*
 %{_mandir}/man8/bcopy.8*
 %{_mandir}/man8/bextract.8*
@@ -767,56 +866,27 @@ fi
 %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
+%attr(755,root,root) %{_sbindir}/bbconsjson
 %{_mandir}/man8/bconsole.8*
 
-%if %{with console_wx}
-%files console-wx
-%defattr(644,root,root,755)
-%doc LICENSE
-%{_pixmapsdir}/%{name}.png
-%{_desktopdir}/bacula-wx.desktop
-%attr(600,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/wx-console.conf
-%attr(755,root,root) %{_sbindir}/wx-console
-%{_mandir}/man1/bacula-wxconsole.1*
-%endif
-
-%if %{with gnome}
-%files console-gnome
+%if %{with qt}
+%files console-qt
 %defattr(644,root,root,755)
 %doc LICENSE
 %{_pixmapsdir}/%{name}.png
-%{_desktopdir}/bacula.desktop
-%attr(600,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/gnome-console.conf
-%attr(755,root,root) %{_sbindir}/gnome-console
-%{_mandir}/man1/bacula-console-gnome.1*
+%{_desktopdir}/bat.desktop
+# 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
 
-%if %{with console_wx}
-%files tray-monitor
+%if %{with nagios}
+%files -n nagios-plugin-check_bacula
 %defattr(644,root,root,755)
-%doc LICENSE
-%{_pixmapsdir}/%{name}-tray-monitor.xpm
-%{_desktopdir}/%{name}-tray-monitor.desktop
-%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/tray-monitor.conf
-%attr(755,root,root) %{_bindir}/bacula-tray-monitor
-%{_mandir}/man1/bacula-tray-monitor.1*
-%endif
-
-%if %{with rescue}
-%files rescue
-%defattr(644,root,root,755)
-%doc LICENSE
-%dir %{_sysconfdir}/rescue
-%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/rescue/backup.etc.list
-%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/rescue/bacula-fd
-%attr(755,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/rescue/format_floppy
-%attr(755,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/rescue/getdiskinfo
-%attr(755,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/rescue/make_rescue_disk
-%attr(755,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/rescue/restore_bacula
-%attr(755,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/rescue/restore_etc
-%attr(755,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/rescue/run_grub
-%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
+%attr(755,root,root) %{nagiosplugindir}/check_bacula
 %endif
This page took 0.078219 seconds and 4 git commands to generate.