3 # - update desktop files, think about su-wrappers for console (with .desktop files)
4 # - fix log file permissions
7 %if "%{pld_release}" == "ac"
8 %bcond_with qt # BAT / qt-console Qt4 GUI
10 %bcond_without qt # BAT / qt-console Qt4 GUI
12 %bcond_without mysql # use MySQL
13 %bcond_without pgsql # use PostgreSQL
14 %bcond_without sqlite3 # use SQLite3
15 %bcond_without nagios # build nagios plugin
16 %bcond_with sqlite3_sync_off # makes SQLite3 backend much faster, but less reliable
18 %if %{without sqlite3}
19 %undefine with_sqlite3_sync_off
23 Summary: Bacula - The Network Backup Solution
24 Summary(pl.UTF-8): Bacula - rozwiązanie do wykonywania kopii zapasowych po sieci
29 Group: Networking/Utilities
30 Source0: http://downloads.sourceforge.net/bacula/%{name}-%{version}.tar.gz
31 # Source0-md5: aed11c1eef1198ffc76c6fca55cea3ad
32 Source10: %{name}-dir.init
33 Source11: %{name}-fd.init
34 Source12: %{name}-sd.init
35 Source13: %{name}.logrotate
36 Source14: %{name}-dir.sysconfig
37 Source15: %{name}-fd.sysconfig
38 Source16: %{name}-sd.sysconfig
39 Source17: %{name}-dir.service
40 Source18: %{name}-fd.service
41 Source19: %{name}-sd.service
42 Patch0: %{name}-mtx-changer.patch
43 Patch1: %{name}-branding.patch
44 Patch2: %{name}-desktop.patch
45 Patch3: make_catalog_backup-setup-home.patch
46 Patch4: %{name}-no_lockmgr.patch
48 URL: http://www.bacula.org/
49 BuildRequires: acl-devel
50 BuildRequires: autoconf >= 2.61
51 BuildRequires: automake
52 BuildRequires: gettext-tools
53 BuildRequires: libcap-devel
54 BuildRequires: libtool >= 2:2.2
55 BuildRequires: libwrap-devel
56 BuildRequires: ncurses-devel
57 BuildRequires: openssl-devel
58 BuildRequires: pkgconfig
60 BuildRequires: python-modules
62 BuildRequires: QtCore-devel
63 BuildRequires: QtGui-devel
64 BuildRequires: qt4-build >= %{qtver}
65 BuildRequires: qt4-qmake >= %{qtver}
67 %{?with_mysql:BuildRequires: mysql-devel}
68 %{?with_pgsql:BuildRequires: postgresql-devel}
69 BuildRequires: readline-devel
70 BuildRequires: rpm >= 4.4.9-56
71 BuildRequires: rpm-pythonprov
72 BuildRequires: rpmbuild(macros) >= 1.644
73 BuildRequires: sed >= 4.0
74 %{?with_sqlite3:BuildRequires: sqlite3-devel}
76 BuildRequires: zlib-devel
77 Requires: systemd-units >= 38
78 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
80 %define _sysconfdir /etc/%{name}
81 %define _localstatedir /var/lib/%{name}
82 %define nagiosplugindir %{_libdir}/nagios/plugins
84 # db packages contain duplicates
85 %define _duplicate_files_terminate_build 0
87 # from 'the worst' to 'the best'
88 %define databases %{?with_sqlite3:sqlite3} %{?with_mysql:mysql} %{?with_pgsql:postgresql}
90 # dependency section is broken. ccache usage is instead to makefiles
94 Bacula - It comes by night and sucks the vital essence from your
97 Bacula is a set of computer programs that permit you (or the system
98 administrator) to manage backup, recovery, and verification of
99 computer data across a network of computers of different kinds. In
100 technical terms, it is a network client/server based backup program.
101 Bacula is relatively easy to use and efficient, while offering many
102 advanced storage management features that make it easy to find and
103 recover lost or damaged files.
105 %description -l pl.UTF-8
106 Bacula - przychodzi nocą i wysysa żywotny ekstrakt z komputerów.
108 Bacula to zbiór programów umożliwiających administratorowi na
109 zarządzanie kopiami zapasowymi, odzyskiwaniem i weryfikacją danych w
110 sieci komputerów różnego rodzaju. W terminologii technicznej jest to
111 program do kopii zapasowych pracujący w architekturze klient-serwer.
112 Bacula jest stosunkowo łatwa w użyciu i wydajna, oferując przy tym
113 wiele zaawansowanych możliwości przy zarządzaniu nośnikami,
114 ułatwiających znalezienie i odzyskanie utraconych lub uszkodzonych
118 Summary: Common files for bacula package
119 Summary(pl.UTF-8): Pliki wspólne dla pakietu bacula
120 Group: Networking/Utilities
121 Requires(post): openssl-tools
122 Requires(post): sed >= 4.0
123 Requires(post,preun): /sbin/chkconfig
124 Requires(postun): /usr/sbin/groupdel
125 Requires(postun): /usr/sbin/userdel
126 Requires(pre): /usr/sbin/groupadd
127 Requires(pre): /usr/sbin/useradd
128 Conflicts: bacula-console < 0:1.34.6
129 Conflicts: bacula-dir < 0:1.34.6
130 Conflicts: bacula-fd < 0:1.34.6
131 Conflicts: bacula-sd < 0:1.34.6
132 Conflicts: logrotate < 3.8.0
135 Bacula - It comes by night and sucks the vital essence from your
138 Bacula is a set of computer programs that permit you (or the system
139 administrator) to manage backup, recovery, and verification of
140 computer data across a network of computers of different kinds. In
141 technical terms, it is a network client/server based backup program.
142 Bacula is relatively easy to use and efficient, while offering many
143 advanced storage management features that make it easy to find and
144 recover lost or damaged files.
146 %description common -l pl.UTF-8
147 Bacula - przychodzi nocą i wysysa żywotny ekstrakt z komputerów.
149 Bacula to zbiór programów umożliwiających administratorowi na
150 zarządzanie kopiami zapasowymi, odzyskiwaniem i weryfikacją danych w
151 sieci komputerów różnego rodzaju. W terminologii technicznej jest to
152 program do kopii zapasowych pracujący w architekturze klient-serwer.
153 Bacula jest stosunkowo łatwa w użyciu i wydajna, oferując przy tym
154 wiele zaawansowanych możliwości przy zarządzaniu nośnikami,
155 ułatwiających znalezienie i odzyskanie utraconych lub uszkodzonych
159 Summary: Bacula Director and Catalog services
160 Summary(pl.UTF-8): Usługi Bacula Director i Catalog
161 Group: Networking/Utilities
162 Requires(post): sed >= 4.0
163 Requires: %{name}-common = %{version}-%{release}
164 Requires: bacula(db) = %{version}-%{release}
165 Requires: systemd-units >= 38
166 Obsoletes: bacula-updatedb
169 Bacula - It comes by night and sucks the vital essence from your
172 Bacula Director is the program that supervises all the backup,
173 restore, verify and archive operations. The system administrator uses
174 the Bacula Director to schedule backups and to recover files. Catalog
175 services are comprised of the software programs responsible for
176 maintaining the file indexes and volume databases for all files backed
177 up. The Catalog services permit the System Administrator or user to
178 quickly locate and restore any desired file, since it maintains a
179 record of all Volumes used, all Jobs run, and all Files saved.
181 %description dir -l pl.UTF-8
182 Bacula - przychodzi nocą i wysysa żywotny ekstrakt z komputerów.
184 Bacula Director to program nadzorujący wszystkie operacje wykonywania
185 kopii zapasowych, odzyskiwania, weryfikacji i archiwizowania.
186 Administrator używa Bacula Directora do szeregowania kopii zapasowych
187 oraz odzyskiwania plików. Usługi katalogowe (Catalog services) są
188 używane przez programy odpowiedzialne za zarządzanie indeksami plików
189 i bazą danych wolumenów dla wszystkich kopiowanych plików. Usługi
190 katalogowe umożliwiają administratorowi lub użytkownikowi szybko
191 zlokalizować i odtworzyć dowolny plik, ponieważ utrzymują rekord ze
192 wszystkimi używanymi wolumenami, uruchomionymi zadaniami i zapisanymi
196 Summary: Bacula Console
197 Summary(pl.UTF-8): Konsola Baculi
198 Group: Networking/Utilities
199 Requires(post): sed >= 4.0
200 Requires: %{name}-common = %{version}-%{release}
203 Bacula - It comes by night and sucks the vital essence from your
206 Bacula Console is the program that allows the administrator or user to
207 communicate with the Bacula Director. This is the text only console
210 %description console -l pl.UTF-8
211 Bacula - przychodzi nocą i wysysa żywotny ekstrakt z komputerów.
213 Bacula Console to program umożliwiający administratorowi lub
214 użytkownikowi komunikowanie się z programem Bacula Director. To jest
215 interfejs czysto tekstowy.
218 Summary: bat – The Bacula Administration Tool
219 Summary(pl.UTF-8): bat – narzędzie administratora Baculi
220 Group: Networking/Utilities
221 Requires(post): sed >= 4.0
222 Requires: %{name}-common = %{version}-%{release}
223 Requires: QtCore >= %{qtver}
224 Obsoletes: bacula-console-qt4 < 5.2.13-1
226 %description console-qt
227 Bacula - It comes by night and sucks the vital essence from your
230 bat is short for Bacula Administration Tool. It is a GUI form of
231 bconsole, but with many additional features.
233 %description console-qt -l pl.UTF-8
234 Bacula - przychodzi nocą i wysysa żywotny ekstrakt z komputerów.
236 bat, czyli Bacula Administration Tool, jest graficznym odpowiednikiem
237 bconsole, z wieloma dodatkowymi funkcjami.
239 %package tray-monitor
240 Summary: Bacula Tray Monitor
241 Group: Networking/Utilities
242 Requires(post): sed >= 4.0
243 Requires: %{name}-common = %{version}-%{release}
245 %description tray-monitor
246 Bacula - It comes by night and sucks the vital essence from your
249 The Monitor program is typically an icon in the system tray. However,
250 once the icon is expanded into a full window, the administrator or
251 user can obtain status information about the Director or the backup
252 status on the local workstation or any other Bacula daemon that is
256 Summary: Bacula File services (Client)
257 Summary(pl.UTF-8): Usługi Bacula File (klient)
258 Group: Networking/Utilities
259 Requires(post): sed >= 4.0
260 Requires: %{name}-common = %{version}-%{release}
261 Requires: systemd-units >= 38
264 Bacula - It comes by night and sucks the vital essence from your
267 Bacula File services (or Client program) is the software program that
268 is installed on the machine to be backed up. It is specific to the
269 operating system on which it runs and is responsible for providing the
270 file attributes and data when requested by the Director. The File
271 services are also responsible for the file system dependent part of
272 restoring the file attributes and data during a recovery operation.
273 This program runs as a daemon on the machine to be backed up, and in
274 some of the documentation, the File daemon is referred to as the
275 Client (for example in Bacula configuration file).
277 %description fd -l pl.UTF-8
278 Bacula - przychodzi nocą i wysysa żywotny ekstrakt z komputerów.
280 Usługi Bacula File (inaczej program kliencki) to oprogramowanie, które
281 instaluje się na maszynach, z których mają być wykonywane kopie
282 zapasowe. Są one specyficzne dla systemu operacyjnego, pod którym
283 działa dana maszyna i odpowiadają za dostarczanie atrybutów i danych
284 plików na żądanie Directora. Usługi plikowe są także odpowiedzialne za
285 zależną od systemu plików część odzyskiwania atrybutów i danych plików
286 podczas operacji odzyskiwania danych. Program działa jako demon na
287 maszynie, która ma być backupowana i w części dokumentacji demon ten
288 (File) jest nazywany klientem (na przykład w pliku konfiguracyjnym
292 Summary: Bacula Storage services
293 Summary(pl.UTF-8): Usługi Bacula Storage
294 Group: Networking/Utilities
295 Requires(post): sed >= 4.0
296 Requires: %{name}-common = %{version}-%{release}
297 Requires: systemd-units >= 38
299 Conflicts: dvd+rw-tools <= 5.21.4.10.8-1
302 Bacula - It comes by night and sucks the vital essence from your
305 Bacula Storage services consist of the software programs that perform
306 the storage and recovery of the file attributes and data to the
307 physical backup media or volumes. In other words, the Storage daemon
308 is responsible for reading and writing your tapes (or other storage
309 media, e.g. files). The Storage services runs as a daemon on the
310 machine that has the backup device (usually a tape drive).
312 %description sd -l pl.UTF-8
313 Bacula - przychodzi nocą i wysysa żywotny ekstrakt z komputerów.
315 Usługi Bacula Storage składają się z programów obsługujących
316 przechowywanie danych oraz odzyskiwanie atrybutów i danych na
317 fizycznych nośnikach lub wolumenach. Innymi słowy, demon Storage jest
318 odpowiedzialny za odczyt i zapis taśm (lub innych nośników do
319 przechowywania danych, np. plików). Usługi Storage działają jako demon
320 na maszynie, która zawiera urządzenie backupowe (zwykle napęd
323 %package db-postgresql
324 Summary: PostgreSQL database driver for Bacula
325 Summary(pl.UTF-8): Sterownik bazy PostgreSQL dla Baculi
326 Group: Networking/Utilities
327 Requires(post): /sbin/ldconfig
328 Requires: %{name}-common = %{version}-%{release}
329 Provides: bacula(db) = %{version}-%{release}
330 Obsoletes: bacula(db)
332 %description db-postgresql
333 PostgreSQL database driver for Bacula.
335 %description db-postgresql -l pl.UTF-8
336 Sterownik bazy PostgreSQL dla Baculi.
339 Summary: MySQL database driver for Bacula
340 Summary(pl.UTF-8): Sterownik bazy MySQL dla Baculi
341 Group: Networking/Utilities
342 Requires(post): /sbin/ldconfig
343 Requires: %{name}-common = %{version}-%{release}
344 Provides: bacula(db) = %{version}-%{release}
345 Obsoletes: bacula(db)
347 %description db-mysql
348 MySQL database driver for Bacula.
350 %description db-mysql -l pl.UTF-8
351 Sterownik bazy MySQL dla Baculi.
354 Summary: SQLite database driver for Bacula
355 Summary(pl.UTF-8): Sterownik bazy SQLite dla Baculi
356 Group: Networking/Utilities
357 Requires(post): /sbin/ldconfig
358 Requires: %{name}-common = %{version}-%{release}
359 Provides: bacula(db) = %{version}-%{release}
360 Obsoletes: bacula(db)
362 %description db-sqlite3
363 SQLite database driver for Bacula.
365 %description db-sqlite3 -l pl.UTF-8
366 Sterownik bazy SQLite dla Baculi.
368 %package -n nagios-plugin-check_bacula
369 Summary: Nagios plugin to check bacula
371 Requires: nagios-common
373 %description -n nagios-plugin-check_bacula
374 Nagios plugin to check bacula.
376 %define _noautoreq libbaccats-%{version}.so
377 # provided by various db libraries as a symlink
390 sed -i -e 's#bindir=.*#bindir=%{_bindir}#g' \
391 src/cats/create_* src/cats/delete_* src/cats/drop_* \
392 src/cats/grant_* src/cats/make_* src/cats/update_*
393 sed -i -e 's/@hostname@/--hostname--/' src/*/*.conf.in
394 sed -i -e 's/@basename@/--hostname--/' src/*/*.conf.in
398 %{__aclocal} -I bacula-macros -I gettext-macros -I libtool
399 ## $BUILD_DIR not seen by libtoolize, export it
400 #BUILD_DIR=.. %%{__libtoolize}
402 %{__autoconf} --prepend-include=$(pwd)/autoconf autoconf/configure.in > configure
404 CPPFLAGS="-I/usr/include/ncurses -I%{_includedir}/readline"
406 QMAKE=%{_bindir}/qmake-qt4 \
409 --with-scriptdir=%{_libexecdir}/%{name} \
410 %{?with_qt:--enable-bat} \
412 --enable-smartalloc \
414 --with-tcp-wrappers \
415 --with-working-dir=%{_var}/lib/%{name} \
416 --with-dump-email="root@localhost" \
417 --with-job-email="root@localhost" \
418 --with-smtp-host=localhost \
419 --with-pid-dir=/var/run \
420 --with-subsys-dir=/var/lock/subsys \
421 --with-systemd=%{systemdunitdir} \
422 --enable-batch-insert \
423 %{?with_pgsql:--with-postgresql} \
424 %{?with_mysql:--with-mysql} \
425 %{?with_sqlite3:--with-sqlite3} \
426 %{?with_sqlite3_sync_off:--enable-extra-sqlite3-init="pragma synchronous=0;"} \
427 --with-dir-password="#FAKE-dir-password#" \
428 --with-fd-password="#FAKE-fd-password#" \
429 --with-sd-password="#FAKE-sd-password#" \
430 --with-mon-dir-password="#FAKE-mon-dir-password#" \
431 --with-mon-fd-password="#FAKE-mon-fd-password#" \
432 --with-mon-sd-password="#FAKE-mon-sd-password#" \
441 %{__make} 2>&1 | tee log
442 # check for build errors
443 grep "Error in" log && exit 1
447 %{__make} -C examples/nagios/check_bacula
451 rm -rf $RPM_BUILD_ROOT
452 install -d $RPM_BUILD_ROOT/etc/{rc.d/init.d,logrotate.d,pam.d,sysconfig} \
453 $RPM_BUILD_ROOT{%{_pixmapsdir},%{_desktopdir}} \
454 $RPM_BUILD_ROOT{%{_mandir},%{_bindir},/var/log{,/archive}/bacula} \
455 $RPM_BUILD_ROOT%{systemdunitdir}
458 DESTDIR=$RPM_BUILD_ROOT
460 # create copies of make_catalog_backup for specific databases; zeore default one (will be ghost)
461 for database in %{databases}; do
462 sed -e "s#default_db_type=.*#default_db_type=${database}#g" \
463 $RPM_BUILD_ROOT%{_libdir}/%{name}/make_catalog_backup \
464 > $RPM_BUILD_ROOT%{_libdir}/%{name}/make_${database}_catalog_backup
465 chmod 755 $RPM_BUILD_ROOT%{_libdir}/%{name}/make_${database}_catalog_backup
467 :> $RPM_BUILD_ROOT%{_libdir}/%{name}/make_catalog_backup
469 # we use db dependant (at compile time) shell script only
470 rm $RPM_BUILD_ROOT%{_libexecdir}/%{name}/make_catalog_backup.pl
472 ## replace with empty file, replaced by ldconfig from each db-* package on intsall
473 rm $RPM_BUILD_ROOT%{_libdir}/libbaccats-%{version}.so
474 touch $RPM_BUILD_ROOT%{_libdir}/libbaccats-%{version}.so
476 install -p %{SOURCE10} $RPM_BUILD_ROOT/etc/rc.d/init.d/bacula-dir
477 install -p %{SOURCE11} $RPM_BUILD_ROOT/etc/rc.d/init.d/bacula-fd
478 install -p %{SOURCE12} $RPM_BUILD_ROOT/etc/rc.d/init.d/bacula-sd
479 cp -a %{SOURCE13} $RPM_BUILD_ROOT/etc/logrotate.d/%{name}-dir
480 cp -a %{SOURCE14} $RPM_BUILD_ROOT/etc/sysconfig/bacula-dir
481 cp -a %{SOURCE15} $RPM_BUILD_ROOT/etc/sysconfig/bacula-fd
482 cp -a %{SOURCE16} $RPM_BUILD_ROOT/etc/sysconfig/bacula-sd
483 cp -a %{SOURCE17} $RPM_BUILD_ROOT%{systemdunitdir}/bacula-dir.service
484 cp -a %{SOURCE18} $RPM_BUILD_ROOT%{systemdunitdir}/bacula-fd.service
485 cp -a %{SOURCE19} $RPM_BUILD_ROOT%{systemdunitdir}/bacula-sd.service
488 # qmake somewhy does not always create install_bins target. install our own the bin
489 rm -f $RPM_BUILD_ROOT%{_sbindir}/bat
490 libtool --silent --mode=install install src/qt-console/bat $RPM_BUILD_ROOT%{_bindir}
491 cp -a scripts/bacula.png $RPM_BUILD_ROOT%{_pixmapsdir}/bacula.png
492 cp -a scripts/bat.desktop $RPM_BUILD_ROOT%{_desktopdir}
495 touch $RPM_BUILD_ROOT/var/log/bacula/log
497 # install the updatedb scripts for older versions that last full release
498 # 2.0 -> 3.0 : 10_to_11
499 # 5.0 -> 5.2 : 12_to_14
500 install -p updatedb/update_*_tables_10_to_11 $RPM_BUILD_ROOT%{_libexecdir}/%{name}
501 install -p updatedb/update_*_tables_11_to_12 $RPM_BUILD_ROOT%{_libexecdir}/%{name}
503 # place for site passwords
504 touch $RPM_BUILD_ROOT%{_sysconfdir}/{dir-password,fd-password,sd-password}
505 touch $RPM_BUILD_ROOT%{_sysconfdir}/{mon-dir-password,mon-fd-password,mon-sd-password}
507 mv $RPM_BUILD_ROOT%{_libexecdir}/%{name}/mtx-changer.conf $RPM_BUILD_ROOT%{_sysconfdir}/mtx-changer.conf
510 rm -f $RPM_BUILD_ROOT%{_libexecdir}/%{name}/{gconsole,startmysql,stopmysql,bacula,bconsole,fd}
512 rm $RPM_BUILD_ROOT%{_docdir}/bacula/ChangeLog
513 rm $RPM_BUILD_ROOT%{_docdir}/bacula/INSTALL
514 rm $RPM_BUILD_ROOT%{_docdir}/bacula/LICENSE
515 rm $RPM_BUILD_ROOT%{_docdir}/bacula/README
516 rm $RPM_BUILD_ROOT%{_docdir}/bacula/ReleaseNotes
517 rm $RPM_BUILD_ROOT%{_docdir}/bacula/VERIFYING
519 # startup scripts, those in /etc/rc.d/init.d are better
520 rm $RPM_BUILD_ROOT%{_sbindir}/bacula
521 rm $RPM_BUILD_ROOT%{_libexecdir}/%{name}/bacula-ctl-*
524 rm $RPM_BUILD_ROOT%{_libexecdir}/%{name}/btraceback.mdb
526 # rename to avoid possible conflicts
527 mv $RPM_BUILD_ROOT%{_sbindir}/{,bacula-}dbcheck
528 mv $RPM_BUILD_ROOT%{_mandir}/man8/{,bacula-}dbcheck.8.gz
530 # no -devel files packaged, so this is also useless
531 rm $RPM_BUILD_ROOT%{_libdir}/libbac{,cfg,find,sql,cats}.{so,la}
532 #rm $RPM_BUILD_ROOT%{_libdir}/libbaccats*.{so,la}
533 %{?with_mysql:rm $RPM_BUILD_ROOT%{_libdir}/libbaccats-mysql.{la,so}}
534 %{?with_pgsql:rm $RPM_BUILD_ROOT%{_libdir}/libbaccats-postgresql.{la,so}}
535 %{?with_sqlite3:rm $RPM_BUILD_ROOT%{_libdir}/libbaccats-sqlite3.{la,so}}
538 install -d $RPM_BUILD_ROOT%{nagiosplugindir}
539 %{__make} -C examples/nagios/check_bacula install \
540 sbindir=%{nagiosplugindir} \
541 DESTDIR=$RPM_BUILD_ROOT
545 rm -rf $RPM_BUILD_ROOT
548 %groupadd -P %{name}-common -g 136 -r -f bacula
549 %useradd -P %{name}-common -u 136 -r -d /var/lib/bacula -s /bin/false -c "Bacula User" -g bacula bacula
551 %define update_configs \
552 echo "Updating bacula passwords and names..." | %banner -a %{name} \
554 for f in *-password; do \
555 if [ ! -s $f ]; then \
556 openssl rand -base64 33 > $f \
559 for cf in *.conf *.conf.rpmnew; do \
560 [ -f $cf ] && sed -i -e"s:#FAKE-$f#:$p:" "$cf" || : \
563 for cf in *.conf *.conf.rpmnew; do \
564 [ -f $cf ] && sed -i -e"s:--hostname--:`hostname`:" "$cf" || : \
573 if [ "$1" = "0" ]; then
578 %triggerpostun dir -- %{name}-dir < %{version}-0
579 %banner bacula-dir -t3 <<EOF
580 You have upgraded from an older version of Bacula director.
582 You will probably need to call %{_libexecdir}/%{name}/update_bacula_tables
583 script to upgrade the database.
585 Ensure you database partition has enough free space before you run the upgrade,
586 i.e check that there is enough room to rebuild 'File' table (it is the largest
593 /sbin/chkconfig --add bacula-dir
594 %service bacula-dir restart "Bacula Director daemon"
595 %systemd_post bacula-dir.service
598 if [ "$1" = "0" ]; then
599 %service bacula-dir stop
600 /sbin/chkconfig --del bacula-dir
602 %systemd_preun bacula-dir.service
609 /sbin/chkconfig --add bacula-fd
610 %service bacula-fd restart "Bacula File daemon"
611 %systemd_post bacula-fd.service
614 if [ "$1" = "0" ]; then
615 %service bacula-fd stop
616 /sbin/chkconfig --del bacula-fd
618 %systemd_preun bacula-fd.service
625 /sbin/chkconfig --add bacula-sd
626 %service bacula-sd restart "Bacula Storage daemon"
627 %systemd_post bacula-sd.service
630 if [ "$1" = "0" ]; then
631 %service bacula-sd stop
632 /sbin/chkconfig --del bacula-sd
634 %systemd_preun bacula-sd.service
640 if [ -e %{_sysconfdir}/console.conf -a ! -e %{_sysconfdir}/bconsole.conf ]; then
641 mv %{_sysconfdir}/console.conf %{_sysconfdir}/bconsole.conf
647 %triggerpostun common -- %{name}-common < 5.0.1-2
648 find %{_sysconfdir}/bat.conf* -perm /007 -print0 2>/dev/null | xargs -0 -r chmod 600 || :
658 for name in "create database" "drop tables" "drop database" "grant privileges" "make tables" "update tables"; do \
659 prefix="${name%% *}" \
660 suffix="${name#* }" \
661 ln -sf "${prefix}_%{1}_${suffix}" %{_libexecdir}/%{name}/"${prefix}_bacula_${suffix}" || : \
663 ln -sf "make_%{1}_catalog_backup" %{_libexecdir}/%{name}/make_catalog_backup || : \
664 ln -sf libbaccats-%{1}-%{version}.so %{_libdir}/libbaccats-%{version}.so || : \
665 %service bacula-dir restart "Bacula Director daemon"
670 %postun db-postgresql -p /sbin/ldconfig
675 %postun db-mysql -p /sbin/ldconfig
680 %postun db-sqlite3 -p /sbin/ldconfig
683 %defattr(644,root,root,755)
686 %attr(600,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/*-password
687 # do not remove bsmtp from files. Fix build if it is not installed.
688 %attr(755,root,root) %{_sbindir}/bsmtp
689 %attr(755,root,root) %{_sbindir}/btraceback
690 %attr(755,root,root) %{_libdir}/libbac-7*.so
691 %attr(755,root,root) %{_libdir}/libbaccfg-7*.so
692 %attr(755,root,root) %{_libdir}/libbacfind-7*.so
693 %attr(755,root,root) %{_libdir}/libbacsql-7*.so
694 %{_mandir}/man8/bacula.8*
695 %{_mandir}/man1/bsmtp.1*
696 %{_mandir}/man8/btraceback.8*
697 %dir %{_libexecdir}/%{name}
698 %{_libexecdir}/%{name}/btraceback.dbx
699 %{_libexecdir}/%{name}/btraceback.gdb
700 %{_libexecdir}/%{name}/bacula_config
701 %attr(770,root,bacula) %dir %{_localstatedir}
702 %attr(750,bacula,logs) %dir /var/log/bacula
703 %attr(640,bacula,logs) %ghost /var/log/bacula/log
704 %attr(750,bacula,logs) %dir /var/log/archive/bacula
707 %defattr(644,root,root,755)
708 %doc ChangeLog ReleaseNotes LICENSE
709 #%doc examples %{name}-docs-%{version}/manual/{*.pdf,bacula}
710 %attr(640,root,bacula) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/bacula-dir.conf
711 %attr(640,root,root) %config(noreplace) /etc/logrotate.d/bacula-dir
712 %attr(754,root,root) /etc/rc.d/init.d/bacula-dir
713 %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/bacula-dir
714 %{systemdunitdir}/bacula-dir.service
715 %attr(755,root,root) %{_sbindir}/bacula-dir
716 %attr(755,root,root) %{_sbindir}/bregex
717 %attr(755,root,root) %{_sbindir}/bwild
718 %attr(755,root,root) %{_sbindir}/bacula-dbcheck
719 %{_mandir}/man8/bacula-dir.8*
720 %{_mandir}/man8/bacula-dbcheck.8*
721 %{_mandir}/man8/bregex.8*
722 %{_mandir}/man8/bwild.8*
723 %{_libexecdir}/%{name}/query.sql
724 %attr(755,root,root) %{_libexecdir}/%{name}/delete_catalog_backup
728 %defattr(644,root,root,755)
729 %attr(755,root,root) %{_libexecdir}/%{name}/create_postgresql_database
730 %attr(755,root,root) %{_libexecdir}/%{name}/drop_postgresql_database
731 %attr(755,root,root) %{_libexecdir}/%{name}/drop_postgresql_tables
732 %attr(755,root,root) %{_libexecdir}/%{name}/grant_postgresql_privileges
733 %attr(755,root,root) %{_libexecdir}/%{name}/make_postgresql_tables
734 %attr(755,root,root) %{_libexecdir}/%{name}/update_postgresql_*
735 %attr(755,root,root) %{_libexecdir}/%{name}/make_postgresql_catalog_backup
736 %attr(755,root,root) %{_libdir}/libbaccats-postgresql-7*.so
738 %ghost %attr(755,root,root) %{_libdir}/libbaccats-7*.so
739 %ghost %{_libexecdir}/%{name}/create_bacula_database
740 %ghost %{_libexecdir}/%{name}/drop_bacula_tables
741 %ghost %{_libexecdir}/%{name}/drop_bacula_database
742 %ghost %{_libexecdir}/%{name}/grant_bacula_privileges
743 %ghost %{_libexecdir}/%{name}/make_bacula_tables
744 %ghost %{_libexecdir}/%{name}/update_bacula_tables
745 %ghost %{_libexecdir}/%{name}/make_catalog_backup
750 %defattr(644,root,root,755)
751 %attr(755,root,root) %{_libexecdir}/%{name}/create_mysql_database
752 %attr(755,root,root) %{_libexecdir}/%{name}/drop_mysql_database
753 %attr(755,root,root) %{_libexecdir}/%{name}/drop_mysql_tables
754 %attr(755,root,root) %{_libexecdir}/%{name}/grant_mysql_privileges
755 %attr(755,root,root) %{_libexecdir}/%{name}/make_mysql_tables
756 %attr(755,root,root) %{_libexecdir}/%{name}/update_mysql_*
757 %attr(755,root,root) %{_libexecdir}/%{name}/make_mysql_catalog_backup
758 %attr(755,root,root) %{_libdir}/libbaccats-mysql-7*.so
760 %ghost %attr(755,root,root) %{_libdir}/libbaccats-7*.so
761 %ghost %{_libexecdir}/%{name}/create_bacula_database
762 %ghost %{_libexecdir}/%{name}/drop_bacula_tables
763 %ghost %{_libexecdir}/%{name}/drop_bacula_database
764 %ghost %{_libexecdir}/%{name}/grant_bacula_privileges
765 %ghost %{_libexecdir}/%{name}/make_bacula_tables
766 %ghost %{_libexecdir}/%{name}/update_bacula_tables
767 %ghost %{_libexecdir}/%{name}/make_catalog_backup
772 %defattr(644,root,root,755)
773 %attr(755,root,root) %{_libexecdir}/%{name}/create_sqlite3_database
774 %attr(755,root,root) %{_libexecdir}/%{name}/drop_sqlite3_database
775 %attr(755,root,root) %{_libexecdir}/%{name}/drop_sqlite3_tables
776 %attr(755,root,root) %{_libexecdir}/%{name}/grant_sqlite3_privileges
777 %attr(755,root,root) %{_libexecdir}/%{name}/make_sqlite3_tables
778 %attr(755,root,root) %{_libexecdir}/%{name}/update_sqlite3_*
779 %attr(755,root,root) %{_libexecdir}/%{name}/make_sqlite3_catalog_backup
780 %attr(755,root,root) %{_libdir}/libbaccats-sqlite3-7*.so
782 %ghost %attr(755,root,root) %{_libdir}/libbaccats-7*.so
783 %ghost %{_libexecdir}/%{name}/create_bacula_database
784 %ghost %{_libexecdir}/%{name}/drop_bacula_tables
785 %ghost %{_libexecdir}/%{name}/drop_bacula_database
786 %ghost %{_libexecdir}/%{name}/grant_bacula_privileges
787 %ghost %{_libexecdir}/%{name}/make_bacula_tables
788 %ghost %{_libexecdir}/%{name}/update_bacula_tables
789 %ghost %{_libexecdir}/%{name}/make_catalog_backup
793 %defattr(644,root,root,755)
795 %attr(640,root,bacula) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/bacula-fd.conf
796 %attr(754,root,root) /etc/rc.d/init.d/bacula-fd
797 %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/bacula-fd
798 %{systemdunitdir}/bacula-fd.service
799 %attr(755,root,root) %{_sbindir}/bacula-fd
800 %attr(755,root,root) %{_libdir}/bpipe-fd.so
801 %{_mandir}/man8/bacula-fd.8*
804 %defattr(644,root,root,755)
806 %attr(640,root,bacula) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/bacula-sd.conf
807 %attr(640,root,bacula) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/mtx-changer.conf
808 %attr(754,root,root) /etc/rc.d/init.d/bacula-sd
809 %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/bacula-sd
810 %{systemdunitdir}/bacula-sd.service
811 %attr(755,root,root) %{_sbindir}/bacula-sd
812 %attr(755,root,root) %{_sbindir}/bcopy
813 %attr(755,root,root) %{_sbindir}/bextract
814 %attr(755,root,root) %{_sbindir}/bls
815 %attr(755,root,root) %{_sbindir}/bscan
816 %attr(755,root,root) %{_sbindir}/btape
817 %attr(755,root,root) %{_libexecdir}/%{name}/mtx-changer
818 %attr(755,root,root) %{_libexecdir}/%{name}/disk-changer
819 %attr(755,root,root) %{_libexecdir}/%{name}/dvd-handler
820 %{_mandir}/man8/bacula-sd.8*
821 %{_mandir}/man8/bcopy.8*
822 %{_mandir}/man8/bextract.8*
823 %{_mandir}/man8/bls.8*
824 %{_mandir}/man8/bscan.8*
825 %{_mandir}/man8/btape.8*
828 %defattr(644,root,root,755)
830 %attr(640,root,bacula) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/bconsole.conf
831 %attr(755,root,root) %{_sbindir}/bconsole
832 %{_mandir}/man8/bconsole.8*
836 %defattr(644,root,root,755)
838 %{_pixmapsdir}/%{name}.png
839 %{_desktopdir}/bat.desktop
840 # Do not make this file world-readable or any user will get full access to the
842 %attr(640,root,bacula) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/bat.conf
843 %attr(755,root,root) %{_bindir}/bat
844 %{_mandir}/man1/bat.1*
849 %files -n nagios-plugin-check_bacula
850 %defattr(644,root,root,755)
851 %attr(755,root,root) %{nagiosplugindir}/check_bacula