2 # - update desktop files, think about su-wrappers for console (with .desktop files)
4 # - fix log file permissions
5 # - check on upgrade (5.0 and 5.2 databases are NOT compatible)
8 %bcond_without console_wx # wx-console program
9 %bcond_without bat # bat Qt4 GUI
10 %bcond_without mysql # use MySQL
11 %bcond_without pgsql # use PostgreSQL
12 %bcond_without sqlite3 # use SQLite3
13 %bcond_without python # Python Scripting support, http://www.bacula.org/3.0.x-manuals/en/concepts/concepts/Python_Scripting.html
14 %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: 227b88f56ae085da8f48823b220d4c87
32 Source1: http://downloads.sourceforge.net/bacula/%{name}-docs-%{version}.tar.bz2
33 # Source1-md5: 478273c0229f24d6690fdbedbeb50fa4
34 Source2: http://downloads.sourceforge.net/bacula/%{name}-rescue-5.0.1.tar.gz
35 # Source2-md5: bb194aed8e204f54bf2f61d7e721f257
36 Source10: %{name}-dir.init
37 Source11: %{name}-fd.init
38 Source12: %{name}-sd.init
39 Source13: %{name}.logrotate
40 Source14: %{name}-dir.sysconfig
41 Source15: %{name}-fd.sysconfig
42 Source16: %{name}-sd.sysconfig
43 Patch0: %{name}-mtx-changer.patch
44 Patch1: %{name}-branding.patch
45 Patch2: %{name}-conf.patch
46 Patch3: %{name}-desktop.patch
47 Patch4: make_catalog_backup-setup-home.patch
48 Patch5: %{name}-mysql_thread.patch
49 URL: http://www.bacula.org/
50 BuildRequires: acl-devel
51 BuildRequires: autoconf
52 BuildRequires: automake
53 BuildRequires: gettext-devel
54 %{?with_console_wx:BuildRequires: gtk+2-devel}
55 BuildRequires: libcap-devel
56 BuildRequires: libtool >= 2:2.2
58 BuildRequires: fakeroot
60 BuildRequires: libwrap-devel
61 BuildRequires: ncurses-devel
62 BuildRequires: openssl-devel
63 BuildRequires: pkgconfig
65 BuildRequires: python-devel
66 BuildRequires: python-modules
69 BuildRequires: QtCore-devel
70 BuildRequires: QtGui-devel
71 BuildRequires: qt4-build >= %{qtver}
72 BuildRequires: qt4-qmake >= %{qtver}
74 %{?with_mysql:BuildRequires: mysql-devel}
75 %{?with_pgsql:BuildRequires: postgresql-devel}
76 BuildRequires: readline-devel
77 BuildRequires: rpm-pythonprov
78 BuildRequires: rpmbuild(macros) >= 1.268
79 BuildRequires: sed >= 4.0
80 %{?with_sqlite3:BuildRequires: sqlite3-devel}
82 %if %{with console_wx}
83 BuildRequires: wxGTK2-unicode-devel >= 2.4.0
85 BuildRequires: zlib-devel
86 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
88 %define _sysconfdir /etc/%{name}
89 %define _localstatedir /var/lib/%{name}
90 %define nagiosplugindir %{_libdir}/nagios/plugins
92 # from 'the worst' to 'the best'
93 %define databases %{?with_sqlite3:sqlite3} %{?with_mysql:mysql} %{?with_pgsql:postgresql}
95 # dependency section is broken. ccache usage is instead to makefiles
99 Bacula - It comes by night and sucks the vital essence from your
102 Bacula is a set of computer programs that permit you (or the system
103 administrator) to manage backup, recovery, and verification of
104 computer data across a network of computers of different kinds. In
105 technical terms, it is a network client/server based backup program.
106 Bacula is relatively easy to use and efficient, while offering many
107 advanced storage management features that make it easy to find and
108 recover lost or damaged files.
110 %description -l pl.UTF-8
111 Bacula - przychodzi nocą i wysysa żywotny ekstrakt z komputerów.
113 Bacula to zbiór programów umożliwiających administratorowi na
114 zarządzanie kopiami zapasowymi, odzyskiwaniem i weryfikacją danych w
115 sieci komputerów różnego rodzaju. W terminologii technicznej jest to
116 program do kopii zapasowych pracujący w architekturze klient-serwer.
117 Bacula jest stosunkowo łatwa w użyciu i wydajna, oferując przy tym
118 wiele zaawansowanych możliwości przy zarządzaniu nośnikami,
119 ułatwiających znalezienie i odzyskanie utraconych lub uszkodzonych
123 Summary: Common files for bacula package
124 Summary(pl.UTF-8): Pliki wspólne dla pakietu bacula
125 Group: Networking/Utilities
126 Requires(post): openssl-tools
127 Requires(post): sed >= 4.0
128 Requires(post,preun): /sbin/chkconfig
129 Requires(postun): /usr/sbin/groupdel
130 Requires(postun): /usr/sbin/userdel
131 Requires(pre): /usr/sbin/groupadd
132 Requires(pre): /usr/sbin/useradd
133 Conflicts: bacula-console < 0:1.34.6
134 Conflicts: bacula-dir < 0:1.34.6
135 Conflicts: bacula-fd < 0:1.34.6
136 Conflicts: bacula-sd < 0:1.34.6
139 Bacula - It comes by night and sucks the vital essence from your
142 Bacula is a set of computer programs that permit you (or the system
143 administrator) to manage backup, recovery, and verification of
144 computer data across a network of computers of different kinds. In
145 technical terms, it is a network client/server based backup program.
146 Bacula is relatively easy to use and efficient, while offering many
147 advanced storage management features that make it easy to find and
148 recover lost or damaged files.
150 %description common -l pl.UTF-8
151 Bacula - przychodzi nocą i wysysa żywotny ekstrakt z komputerów.
153 Bacula to zbiór programów umożliwiających administratorowi na
154 zarządzanie kopiami zapasowymi, odzyskiwaniem i weryfikacją danych w
155 sieci komputerów różnego rodzaju. W terminologii technicznej jest to
156 program do kopii zapasowych pracujący w architekturze klient-serwer.
157 Bacula jest stosunkowo łatwa w użyciu i wydajna, oferując przy tym
158 wiele zaawansowanych możliwości przy zarządzaniu nośnikami,
159 ułatwiających znalezienie i odzyskanie utraconych lub uszkodzonych
163 Summary: Bacula Director and Catalog services
164 Summary(pl.UTF-8): Usługi Bacula Director i Catalog
165 Group: Networking/Utilities
166 Requires(post): sed >= 4.0
167 Requires: %{name}-common = %{version}-%{release}
168 Requires: bacula(db) = %{version}-%{release}
169 Obsoletes: bacula-updatedb
172 Bacula - It comes by night and sucks the vital essence from your
175 Bacula Director is the program that supervises all the backup,
176 restore, verify and archive operations. The system administrator uses
177 the Bacula Director to schedule backups and to recover files. Catalog
178 services are comprised of the software programs responsible for
179 maintaining the file indexes and volume databases for all files backed
180 up. The Catalog services permit the System Administrator or user to
181 quickly locate and restore any desired file, since it maintains a
182 record of all Volumes used, all Jobs run, and all Files saved.
184 %description dir -l pl.UTF-8
185 Bacula - przychodzi nocą i wysysa żywotny ekstrakt z komputerów.
187 Bacula Director to program nadzorujący wszystkie operacje wykonywania
188 kopii zapasowych, odzyskiwania, weryfikacji i archiwizowania.
189 Administrator używa Bacula Directora do szeregowania kopii zapasowych
190 oraz odzyskiwania plików. Usługi katalogowe (Catalog services) są
191 używane przez programy odpowiedzialne za zarządzanie indeksami plików
192 i bazą danych wolumenów dla wszystkich kopiowanych plików. Usługi
193 katalogowe umożliwiają administratorowi lub użytkownikowi szybko
194 zlokalizować i odtworzyć dowolny plik, ponieważ utrzymują rekord ze
195 wszystkimi używanymi wolumenami, uruchomionymi zadaniami i zapisanymi
199 Summary: Bacula Console
200 Summary(pl.UTF-8): Konsola Baculi
201 Group: Networking/Utilities
202 Requires(post): sed >= 4.0
203 Requires: %{name}-common = %{version}-%{release}
206 Bacula - It comes by night and sucks the vital essence from your
209 Bacula Console is the program that allows the administrator or user to
210 communicate with the Bacula Director. This is the text only console
213 %description console -l pl.UTF-8
214 Bacula - przychodzi nocą i wysysa żywotny ekstrakt z komputerów.
216 Bacula Console to program umożliwiający administratorowi lub
217 użytkownikowi komunikowanie się z programem Bacula Director. To jest
218 interfejs czysto tekstowy.
221 Summary: Bacula wxWidgets Console
222 Summary(pl.UTF-8): Konsola Baculi oparta na wxWidgets
223 Group: Networking/Utilities
224 Requires(post): sed >= 4.0
225 Requires: %{name}-common = %{version}-%{release}
227 %description console-wx
228 Bacula - It comes by night and sucks the vital essence from your
231 Bacula Console is the program that allows the administrator or user to
232 communicate with the Bacula Director. This is the wxWidgets GUI
235 %description console-wx -l pl.UTF-8
236 Bacula - przychodzi nocą i wysysa żywotny ekstrakt z komputerów.
238 Bacula Console to program umożliwiający administratorowi lub
239 użytkownikowi komunikowanie się z programem Bacula Director. To jest
240 interfejs graficzny oparty na wxWidgets.
243 Summary: Bacula Qt4 Console
244 Summary(pl.UTF-8): Konsola Baculi oparta na Qt4
245 Group: Networking/Utilities
246 Requires(post): sed >= 4.0
247 Requires: QtCore >= %{qtver}
248 Requires: %{name}-common = %{version}-%{release}
250 %description console-qt4
251 Bacula - It comes by night and sucks the vital essence from your
254 Bacula Console is the program that allows the administrator or user to
255 communicate with the Bacula Director. This is the Qt4 GUI interface.
257 %description console-qt4 -l pl.UTF-8
258 Bacula - przychodzi nocą i wysysa żywotny ekstrakt z komputerów.
260 Bacula Console to program umożliwiający administratorowi lub
261 użytkownikowi komunikowanie się z programem Bacula Director. To jest
262 interfejs graficzny oparty na Qt4.
264 %package tray-monitor
265 Summary: Bacula Tray Monitor
266 Group: Networking/Utilities
267 Requires(post): sed >= 4.0
268 Requires: %{name}-common = %{version}-%{release}
270 %description tray-monitor
271 Bacula - It comes by night and sucks the vital essence from your
274 The Monitor program is typically an icon in the system tray. However,
275 once the icon is expanded into a full window, the administrator or
276 user can obtain status information about the Director or the backup
277 status on the local workstation or any other Bacula daemon that is
281 Summary: Bacula File services (Client)
282 Summary(pl.UTF-8): Usługi Bacula File (klient)
283 Group: Networking/Utilities
284 Requires(post): sed >= 4.0
285 Requires: %{name}-common = %{version}-%{release}
288 Bacula - It comes by night and sucks the vital essence from your
291 Bacula File services (or Client program) is the software program that
292 is installed on the machine to be backed up. It is specific to the
293 operating system on which it runs and is responsible for providing the
294 file attributes and data when requested by the Director. The File
295 services are also responsible for the file system dependent part of
296 restoring the file attributes and data during a recovery operation.
297 This program runs as a daemon on the machine to be backed up, and in
298 some of the documentation, the File daemon is referred to as the
299 Client (for example in Bacula configuration file).
301 %description fd -l pl.UTF-8
302 Bacula - przychodzi nocą i wysysa żywotny ekstrakt z komputerów.
304 Usługi Bacula File (inaczej program kliencki) to oprogramowanie, które
305 instaluje się na maszynach, z których mają być wykonywane kopie
306 zapasowe. Są one specyficzne dla systemu operacyjnego, pod którym
307 działa dana maszyna i odpowiadają za dostarczanie atrybutów i danych
308 plików na żądanie Directora. Usługi plikowe są także odpowiedzialne za
309 zależną od systemu plików część odzyskiwania atrybutów i danych plików
310 podczas operacji odzyskiwania danych. Program działa jako demon na
311 maszynie, która ma być backupowana i w części dokumentacji demon ten
312 (File) jest nazywany klientem (na przykład w pliku konfiguracyjnym
316 Summary: Bacula Storage services
317 Summary(pl.UTF-8): Usługi Bacula Storage
318 Group: Networking/Utilities
319 Requires(post): sed >= 4.0
320 Requires: %{name}-common = %{version}-%{release}
321 Conflicts: dvd+rw-tools <= 5.21.4.10.8-1
324 Bacula - It comes by night and sucks the vital essence from your
327 Bacula Storage services consist of the software programs that perform
328 the storage and recovery of the file attributes and data to the
329 physical backup media or volumes. In other words, the Storage daemon
330 is responsible for reading and writing your tapes (or other storage
331 media, e.g. files). The Storage services runs as a daemon on the
332 machine that has the backup device (usually a tape drive).
334 %description sd -l pl.UTF-8
335 Bacula - przychodzi nocą i wysysa żywotny ekstrakt z komputerów.
337 Usługi Bacula Storage składają się z programów obsługujących
338 przechowywanie danych oraz odzyskiwanie atrybutów i danych na
339 fizycznych nośnikach lub wolumenach. Innymi słowy, demon Storage jest
340 odpowiedzialny za odczyt i zapis taśm (lub innych nośników do
341 przechowywania danych, np. plików). Usługi Storage działają jako demon
342 na maszynie, która zawiera urządzenie backupowe (zwykle napęd
345 %package db-postgresql
346 Summary: PostgreSQL database driver for Bacula
347 Summary(pl.UTF-8): Sterownik bazy PostgreSQL dla Baculi
348 Group: Networking/Utilities
349 Requires(post): /sbin/ldconfig
350 Requires: %{name}-common = %{version}-%{release}
351 Provides: bacula(db) = %{version}-%{release}
352 Obsoletes: bacula(db)
354 %description db-postgresql
355 PostgreSQL database driver for Bacula.
357 %description db-postgresql -l pl.UTF-8
358 Sterownik bazy PostgreSQL dla Baculi.
361 Summary: MySQL database driver for Bacula
362 Summary(pl.UTF-8): Sterownik bazy MySQL dla Baculi
363 Group: Networking/Utilities
364 Requires(post): /sbin/ldconfig
365 Requires: %{name}-common = %{version}-%{release}
366 Provides: bacula(db) = %{version}-%{release}
367 Obsoletes: bacula(db)
369 %description db-mysql
370 MySQL database driver for Bacula.
372 %description db-mysql -l pl.UTF-8
373 Sterownik bazy MySQL dla Baculi.
376 Summary: SQLite database driver for Bacula
377 Summary(pl.UTF-8): Sterownik bazy SQLite dla Baculi
378 Group: Networking/Utilities
379 Requires(post): /sbin/ldconfig
380 Requires: %{name}-common = %{version}-%{release}
381 Provides: bacula(db) = %{version}-%{release}
382 Obsoletes: bacula(db)
384 %description db-sqlite3
385 SQLite database driver for Bacula.
387 %description db-sqlite3 -l pl.UTF-8
388 Sterownik bazy SQLite dla Baculi.
391 Summary: Bacula - The Network Backup Solution
392 Summary(pl.UTF-8): Bacula - rozwiązanie do wykonywania kopii zapasowych po sieci
393 Group: Networking/Utilities
394 Requires: %{name}-fd = %{version}-%{release}
399 Bacula - It comes by night and sucks the vital essence from your
402 Bacula is a set of computer programs that permit you (or the system
403 administrator) to manage backup, recovery, and verification of
404 computer data across a network of computers of different kinds. In
405 technical terms, it is a network client/server based backup program.
406 Bacula is relatively easy to use and efficient, while offering many
407 advanced storage management features that make it easy to find and
408 recover lost or damaged files.
410 This package installs scripts for disaster recovery and builds rescue
411 floppy disk for bare metal recovery.
413 %description rescue -l pl.UTF-8
414 Bacula - przychodzi nocą i wysysa żywotny ekstrakt z komputerów.
416 Bacula to zbiór programów umożliwiających administratorowi na
417 zarządzanie kopiami zapasowymi, odzyskiwaniem i weryfikacją danych w
418 sieci komputerów różnego rodzaju. W terminologii technicznej jest to
419 program do kopii zapasowych pracujący w architekturze klient-serwer.
420 Bacula jest stosunkowo łatwa w użyciu i wydajna, oferując przy tym
421 wiele zaawansowanych możliwości przy zarządzaniu nośnikami,
422 ułatwiających znalezienie i odzyskanie utraconych lub uszkodzonych
425 Ten pakiet zawiera skrypty do odtwarzania po awarii i tworzy dyskietkę
426 ratunkowe do odtwarzania systemu od zera.
428 %package -n nagios-plugin-check_bacula
429 Summary: Nagios plugin to check bacula
431 Requires: nagios-common
433 %description -n nagios-plugin-check_bacula
434 Nagios plugin to check bacula.
436 # provided by various db libraries as a symlink
437 %define _noautoreq libbaccats-%{version}.so
448 tar -xf %{SOURCE2} && ln -s bacula-rescue-* rescue
450 sed -i -e 's#bindir=.*#bindir=%{_bindir}#g' \
451 src/cats/create_* src/cats/delete_* src/cats/drop_* \
452 src/cats/grant_* src/cats/make_* src/cats/update_*
453 sed -i -e 's/@hostname@/--hostname--/' src/*/*.conf.in
454 sed -i -e 's/@basename@/--hostname--/' src/*/*.conf.in
458 %{__aclocal} -I bacula-macros -I gettext-macros
459 # $BUILD_DIR not seen by libtoolize, export it
460 BUILD_DIR=.. %{__libtoolize}
462 %{__autoconf} --prepend-include=$(pwd)/autoconf autoconf/configure.in > configure
464 CPPFLAGS="-I/usr/include/ncurses -I%{_includedir}/readline"
466 WXCONFIG=%{_bindir}/wx-gtk2-unicode-config \
467 QMAKE=%{_bindir}/qt4-qmake \
469 --with-scriptdir=%{_libexecdir}/%{name} \
470 %{?with_bat:--enable-bat} \
472 --enable-smartalloc \
473 %{?with_console_wx:--enable-bwx-console} \
474 --enable-tray-monitor \
475 %{?with_python:--with-python} \
477 --with-tcp-wrappers \
478 --with-working-dir=%{_var}/lib/%{name} \
479 --with-dump-email="root@localhost" \
480 --with-job-email="root@localhost" \
481 --with-smtp-host=localhost \
482 --with-pid-dir=/var/run \
483 --with-subsys-dir=/var/lock/subsys \
484 --with-systemd=/lib/systemd/system \
485 --enable-batch-insert \
486 %{?with_pgsql:--with-postgresql} \
487 %{?with_mysql:--with-mysql} \
488 %{?with_sqlite3:--with-sqlite3} \
489 %{?with_sqlite3_sync_off:--enable-extra-sqlite3-init="pragma synchronous=0;"} \
490 --with-dir-password="#FAKE-dir-password#" \
491 --with-fd-password="#FAKE-fd-password#" \
492 --with-sd-password="#FAKE-sd-password#" \
493 --with-mon-dir-password="#FAKE-mon-dir-password#" \
494 --with-mon-fd-password="#FAKE-mon-fd-password#" \
495 --with-mon-sd-password="#FAKE-mon-sd-password#" \
504 %{__make} 2>&1 | tee log
505 # check for build errors
506 grep "Error in" log && exit 1
510 %{__make} -C examples/nagios/check_bacula
522 rm -rf $RPM_BUILD_ROOT
523 install -d $RPM_BUILD_ROOT/etc/{rc.d/init.d,logrotate.d,pam.d,sysconfig}
524 install -d $RPM_BUILD_ROOT%{_sysconfdir}/rescue
525 install -d $RPM_BUILD_ROOT{%{_pixmapsdir},%{_desktopdir},%{_mandir},%{_bindir},/var/log/bacula}
528 DESTDIR=$RPM_BUILD_ROOT
530 # create copies of make_catalog_backup for specific databases; zeore default one (will be ghost)
531 for database in %{databases}; do
532 sed -e "s#default_db_type=.*#default_db_type=${database}#g" \
533 $RPM_BUILD_ROOT%{_libdir}/%{name}/make_catalog_backup \
534 > $RPM_BUILD_ROOT%{_libdir}/%{name}/make_${database}_catalog_backup
535 chmod 755 $RPM_BUILD_ROOT%{_libdir}/%{name}/make_${database}_catalog_backup
537 :> $RPM_BUILD_ROOT%{_libdir}/%{name}/make_catalog_backup
539 # we use db dependant (at compile time) shell script only
540 rm $RPM_BUILD_ROOT%{_libexecdir}/%{name}/make_catalog_backup.pl
542 ## replace with empty file, replaced by ldconfig from each db-* package on intsall
543 rm $RPM_BUILD_ROOT%{_libdir}/libbaccats-%{version}.so
544 touch $RPM_BUILD_ROOT%{_libdir}/libbaccats-%{version}.so
546 install -p %{SOURCE10} $RPM_BUILD_ROOT/etc/rc.d/init.d/bacula-dir
547 install -p %{SOURCE11} $RPM_BUILD_ROOT/etc/rc.d/init.d/bacula-fd
548 install -p %{SOURCE12} $RPM_BUILD_ROOT/etc/rc.d/init.d/bacula-sd
549 cp -a %{SOURCE13} $RPM_BUILD_ROOT/etc/logrotate.d/%{name}-dir
550 cp -a %{SOURCE14} $RPM_BUILD_ROOT/etc/sysconfig/bacula-dir
551 cp -a %{SOURCE15} $RPM_BUILD_ROOT/etc/sysconfig/bacula-fd
552 cp -a %{SOURCE16} $RPM_BUILD_ROOT/etc/sysconfig/bacula-sd
554 %if %{with console_wx}
555 # tray-monitor is for regular users
556 #mv $RPM_BUILD_ROOT%{_sbindir}/bacula-tray-monitor $RPM_BUILD_ROOT%{_bindir}
558 cp -a scripts/bacula.png $RPM_BUILD_ROOT%{_pixmapsdir}/bacula.png
559 #install src/tray-monitor/generic.xpm $RPM_BUILD_ROOT%{_pixmapsdir}/bacula-tray-monitor.xpm
560 sed -e 's/gnome-console/wx-console/g;s/Console/Wx Console/g' \
561 scripts/wxconsole.desktop.consolehelper > $RPM_BUILD_ROOT%{_desktopdir}/bacula-wx.desktop
562 #sed -e 's#%{_sbindir}#%{_bindir}#' \
563 # scripts/bacula-tray-monitor.desktop > $RPM_BUILD_ROOT%{_desktopdir}/bacula-tray-monitor.desktop
567 # qmake somewhy does not always create install_bins target. install our own the bin
568 rm -f $RPM_BUILD_ROOT%{_sbindir}/bat
569 libtool --silent --mode=install install src/qt-console/bat $RPM_BUILD_ROOT%{_bindir}
570 cp -a scripts/bat.desktop $RPM_BUILD_ROOT%{_desktopdir}
574 # install the rescue stuff, these are the rescue scripts
575 cp -a rescue/linux/floppy/backup.etc.list $RPM_BUILD_ROOT%{_sysconfdir}/rescue
576 cp -a rescue/linux/floppy/sfdisk.bz2 $RPM_BUILD_ROOT%{_sysconfdir}/rescue
577 install -p rescue/linux/floppy/*_* $RPM_BUILD_ROOT%{_sysconfdir}/rescue
578 install -p rescue/linux/floppy/getdiskinfo $RPM_BUILD_ROOT%{_sysconfdir}/rescue
581 touch $RPM_BUILD_ROOT/var/log/bacula/log
583 # install the updatedb scripts for older versions that last full release
584 # 2.0 -> 3.0 : 10_to_11
585 # 5.0 -> 5.2 : 12_to_14
586 install -p updatedb/update_*_tables_10_to_11 $RPM_BUILD_ROOT%{_libexecdir}/%{name}
587 install -p updatedb/update_*_tables_11_to_12 $RPM_BUILD_ROOT%{_libexecdir}/%{name}
588 install -p updatedb/update_*_tables_12_to_14 $RPM_BUILD_ROOT%{_libexecdir}/%{name}
590 # place for site passwords
591 touch $RPM_BUILD_ROOT%{_sysconfdir}/{dir-password,fd-password,sd-password}
592 touch $RPM_BUILD_ROOT%{_sysconfdir}/{mon-dir-password,mon-fd-password,mon-sd-password}
594 mv $RPM_BUILD_ROOT%{_libexecdir}/%{name}/mtx-changer.conf $RPM_BUILD_ROOT%{_sysconfdir}/mtx-changer.conf
597 rm -f $RPM_BUILD_ROOT%{_libexecdir}/%{name}/{gconsole,startmysql,stopmysql,bacula,bconsole,fd}
598 %if %{without console_wx}
599 rm -f $RPM_BUILD_ROOT%{_desktopdir}/bacula-wx.desktop
601 touch $RPM_BUILD_ROOT%{_sysconfdir}/.pw.sed
603 rm $RPM_BUILD_ROOT%{_docdir}/bacula/ChangeLog
604 rm $RPM_BUILD_ROOT%{_docdir}/bacula/INSTALL
605 rm $RPM_BUILD_ROOT%{_docdir}/bacula/LICENSE
606 rm $RPM_BUILD_ROOT%{_docdir}/bacula/README
607 rm $RPM_BUILD_ROOT%{_docdir}/bacula/ReleaseNotes
608 rm $RPM_BUILD_ROOT%{_docdir}/bacula/VERIFYING
609 rm $RPM_BUILD_ROOT%{_docdir}/bacula/technotes
611 # startup scripts, those in /etc/rc.d/init.d are better
612 rm $RPM_BUILD_ROOT%{_sbindir}/bacula
613 rm $RPM_BUILD_ROOT%{_libexecdir}/%{name}/bacula-ctl-*
616 rm $RPM_BUILD_ROOT%{_libexecdir}/%{name}/btraceback.mdb
618 # rename to avoid possible conflicts
619 mv $RPM_BUILD_ROOT%{_sbindir}/{,bacula-}dbcheck
620 mv $RPM_BUILD_ROOT%{_mandir}/man8/{,bacula-}dbcheck.8.gz
622 # no -devel files packaged, so this is also useless
623 rm $RPM_BUILD_ROOT%{_libdir}/libbac{,cfg,find,py,sql}.{so,la}
626 install -d $RPM_BUILD_ROOT%{nagiosplugindir}
627 %{__make} -C examples/nagios/check_bacula install \
628 sbindir=%{nagiosplugindir} \
629 INSTALL_PROGRAM="libtool --mode=install install -p" \
630 DESTDIR=$RPM_BUILD_ROOT
634 rm -rf $RPM_BUILD_ROOT
637 %groupadd -P %{name}-common -g 136 -r -f bacula
638 %useradd -P %{name}-common -u 136 -r -d /var/lib/bacula -s /bin/false -c "Bacula User" -g bacula bacula
640 %define update_configs \
641 echo "Updating bacula passwords and names..." | %banner -a %{name} \
643 for f in *-password; do \
644 if [ ! -s $f ]; then \
645 openssl rand -base64 33 > $f \
648 for cf in *.conf *.conf.rpmnew; do \
649 [ -f $cf ] && sed -i -e"s:#FAKE-$f#:$p:" "$cf" || : \
652 for cf in *.conf *.conf.rpmnew; do \
653 [ -f $cf ] && sed -i -e"s:--hostname--:`hostname`:" "$cf" || : \
662 if [ "$1" = "0" ]; then
667 %triggerpostun dir -- %{name}-dir < %{version}-0
668 %banner bacula-dir -t3 <<EOF
669 You have upgraded from an older version of Bacula director.
671 You will probably need to call %{_libexecdir}/%{name}/update_bacula_tables
672 script to upgrade the database.
677 /sbin/chkconfig --add bacula-dir
678 %service bacula-dir restart "Bacula Director daemon"
681 if [ "$1" = "0" ]; then
682 %service bacula-dir stop
683 /sbin/chkconfig --del bacula-dir
688 /sbin/chkconfig --add bacula-fd
689 %service bacula-fd restart "Bacula File daemon"
692 if [ "$1" = "0" ]; then
693 %service bacula-fd stop
694 /sbin/chkconfig --del bacula-fd
699 /sbin/chkconfig --add bacula-sd
700 %service bacula-sd restart "Bacula Storage daemon"
703 if [ "$1" = "0" ]; then
704 %service bacula-sd stop
705 /sbin/chkconfig --del bacula-sd
709 if [ -e %{_sysconfdir}/console.conf -a ! -e %{_sysconfdir}/bconsole.conf ]; then
710 mv %{_sysconfdir}/console.conf %{_sysconfdir}/bconsole.conf
719 %triggerpostun common -- %{name}-common < 5.0.1-2
720 find %{_sysconfdir}/bat.conf* -perm /007 -print0 2>/dev/null | xargs -0 -r chmod 600 || :
729 # link our current installed conf file to the rescue directory
730 ln -sf %{_sysconfdir}/bacula-fd.conf %{_sysconfdir}/rescue/bacula-fd.conf
733 echo "Creating rescue files for this system..."
734 cd %{_sysconfdir}/rescue
738 # remove the files created after the initial rpm installation
739 if [ "$1" = "0" ]; then
740 rm -f %{_sysconfdir}/rescue/bacula-fd.conf
741 rm -f %{_sysconfdir}/rescue/partition.*
742 rm -f %{_sysconfdir}/rescue/format.*
743 rm -f %{_sysconfdir}/rescue/mount_drives
744 rm -f %{_sysconfdir}/rescue/start_network
745 rm -f %{_sysconfdir}/rescue/sfdisk
746 rm -rf %{_sysconfdir}/rescue/diskinfo/*
751 for name in "create database" "drop tables" "drop database" "grant privileges" "make tables" "update tables"; do \
752 prefix="${name%% *}" \
753 suffix="${name#* }" \
754 ln -sf "${prefix}_%{1}_${suffix}" %{_libexecdir}/%{name}/"${prefix}_bacula_${suffix}" || : \
756 ln -sf "make_%{1}_catalog_backup" %{_libexecdir}/%{name}/make_catalog_backup || : \
757 ln -sf libbaccats-%{1}-%{version}.so %{_libdir}/libbaccats-%{version}.so || : \
758 %service bacula-dir restart "Bacula Director daemon"
763 %postun db-postgresql -p /sbin/ldconfig
768 %postun db-mysql -p /sbin/ldconfig
773 %postun db-sqlite3 -p /sbin/ldconfig
776 %defattr(644,root,root,755)
778 %{?with_python:%doc examples/python}
780 %attr(600,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/*-password
781 # do not remove bsmtp from files. Fix build if it is not installed.
782 %attr(755,root,root) %{_sbindir}/bsmtp
783 %attr(755,root,root) %{_sbindir}/btraceback
784 %attr(755,root,root) %{_libdir}/libbac-5*.so
785 %attr(755,root,root) %{_libdir}/libbaccfg-5*.so
786 %attr(755,root,root) %{_libdir}/libbacfind-5*.so
787 %attr(755,root,root) %{_libdir}/libbacpy-5*.so
788 %attr(755,root,root) %{_libdir}/libbacsql-5*.so
789 %{_mandir}/man8/bacula.8*
790 %{_mandir}/man1/bsmtp.1*
791 %{_mandir}/man8/btraceback.8*
792 %dir %{_libexecdir}/%{name}
793 %{_libexecdir}/%{name}/btraceback.dbx
794 %{_libexecdir}/%{name}/btraceback.gdb
795 %{_libexecdir}/%{name}/bacula_config
796 %attr(770,root,bacula) %dir %{_localstatedir}
797 %attr(750,bacula,logs) %dir /var/log/bacula
798 %attr(640,bacula,logs) %ghost /var/log/bacula/log
801 %defattr(644,root,root,755)
802 %doc ChangeLog CheckList ReleaseNotes kernstodo LICENSE
803 #%doc examples %{name}-docs-%{version}/manual/{*.pdf,bacula}
804 %attr(640,root,bacula) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/bacula-dir.conf
805 %ghost %{_sysconfdir}/.pw.sed
806 %attr(640,root,root) %config(noreplace) /etc/logrotate.d/bacula-dir
807 %attr(754,root,root) /etc/rc.d/init.d/bacula-dir
808 %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/bacula-dir
809 %attr(755,root,root) %{_sbindir}/bacula-dir
810 %attr(755,root,root) %{_sbindir}/bregex
811 %attr(755,root,root) %{_sbindir}/bwild
812 %attr(755,root,root) %{_sbindir}/bacula-dbcheck
813 %{_mandir}/man8/bacula-dir.8*
814 %{_mandir}/man8/bacula-dbcheck.8*
815 %{_mandir}/man8/bregex.8*
816 %{_mandir}/man8/bwild.8*
817 %{_libexecdir}/%{name}/query.sql
818 %attr(755,root,root) %{_libexecdir}/%{name}/delete_catalog_backup
821 %defattr(644,root,root,755)
822 %attr(755,root,root) %{_libexecdir}/%{name}/create_postgresql_database
823 %attr(755,root,root) %{_libexecdir}/%{name}/drop_postgresql_database
824 %attr(755,root,root) %{_libexecdir}/%{name}/drop_postgresql_tables
825 %attr(755,root,root) %{_libexecdir}/%{name}/grant_postgresql_privileges
826 %attr(755,root,root) %{_libexecdir}/%{name}/make_postgresql_tables
827 %attr(755,root,root) %{_libexecdir}/%{name}/update_postgresql_*
828 %attr(755,root,root) %{_libexecdir}/%{name}/make_postgresql_catalog_backup
829 %attr(755,root,root) %{_libdir}/libbaccats-postgresql-5*.so
831 %ghost %attr(755,root,root) %{_libdir}/libbaccats-5*.so
832 %ghost %{_libexecdir}/%{name}/create_bacula_database
833 %ghost %{_libexecdir}/%{name}/drop_bacula_tables
834 %ghost %{_libexecdir}/%{name}/drop_bacula_database
835 %ghost %{_libexecdir}/%{name}/grant_bacula_privileges
836 %ghost %{_libexecdir}/%{name}/make_bacula_tables
837 %ghost %{_libexecdir}/%{name}/update_bacula_tables
838 %ghost %{_libexecdir}/%{name}/make_catalog_backup
841 %defattr(644,root,root,755)
842 %attr(755,root,root) %{_libexecdir}/%{name}/create_mysql_database
843 %attr(755,root,root) %{_libexecdir}/%{name}/drop_mysql_database
844 %attr(755,root,root) %{_libexecdir}/%{name}/drop_mysql_tables
845 %attr(755,root,root) %{_libexecdir}/%{name}/grant_mysql_privileges
846 %attr(755,root,root) %{_libexecdir}/%{name}/make_mysql_tables
847 %attr(755,root,root) %{_libexecdir}/%{name}/update_mysql_*
848 %attr(755,root,root) %{_libexecdir}/%{name}/make_mysql_catalog_backup
849 %attr(755,root,root) %{_libdir}/libbaccats-mysql-5*.so
851 %ghost %attr(755,root,root) %{_libdir}/libbaccats-5*.so
852 %ghost %{_libexecdir}/%{name}/create_bacula_database
853 %ghost %{_libexecdir}/%{name}/drop_bacula_tables
854 %ghost %{_libexecdir}/%{name}/drop_bacula_database
855 %ghost %{_libexecdir}/%{name}/grant_bacula_privileges
856 %ghost %{_libexecdir}/%{name}/make_bacula_tables
857 %ghost %{_libexecdir}/%{name}/update_bacula_tables
858 %ghost %{_libexecdir}/%{name}/make_catalog_backup
861 %defattr(644,root,root,755)
862 %attr(755,root,root) %{_libexecdir}/%{name}/create_sqlite3_database
863 %attr(755,root,root) %{_libexecdir}/%{name}/drop_sqlite3_database
864 %attr(755,root,root) %{_libexecdir}/%{name}/drop_sqlite3_tables
865 %attr(755,root,root) %{_libexecdir}/%{name}/grant_sqlite3_privileges
866 %attr(755,root,root) %{_libexecdir}/%{name}/make_sqlite3_tables
867 %attr(755,root,root) %{_libexecdir}/%{name}/update_sqlite3_*
868 %attr(755,root,root) %{_libexecdir}/%{name}/make_sqlite3_catalog_backup
869 %attr(755,root,root) %{_libdir}/libbaccats-sqlite3-5*.so
871 %ghost %attr(755,root,root) %{_libdir}/libbaccats-5*.so
872 %ghost %{_libexecdir}/%{name}/create_bacula_database
873 %ghost %{_libexecdir}/%{name}/drop_bacula_tables
874 %ghost %{_libexecdir}/%{name}/drop_bacula_database
875 %ghost %{_libexecdir}/%{name}/grant_bacula_privileges
876 %ghost %{_libexecdir}/%{name}/make_bacula_tables
877 %ghost %{_libexecdir}/%{name}/update_bacula_tables
878 %ghost %{_libexecdir}/%{name}/make_catalog_backup
881 %defattr(644,root,root,755)
883 %attr(640,root,bacula) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/bacula-fd.conf
884 %attr(754,root,root) /etc/rc.d/init.d/bacula-fd
885 %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/bacula-fd
886 %attr(755,root,root) %{_sbindir}/bacula-fd
887 %attr(755,root,root) %{_libdir}/bpipe-fd.so
888 %{_mandir}/man8/bacula-fd.8*
891 %defattr(644,root,root,755)
893 %attr(640,root,bacula) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/bacula-sd.conf
894 %attr(640,root,bacula) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/mtx-changer.conf
895 %attr(754,root,root) /etc/rc.d/init.d/bacula-sd
896 %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/bacula-sd
897 %attr(755,root,root) %{_sbindir}/bacula-sd
898 %attr(755,root,root) %{_sbindir}/bcopy
899 %attr(755,root,root) %{_sbindir}/bextract
900 %attr(755,root,root) %{_sbindir}/bls
901 %attr(755,root,root) %{_sbindir}/bscan
902 %attr(755,root,root) %{_sbindir}/btape
903 %attr(755,root,root) %{_libexecdir}/%{name}/mtx-changer
904 %attr(755,root,root) %{_libexecdir}/%{name}/disk-changer
905 %attr(755,root,root) %{_libexecdir}/%{name}/dvd-handler
906 %{_mandir}/man8/bacula-sd.8*
907 %{_mandir}/man8/bcopy.8*
908 %{_mandir}/man8/bextract.8*
909 %{_mandir}/man8/bls.8*
910 %{_mandir}/man8/bscan.8*
911 %{_mandir}/man8/btape.8*
914 %defattr(644,root,root,755)
916 %attr(640,root,bacula) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/bconsole.conf
917 %attr(755,root,root) %{_sbindir}/bconsole
918 %{_mandir}/man8/bconsole.8*
920 %if %{with console_wx}
922 %defattr(644,root,root,755)
924 %{_pixmapsdir}/%{name}.png
925 %{_desktopdir}/bacula-wx.desktop
926 %attr(640,root,bacula) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/bwx-console.conf
927 %attr(755,root,root) %{_sbindir}/bwx-console
928 %{_mandir}/man1/bacula-bwxconsole.1*
933 %defattr(644,root,root,755)
935 %{_pixmapsdir}/%{name}.png
936 %{_desktopdir}/bat.desktop
937 # Do not make this file world-readable or any user will get full access to the
939 %attr(640,root,bacula) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/bat.conf
940 %attr(755,root,root) %{_bindir}/bat
941 %{_mandir}/man1/bat.1*
945 %if %{with console_wx}
947 %defattr(644,root,root,755)
949 %attr(755,root,root) %{_sbindir}/bacula-tray-monitor
950 #%{_pixmapsdir}/%{name}-tray-monitor.xpm
951 #%{_desktopdir}/%{name}-tray-monitor.desktop
952 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/tray-monitor.conf
953 %{_mandir}/man1/bacula-tray-monitor.1*
958 %defattr(644,root,root,755)
960 %dir %{_sysconfdir}/rescue
961 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/rescue/backup.etc.list
962 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/rescue/bacula-fd
963 %attr(755,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/rescue/format_floppy
964 %attr(755,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/rescue/getdiskinfo
965 %attr(755,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/rescue/make_rescue_disk
966 %attr(755,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/rescue/restore_bacula
967 %attr(755,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/rescue/restore_etc
968 %attr(755,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/rescue/run_grub
969 %attr(755,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/rescue/run_lilo
970 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/rescue/sfdisk.bz2
974 %files -n nagios-plugin-check_bacula
975 %defattr(644,root,root,755)
976 %attr(755,root,root) %{nagiosplugindir}/check_bacula