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
47 URL: http://www.bacula.org/
48 BuildRequires: acl-devel
49 BuildRequires: autoconf >= 2.61
50 BuildRequires: automake
51 BuildRequires: gettext-tools
52 BuildRequires: libcap-devel
53 BuildRequires: libtool >= 2:2.2
54 BuildRequires: libwrap-devel
55 BuildRequires: ncurses-devel
56 BuildRequires: openssl-devel
57 BuildRequires: pkgconfig
59 BuildRequires: python-modules
61 BuildRequires: QtCore-devel
62 BuildRequires: QtGui-devel
63 BuildRequires: qt4-build >= %{qtver}
64 BuildRequires: qt4-qmake >= %{qtver}
66 %{?with_mysql:BuildRequires: mysql-devel}
67 %{?with_pgsql:BuildRequires: postgresql-devel}
68 BuildRequires: readline-devel
69 BuildRequires: rpm >= 4.4.9-56
70 BuildRequires: rpm-pythonprov
71 BuildRequires: rpmbuild(macros) >= 1.644
72 BuildRequires: sed >= 4.0
73 %{?with_sqlite3:BuildRequires: sqlite3-devel}
75 BuildRequires: zlib-devel
76 Requires: systemd-units >= 38
77 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
79 %define _sysconfdir /etc/%{name}
80 %define _localstatedir /var/lib/%{name}
81 %define nagiosplugindir %{_libdir}/nagios/plugins
83 # db packages contain duplicates
84 %define _duplicate_files_terminate_build 0
86 # from 'the worst' to 'the best'
87 %define databases %{?with_sqlite3:sqlite3} %{?with_mysql:mysql} %{?with_pgsql:postgresql}
89 # dependency section is broken. ccache usage is instead to makefiles
93 Bacula - It comes by night and sucks the vital essence from your
96 Bacula is a set of computer programs that permit you (or the system
97 administrator) to manage backup, recovery, and verification of
98 computer data across a network of computers of different kinds. In
99 technical terms, it is a network client/server based backup program.
100 Bacula is relatively easy to use and efficient, while offering many
101 advanced storage management features that make it easy to find and
102 recover lost or damaged files.
104 %description -l pl.UTF-8
105 Bacula - przychodzi nocą i wysysa żywotny ekstrakt z komputerów.
107 Bacula to zbiór programów umożliwiających administratorowi na
108 zarządzanie kopiami zapasowymi, odzyskiwaniem i weryfikacją danych w
109 sieci komputerów różnego rodzaju. W terminologii technicznej jest to
110 program do kopii zapasowych pracujący w architekturze klient-serwer.
111 Bacula jest stosunkowo łatwa w użyciu i wydajna, oferując przy tym
112 wiele zaawansowanych możliwości przy zarządzaniu nośnikami,
113 ułatwiających znalezienie i odzyskanie utraconych lub uszkodzonych
117 Summary: Common files for bacula package
118 Summary(pl.UTF-8): Pliki wspólne dla pakietu bacula
119 Group: Networking/Utilities
120 Requires(post): openssl-tools
121 Requires(post): sed >= 4.0
122 Requires(post,preun): /sbin/chkconfig
123 Requires(postun): /usr/sbin/groupdel
124 Requires(postun): /usr/sbin/userdel
125 Requires(pre): /usr/sbin/groupadd
126 Requires(pre): /usr/sbin/useradd
127 Conflicts: bacula-console < 0:1.34.6
128 Conflicts: bacula-dir < 0:1.34.6
129 Conflicts: bacula-fd < 0:1.34.6
130 Conflicts: bacula-sd < 0:1.34.6
131 Conflicts: logrotate < 3.8.0
134 Bacula - It comes by night and sucks the vital essence from your
137 Bacula is a set of computer programs that permit you (or the system
138 administrator) to manage backup, recovery, and verification of
139 computer data across a network of computers of different kinds. In
140 technical terms, it is a network client/server based backup program.
141 Bacula is relatively easy to use and efficient, while offering many
142 advanced storage management features that make it easy to find and
143 recover lost or damaged files.
145 %description common -l pl.UTF-8
146 Bacula - przychodzi nocą i wysysa żywotny ekstrakt z komputerów.
148 Bacula to zbiór programów umożliwiających administratorowi na
149 zarządzanie kopiami zapasowymi, odzyskiwaniem i weryfikacją danych w
150 sieci komputerów różnego rodzaju. W terminologii technicznej jest to
151 program do kopii zapasowych pracujący w architekturze klient-serwer.
152 Bacula jest stosunkowo łatwa w użyciu i wydajna, oferując przy tym
153 wiele zaawansowanych możliwości przy zarządzaniu nośnikami,
154 ułatwiających znalezienie i odzyskanie utraconych lub uszkodzonych
158 Summary: Bacula Director and Catalog services
159 Summary(pl.UTF-8): Usługi Bacula Director i Catalog
160 Group: Networking/Utilities
161 Requires(post): sed >= 4.0
162 Requires: %{name}-common = %{version}-%{release}
163 Requires: bacula(db) = %{version}-%{release}
164 Requires: systemd-units >= 38
165 Obsoletes: bacula-updatedb
168 Bacula - It comes by night and sucks the vital essence from your
171 Bacula Director is the program that supervises all the backup,
172 restore, verify and archive operations. The system administrator uses
173 the Bacula Director to schedule backups and to recover files. Catalog
174 services are comprised of the software programs responsible for
175 maintaining the file indexes and volume databases for all files backed
176 up. The Catalog services permit the System Administrator or user to
177 quickly locate and restore any desired file, since it maintains a
178 record of all Volumes used, all Jobs run, and all Files saved.
180 %description dir -l pl.UTF-8
181 Bacula - przychodzi nocą i wysysa żywotny ekstrakt z komputerów.
183 Bacula Director to program nadzorujący wszystkie operacje wykonywania
184 kopii zapasowych, odzyskiwania, weryfikacji i archiwizowania.
185 Administrator używa Bacula Directora do szeregowania kopii zapasowych
186 oraz odzyskiwania plików. Usługi katalogowe (Catalog services) są
187 używane przez programy odpowiedzialne za zarządzanie indeksami plików
188 i bazą danych wolumenów dla wszystkich kopiowanych plików. Usługi
189 katalogowe umożliwiają administratorowi lub użytkownikowi szybko
190 zlokalizować i odtworzyć dowolny plik, ponieważ utrzymują rekord ze
191 wszystkimi używanymi wolumenami, uruchomionymi zadaniami i zapisanymi
195 Summary: Bacula Console
196 Summary(pl.UTF-8): Konsola Baculi
197 Group: Networking/Utilities
198 Requires(post): sed >= 4.0
199 Requires: %{name}-common = %{version}-%{release}
202 Bacula - It comes by night and sucks the vital essence from your
205 Bacula Console is the program that allows the administrator or user to
206 communicate with the Bacula Director. This is the text only console
209 %description console -l pl.UTF-8
210 Bacula - przychodzi nocą i wysysa żywotny ekstrakt z komputerów.
212 Bacula Console to program umożliwiający administratorowi lub
213 użytkownikowi komunikowanie się z programem Bacula Director. To jest
214 interfejs czysto tekstowy.
217 Summary: bat – The Bacula Administration Tool
218 Summary(pl.UTF-8): bat – narzędzie administratora Baculi
219 Group: Networking/Utilities
220 Requires(post): sed >= 4.0
221 Requires: %{name}-common = %{version}-%{release}
222 Requires: QtCore >= %{qtver}
223 Obsoletes: bacula-console-qt4 < 5.2.13-1
225 %description console-qt
226 Bacula - It comes by night and sucks the vital essence from your
229 bat is short for Bacula Administration Tool. It is a GUI form of
230 bconsole, but with many additional features.
232 %description console-qt -l pl.UTF-8
233 Bacula - przychodzi nocą i wysysa żywotny ekstrakt z komputerów.
235 bat, czyli Bacula Administration Tool, jest graficznym odpowiednikiem
236 bconsole, z wieloma dodatkowymi funkcjami.
238 %package tray-monitor
239 Summary: Bacula Tray Monitor
240 Group: Networking/Utilities
241 Requires(post): sed >= 4.0
242 Requires: %{name}-common = %{version}-%{release}
244 %description tray-monitor
245 Bacula - It comes by night and sucks the vital essence from your
248 The Monitor program is typically an icon in the system tray. However,
249 once the icon is expanded into a full window, the administrator or
250 user can obtain status information about the Director or the backup
251 status on the local workstation or any other Bacula daemon that is
255 Summary: Bacula File services (Client)
256 Summary(pl.UTF-8): Usługi Bacula File (klient)
257 Group: Networking/Utilities
258 Requires(post): sed >= 4.0
259 Requires: %{name}-common = %{version}-%{release}
260 Requires: systemd-units >= 38
263 Bacula - It comes by night and sucks the vital essence from your
266 Bacula File services (or Client program) is the software program that
267 is installed on the machine to be backed up. It is specific to the
268 operating system on which it runs and is responsible for providing the
269 file attributes and data when requested by the Director. The File
270 services are also responsible for the file system dependent part of
271 restoring the file attributes and data during a recovery operation.
272 This program runs as a daemon on the machine to be backed up, and in
273 some of the documentation, the File daemon is referred to as the
274 Client (for example in Bacula configuration file).
276 %description fd -l pl.UTF-8
277 Bacula - przychodzi nocą i wysysa żywotny ekstrakt z komputerów.
279 Usługi Bacula File (inaczej program kliencki) to oprogramowanie, które
280 instaluje się na maszynach, z których mają być wykonywane kopie
281 zapasowe. Są one specyficzne dla systemu operacyjnego, pod którym
282 działa dana maszyna i odpowiadają za dostarczanie atrybutów i danych
283 plików na żądanie Directora. Usługi plikowe są także odpowiedzialne za
284 zależną od systemu plików część odzyskiwania atrybutów i danych plików
285 podczas operacji odzyskiwania danych. Program działa jako demon na
286 maszynie, która ma być backupowana i w części dokumentacji demon ten
287 (File) jest nazywany klientem (na przykład w pliku konfiguracyjnym
291 Summary: Bacula Storage services
292 Summary(pl.UTF-8): Usługi Bacula Storage
293 Group: Networking/Utilities
294 Requires(post): sed >= 4.0
295 Requires: %{name}-common = %{version}-%{release}
296 Requires: systemd-units >= 38
298 Conflicts: dvd+rw-tools <= 5.21.4.10.8-1
301 Bacula - It comes by night and sucks the vital essence from your
304 Bacula Storage services consist of the software programs that perform
305 the storage and recovery of the file attributes and data to the
306 physical backup media or volumes. In other words, the Storage daemon
307 is responsible for reading and writing your tapes (or other storage
308 media, e.g. files). The Storage services runs as a daemon on the
309 machine that has the backup device (usually a tape drive).
311 %description sd -l pl.UTF-8
312 Bacula - przychodzi nocą i wysysa żywotny ekstrakt z komputerów.
314 Usługi Bacula Storage składają się z programów obsługujących
315 przechowywanie danych oraz odzyskiwanie atrybutów i danych na
316 fizycznych nośnikach lub wolumenach. Innymi słowy, demon Storage jest
317 odpowiedzialny za odczyt i zapis taśm (lub innych nośników do
318 przechowywania danych, np. plików). Usługi Storage działają jako demon
319 na maszynie, która zawiera urządzenie backupowe (zwykle napęd
322 %package db-postgresql
323 Summary: PostgreSQL database driver for Bacula
324 Summary(pl.UTF-8): Sterownik bazy PostgreSQL dla Baculi
325 Group: Networking/Utilities
326 Requires(post): /sbin/ldconfig
327 Requires: %{name}-common = %{version}-%{release}
328 Provides: bacula(db) = %{version}-%{release}
329 Obsoletes: bacula(db)
331 %description db-postgresql
332 PostgreSQL database driver for Bacula.
334 %description db-postgresql -l pl.UTF-8
335 Sterownik bazy PostgreSQL dla Baculi.
338 Summary: MySQL database driver for Bacula
339 Summary(pl.UTF-8): Sterownik bazy MySQL dla Baculi
340 Group: Networking/Utilities
341 Requires(post): /sbin/ldconfig
342 Requires: %{name}-common = %{version}-%{release}
343 Provides: bacula(db) = %{version}-%{release}
344 Obsoletes: bacula(db)
346 %description db-mysql
347 MySQL database driver for Bacula.
349 %description db-mysql -l pl.UTF-8
350 Sterownik bazy MySQL dla Baculi.
353 Summary: SQLite database driver for Bacula
354 Summary(pl.UTF-8): Sterownik bazy SQLite dla Baculi
355 Group: Networking/Utilities
356 Requires(post): /sbin/ldconfig
357 Requires: %{name}-common = %{version}-%{release}
358 Provides: bacula(db) = %{version}-%{release}
359 Obsoletes: bacula(db)
361 %description db-sqlite3
362 SQLite database driver for Bacula.
364 %description db-sqlite3 -l pl.UTF-8
365 Sterownik bazy SQLite dla Baculi.
367 %package -n nagios-plugin-check_bacula
368 Summary: Nagios plugin to check bacula
370 Requires: nagios-common
372 %description -n nagios-plugin-check_bacula
373 Nagios plugin to check bacula.
375 %define _noautoreq libbaccats-%{version}.so
376 # provided by various db libraries as a symlink
386 sed -i -e 's#bindir=.*#bindir=%{_bindir}#g' \
387 src/cats/create_* src/cats/delete_* src/cats/drop_* \
388 src/cats/grant_* src/cats/make_* src/cats/update_*
389 sed -i -e 's/@hostname@/--hostname--/' src/*/*.conf.in
390 sed -i -e 's/@basename@/--hostname--/' src/*/*.conf.in
394 %{__aclocal} -I bacula-macros -I gettext-macros -I libtool
395 ## $BUILD_DIR not seen by libtoolize, export it
396 #BUILD_DIR=.. %%{__libtoolize}
398 %{__autoconf} --prepend-include=$(pwd)/autoconf autoconf/configure.in > configure
400 CPPFLAGS="-I/usr/include/ncurses -I%{_includedir}/readline"
402 QMAKE=%{_bindir}/qmake-qt4 \
405 --with-scriptdir=%{_libexecdir}/%{name} \
406 %{?with_qt:--enable-bat} \
408 --enable-smartalloc \
410 --with-tcp-wrappers \
411 --with-working-dir=%{_var}/lib/%{name} \
412 --with-dump-email="root@localhost" \
413 --with-job-email="root@localhost" \
414 --with-smtp-host=localhost \
415 --with-pid-dir=/var/run \
416 --with-subsys-dir=/var/lock/subsys \
417 --with-systemd=%{systemdunitdir} \
418 --enable-batch-insert \
419 %{?with_pgsql:--with-postgresql} \
420 %{?with_mysql:--with-mysql} \
421 %{?with_sqlite3:--with-sqlite3} \
422 %{?with_sqlite3_sync_off:--enable-extra-sqlite3-init="pragma synchronous=0;"} \
423 --with-dir-password="#FAKE-dir-password#" \
424 --with-fd-password="#FAKE-fd-password#" \
425 --with-sd-password="#FAKE-sd-password#" \
426 --with-mon-dir-password="#FAKE-mon-dir-password#" \
427 --with-mon-fd-password="#FAKE-mon-fd-password#" \
428 --with-mon-sd-password="#FAKE-mon-sd-password#" \
437 %{__make} 2>&1 | tee log
438 # check for build errors
439 grep "Error in" log && exit 1
443 %{__make} -C examples/nagios/check_bacula
447 rm -rf $RPM_BUILD_ROOT
448 install -d $RPM_BUILD_ROOT/etc/{rc.d/init.d,logrotate.d,pam.d,sysconfig} \
449 $RPM_BUILD_ROOT{%{_pixmapsdir},%{_desktopdir}} \
450 $RPM_BUILD_ROOT{%{_mandir},%{_bindir},/var/log{,/archive}/bacula} \
451 $RPM_BUILD_ROOT%{systemdunitdir}
454 DESTDIR=$RPM_BUILD_ROOT
456 # create copies of make_catalog_backup for specific databases; zeore default one (will be ghost)
457 for database in %{databases}; do
458 sed -e "s#default_db_type=.*#default_db_type=${database}#g" \
459 $RPM_BUILD_ROOT%{_libdir}/%{name}/make_catalog_backup \
460 > $RPM_BUILD_ROOT%{_libdir}/%{name}/make_${database}_catalog_backup
461 chmod 755 $RPM_BUILD_ROOT%{_libdir}/%{name}/make_${database}_catalog_backup
463 :> $RPM_BUILD_ROOT%{_libdir}/%{name}/make_catalog_backup
465 # we use db dependant (at compile time) shell script only
466 rm $RPM_BUILD_ROOT%{_libexecdir}/%{name}/make_catalog_backup.pl
468 ## replace with empty file, replaced by ldconfig from each db-* package on intsall
469 rm $RPM_BUILD_ROOT%{_libdir}/libbaccats-%{version}.so
470 touch $RPM_BUILD_ROOT%{_libdir}/libbaccats-%{version}.so
472 install -p %{SOURCE10} $RPM_BUILD_ROOT/etc/rc.d/init.d/bacula-dir
473 install -p %{SOURCE11} $RPM_BUILD_ROOT/etc/rc.d/init.d/bacula-fd
474 install -p %{SOURCE12} $RPM_BUILD_ROOT/etc/rc.d/init.d/bacula-sd
475 cp -a %{SOURCE13} $RPM_BUILD_ROOT/etc/logrotate.d/%{name}-dir
476 cp -a %{SOURCE14} $RPM_BUILD_ROOT/etc/sysconfig/bacula-dir
477 cp -a %{SOURCE15} $RPM_BUILD_ROOT/etc/sysconfig/bacula-fd
478 cp -a %{SOURCE16} $RPM_BUILD_ROOT/etc/sysconfig/bacula-sd
479 cp -a %{SOURCE17} $RPM_BUILD_ROOT%{systemdunitdir}/bacula-dir.service
480 cp -a %{SOURCE18} $RPM_BUILD_ROOT%{systemdunitdir}/bacula-fd.service
481 cp -a %{SOURCE19} $RPM_BUILD_ROOT%{systemdunitdir}/bacula-sd.service
484 # qmake somewhy does not always create install_bins target. install our own the bin
485 rm -f $RPM_BUILD_ROOT%{_sbindir}/bat
486 libtool --silent --mode=install install src/qt-console/bat $RPM_BUILD_ROOT%{_bindir}
487 cp -a scripts/bacula.png $RPM_BUILD_ROOT%{_pixmapsdir}/bacula.png
488 cp -a scripts/bat.desktop $RPM_BUILD_ROOT%{_desktopdir}
491 touch $RPM_BUILD_ROOT/var/log/bacula/log
493 # install the updatedb scripts for older versions that last full release
494 # 2.0 -> 3.0 : 10_to_11
495 # 5.0 -> 5.2 : 12_to_14
496 install -p updatedb/update_*_tables_10_to_11 $RPM_BUILD_ROOT%{_libexecdir}/%{name}
497 install -p updatedb/update_*_tables_11_to_12 $RPM_BUILD_ROOT%{_libexecdir}/%{name}
499 # place for site passwords
500 touch $RPM_BUILD_ROOT%{_sysconfdir}/{dir-password,fd-password,sd-password}
501 touch $RPM_BUILD_ROOT%{_sysconfdir}/{mon-dir-password,mon-fd-password,mon-sd-password}
503 mv $RPM_BUILD_ROOT%{_libexecdir}/%{name}/mtx-changer.conf $RPM_BUILD_ROOT%{_sysconfdir}/mtx-changer.conf
506 rm -f $RPM_BUILD_ROOT%{_libexecdir}/%{name}/{gconsole,startmysql,stopmysql,bacula,bconsole,fd}
508 rm $RPM_BUILD_ROOT%{_docdir}/bacula/ChangeLog
509 rm $RPM_BUILD_ROOT%{_docdir}/bacula/INSTALL
510 rm $RPM_BUILD_ROOT%{_docdir}/bacula/LICENSE
511 rm $RPM_BUILD_ROOT%{_docdir}/bacula/README
512 rm $RPM_BUILD_ROOT%{_docdir}/bacula/ReleaseNotes
513 rm $RPM_BUILD_ROOT%{_docdir}/bacula/VERIFYING
515 # startup scripts, those in /etc/rc.d/init.d are better
516 rm $RPM_BUILD_ROOT%{_sbindir}/bacula
517 rm $RPM_BUILD_ROOT%{_libexecdir}/%{name}/bacula-ctl-*
520 rm $RPM_BUILD_ROOT%{_libexecdir}/%{name}/btraceback.mdb
522 # rename to avoid possible conflicts
523 mv $RPM_BUILD_ROOT%{_sbindir}/{,bacula-}dbcheck
524 mv $RPM_BUILD_ROOT%{_mandir}/man8/{,bacula-}dbcheck.8.gz
526 # no -devel files packaged, so this is also useless
527 rm $RPM_BUILD_ROOT%{_libdir}/libbac{,cfg,find,sql,cats}.{so,la}
528 #rm $RPM_BUILD_ROOT%{_libdir}/libbaccats*.{so,la}
529 %{?with_mysql:rm $RPM_BUILD_ROOT%{_libdir}/libbaccats-mysql.{la,so}}
530 %{?with_pgsql:rm $RPM_BUILD_ROOT%{_libdir}/libbaccats-postgresql.{la,so}}
531 %{?with_sqlite3:rm $RPM_BUILD_ROOT%{_libdir}/libbaccats-sqlite3.{la,so}}
534 install -d $RPM_BUILD_ROOT%{nagiosplugindir}
535 %{__make} -C examples/nagios/check_bacula install \
536 sbindir=%{nagiosplugindir} \
537 DESTDIR=$RPM_BUILD_ROOT
541 rm -rf $RPM_BUILD_ROOT
544 %groupadd -P %{name}-common -g 136 -r -f bacula
545 %useradd -P %{name}-common -u 136 -r -d /var/lib/bacula -s /bin/false -c "Bacula User" -g bacula bacula
547 %define update_configs \
548 echo "Updating bacula passwords and names..." | %banner -a %{name} \
550 for f in *-password; do \
551 if [ ! -s $f ]; then \
552 openssl rand -base64 33 > $f \
555 for cf in *.conf *.conf.rpmnew; do \
556 [ -f $cf ] && sed -i -e"s:#FAKE-$f#:$p:" "$cf" || : \
559 for cf in *.conf *.conf.rpmnew; do \
560 [ -f $cf ] && sed -i -e"s:--hostname--:`hostname`:" "$cf" || : \
569 if [ "$1" = "0" ]; then
574 %triggerpostun dir -- %{name}-dir < %{version}-0
575 %banner bacula-dir -t3 <<EOF
576 You have upgraded from an older version of Bacula director.
578 You will probably need to call %{_libexecdir}/%{name}/update_bacula_tables
579 script to upgrade the database.
581 Ensure you database partition has enough free space before you run the upgrade,
582 i.e check that there is enough room to rebuild 'File' table (it is the largest
589 /sbin/chkconfig --add bacula-dir
590 %service bacula-dir restart "Bacula Director daemon"
591 %systemd_post bacula-dir.service
594 if [ "$1" = "0" ]; then
595 %service bacula-dir stop
596 /sbin/chkconfig --del bacula-dir
598 %systemd_preun bacula-dir.service
605 /sbin/chkconfig --add bacula-fd
606 %service bacula-fd restart "Bacula File daemon"
607 %systemd_post bacula-fd.service
610 if [ "$1" = "0" ]; then
611 %service bacula-fd stop
612 /sbin/chkconfig --del bacula-fd
614 %systemd_preun bacula-fd.service
621 /sbin/chkconfig --add bacula-sd
622 %service bacula-sd restart "Bacula Storage daemon"
623 %systemd_post bacula-sd.service
626 if [ "$1" = "0" ]; then
627 %service bacula-sd stop
628 /sbin/chkconfig --del bacula-sd
630 %systemd_preun bacula-sd.service
636 if [ -e %{_sysconfdir}/console.conf -a ! -e %{_sysconfdir}/bconsole.conf ]; then
637 mv %{_sysconfdir}/console.conf %{_sysconfdir}/bconsole.conf
643 %triggerpostun common -- %{name}-common < 5.0.1-2
644 find %{_sysconfdir}/bat.conf* -perm /007 -print0 2>/dev/null | xargs -0 -r chmod 600 || :
654 for name in "create database" "drop tables" "drop database" "grant privileges" "make tables" "update tables"; do \
655 prefix="${name%% *}" \
656 suffix="${name#* }" \
657 ln -sf "${prefix}_%{1}_${suffix}" %{_libexecdir}/%{name}/"${prefix}_bacula_${suffix}" || : \
659 ln -sf "make_%{1}_catalog_backup" %{_libexecdir}/%{name}/make_catalog_backup || : \
660 ln -sf libbaccats-%{1}-%{version}.so %{_libdir}/libbaccats-%{version}.so || : \
661 %service bacula-dir restart "Bacula Director daemon"
666 %postun db-postgresql -p /sbin/ldconfig
671 %postun db-mysql -p /sbin/ldconfig
676 %postun db-sqlite3 -p /sbin/ldconfig
679 %defattr(644,root,root,755)
682 %attr(600,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/*-password
683 # do not remove bsmtp from files. Fix build if it is not installed.
684 %attr(755,root,root) %{_sbindir}/bsmtp
685 %attr(755,root,root) %{_sbindir}/btraceback
686 %attr(755,root,root) %{_libdir}/libbac-7*.so
687 %attr(755,root,root) %{_libdir}/libbaccfg-7*.so
688 %attr(755,root,root) %{_libdir}/libbacfind-7*.so
689 %attr(755,root,root) %{_libdir}/libbacsql-7*.so
690 %{_mandir}/man8/bacula.8*
691 %{_mandir}/man1/bsmtp.1*
692 %{_mandir}/man8/btraceback.8*
693 %dir %{_libexecdir}/%{name}
694 %{_libexecdir}/%{name}/btraceback.dbx
695 %{_libexecdir}/%{name}/btraceback.gdb
696 %{_libexecdir}/%{name}/bacula_config
697 %attr(770,root,bacula) %dir %{_localstatedir}
698 %attr(750,bacula,logs) %dir /var/log/bacula
699 %attr(640,bacula,logs) %ghost /var/log/bacula/log
700 %attr(750,bacula,logs) %dir /var/log/archive/bacula
703 %defattr(644,root,root,755)
704 %doc ChangeLog ReleaseNotes LICENSE
705 #%doc examples %{name}-docs-%{version}/manual/{*.pdf,bacula}
706 %attr(640,root,bacula) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/bacula-dir.conf
707 %attr(640,root,root) %config(noreplace) /etc/logrotate.d/bacula-dir
708 %attr(754,root,root) /etc/rc.d/init.d/bacula-dir
709 %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/bacula-dir
710 %{systemdunitdir}/bacula-dir.service
711 %attr(755,root,root) %{_sbindir}/bacula-dir
712 %attr(755,root,root) %{_sbindir}/bregex
713 %attr(755,root,root) %{_sbindir}/bwild
714 %attr(755,root,root) %{_sbindir}/bacula-dbcheck
715 %{_mandir}/man8/bacula-dir.8*
716 %{_mandir}/man8/bacula-dbcheck.8*
717 %{_mandir}/man8/bregex.8*
718 %{_mandir}/man8/bwild.8*
719 %{_libexecdir}/%{name}/query.sql
720 %attr(755,root,root) %{_libexecdir}/%{name}/delete_catalog_backup
724 %defattr(644,root,root,755)
725 %attr(755,root,root) %{_libexecdir}/%{name}/create_postgresql_database
726 %attr(755,root,root) %{_libexecdir}/%{name}/drop_postgresql_database
727 %attr(755,root,root) %{_libexecdir}/%{name}/drop_postgresql_tables
728 %attr(755,root,root) %{_libexecdir}/%{name}/grant_postgresql_privileges
729 %attr(755,root,root) %{_libexecdir}/%{name}/make_postgresql_tables
730 %attr(755,root,root) %{_libexecdir}/%{name}/update_postgresql_*
731 %attr(755,root,root) %{_libexecdir}/%{name}/make_postgresql_catalog_backup
732 %attr(755,root,root) %{_libdir}/libbaccats-postgresql-7*.so
734 %ghost %attr(755,root,root) %{_libdir}/libbaccats-7*.so
735 %ghost %{_libexecdir}/%{name}/create_bacula_database
736 %ghost %{_libexecdir}/%{name}/drop_bacula_tables
737 %ghost %{_libexecdir}/%{name}/drop_bacula_database
738 %ghost %{_libexecdir}/%{name}/grant_bacula_privileges
739 %ghost %{_libexecdir}/%{name}/make_bacula_tables
740 %ghost %{_libexecdir}/%{name}/update_bacula_tables
741 %ghost %{_libexecdir}/%{name}/make_catalog_backup
746 %defattr(644,root,root,755)
747 %attr(755,root,root) %{_libexecdir}/%{name}/create_mysql_database
748 %attr(755,root,root) %{_libexecdir}/%{name}/drop_mysql_database
749 %attr(755,root,root) %{_libexecdir}/%{name}/drop_mysql_tables
750 %attr(755,root,root) %{_libexecdir}/%{name}/grant_mysql_privileges
751 %attr(755,root,root) %{_libexecdir}/%{name}/make_mysql_tables
752 %attr(755,root,root) %{_libexecdir}/%{name}/update_mysql_*
753 %attr(755,root,root) %{_libexecdir}/%{name}/make_mysql_catalog_backup
754 %attr(755,root,root) %{_libdir}/libbaccats-mysql-7*.so
756 %ghost %attr(755,root,root) %{_libdir}/libbaccats-7*.so
757 %ghost %{_libexecdir}/%{name}/create_bacula_database
758 %ghost %{_libexecdir}/%{name}/drop_bacula_tables
759 %ghost %{_libexecdir}/%{name}/drop_bacula_database
760 %ghost %{_libexecdir}/%{name}/grant_bacula_privileges
761 %ghost %{_libexecdir}/%{name}/make_bacula_tables
762 %ghost %{_libexecdir}/%{name}/update_bacula_tables
763 %ghost %{_libexecdir}/%{name}/make_catalog_backup
768 %defattr(644,root,root,755)
769 %attr(755,root,root) %{_libexecdir}/%{name}/create_sqlite3_database
770 %attr(755,root,root) %{_libexecdir}/%{name}/drop_sqlite3_database
771 %attr(755,root,root) %{_libexecdir}/%{name}/drop_sqlite3_tables
772 %attr(755,root,root) %{_libexecdir}/%{name}/grant_sqlite3_privileges
773 %attr(755,root,root) %{_libexecdir}/%{name}/make_sqlite3_tables
774 %attr(755,root,root) %{_libexecdir}/%{name}/update_sqlite3_*
775 %attr(755,root,root) %{_libexecdir}/%{name}/make_sqlite3_catalog_backup
776 %attr(755,root,root) %{_libdir}/libbaccats-sqlite3-7*.so
778 %ghost %attr(755,root,root) %{_libdir}/libbaccats-7*.so
779 %ghost %{_libexecdir}/%{name}/create_bacula_database
780 %ghost %{_libexecdir}/%{name}/drop_bacula_tables
781 %ghost %{_libexecdir}/%{name}/drop_bacula_database
782 %ghost %{_libexecdir}/%{name}/grant_bacula_privileges
783 %ghost %{_libexecdir}/%{name}/make_bacula_tables
784 %ghost %{_libexecdir}/%{name}/update_bacula_tables
785 %ghost %{_libexecdir}/%{name}/make_catalog_backup
789 %defattr(644,root,root,755)
791 %attr(640,root,bacula) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/bacula-fd.conf
792 %attr(754,root,root) /etc/rc.d/init.d/bacula-fd
793 %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/bacula-fd
794 %{systemdunitdir}/bacula-fd.service
795 %attr(755,root,root) %{_sbindir}/bacula-fd
796 %attr(755,root,root) %{_libdir}/bpipe-fd.so
797 %{_mandir}/man8/bacula-fd.8*
800 %defattr(644,root,root,755)
802 %attr(640,root,bacula) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/bacula-sd.conf
803 %attr(640,root,bacula) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/mtx-changer.conf
804 %attr(754,root,root) /etc/rc.d/init.d/bacula-sd
805 %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/bacula-sd
806 %{systemdunitdir}/bacula-sd.service
807 %attr(755,root,root) %{_sbindir}/bacula-sd
808 %attr(755,root,root) %{_sbindir}/bcopy
809 %attr(755,root,root) %{_sbindir}/bextract
810 %attr(755,root,root) %{_sbindir}/bls
811 %attr(755,root,root) %{_sbindir}/bscan
812 %attr(755,root,root) %{_sbindir}/btape
813 %attr(755,root,root) %{_libexecdir}/%{name}/mtx-changer
814 %attr(755,root,root) %{_libexecdir}/%{name}/disk-changer
815 %attr(755,root,root) %{_libexecdir}/%{name}/dvd-handler
816 %{_mandir}/man8/bacula-sd.8*
817 %{_mandir}/man8/bcopy.8*
818 %{_mandir}/man8/bextract.8*
819 %{_mandir}/man8/bls.8*
820 %{_mandir}/man8/bscan.8*
821 %{_mandir}/man8/btape.8*
824 %defattr(644,root,root,755)
826 %attr(640,root,bacula) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/bconsole.conf
827 %attr(755,root,root) %{_sbindir}/bconsole
828 %{_mandir}/man8/bconsole.8*
832 %defattr(644,root,root,755)
834 %{_pixmapsdir}/%{name}.png
835 %{_desktopdir}/bat.desktop
836 # Do not make this file world-readable or any user will get full access to the
838 %attr(640,root,bacula) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/bat.conf
839 %attr(755,root,root) %{_bindir}/bat
840 %{_mandir}/man1/bat.1*
845 %files -n nagios-plugin-check_bacula
846 %defattr(644,root,root,755)
847 %attr(755,root,root) %{nagiosplugindir}/check_bacula