df1dee
%global uid 133
df1dee
%global username bacula
df1dee
df1dee
%if 0%{?rhel} && ! 0%{?epel}
df1dee
%bcond_with nagios
df1dee
%else
df1dee
%bcond_without nagios
df1dee
%endif
df1dee
df1dee
Name:               bacula
df1dee
Version:            11.0.1
df1dee
Release:            5%{?dist}
df1dee
Summary:            Cross platform network backup for Linux, Unix, Mac and Windows
df1dee
# See LICENSE for details
df1dee
License:            AGPLv3 with exceptions
df1dee
URL:                http://www.bacula.org
df1dee
df1dee
Source0:            http://downloads.sourceforge.net/%{name}/%{name}-%{version}.tar.gz
df1dee
df1dee
Source2:            quickstart_postgresql.txt
df1dee
Source3:            quickstart_mysql.txt
df1dee
Source4:            quickstart_sqlite3.txt
df1dee
Source5:            README.Redhat
df1dee
Source6:            %{name}.logrotate
df1dee
Source10:           %{name}-fd.service
df1dee
Source11:           %{name}-dir.service
df1dee
Source12:           %{name}-sd.service
df1dee
Source15:           %{name}-fd.sysconfig
df1dee
Source16:           %{name}-dir.sysconfig
df1dee
Source17:           %{name}-sd.sysconfig
df1dee
Source19:           https://salsa.debian.org/bacula-team/bacula/-/raw/master/debian/additions/bacula-tray-monitor.png#/bacula-tray-monitor.png
df1dee
df1dee
Patch1:             %{name}-openssl.patch
df1dee
Patch2:             %{name}-queryfile.patch
df1dee
Patch3:             %{name}-sqlite-priv.patch
df1dee
Patch4:             %{name}-bat-build.patch
df1dee
Patch5:             %{name}-seg-fault.patch
df1dee
Patch6:             %{name}-logwatch.patch
df1dee
Patch7:             %{name}-non-free-code.patch
df1dee
Patch8:             %{name}-desktop.patch
df1dee
Patch9:             %{name}-g++-options.patch
df1dee
Patch10:            %{name}-install.patch
df1dee
Patch11:            %{name}-docker-plugin.patch
df1dee
# Original patch removed by mistake, upstream is not willing to add it again:
df1dee
# http://www.bacula.org/git/cgit.cgi/bacula/commit/?h=Branch-7.0&id=51b3b98fb77ab3c0decee455cc6c4d2eb3c5303a
df1dee
# Without this, there is no library providing the correct shared object name
df1dee
# required by the daemons.
df1dee
# http://bugs.bacula.org/view.php?id=2084
df1dee
Patch12:            %{name}-autoconf.patch
df1dee
Patch13:            %{name}-build-cdp-plugin.patch
df1dee
Patch14:            %{name}-nagios.patch
df1dee
Patch15:            %{name}-use-crypto-from-openssl.patch
df1dee
df1dee
BuildRequires:      desktop-file-utils
df1dee
BuildRequires:      perl-generators
df1dee
BuildRequires:      sed
df1dee
df1dee
BuildRequires:      autoconf
df1dee
BuildRequires:      automake
df1dee
BuildRequires:      gcc
df1dee
BuildRequires:      gcc-c++
df1dee
BuildRequires:      glibc-devel
df1dee
BuildRequires:      libacl-devel
df1dee
BuildRequires:      libstdc++-devel
df1dee
BuildRequires:      libxml2-devel
df1dee
BuildRequires:      libcap-devel
df1dee
BuildRequires:      lzo-devel
df1dee
BuildRequires:      make
df1dee
BuildRequires:      ncurses-devel
df1dee
BuildRequires:      openssl-devel
df1dee
BuildRequires:      qt5-qtbase-devel
df1dee
BuildRequires:      readline-devel
df1dee
BuildRequires:      sqlite-devel
df1dee
BuildRequires:      systemd
df1dee
BuildRequires:      zlib-devel
df1dee
df1dee
%if 0%{?fedora} || 0%{?rhel} > 7
df1dee
BuildRequires:      mariadb-connector-c-devel
df1dee
# https://fedoraproject.org/wiki/Changes/perl_Package_to_Install_Core_Modules
df1dee
BuildRequires:      perl-interpreter
df1dee
%else
df1dee
BuildRequires:      mysql-devel
df1dee
BuildRequires:      perl
df1dee
BuildRequires:      tcp_wrappers-devel
df1dee
%endif
df1dee
df1dee
%if 0%{?fedora}
df1dee
BuildRequires:      libpq-devel
df1dee
%else
df1dee
BuildRequires:      postgresql-devel
df1dee
%endif
df1dee
df1dee
%description
df1dee
Bacula is a set of programs that allow you to manage the backup, recovery, and
df1dee
verification of computer data across a network of different computers. It is
df1dee
based on a client/server architecture and is efficient and relatively easy to
df1dee
use, while offering many advanced storage management features that make it easy
df1dee
to find and recover lost or damaged files.
df1dee
df1dee
%package libs
df1dee
Summary:            Bacula libraries
df1dee
df1dee
%description libs
df1dee
Bacula is a set of programs that allow you to manage the backup,
df1dee
recovery, and verification of computer data across a network of
df1dee
different computers. It is based on a client/server architecture.
df1dee
df1dee
This package contains basic Bacula libraries, which are used by all
df1dee
Bacula programs.
df1dee
df1dee
%package libs-sql
df1dee
Summary:            Bacula SQL libraries
df1dee
Obsoletes:          bacula-libs-mysql <= 5.0.3
df1dee
Obsoletes:          bacula-libs-sqlite <= 5.0.3
df1dee
Obsoletes:          bacula-libs-postgresql <= 5.0.3
df1dee
Provides:           bacula-libs-mysql = %{version}-%{release}
df1dee
Provides:           bacula-libs-sqlite = %{version}-%{release}
df1dee
Provides:           bacula-libs-postgresql = %{version}-%{release}
df1dee
df1dee
%description libs-sql
df1dee
Bacula is a set of programs that allow you to manage the backup, recovery, and
df1dee
verification of computer data across a network of different computers. It is
df1dee
based on a client/server architecture.
df1dee
df1dee
This package contains the SQL Bacula libraries, which are used by Director and
df1dee
Storage daemons. You have to select your preferred catalog library through the
df1dee
alternatives system.
df1dee
df1dee
%package common
df1dee
Summary:            Common Bacula files
df1dee
Provides:           group(%username) = %uid
df1dee
Provides:           user(%username) = %uid
df1dee
Requires:           bacula-libs%{?_isa} = %{version}-%{release}
df1dee
Requires(pre):      shadow-utils
df1dee
Requires(postun):   shadow-utils
df1dee
df1dee
%description common
df1dee
Bacula is a set of programs that allow you to manage the backup, recovery, and
df1dee
verification of computer data across a network of different computers. It is
df1dee
based on a client/server architecture.
df1dee
df1dee
This package contains files common to all Bacula daemons.
df1dee
df1dee
%package director
df1dee
Summary:            Bacula Director files
df1dee
Requires:           bacula-common%{?_isa} = %{version}-%{release}
df1dee
Requires:           bacula-libs%{?_isa} = %{version}-%{release}
df1dee
Requires:           bacula-libs-sql%{?_isa} = %{version}-%{release}
df1dee
# Director backends merged into core.
df1dee
Provides:           bacula-director-common = %{version}-%{release}
df1dee
Obsoletes:          bacula-director-common < 5.2.3-5
df1dee
Provides:           bacula-director-mysql = %{version}-%{release}
df1dee
Obsoletes:          bacula-director-mysql < 5.2.3-5
df1dee
Provides:           bacula-director-sqlite = %{version}-%{release}
df1dee
Obsoletes:          bacula-director-sqlite < 5.2.3-5
df1dee
Provides:           bacula-director-postgresql = %{version}-%{release}
df1dee
Obsoletes:          bacula-director-postgresql < 5.2.3-5
df1dee
df1dee
Requires(post):     systemd
df1dee
Requires(preun):    systemd
df1dee
Requires(postun):   systemd
df1dee
df1dee
%description director
df1dee
Bacula is a set of programs that allow you to manage the backup, recovery, and
df1dee
verification of computer data across a network of different computers. It is
df1dee
based on a client/server architecture.
df1dee
df1dee
This package contains the director files.
df1dee
df1dee
%package logwatch
df1dee
Summary:            Bacula Director logwatch scripts
df1dee
BuildArch:          noarch
df1dee
Requires:           bacula-director = %{version}-%{release}
df1dee
Requires:           logwatch
df1dee
df1dee
%description logwatch
df1dee
Bacula is a set of programs that allow you to manage the backup, recovery, and
df1dee
verification of computer data across a network of different computers. It is
df1dee
based on a client/server architecture.
df1dee
df1dee
This package contains logwatch scripts for Bacula Director.
df1dee
df1dee
%package storage
df1dee
Summary:            Bacula storage daemon files
df1dee
Requires:           bacula-common%{?_isa} = %{version}-%{release}
df1dee
Requires:           bacula-libs%{?_isa} = %{version}-%{release}
df1dee
Requires:           bacula-libs-sql%{?_isa} = %{version}-%{release}
df1dee
Requires:           mt-st
df1dee
Requires:           mtx
df1dee
# Storage backends merged into core.
df1dee
Provides:           bacula-storage-common = %{version}-%{release}
df1dee
Obsoletes:          bacula-storage-common < 5.2.2-2
df1dee
Provides:           bacula-storage-mysql = %{version}-%{release}
df1dee
Obsoletes:          bacula-storage-mysql < 5.2.0
df1dee
Provides:           bacula-storage-sqlite = %{version}-%{release}
df1dee
Obsoletes:          bacula-storage-sqlite < 5.2.0
df1dee
Provides:           bacula-storage-postgresql = %{version}-%{release}
df1dee
Obsoletes:          bacula-storage-postgresql < 5.2.0
df1dee
df1dee
Requires(post):     systemd
df1dee
Requires(preun):    systemd
df1dee
Requires(postun):   systemd
df1dee
df1dee
%description storage
df1dee
Bacula is a set of programs that allow you to manage the backup, recovery, and
df1dee
verification of computer data across a network of different computers. It is
df1dee
based on a client/server architecture.
df1dee
df1dee
This package contains the storage daemon, the daemon responsible for writing
df1dee
the data received from the clients onto tape drives or other mass storage
df1dee
devices.
df1dee
df1dee
%package client
df1dee
Summary:            Bacula backup client
df1dee
Requires:           bacula-common%{?_isa} = %{version}-%{release}
df1dee
Requires:           bacula-libs%{?_isa} = %{version}-%{release}
df1dee
df1dee
Requires(post):     systemd
df1dee
Requires(preun):    systemd
df1dee
Requires(postun):   systemd
df1dee
df1dee
%description client
df1dee
Bacula is a set of programs that allow you to manage the backup, recovery, and
df1dee
verification of computer data across a network of different computers. It is
df1dee
based on a client/server architecture.
df1dee
df1dee
This package contains the bacula client, the daemon running on the system to be
df1dee
backed up.
df1dee
df1dee
%package console
df1dee
Summary:            Bacula management console
df1dee
Obsoletes:          bacula-console-wxwidgets <= 5.0.3
df1dee
Requires:           bacula-libs%{?_isa} = %{version}-%{release}
df1dee
df1dee
%description console
df1dee
Bacula is a set of programs that allow you to manage the backup, recovery, and
df1dee
verification of computer data across a network of different computers. It is
df1dee
based on a client/server architecture.
df1dee
df1dee
This package contains the command-line management console for the bacula backup
df1dee
system.
df1dee
df1dee
%package console-bat
df1dee
Summary:            Bacula bat console
df1dee
Requires:           bacula-libs%{?_isa} = %{version}-%{release}
df1dee
Requires:           dejavu-lgc-sans-fonts
df1dee
df1dee
%description console-bat
df1dee
Bacula is a set of programs that allow you to manage the backup, recovery, and
df1dee
verification of computer data across a network of different computers. It is
df1dee
based on a client/server architecture.
df1dee
df1dee
This package contains the bat version of the bacula management console.
df1dee
df1dee
%package traymonitor
df1dee
Summary:            Bacula system tray monitor
df1dee
Requires:           bacula-libs%{?_isa} = %{version}-%{release}
df1dee
Requires:           dejavu-lgc-sans-fonts
df1dee
df1dee
%description traymonitor
df1dee
Bacula is a set of programs that allow you to manage the backup, recovery, and
df1dee
verification of computer data across a network of different computers. It is
df1dee
based on a client/server architecture.
df1dee
df1dee
This package contains the Gnome and KDE compatible tray monitor to monitor your
df1dee
bacula server.
df1dee
df1dee
%package devel
df1dee
Summary:            Bacula development files
df1dee
Requires:           bacula-libs%{?_isa} = %{version}-%{release}
df1dee
Requires:           bacula-libs-sql%{?_isa} = %{version}-%{release}
df1dee
df1dee
%description devel
df1dee
Bacula is a set of programs that allow you to manage the backup, recovery, and
df1dee
verification of computer data across a network of different computers. It is
df1dee
based on a client/server architecture.
df1dee
df1dee
This development package contains static libraries and header files.
df1dee
df1dee
%if %{with nagios}
df1dee
%package -n nagios-plugins-bacula
df1dee
Summary:            Nagios Plugin - check_bacula
df1dee
Requires:           bacula-libs%{?_isa} = %{version}-%{release}
df1dee
Requires:           nagios-common%{?_isa}
df1dee
df1dee
%description -n nagios-plugins-bacula
df1dee
Provides check_bacula support for Nagios.
df1dee
%endif
df1dee
df1dee
%prep
df1dee
%autosetup -p1
df1dee
df1dee
cp %{SOURCE2} %{SOURCE3} %{SOURCE4} %{SOURCE5} .
df1dee
df1dee
# Regenerate configure
df1dee
pushd autoconf
df1dee
sed -i -r 's/(hardcode_into_libs)=.*$/\1=no/' libtool/libtool.m4
df1dee
aclocal -I bacula-macros/ -I gettext-macros/ -I libtool/
df1dee
popd
df1dee
autoconf -I autoconf/ -o configure autoconf/configure.in
df1dee
df1dee
# Remove execution permissions from files we're packaging as docs later on
df1dee
find updatedb -type f | xargs chmod -x
df1dee
df1dee
%build
df1dee
export CFLAGS="%{optflags} -I%{_includedir}/ncurses"
df1dee
export CPPFLAGS="%{optflags} -I%{_includedir}/ncurses"
df1dee
export PATH="$PATH:%{_qt5_bindir}"
df1dee
df1dee
%configure \
df1dee
    --disable-conio \
df1dee
    --disable-rpath \
df1dee
    --disable-s3 \
df1dee
    --docdir=%{_datadir}/bacula \
df1dee
    --enable-bat \
df1dee
    --enable-batch-insert \
df1dee
    --enable-build-dird \
df1dee
    --enable-build-stored \
df1dee
    --enable-includes \
df1dee
    --enable-largefile \
df1dee
    --enable-readline \
df1dee
    --enable-smartalloc \
df1dee
    --sysconfdir=%{_sysconfdir}/bacula \
df1dee
    --with-basename=bacula \
df1dee
    --with-bsrdir=%{_localstatedir}/spool/bacula \
df1dee
    --with-dir-password=@@DIR_PASSWORD@@ \
df1dee
    --with-fd-password=@@FD_PASSWORD@@ \
df1dee
    --with-hostname=localhost \
df1dee
    --with-logdir=%{_localstatedir}/log/bacula \
df1dee
    --with-mon-dir-password=@@MON_DIR_PASSWORD@@ \
df1dee
    --with-mon-fd-password=@@MON_FD_PASSWORD@@ \
df1dee
    --with-mon-sd-password=@@MON_SD_PASSWORD@@ \
df1dee
    --with-mysql \
df1dee
    --with-openssl \
df1dee
    --with-pid-dir=%{_localstatedir}/run \
df1dee
    --with-plugindir=%{_libdir}/%{name} \
df1dee
    --with-postgresql \
df1dee
    --with-scriptdir=%{_libexecdir}/bacula \
df1dee
    --with-sd-password=@@SD_PASSWORD@@ \
df1dee
    --with-smtp-host=localhost \
df1dee
    --with-sqlite3 \
df1dee
    --with-subsys-dir=%{_localstatedir}/lock/subsys \
df1dee
%if 0%{!?fedora} || 0%{!?rhel} > 7
df1dee
    --with-tcp-wrappers \
df1dee
%endif
df1dee
    --with-working-dir=%{_localstatedir}/spool/bacula \
df1dee
    --with-x
df1dee
df1dee
# Remove RPATH
df1dee
sed -i 's|^hardcode_libdir_flag_spec=.*|hardcode_libdir_flag_spec=""|g' libtool
df1dee
sed -i 's|^runpath_var=LD_RUN_PATH|runpath_var=DIE_RPATH_DIE|g' libtool
df1dee
df1dee
pushd src/qt-console/
df1dee
    %{?qmake_qt5}%{!?qmake_qt5:qmake-qt5} bat.pro
df1dee
    pushd tray-monitor
df1dee
        %{?qmake_qt5}%{!?qmake_qt5:qmake-qt5} tray-monitor.pro
df1dee
    popd
df1dee
popd
df1dee
df1dee
%make_build
df1dee
%make_build -C src/tools/cdp-client
df1dee
%if %{with nagios}
df1dee
%make_build -C examples/nagios/check_bacula
df1dee
%endif
df1dee
df1dee
pushd src/qt-console/
df1dee
    %{?qmake_qt5}%{!?qmake_qt5:qmake-qt5} bat.pro
df1dee
    pushd tray-monitor
df1dee
        %{?qmake_qt5}%{!?qmake_qt5:qmake-qt5} tray-monitor.pro
df1dee
    popd
df1dee
popd
df1dee
df1dee
# Convert image to png for tray monitor icon
df1dee
%install
df1dee
%make_install
df1dee
%make_install -C src/tools/cdp-client
df1dee
%if %{with nagios}
df1dee
%make_install -C examples/nagios/check_bacula
df1dee
%endif
df1dee
df1dee
# This will be managed through alternatives, as it requires the name to NOT
df1dee
# change between upgrades, so the versioned library name can not be used.
df1dee
rm -f %{buildroot}%{_libdir}/libbaccats.so
df1dee
df1dee
# Bat
df1dee
install -p -m 644 -D src/qt-console/images/bat_icon.png %{buildroot}%{_datadir}/pixmaps/bat_icon.png
df1dee
install -p -m 644 -D scripts/bat.desktop %{buildroot}%{_datadir}/applications/bat.desktop
df1dee
install -p -m 755 -D src/qt-console/.libs/bat %{buildroot}%{_sbindir}/bat
df1dee
df1dee
install -p -m 644 -D manpages/bacula-tray-monitor.1 %{buildroot}%{_mandir}/man1/bacula-tray-monitor.1
df1dee
install -p -m 644 -D %{SOURCE19} %{buildroot}%{_datadir}/pixmaps/bacula-tray-monitor.png
df1dee
install -p -m 644 -D scripts/bacula-tray-monitor.desktop %{buildroot}%{_datadir}/applications/bacula-tray-monitor.desktop
df1dee
df1dee
# Logrotate
df1dee
mkdir -p %{buildroot}%{_localstatedir}/log/bacula
df1dee
install -p -m 644 -D %{SOURCE6} %{buildroot}%{_sysconfdir}/logrotate.d/bacula
df1dee
df1dee
# Logwatch
df1dee
install -p -m 755 -D scripts/logwatch/bacula %{buildroot}%{_sysconfdir}/logwatch/scripts/services/bacula
df1dee
install -p -m 755 -D scripts/logwatch/applybaculadate %{buildroot}%{_sysconfdir}/logwatch/scripts/shared/applybaculadate
df1dee
install -p -m 644 -D scripts/logwatch/logfile.bacula.conf %{buildroot}%{_sysconfdir}/logwatch/conf/logfiles/bacula.conf
df1dee
install -p -m 644 -D scripts/logwatch/services.bacula.conf %{buildroot}%{_sysconfdir}/logwatch/conf/services/bacula.conf
df1dee
df1dee
# Systemd unit files
df1dee
mkdir -p %{buildroot}%{_unitdir}
df1dee
install -p -m 644 -D %{SOURCE10} %{buildroot}%{_unitdir}/bacula-fd.service
df1dee
install -p -m 644 -D %{SOURCE11} %{buildroot}%{_unitdir}/bacula-dir.service
df1dee
install -p -m 644 -D %{SOURCE12} %{buildroot}%{_unitdir}/bacula-sd.service
df1dee
df1dee
# Sysconfig
df1dee
install -p -m 644 -D %{SOURCE15} %{buildroot}%{_sysconfdir}/sysconfig/bacula-fd
df1dee
install -p -m 644 -D %{SOURCE16} %{buildroot}%{_sysconfdir}/sysconfig/bacula-dir
df1dee
install -p -m 644 -D %{SOURCE17} %{buildroot}%{_sysconfdir}/sysconfig/bacula-sd
df1dee
df1dee
# Spool directory
df1dee
mkdir -p %{buildroot}%{_localstatedir}/spool/bacula
df1dee
df1dee
# Remove stuff we do not need
df1dee
rm -f %{buildroot}%{_libexecdir}/bacula/{bacula,bacula-ctl-*,startmysql,stopmysql,bconsole,make_catalog_backup}
df1dee
rm -f %{buildroot}%{_sbindir}/bacula
df1dee
rm -f %{buildroot}%{_mandir}/man8/bacula.8.gz
df1dee
rm -f %{buildroot}%{_libdir}/*.la
df1dee
rm -f %{buildroot}%{_datadir}/bacula/{ChangeLog,INSTALL,LICENSE*,README,ReleaseNotes,VERIFYING,technotes}
df1dee
df1dee
# Fix up some perms so rpmlint does not complain too much
df1dee
chmod 755 %{buildroot}%{_sbindir}/*
df1dee
chmod 755 %{buildroot}%{_libdir}/%{name}/*
df1dee
chmod 755 %{buildroot}%{_libexecdir}/bacula/*
df1dee
chmod 644 %{buildroot}%{_libexecdir}/bacula/btraceback.*
df1dee
df1dee
%ldconfig_scriptlets libs
df1dee
df1dee
%post libs-sql
df1dee
/usr/sbin/alternatives --install %{_libdir}/libbaccats.so libbaccats.so %{_libdir}/libbaccats-mysql.so 50
df1dee
/usr/sbin/alternatives --install %{_libdir}/libbaccats.so libbaccats.so %{_libdir}/libbaccats-sqlite3.so 40
df1dee
/usr/sbin/alternatives --install %{_libdir}/libbaccats.so libbaccats.so %{_libdir}/libbaccats-postgresql.so 60
df1dee
df1dee
# Fix for automatic selection of backends during upgrades
df1dee
if readlink /etc/alternatives/libbaccats.so | grep --silent mysql || \
df1dee
    readlink /etc/alternatives/bacula-dir | grep --silent mysql || \
df1dee
    readlink /etc/alternatives/bacula-sd | grep --silent mysql; then
df1dee
    /usr/sbin/alternatives --set libbaccats.so %{_libdir}/libbaccats-mysql.so
df1dee
elif readlink /etc/alternatives/libbaccats.so | grep --silent sqlite || \
df1dee
    readlink /etc/alternatives/bacula-dir | grep --silent sqlite || \
df1dee
    readlink /etc/alternatives/bacula-sd | grep --silent sqlite; then
df1dee
    /usr/sbin/alternatives --set libbaccats.so %{_libdir}/libbaccats-sqlite3.so
df1dee
else
df1dee
    /usr/sbin/alternatives --set libbaccats.so %{_libdir}/libbaccats-postgresql.so
df1dee
fi
df1dee
%{?ldconfig}
df1dee
df1dee
%preun libs-sql
df1dee
if [ "$1" = 0 ]; then
df1dee
    /usr/sbin/alternatives --remove libbaccats.so %{_libdir}/libbaccats-mysql.so
df1dee
    /usr/sbin/alternatives --remove libbaccats.so %{_libdir}/libbaccats-sqlite3.so
df1dee
    /usr/sbin/alternatives --remove libbaccats.so %{_libdir}/libbaccats-postgresql.so
df1dee
fi
df1dee
df1dee
%ldconfig_postun libs-sql
df1dee
df1dee
%pre common
df1dee
getent group %username >/dev/null || groupadd -g %uid -r %username &>/dev/null || :
df1dee
getent passwd %username >/dev/null || useradd -u %uid -r -s /sbin/nologin \
df1dee
    -d /var/spool/bacula -M -c 'Bacula Backup System' -g %username %username &>/dev/null || :
df1dee
exit 0
df1dee
df1dee
%post client
df1dee
%systemd_post %{name}-fd.service
df1dee
df1dee
%preun client
df1dee
%systemd_preun %{name}-fd.service
df1dee
df1dee
%postun client
df1dee
%systemd_postun_with_restart %{name}-fd.service
df1dee
df1dee
%post director
df1dee
%systemd_post %{name}-dir.service
df1dee
df1dee
%preun director
df1dee
%systemd_preun %{name}-dir.service
df1dee
df1dee
%postun director
df1dee
%systemd_postun_with_restart %{name}-dir.service
df1dee
df1dee
%post storage
df1dee
%systemd_post %{name}-sd.service
df1dee
df1dee
%preun storage
df1dee
%systemd_preun %{name}-sd.service
df1dee
df1dee
%postun storage
df1dee
%systemd_postun_with_restart %{name}-sd.service
df1dee
df1dee
%files libs
df1dee
%license LICENSE
df1dee
%doc AUTHORS ChangeLog SUPPORT ReleaseNotes LICENSE-FAQ LICENSE-FOSS
df1dee
%{_libdir}/libbac-%{version}.so
df1dee
%{_libdir}/libbaccfg-%{version}.so
df1dee
%{_libdir}/libbacfind-%{version}.so
df1dee
%{_libdir}/libbacsd-%{version}.so
df1dee
df1dee
%files libs-sql
df1dee
# On Fedora 28 this gets recreated automatically even if the library is
df1dee
# deleted in the install section.
df1dee
# On EPEL 6 this is required until RPM assembly time or an error is given due
df1dee
# to the missing library.
df1dee
# So: leave the library in place until the very end and just exclude it.
df1dee
%exclude %{_libdir}/libbaccats-%{version}.so
df1dee
%{_libdir}/libbaccats-mysql-%{version}.so
df1dee
%{_libdir}/libbaccats-mysql.so
df1dee
%{_libdir}/libbaccats-postgresql-%{version}.so
df1dee
%{_libdir}/libbaccats-postgresql.so
df1dee
%{_libdir}/libbaccats-sqlite3-%{version}.so
df1dee
%{_libdir}/libbaccats-sqlite3.so
df1dee
%{_libdir}/libbacsql-%{version}.so
df1dee
df1dee
%files common
df1dee
%doc README.Redhat quickstart_*
df1dee
%config(noreplace) %{_sysconfdir}/logrotate.d/bacula
df1dee
%dir %{_localstatedir}/log/bacula %attr(750, bacula, bacula)
df1dee
%dir %{_localstatedir}/spool/bacula %attr(750, bacula, bacula)
df1dee
%dir %{_libexecdir}/%{name}
df1dee
%dir %{_sysconfdir}/%{name} %attr(755,root,root)
df1dee
%{_libexecdir}/%{name}/btraceback.dbx
df1dee
%{_libexecdir}/%{name}/btraceback.gdb
df1dee
%{_libexecdir}/%{name}/bacula_config
df1dee
%{_libexecdir}/%{name}/btraceback.mdb
df1dee
%{_mandir}/man8/btraceback.8*
df1dee
%{_sbindir}/btraceback
df1dee
df1dee
%files director
df1dee
%doc updatedb examples/sample-query.sql
df1dee
%config(noreplace) %{_sysconfdir}/bacula/bacula-dir.conf %attr(640,root,bacula)
df1dee
%config(noreplace) %{_sysconfdir}/bacula/query.sql %attr(640,root,bacula)
df1dee
%config(noreplace) %{_sysconfdir}/sysconfig/bacula-dir
df1dee
%{_libexecdir}/%{name}/baculabackupreport
df1dee
%{_libexecdir}/%{name}/create_bacula_database
df1dee
%{_libexecdir}/%{name}/delete_catalog_backup
df1dee
%{_libexecdir}/%{name}/drop_bacula_database
df1dee
%{_libexecdir}/%{name}/drop_bacula_tables
df1dee
%{_libexecdir}/%{name}/grant_bacula_privileges
df1dee
%{_libexecdir}/%{name}/make_bacula_tables
df1dee
%{_libexecdir}/%{name}/make_catalog_backup.pl
df1dee
%{_libexecdir}/%{name}/update_bacula_tables
df1dee
%{_libexecdir}/%{name}/create_mysql_database
df1dee
%{_libexecdir}/%{name}/drop_mysql_database
df1dee
%{_libexecdir}/%{name}/drop_mysql_tables
df1dee
%{_libexecdir}/%{name}/grant_mysql_privileges
df1dee
%{_libexecdir}/%{name}/make_mysql_tables
df1dee
%{_libexecdir}/%{name}/update_mysql_tables
df1dee
%{_libexecdir}/%{name}/create_sqlite3_database
df1dee
%{_libexecdir}/%{name}/drop_sqlite3_database
df1dee
%{_libexecdir}/%{name}/drop_sqlite3_tables
df1dee
%{_libexecdir}/%{name}/grant_sqlite3_privileges
df1dee
%{_libexecdir}/%{name}/make_sqlite3_tables
df1dee
%{_libexecdir}/%{name}/update_sqlite3_tables
df1dee
%{_libexecdir}/%{name}/create_postgresql_database
df1dee
%{_libexecdir}/%{name}/drop_postgresql_database
df1dee
%{_libexecdir}/%{name}/drop_postgresql_tables
df1dee
%{_libexecdir}/%{name}/grant_postgresql_privileges
df1dee
%{_libexecdir}/%{name}/make_postgresql_tables
df1dee
%{_libexecdir}/%{name}/update_postgresql_tables
df1dee
%{_mandir}/man1/bsmtp.1*
df1dee
%{_mandir}/man8/bacula-dir.8*
df1dee
%{_mandir}/man8/bregex.8*
df1dee
%{_mandir}/man8/bwild.8*
df1dee
%{_mandir}/man8/dbcheck.8*
df1dee
%{_sbindir}/bacula-dir
df1dee
%{_sbindir}/bdirjson
df1dee
%{_sbindir}/bregex
df1dee
%{_sbindir}/bsmtp
df1dee
%{_sbindir}/bwild
df1dee
%{_sbindir}/dbcheck
df1dee
%{_unitdir}/bacula-dir.service
df1dee
df1dee
%files logwatch
df1dee
%config(noreplace) %{_sysconfdir}/logwatch/conf/logfiles/bacula.conf
df1dee
%config(noreplace) %{_sysconfdir}/logwatch/conf/services/bacula.conf
df1dee
%{_sysconfdir}/logwatch/scripts/services/bacula
df1dee
%{_sysconfdir}/logwatch/scripts/shared/applybaculadate
df1dee
df1dee
%files storage
df1dee
%config(noreplace) %{_sysconfdir}/bacula/bacula-sd.conf %attr(640,root,root)
df1dee
%config(noreplace) %{_sysconfdir}/sysconfig/bacula-sd
df1dee
%{_libexecdir}/%{name}/disk-changer
df1dee
%{_libexecdir}/%{name}/isworm
df1dee
%{_libexecdir}/%{name}/mtx-changer
df1dee
%{_libexecdir}/%{name}/mtx-changer.conf
df1dee
%{_libexecdir}/%{name}/tapealert
df1dee
%{_mandir}/man8/bacula-sd.8*
df1dee
%{_mandir}/man8/bcopy.8*
df1dee
%{_mandir}/man8/bextract.8*
df1dee
%{_mandir}/man8/bls.8*
df1dee
%{_mandir}/man8/bscan.8*
df1dee
%{_mandir}/man8/btape.8*
df1dee
%{_sbindir}/bacula-sd
df1dee
%{_sbindir}/bcopy
df1dee
%{_sbindir}/bextract
df1dee
%{_sbindir}/bls
df1dee
%{_sbindir}/bscan
df1dee
%{_sbindir}/bsdjson
df1dee
%{_sbindir}/btape
df1dee
%{_unitdir}/bacula-sd.service
df1dee
df1dee
%files client
df1dee
%config(noreplace) %{_sysconfdir}/bacula/bacula-fd.conf %attr(640,root,root)
df1dee
%config(noreplace) %{_sysconfdir}/sysconfig/bacula-fd
df1dee
%{_mandir}/man8/bacula-fd.8*
df1dee
%{_libdir}/%{name}/bpipe-fd.so
df1dee
%{_libdir}/%{name}/cdp-fd.so
df1dee
%{_libdir}/%{name}/docker-fd.so
df1dee
%{_sbindir}/bacula-fd
df1dee
%{_sbindir}/bfdjson
df1dee
%{_sbindir}/cdp-client
df1dee
%{_unitdir}/bacula-fd.service
df1dee
df1dee
%files console
df1dee
%config(noreplace) %{_sysconfdir}/bacula/bconsole.conf %attr(640,root,root)
df1dee
%{_mandir}/man8/bconsole.8*
df1dee
%{_sbindir}/bconsole
df1dee
%{_sbindir}/bbconsjson
df1dee
df1dee
%files console-bat
df1dee
%config(noreplace) %{_sysconfdir}/bacula/bat.conf %attr(640,root,root)
df1dee
%{_datadir}/applications/bat.desktop
df1dee
%{_datadir}/bacula/*.html
df1dee
%{_datadir}/bacula/*.png
df1dee
%{_datadir}/pixmaps/bat_icon.png
df1dee
%{_mandir}/man1/bat.1*
df1dee
%{_sbindir}/bat
df1dee
df1dee
%files traymonitor
df1dee
%config(noreplace) %{_sysconfdir}/bacula/bacula-tray-monitor.conf %attr(640,root,root)
df1dee
%{_datadir}/applications/bacula-tray-monitor.desktop
df1dee
%{_datadir}/pixmaps/bacula-tray-monitor.png
df1dee
%{_mandir}/man1/bacula-tray-monitor.1*
df1dee
%{_sbindir}/bacula-tray-monitor
df1dee
df1dee
%files devel
df1dee
%{_includedir}/bacula
df1dee
%{_libdir}/libbac.so
df1dee
%{_libdir}/libbaccfg.so
df1dee
%{_libdir}/libbacfind.so
df1dee
%{_libdir}/libbacsd.so
df1dee
%{_libdir}/libbacsql.so
df1dee
df1dee
%if %{with nagios}
df1dee
%files -n nagios-plugins-bacula
df1dee
%{_libdir}/nagios/plugins/check_bacula
df1dee
%endif
df1dee
df1dee
%changelog
df1dee
* Tue Feb 15 2022 Pavel Cahyna <pcahyna@redhat.com> - 11.0.1-5
df1dee
- Make nagios-plugin build conditional and disabled on RHEL to avoid
df1dee
  generating this subpackage that has missing dependencies
df1dee
- Fix flags for annobin in Qt tools (bat & tray-monitor) build
df1dee
- Add a forgotten RHEL 8 patch to use openssl crypto (random numbers, hmac,
df1dee
  hashing functions)
df1dee
  Resolves: rhbz#1935458
df1dee
df1dee
* Mon Aug 09 2021 Mohan Boddu <mboddu@redhat.com> - 11.0.1-4
df1dee
- Rebuilt for IMA sigs, glibc 2.34, aarch64 flags
df1dee
  Related: rhbz#1991688
df1dee
df1dee
* Wed Jun 16 2021 Mohan Boddu <mboddu@redhat.com> - 11.0.1-3
df1dee
- Rebuilt for RHEL 9 BETA for openssl 3.0
df1dee
  Related: rhbz#1971065
df1dee
df1dee
* Thu Apr 15 2021 Mohan Boddu <mboddu@redhat.com> - 11.0.1-2
df1dee
- Rebuilt for RHEL 9 BETA on Apr 15th 2021. Related: rhbz#1947937
df1dee
df1dee
* Thu Feb 11 2021 Simone Caronni <negativo17@gmail.com> - 11.0.1-1
df1dee
- Update to 11.0.1.
df1dee
df1dee
* Mon Feb 08 2021 Pavel Raiskup <praiskup@redhat.com> - 11.0.0-5
df1dee
- rebuild for libpq ABI fix rhbz#1908268
df1dee
df1dee
* Thu Jan 28 2021 Simone Caronni <negativo17@gmail.com> - 11.0.0-4
df1dee
- Remove leftover ImageMagick build requirement.
df1dee
df1dee
* Tue Jan 26 2021 Fedora Release Engineering <releng@fedoraproject.org> - 11.0.0-3
df1dee
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
df1dee
df1dee
* Fri Jan 15 2021 Simone Caronni <negativo17@gmail.com> - 11.0.0-2
df1dee
- Build CDP plugin components.
df1dee
df1dee
* Tue Jan 12 2021 Simone Caronni <negativo17@gmail.com> - 11.0.0-1
df1dee
- Update to 11.0.0.
df1dee
- Enable Docker plugin.
df1dee
df1dee
* Tue Jan 12 2021 Simone Caronni <negativo17@gmail.com> - 9.6.7-1
df1dee
- Update to 9.6.7.
df1dee
- Drop support for building on CentOS/RHEL 6 and upgrades from version 2.4.
df1dee
- Trim changelog.
df1dee
df1dee
* Wed Oct 07 2020 Simone Caronni <negativo17@gmail.com> - 9.6.6-1
df1dee
- Update to 9.6.6.
df1dee
df1dee
* Mon Jul 27 2020 Fedora Release Engineering <releng@fedoraproject.org> - 9.6.5-2
df1dee
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
df1dee
df1dee
* Fri Jul 24 2020 Simone Caronni <negativo17@gmail.com> - 9.6.5-1
df1dee
- Update to 9.6.5.
df1dee
df1dee
* Tue Mar 17 2020 Simone Caronni <negativo17@gmail.com> - 9.6.3-1
df1dee
- Update to 9.6.3.
df1dee
df1dee
* Thu Mar 05 2020 Simone Caronni <negativo17@gmail.com> - 9.6.2-2
df1dee
- Fix RHEL/CentOS 6 builds.
df1dee
df1dee
* Sat Feb 29 2020 Simone Caronni <negativo17@gmail.com> - 9.6.2-1
df1dee
- Update to 9.6.2.
df1dee
df1dee
* Mon Feb 10 2020 Václav Doležal <vdolezal@redhat.com> - 9.4.4-4
df1dee
- Fix FTBFS (#1799185)
df1dee
df1dee
* Tue Jan 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 9.4.4-3
df1dee
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
df1dee
df1dee
* Wed Jul 24 2019 Fedora Release Engineering <releng@fedoraproject.org> - 9.4.4-2
df1dee
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
df1dee
df1dee
* Wed May 29 2019 Simone Caronni <negativo17@gmail.com> - 9.4.4-1
df1dee
- Update to 9.4.4.
df1dee
df1dee
* Sat May 18 2019 Simone Caronni <negativo17@gmail.com> - 9.4.3-2
df1dee
- SPEC file cleanups.
df1dee
df1dee
* Wed May 15 2019 Simone Caronni <negativo17@gmail.com> - 9.4.3-1
df1dee
- Update to 9.4.3.
df1dee
df1dee
* Thu Apr 18 2019 Simone Caronni <negativo17@gmail.com> - 9.4.2-1
df1dee
- Update to 9.4.2.
df1dee
df1dee
* Sun Feb 17 2019 Igor Gnatenko <ignatenkobrain@fedoraproject.org> - 9.4.1-6
df1dee
- Rebuild for readline 8.0
df1dee
df1dee
* Thu Jan 31 2019 Fedora Release Engineering <releng@fedoraproject.org> - 9.4.1-5
df1dee
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
df1dee
df1dee
* Mon Jan 14 2019 Björn Esser <besser82@fedoraproject.org> - 9.4.1-4
df1dee
- Rebuilt for libcrypt.so.2 (#1666033)
df1dee
df1dee
* Sun Jan 13 2019 Simone Caronni <negativo17@gmail.com> - 9.4.1-3
df1dee
- Build QT programs with QT 5 on RHEL/CentOS 7. Also, reduce the number of
df1dee
  required QT packages for building.
df1dee
df1dee
* Sun Jan 13 2019 Simone Caronni <negativo17@gmail.com> - 9.4.1-2
df1dee
- Add Debian patch to enable/disable S3 support at configure time.
df1dee
- Disable S3 as it does not currently build:
df1dee
  http://bugs.bacula.org/view.php?id=2446
df1dee
- Update RPM macros.
df1dee
df1dee
* Sat Jan 12 2019 Simone Caronni <negativo17@gmail.com> - 9.4.1-1
df1dee
- Update to 9.4.1.
df1dee
df1dee
* Sat Jan 12 2019 Simone Caronni <negativo17@gmail.com> - 9.4.0-1
df1dee
- Update to 9.4.0.
df1dee
df1dee
* Sat Jan 12 2019 Simone Caronni <negativo17@gmail.com> - 9.2.1-2
df1dee
- Make the build succeed also on supported RHEL and Fedora releases.
df1dee
- Remove Fedora 27 references.