2 # - update desktop files, think about su-wrappers for console (with .desktop files)
4 # - fix log file permissions
7 %bcond_without console_wx # wx-console program
8 %bcond_without bat # bat Qt4 GUI
9 %bcond_without dbi # use Database Independent Abstraction Layer (libdbi)
10 %bcond_without mysql # use MySQL
11 %bcond_without pgsql # use PostgreSQL
12 %bcond_without sqlite3 # use SQLite3
14 %bcond_with 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
22 Summary: Bacula - The Network Backup Solution
23 Summary(pl.UTF-8): Bacula - rozwiązanie do wykonywania kopii zapasowych po sieci
28 License: extended GPL v2
29 Group: Networking/Utilities
30 Source0: http://downloads.sourceforge.net/bacula/%{name}-%{version}.tar.gz
31 # Source0-md5: beb9f8da196b3c9ffb0356f087dbdb99
32 Source1: http://downloads.sourceforge.net/bacula/%{name}-docs-%{version}.tar.bz2
33 # Source1-md5: ce2ef0dca50ab916fd6701b53b7bb4df
34 Source2: http://downloads.sourceforge.net/bacula/%{name}-rescue-5.0.0.tar.gz
35 # Source2-md5: 349623581cfe0bcd798dd137abac959a
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}-link.patch
45 Patch2: %{name}-tinfo-readline.patch
46 Patch3: %{name}-branding.patch
47 Patch4: %{name}-conf.patch
48 Patch5: %{name}-desktop.patch
49 Patch6: %{name}-64bitbuild_fix.patch
50 Patch7: %{name}-dbi_fixes.patch
51 Patch8: %{name}-dbi_dbcheck.patch
52 Patch9: %{name}-openssl1.patch
53 URL: http://www.bacula.org/
54 BuildRequires: acl-devel
55 BuildRequires: autoconf
56 BuildRequires: automake
57 BuildRequires: gettext-devel
58 BuildRequires: libcap-devel
59 %{?with_dbi:BuildRequires: libdbi-devel >= 0.8.4}
60 BuildRequires: libtool
62 BuildRequires: fakeroot
64 BuildRequires: libwrap-devel
66 BuildRequires: ncurses-devel
67 BuildRequires: openssl-devel
68 BuildRequires: pkgconfig
70 BuildRequires: python-devel
73 BuildRequires: QtCore-devel
74 BuildRequires: QtGui-devel
75 BuildRequires: qt4-build >= 4.3.3-3
76 BuildRequires: qt4-qmake >= 4.3.3-3
77 BuildRequires: qwt-devel >= 5.0.2-2
79 %{?with_mysql:BuildRequires: mysql-devel}
80 %{?with_pgsql:BuildRequires: postgresql-devel}
81 BuildRequires: readline-devel
82 BuildRequires: rpmbuild(macros) >= 1.268
83 BuildRequires: sed >= 4.0
84 %{?with_sqlite3:BuildRequires: sqlite3-devel}
85 %if %{with console_wx}
86 BuildRequires: wxGTK2-unicode-devel >= 2.4.0
88 BuildRequires: zlib-devel
89 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
91 %define _sysconfdir /etc/%{name}
92 %define _localstatedir /var/lib/%{name}
93 %define nagiosplugindir %{_prefix}/lib/nagios/plugins
95 # from 'the worst' to 'the best'
96 %define databases %{?with_dbi:dbi} %{?with_sqlite3:sqlite3} %{?with_mysql:mysql} %{?with_pgsql:postgresql}
98 # dependency section is broken. ccache usage is instead to makefiles
102 Bacula - It comes by night and sucks the vital essence from your
105 Bacula is a set of computer programs that permit you (or the system
106 administrator) to manage backup, recovery, and verification of
107 computer data across a network of computers of different kinds. In
108 technical terms, it is a network client/server based backup program.
109 Bacula is relatively easy to use and efficient, while offering many
110 advanced storage management features that make it easy to find and
111 recover lost or damaged files.
113 %description -l pl.UTF-8
114 Bacula - przychodzi nocą i wysysa żywotny ekstrakt z komputerów.
116 Bacula to zbiór programów umożliwiających administratorowi na
117 zarządzanie kopiami zapasowymi, odzyskiwaniem i weryfikacją danych w
118 sieci komputerów różnego rodzaju. W terminologii technicznej jest to
119 program do kopii zapasowych pracujący w architekturze klient-serwer.
120 Bacula jest stosunkowo łatwa w użyciu i wydajna, oferując przy tym
121 wiele zaawansowanych możliwości przy zarządzaniu nośnikami,
122 ułatwiających znalezienie i odzyskanie utraconych lub uszkodzonych
126 Summary: Common files for bacula package
127 Summary(pl.UTF-8): Pliki wspólne dla pakietu bacula
128 Group: Networking/Utilities
129 Requires(post): openssl-tools
130 Requires(post): sed >= 4.0
131 Requires(post,preun): /sbin/chkconfig
132 Requires(postun): /usr/sbin/groupdel
133 Requires(postun): /usr/sbin/userdel
134 Requires(pre): /usr/sbin/groupadd
135 Requires(pre): /usr/sbin/useradd
136 Conflicts: bacula-console < 0:1.34.6
137 Conflicts: bacula-dir < 0:1.34.6
138 Conflicts: bacula-fd < 0:1.34.6
139 Conflicts: bacula-sd < 0:1.34.6
142 Bacula - It comes by night and sucks the vital essence from your
145 Bacula is a set of computer programs that permit you (or the system
146 administrator) to manage backup, recovery, and verification of
147 computer data across a network of computers of different kinds. In
148 technical terms, it is a network client/server based backup program.
149 Bacula is relatively easy to use and efficient, while offering many
150 advanced storage management features that make it easy to find and
151 recover lost or damaged files.
153 %description common -l pl.UTF-8
154 Bacula - przychodzi nocą i wysysa żywotny ekstrakt z komputerów.
156 Bacula to zbiór programów umożliwiających administratorowi na
157 zarządzanie kopiami zapasowymi, odzyskiwaniem i weryfikacją danych w
158 sieci komputerów różnego rodzaju. W terminologii technicznej jest to
159 program do kopii zapasowych pracujący w architekturze klient-serwer.
160 Bacula jest stosunkowo łatwa w użyciu i wydajna, oferując przy tym
161 wiele zaawansowanych możliwości przy zarządzaniu nośnikami,
162 ułatwiających znalezienie i odzyskanie utraconych lub uszkodzonych
166 Summary: Bacula Director and Catalog services
167 Summary(pl.UTF-8): Usługi Bacula Director i Catalog
168 Group: Networking/Utilities
169 Requires(post): sed >= 4.0
170 Requires: %{name}-common = %{epoch}:%{version}-%{release}
171 Requires: bacula(db) = %{epoch}:%{version}-%{release}
172 Obsoletes: bacula-updatedb
175 Bacula - It comes by night and sucks the vital essence from your
178 Bacula Director is the program that supervises all the backup,
179 restore, verify and archive operations. The system administrator uses
180 the Bacula Director to schedule backups and to recover files. Catalog
181 services are comprised of the software programs responsible for
182 maintaining the file indexes and volume databases for all files backed
183 up. The Catalog services permit the System Administrator or user to
184 quickly locate and restore any desired file, since it maintains a
185 record of all Volumes used, all Jobs run, and all Files saved.
187 %description dir -l pl.UTF-8
188 Bacula - przychodzi nocą i wysysa żywotny ekstrakt z komputerów.
190 Bacula Director to program nadzorujący wszystkie operacje wykonywania
191 kopii zapasowych, odzyskiwania, weryfikacji i archiwizowania.
192 Administrator używa Bacula Directora do szeregowania kopii zapasowych
193 oraz odzyskiwania plików. Usługi katalogowe (Catalog services) są
194 używane przez programy odpowiedzialne za zarządzanie indeksami plików
195 i bazą danych wolumenów dla wszystkich kopiowanych plików. Usługi
196 katalogowe umożliwiają administratorowi lub użytkownikowi szybko
197 zlokalizować i odtworzyć dowolny plik, ponieważ utrzymują rekord ze
198 wszystkimi używanymi wolumenami, uruchomionymi zadaniami i zapisanymi
202 Summary: Bacula Console
203 Summary(pl.UTF-8): Konsola Baculi
204 Group: Networking/Utilities
205 Requires(post): sed >= 4.0
206 Requires: %{name}-common = %{epoch}:%{version}-%{release}
209 Bacula - It comes by night and sucks the vital essence from your
212 Bacula Console is the program that allows the administrator or user to
213 communicate with the Bacula Director. This is the text only console
216 %description console -l pl.UTF-8
217 Bacula - przychodzi nocą i wysysa żywotny ekstrakt z komputerów.
219 Bacula Console to program umożliwiający administratorowi lub
220 użytkownikowi komunikowanie się z programem Bacula Director. To jest
221 interfejs czysto tekstowy.
224 Summary: Bacula wxWidgets Console
225 Summary(pl.UTF-8): Konsola Baculi oparta na wxWidgets
226 Group: Networking/Utilities
227 Requires(post): sed >= 4.0
228 Requires: %{name}-common = %{epoch}:%{version}-%{release}
230 %description console-wx
231 Bacula - It comes by night and sucks the vital essence from your
234 Bacula Console is the program that allows the administrator or user to
235 communicate with the Bacula Director. This is the wxWidgets GUI
238 %description console-wx -l pl.UTF-8
239 Bacula - przychodzi nocą i wysysa żywotny ekstrakt z komputerów.
241 Bacula Console to program umożliwiający administratorowi lub
242 użytkownikowi komunikowanie się z programem Bacula Director. To jest
243 interfejs graficzny oparty na wxWidgets.
246 Summary: Bacula Qt4 Console
247 Summary(pl.UTF-8): Konsola Baculi oparta na Qt4
248 Group: Networking/Utilities
249 Requires(post): sed >= 4.0
250 Requires: %{name}-common = %{epoch}:%{version}-%{release}
252 %description console-qt4
253 Bacula - It comes by night and sucks the vital essence from your
256 Bacula Console is the program that allows the administrator or user to
257 communicate with the Bacula Director. This is the Qt4 GUI interface.
259 %description console-qt4 -l pl.UTF-8
260 Bacula - przychodzi nocą i wysysa żywotny ekstrakt z komputerów.
262 Bacula Console to program umożliwiający administratorowi lub
263 użytkownikowi komunikowanie się z programem Bacula Director. To jest
264 interfejs graficzny oparty na Qt4.
266 %package tray-monitor
267 Summary: Bacula Tray Monitor
268 Group: Networking/Utilities
269 Requires(post): sed >= 4.0
270 Requires: %{name}-common = %{epoch}:%{version}-%{release}
272 %description tray-monitor
273 Bacula - It comes by night and sucks the vital essence from your
276 The Monitor program is typically an icon in the system tray. However,
277 once the icon is expanded into a full window, the administrator or
278 user can obtain status information about the Director or the backup
279 status on the local workstation or any other Bacula daemon that is
283 Summary: Bacula File services (Client)
284 Summary(pl.UTF-8): Usługi Bacula File (klient)
285 Group: Networking/Utilities
286 Requires(post): sed >= 4.0
287 Requires: %{name}-common = %{epoch}:%{version}-%{release}
290 Bacula - It comes by night and sucks the vital essence from your
293 Bacula File services (or Client program) is the software program that
294 is installed on the machine to be backed up. It is specific to the
295 operating system on which it runs and is responsible for providing the
296 file attributes and data when requested by the Director. The File
297 services are also responsible for the file system dependent part of
298 restoring the file attributes and data during a recovery operation.
299 This program runs as a daemon on the machine to be backed up, and in
300 some of the documentation, the File daemon is referred to as the
301 Client (for example in Bacula configuration file).
303 %description fd -l pl.UTF-8
304 Bacula - przychodzi nocą i wysysa żywotny ekstrakt z komputerów.
306 Usługi Bacula File (inaczej program kliencki) to oprogramowanie, które
307 instaluje się na maszynach, z których mają być wykonywane kopie
308 zapasowe. Są one specyficzne dla systemu operacyjnego, pod którym
309 działa dana maszyna i odpowiadają za dostarczanie atrybutów i danych
310 plików na żądanie Directora. Usługi plikowe są także odpowiedzialne za
311 zależną od systemu plików część odzyskiwania atrybutów i danych plików
312 podczas operacji odzyskiwania danych. Program działa jako demon na
313 maszynie, która ma być backupowana i w części dokumentacji demon ten
314 (File) jest nazywany klientem (na przykład w pliku konfiguracyjnym
318 Summary: Bacula Storage services
319 Summary(pl.UTF-8): Usługi Bacula Storage
320 Group: Networking/Utilities
321 Requires(post): sed >= 4.0
322 Requires: %{name}-common = %{epoch}:%{version}-%{release}
323 Conflicts: dvd+rw-tools <= 5.21.4.10.8-1
326 Bacula - It comes by night and sucks the vital essence from your
329 Bacula Storage services consist of the software programs that perform
330 the storage and recovery of the file attributes and data to the
331 physical backup media or volumes. In other words, the Storage daemon
332 is responsible for reading and writing your tapes (or other storage
333 media, e.g. files). The Storage services runs as a daemon on the
334 machine that has the backup device (usually a tape drive).
336 %description sd -l pl.UTF-8
337 Bacula - przychodzi nocą i wysysa żywotny ekstrakt z komputerów.
339 Usługi Bacula Storage składają się z programów obsługujących
340 przechowywanie danych oraz odzyskiwanie atrybutów i danych na
341 fizycznych nośnikach lub wolumenach. Innymi słowy, demon Storage jest
342 odpowiedzialny za odczyt i zapis taśm (lub innych nośników do
343 przechowywania danych, np. plików). Usługi Storage działają jako demon
344 na maszynie, która zawiera urządzenie backupowe (zwykle napęd
347 %package db-postgresql
348 Summary: PostgreSQL database driver for Bacula
349 Summary(pl.UTF-8): Sterownik bazy PostgreSQL dla Baculi
350 Group: Networking/Utilities
351 Requires(post): /sbin/ldconfig
352 Requires: %{name}-common = %{epoch}:%{version}-%{release}
353 Provides: bacula(db) = %{epoch}:%{version}-%{release}
354 Obsoletes: bacula(db)
356 %description db-postgresql
357 PostgreSQL database driver for Bacula.
359 %description db-postgresql -l pl.UTF-8
360 Sterownik bazy PostgreSQL dla Baculi.
363 Summary: MySQL database driver for Bacula
364 Summary(pl.UTF-8): Sterownik bazy MySQL dla Baculi
365 Group: Networking/Utilities
366 Requires(post): /sbin/ldconfig
367 Requires: %{name}-common = %{epoch}:%{version}-%{release}
368 Provides: bacula(db) = %{epoch}:%{version}-%{release}
369 Obsoletes: bacula(db)
371 %description db-mysql
372 MySQL database driver for Bacula.
374 %description db-mysql -l pl.UTF-8
375 Sterownik bazy MySQL dla Baculi.
378 Summary: SQLite database driver for Bacula
379 Summary(pl.UTF-8): Sterownik bazy SQLite dla Baculi
380 Group: Networking/Utilities
381 Requires(post): /sbin/ldconfig
382 Requires: %{name}-common = %{epoch}:%{version}-%{release}
383 Provides: bacula(db) = %{epoch}:%{version}-%{release}
384 Obsoletes: bacula(db)
386 %description db-sqlite3
387 SQLite database driver for Bacula.
389 %description db-sqlite3 -l pl.UTF-8
390 Sterownik bazy SQLite dla Baculi.
393 Summary: libdbi database driver for Bacula
394 Summary(pl.UTF-8): Sterownik bazy libdbi dla Baculi
395 Group: Networking/Utilities
396 Requires(post): /sbin/ldconfig
397 Requires: %{name}-common = %{epoch}:%{version}-%{release}
398 Provides: bacula(db) = %{epoch}:%{version}-%{release}
399 Obsoletes: bacula(db)
402 libdbi database driver for Bacula.
404 %description db-dbi -l pl.UTF-8
405 Sterownik baz libdbi dla Baculi.
408 Summary: Bacula - The Network Backup Solution
409 Summary(pl.UTF-8): Bacula - rozwiązanie do wykonywania kopii zapasowych po sieci
410 Group: Networking/Utilities
411 Requires: %{name}-fd = %{epoch}:%{version}-%{release}
416 Bacula - It comes by night and sucks the vital essence from your
419 Bacula is a set of computer programs that permit you (or the system
420 administrator) to manage backup, recovery, and verification of
421 computer data across a network of computers of different kinds. In
422 technical terms, it is a network client/server based backup program.
423 Bacula is relatively easy to use and efficient, while offering many
424 advanced storage management features that make it easy to find and
425 recover lost or damaged files.
427 This package installs scripts for disaster recovery and builds rescue
428 floppy disk for bare metal recovery.
430 %description rescue -l pl.UTF-8
431 Bacula - przychodzi nocą i wysysa żywotny ekstrakt z komputerów.
433 Bacula to zbiór programów umożliwiających administratorowi na
434 zarządzanie kopiami zapasowymi, odzyskiwaniem i weryfikacją danych w
435 sieci komputerów różnego rodzaju. W terminologii technicznej jest to
436 program do kopii zapasowych pracujący w architekturze klient-serwer.
437 Bacula jest stosunkowo łatwa w użyciu i wydajna, oferując przy tym
438 wiele zaawansowanych możliwości przy zarządzaniu nośnikami,
439 ułatwiających znalezienie i odzyskanie utraconych lub uszkodzonych
442 Ten pakiet zawiera skrypty do odtwarzania po awarii i tworzy dyskietkę
443 ratunkowe do odtwarzania systemu od zera.
445 %package -n nagios-plugin-check_bacula
446 Summary: Nagios plugin to check bacula
448 Requires: nagios-common
450 %description -n nagios-plugin-check_bacula
451 Nagios plugin to check bacula.
466 tar -xf %{SOURCE2} && ln -s bacula-rescue-* rescue
468 sed -i -e 's#bindir=.*#bindir=%{_bindir}#g' \
469 src/cats/create_* src/cats/delete_* src/cats/drop_* \
470 src/cats/grant_* src/cats/make_* src/cats/update_*
471 sed -i -e 's/@hostname@/--hostname--/' src/*/*.conf.in
474 for dbtype in mysql postgresql sqlite3; do
475 sed -i -e "s,@DB_TYPE@,$dbtype,g" src/cats/*_${dbtype}_*
481 %{__aclocal} -I bacula-macros -I gettext-macros
482 # $BUILD_DIR not seen by libtoolize, export it
483 BUILD_DIR=.. %{__libtoolize}
485 %{__autoconf} --prepend-include=$(pwd)/autoconf autoconf/configure.in > configure
487 CPPFLAGS="-I/usr/include/ncurses -I%{_includedir}/readline"
489 # we wan't the 'base' build built with the last database in the list,
490 # to make sure it is full-featured
491 for database in %{databases}; do
492 WXCONFIG=%{_bindir}/wx-gtk2-unicode-config \
494 --with-scriptdir=%{_libexecdir}/%{name} \
495 %{?with_bat:--enable-bat} \
497 --enable-smartalloc \
498 %{?with_console_wx:--enable-bwx-console} \
499 --enable-tray-monitor \
500 %{?with_python:--with-python} \
502 --with-tcp-wrappers \
503 --with-working-dir=%{_var}/lib/%{name} \
504 --with-dump-email="root@localhost" \
505 --with-job-email="root@localhost" \
506 --with-smtp-host=localhost \
507 --with-pid-dir=/var/run \
508 --with-subsys-dir=/var/lock/subsys \
509 --enable-batch-insert \
511 %{?with_sqlite3_sync_off:--enable-extra-sqlite3-init="pragma synchronous=0;"} \
512 --with-dir-password="#FAKE-dir-password#" \
513 --with-fd-password="#FAKE-fd-password#" \
514 --with-sd-password="#FAKE-sd-password#" \
515 --with-mon-dir-password="#FAKE-mon-dir-password#" \
516 --with-mon-fd-password="#FAKE-mon-fd-password#" \
517 --with-mon-sd-password="#FAKE-mon-sd-password#" \
520 # build the database library
521 %{__make} -C src/cats clean
522 %{__make} -C src/cats
524 # install the database library in a temporary location
525 install -d libbacsql/$database%{_libdir}
526 %{__make} -C src/cats libtool-install DESTDIR=$PWD/libbacsql/$database
539 %{__make} -C examples/nagios/check_bacula
551 rm -rf $RPM_BUILD_ROOT
553 install -d $RPM_BUILD_ROOT/etc/{rc.d/init.d,logrotate.d,pam.d,sysconfig}
554 install -d $RPM_BUILD_ROOT%{_sysconfdir}/rescue
555 install -d $RPM_BUILD_ROOT{%{_pixmapsdir},%{_desktopdir},%{_mandir},%{_bindir},/var/log/bacula}
558 DESTDIR=$RPM_BUILD_ROOT
560 # install libraries for all the database backends
561 # ldconfig will add the soname symlinks when one of the packages is installed
562 for database in %{databases}; do
563 for libfile in libbacsql/$database%{_libdir}/lib*-*.so; do
564 orig_name=${libfile##*/}
565 file_prefix=${orig_name%%-*.so}
566 file_suffix=${orig_name#*-}
567 file_name=$file_prefix-$database-$file_suffix
568 install -p $libfile $RPM_BUILD_ROOT/%{_libdir}/$file_name
569 touch $RPM_BUILD_ROOT/%{_libdir}/$orig_name
573 install -p %{SOURCE10} $RPM_BUILD_ROOT/etc/rc.d/init.d/bacula-dir
574 install -p %{SOURCE11} $RPM_BUILD_ROOT/etc/rc.d/init.d/bacula-fd
575 install -p %{SOURCE12} $RPM_BUILD_ROOT/etc/rc.d/init.d/bacula-sd
576 cp -a %{SOURCE13} $RPM_BUILD_ROOT/etc/logrotate.d/%{name}-dir
577 cp -a %{SOURCE14} $RPM_BUILD_ROOT/etc/sysconfig/bacula-dir
578 cp -a %{SOURCE15} $RPM_BUILD_ROOT/etc/sysconfig/bacula-fd
579 cp -a %{SOURCE16} $RPM_BUILD_ROOT/etc/sysconfig/bacula-sd
581 %if %{with console_wx}
582 # tray-monitor is for regular users
583 #mv $RPM_BUILD_ROOT%{_sbindir}/bacula-tray-monitor $RPM_BUILD_ROOT%{_bindir}
585 cp -a scripts/bacula.png $RPM_BUILD_ROOT%{_pixmapsdir}/bacula.png
586 #install src/tray-monitor/generic.xpm $RPM_BUILD_ROOT%{_pixmapsdir}/bacula-tray-monitor.xpm
587 sed -e 's/gnome-console/wx-console/g;s/Console/Wx Console/g' \
588 scripts/bacula.desktop.gnome2 > $RPM_BUILD_ROOT%{_desktopdir}/bacula-wx.desktop
589 #sed -e 's#%{_sbindir}#%{_bindir}#' \
590 # scripts/bacula-tray-monitor.desktop > $RPM_BUILD_ROOT%{_desktopdir}/bacula-tray-monitor.desktop
594 # TODO: libtool install
595 install src/qt-console/.libs/bat $RPM_BUILD_ROOT%{_bindir}
596 cp -a scripts/bat.desktop $RPM_BUILD_ROOT%{_desktopdir}
600 # install the rescue stuff, these are the rescue scripts
601 cp -a rescue/linux/floppy/backup.etc.list $RPM_BUILD_ROOT%{_sysconfdir}/rescue
602 cp -a rescue/linux/floppy/sfdisk.bz2 $RPM_BUILD_ROOT%{_sysconfdir}/rescue
603 install -p rescue/linux/floppy/*_* $RPM_BUILD_ROOT%{_sysconfdir}/rescue
604 install -p rescue/linux/floppy/getdiskinfo $RPM_BUILD_ROOT%{_sysconfdir}/rescue
607 touch $RPM_BUILD_ROOT/var/log/bacula/log
609 # install the updatedb scripts
610 install -p updatedb/update_sqlite* $RPM_BUILD_ROOT%{_libexecdir}/%{name}
612 # place for site passwords
613 touch $RPM_BUILD_ROOT%{_sysconfdir}/{dir-password,fd-password,sd-password}
614 touch $RPM_BUILD_ROOT%{_sysconfdir}/{mon-dir-password,mon-fd-password,mon-sd-password}
616 mv $RPM_BUILD_ROOT%{_libdir}/bacula/mtx-changer.conf $RPM_BUILD_ROOT/etc/bacula/mtx-changer.conf
619 rm -f $RPM_BUILD_ROOT%{_libexecdir}/%{name}/{gconsole,startmysql,stopmysql,bacula,bconsole,fd}
620 %if %{without console_wx}
621 rm -f $RPM_BUILD_ROOT%{_desktopdir}/bacula-wx.desktop
623 touch $RPM_BUILD_ROOT%{_sysconfdir}/.pw.sed
625 rm $RPM_BUILD_ROOT%{_docdir}/bacula/ChangeLog
626 rm $RPM_BUILD_ROOT%{_docdir}/bacula/INSTALL
627 rm $RPM_BUILD_ROOT%{_docdir}/bacula/LICENSE
628 rm $RPM_BUILD_ROOT%{_docdir}/bacula/README
629 rm $RPM_BUILD_ROOT%{_docdir}/bacula/ReleaseNotes
630 rm $RPM_BUILD_ROOT%{_docdir}/bacula/VERIFYING
631 rm $RPM_BUILD_ROOT%{_docdir}/bacula/technotes
633 # startup scripts, those in /etc/rc.d/init.d are better
634 rm $RPM_BUILD_ROOT%{_sbindir}/bacula
635 rm $RPM_BUILD_ROOT%{_libexecdir}/%{name}/bacula-ctl-*
638 rm $RPM_BUILD_ROOT%{_libexecdir}/%{name}/*_bdb_*
640 # rename to avoid possible conflicts
641 mv $RPM_BUILD_ROOT%{_sbindir}/{,bacula-}dbcheck
642 mv $RPM_BUILD_ROOT%{_mandir}/man8/{,bacula-}dbcheck.8.gz
644 # no -devel files packaged, so this is also useless
645 rm $RPM_BUILD_ROOT%{_libdir}/libbac{,cfg,find,py,sql}.{so,la}
647 # placeholders for the symlinks set in %%post db-*
648 for f in create_bacula_database drop_bacula_database drop_bacula_tables \
649 grant_bacula_privileges make_bacula_tables update_bacula_tables ; do
651 ln -sf /dev/null $RPM_BUILD_ROOT%{_libexecdir}/%{name}/$f
655 %{__make} -C examples/nagios/check_bacula install \
656 sbindir=%{nagiosplugindir} \
657 DESTDIR=$RPM_BUILD_ROOT
661 rm -rf $RPM_BUILD_ROOT
664 %groupadd -P %{name}-common -g 136 -r -f bacula
665 %useradd -P %{name}-common -u 136 -r -d /var/lib/bacula -s /bin/false -c "Bacula User" -g bacula bacula
668 %define update_configs \
669 echo "Updating bacula passwords and names..." | %banner \
671 for f in *-password ; do \
672 if [ ! -s $f ] ; then \
673 openssl rand -base64 33 > $f \
676 for cf in *.conf *.conf.rpmnew ; do \
677 [ -f $cf ] && sed -i -e"s:#FAKE-$f#:$p:" "$cf" || : \
680 for cf in *.conf *.conf.rpmnew ; do \
681 [ -f $cf ] && sed -i -e"s:--hostname--:`hostname`:" "$cf" || : \
690 if [ "$1" = "0" ]; then
695 %triggerpostun dir -- %{name}-dir < 5.0
696 %banner bacula-dir -t3 <<EOF
697 You have upgraded from an older version of Bacula director.
699 You will probably need to call %{_libexecdir}/%{name}/update_bacula_tables
700 script to upgrade the database.
705 /sbin/chkconfig --add bacula-dir
706 %service bacula-dir restart "Bacula Director daemon"
709 if [ "$1" = "0" ]; then
710 %service bacula-dir stop
711 /sbin/chkconfig --del bacula-dir
716 /sbin/chkconfig --add bacula-fd
717 %service bacula-fd restart "Bacula File daemon"
720 if [ "$1" = "0" ]; then
721 %service bacula-fd stop
722 /sbin/chkconfig --del bacula-fd
727 /sbin/chkconfig --add bacula-sd
728 %service bacula-sd restart "Bacula Storage daemon"
731 if [ "$1" = "0" ]; then
732 %service bacula-sd stop
733 /sbin/chkconfig --del bacula-sd
737 if [ -e %{_sysconfdir}/console.conf -a ! -e %{_sysconfdir}/bconsole.conf ]; then
738 mv %{_sysconfdir}/console.conf %{_sysconfdir}/bconsole.conf
747 %triggerpostun common -- %{name}-common < 5.0.1-2
748 find /etc/bacula/bat.conf* -perm /007 -print0 | xargs -0 -r chmod 600 || :
757 # link our current installed conf file to the rescue directory
758 ln -sf %{_sysconfdir}/bacula-fd.conf %{_sysconfdir}/rescue/bacula-fd.conf
761 echo "Creating rescue files for this system..."
762 cd %{_sysconfdir}/rescue
766 # remove the files created after the initial rpm installation
767 if [ "$1" = "0" ]; then
768 rm -f %{_sysconfdir}/rescue/bacula-fd.conf
769 rm -f %{_sysconfdir}/rescue/partition.*
770 rm -f %{_sysconfdir}/rescue/format.*
771 rm -f %{_sysconfdir}/rescue/mount_drives
772 rm -f %{_sysconfdir}/rescue/start_network
773 rm -f %{_sysconfdir}/rescue/sfdisk
774 rm -rf %{_sysconfdir}/rescue/diskinfo/*
779 for name in "create database" "drop tables" "drop database" "grant privileges" "make tables" "update tables"; do \
780 prefix="${name%% *}" \
781 suffix="${name#* }" \
782 ln -sf "${prefix}_%{1}_${suffix}" %{_libexecdir}/%{name}/"${prefix}_bacula_${suffix}" || : \
784 %service bacula-dir restart "Bacula Director daemon"
786 %define db_postun() \
788 if [ "$1" = "0" ]; then \
789 for f in %{_libexecdir}/%{name}/*_bacula_*; do \
790 if [ -L "$f" -a ! -e "$f" ]; then \
799 %postun db-postgresql
800 %db_postun postgresql
814 # dbi backend is different, as it is not bound with a specific db engine
817 %service bacula-dir restart "Bacula Director daemon"
819 %postun db-dbi -p /sbin/ldconfig
822 %defattr(644,root,root,755)
825 %attr(600,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/*-password
826 # do not remove bsmtp from files. Fix build if it is not installed.
827 %attr(755,root,root) %{_sbindir}/bsmtp
828 %attr(755,root,root) %{_sbindir}/btraceback
829 %attr(755,root,root) %{_libdir}/libbac-%{version}.so
830 %attr(755,root,root) %{_libdir}/libbaccfg-%{version}.so
831 %attr(755,root,root) %{_libdir}/libbacfind-%{version}.so
832 %attr(755,root,root) %{_libdir}/libbacpy-%{version}.so
833 %{_mandir}/man8/bacula.8*
834 %{_mandir}/man1/bsmtp.1*
835 %{_mandir}/man8/btraceback.8*
836 %dir %{_libexecdir}/%{name}
837 %{_libexecdir}/%{name}/btraceback.dbx
838 %{_libexecdir}/%{name}/btraceback.gdb
839 %{_libexecdir}/%{name}/bacula_config
840 %attr(770,root,bacula) %dir %{_localstatedir}
841 %attr(750,bacula,logs) %dir /var/log/bacula
842 %attr(640,bacula,logs) %ghost /var/log/bacula/log
845 %defattr(644,root,root,755)
846 %doc ChangeLog CheckList ReleaseNotes kernstodo LICENSE
847 #%doc examples %{name}-docs-%{version}/manual/{*.pdf,bacula}
848 %attr(640,root,bacula) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/bacula-dir.conf
849 %ghost %{_sysconfdir}/.pw.sed
850 %attr(640,root,root) %config(noreplace) /etc/logrotate.d/bacula-dir
851 %attr(754,root,root) /etc/rc.d/init.d/bacula-dir
852 %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/bacula-dir
853 %attr(755,root,root) %{_sbindir}/bacula-dir
854 %attr(755,root,root) %{_sbindir}/bregex
855 %attr(755,root,root) %{_sbindir}/bwild
856 %attr(755,root,root) %{_sbindir}/bacula-dbcheck
857 %{_mandir}/man8/bacula-dir.8*
858 %{_mandir}/man8/bacula-dbcheck.8*
859 %{_libexecdir}/%{name}/query.sql
860 #%attr(755,root,root) %{_libexecdir}/%{name}/make_catalog_backup
861 #%attr(755,root,root) %{_libexecdir}/%{name}/delete_catalog_backup
864 %defattr(644,root,root,755)
865 %attr(755,root,root) %{_libexecdir}/%{name}/create_postgresql_database
866 %attr(755,root,root) %{_libexecdir}/%{name}/drop_postgresql_database
867 %attr(755,root,root) %{_libexecdir}/%{name}/drop_postgresql_tables
868 %attr(755,root,root) %{_libexecdir}/%{name}/grant_postgresql_privileges
869 %attr(755,root,root) %{_libexecdir}/%{name}/make_postgresql_tables
870 %attr(755,root,root) %{_libexecdir}/%{name}/update_postgresql_*
871 %attr(755,root,root) %{_libdir}/libbacsql-postgresql-%{version}.so
873 %ghost %attr(755,root,root) %{_libdir}/libbacsql-%{version}.so
874 %ghost %{_libexecdir}/%{name}/create_bacula_database
875 %ghost %{_libexecdir}/%{name}/drop_bacula_tables
876 %ghost %{_libexecdir}/%{name}/drop_bacula_database
877 %ghost %{_libexecdir}/%{name}/grant_bacula_privileges
878 %ghost %{_libexecdir}/%{name}/make_bacula_tables
879 %ghost %{_libexecdir}/%{name}/update_bacula_tables
882 %defattr(644,root,root,755)
883 %attr(755,root,root) %{_libexecdir}/%{name}/create_mysql_database
884 %attr(755,root,root) %{_libexecdir}/%{name}/drop_mysql_database
885 %attr(755,root,root) %{_libexecdir}/%{name}/drop_mysql_tables
886 %attr(755,root,root) %{_libexecdir}/%{name}/grant_mysql_privileges
887 %attr(755,root,root) %{_libexecdir}/%{name}/make_mysql_tables
888 %attr(755,root,root) %{_libexecdir}/%{name}/update_mysql_*
889 %attr(755,root,root) %{_libdir}/libbacsql-mysql-%{version}.so
891 %ghost %attr(755,root,root) %{_libdir}/libbacsql-%{version}.so
892 %ghost %{_libexecdir}/%{name}/create_bacula_database
893 %ghost %{_libexecdir}/%{name}/drop_bacula_tables
894 %ghost %{_libexecdir}/%{name}/drop_bacula_database
895 %ghost %{_libexecdir}/%{name}/grant_bacula_privileges
896 %ghost %{_libexecdir}/%{name}/make_bacula_tables
897 %ghost %{_libexecdir}/%{name}/update_bacula_tables
900 %defattr(644,root,root,755)
901 %attr(755,root,root) %{_libexecdir}/%{name}/create_sqlite3_database
902 %attr(755,root,root) %{_libexecdir}/%{name}/drop_sqlite3_database
903 %attr(755,root,root) %{_libexecdir}/%{name}/drop_sqlite3_tables
904 %attr(755,root,root) %{_libexecdir}/%{name}/grant_sqlite3_privileges
905 %attr(755,root,root) %{_libexecdir}/%{name}/make_sqlite3_tables
906 %attr(755,root,root) %{_libexecdir}/%{name}/update_sqlite3_*
907 %attr(755,root,root) %{_libexecdir}/%{name}/update_sqlite_*
908 %attr(755,root,root) %{_libdir}/libbacsql-sqlite3-%{version}.so
910 %ghost %attr(755,root,root) %{_libdir}/libbacsql-%{version}.so
911 %ghost %{_libexecdir}/%{name}/create_bacula_database
912 %ghost %{_libexecdir}/%{name}/drop_bacula_tables
913 %ghost %{_libexecdir}/%{name}/drop_bacula_database
914 %ghost %{_libexecdir}/%{name}/grant_bacula_privileges
915 %ghost %{_libexecdir}/%{name}/make_bacula_tables
916 %ghost %{_libexecdir}/%{name}/update_bacula_tables
919 %defattr(644,root,root,755)
920 %attr(755,root,root) %{_libexecdir}/%{name}/create_postgresql_database
921 %attr(755,root,root) %{_libexecdir}/%{name}/drop_postgresql_database
922 %attr(755,root,root) %{_libexecdir}/%{name}/drop_postgresql_tables
923 %attr(755,root,root) %{_libexecdir}/%{name}/grant_postgresql_privileges
924 %attr(755,root,root) %{_libexecdir}/%{name}/make_postgresql_tables
925 %attr(755,root,root) %{_libexecdir}/%{name}/update_postgresql_*
926 %attr(755,root,root) %{_libexecdir}/%{name}/create_mysql_database
927 %attr(755,root,root) %{_libexecdir}/%{name}/drop_mysql_database
928 %attr(755,root,root) %{_libexecdir}/%{name}/drop_mysql_tables
929 %attr(755,root,root) %{_libexecdir}/%{name}/grant_mysql_privileges
930 %attr(755,root,root) %{_libexecdir}/%{name}/make_mysql_tables
931 %attr(755,root,root) %{_libexecdir}/%{name}/update_mysql_*
932 %attr(755,root,root) %{_libexecdir}/%{name}/create_sqlite3_database
933 %attr(755,root,root) %{_libexecdir}/%{name}/drop_sqlite3_database
934 %attr(755,root,root) %{_libexecdir}/%{name}/drop_sqlite3_tables
935 %attr(755,root,root) %{_libexecdir}/%{name}/grant_sqlite3_privileges
936 %attr(755,root,root) %{_libexecdir}/%{name}/make_sqlite3_tables
937 %attr(755,root,root) %{_libexecdir}/%{name}/update_sqlite3_*
938 %attr(755,root,root) %{_libexecdir}/%{name}/update_sqlite_*
939 %attr(755,root,root) %{_libdir}/libbacsql-dbi-%{version}.so
941 %ghost %attr(755,root,root) %{_libdir}/libbacsql-%{version}.so
944 %defattr(644,root,root,755)
946 %attr(600,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/bacula-fd.conf
947 %attr(754,root,root) /etc/rc.d/init.d/bacula-fd
948 %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/bacula-fd
949 %attr(755,root,root) %{_sbindir}/bacula-fd
950 %attr(755,root,root) %{_libdir}/bpipe-fd.so
951 %{_mandir}/man8/bacula-fd.8*
954 %defattr(644,root,root,755)
956 %attr(600,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/bacula-sd.conf
957 %attr(600,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/mtx-changer.conf
958 %attr(754,root,root) /etc/rc.d/init.d/bacula-sd
959 %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/bacula-sd
960 %attr(755,root,root) %{_sbindir}/bacula-sd
961 %attr(755,root,root) %{_sbindir}/bcopy
962 %attr(755,root,root) %{_sbindir}/bextract
963 %attr(755,root,root) %{_sbindir}/bls
964 %attr(755,root,root) %{_sbindir}/bscan
965 %attr(755,root,root) %{_sbindir}/btape
966 %attr(755,root,root) %{_libexecdir}/%{name}/mtx-changer
967 %attr(755,root,root) %{_libexecdir}/%{name}/disk-changer
968 %attr(755,root,root) %{_libexecdir}/%{name}/dvd-handler
969 %{_mandir}/man8/bacula-sd.8*
970 %{_mandir}/man8/bcopy.8*
971 %{_mandir}/man8/bextract.8*
972 %{_mandir}/man8/bls.8*
973 %{_mandir}/man8/bscan.8*
974 %{_mandir}/man8/btape.8*
977 %defattr(644,root,root,755)
979 %attr(600,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/bconsole.conf
980 %attr(755,root,root) %{_sbindir}/bconsole
981 %{_mandir}/man8/bconsole.8*
983 %if %{with console_wx}
985 %defattr(644,root,root,755)
987 %{_pixmapsdir}/%{name}.png
988 %{_desktopdir}/bacula-wx.desktop
989 %attr(640,root,bacula) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/bwx-console.conf
990 %attr(755,root,root) %{_sbindir}/bwx-console
991 %{_mandir}/man1/bacula-bwxconsole.1*
996 %defattr(644,root,root,755)
998 %{_pixmapsdir}/%{name}.png
999 %{_desktopdir}/bat.desktop
1000 # Do not make this file world-readable or any user will get full access to the
1002 %attr(640,root,bacula) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/bat.conf
1003 %attr(755,root,root) %{_bindir}/bat
1004 %{_mandir}/man1/bat.1*
1008 %if %{with console_wx}
1010 %defattr(644,root,root,755)
1012 %attr(755,root,root) %{_sbindir}/bacula-tray-monitor
1013 #%{_pixmapsdir}/%{name}-tray-monitor.xpm
1014 #%{_desktopdir}/%{name}-tray-monitor.desktop
1015 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/tray-monitor.conf
1016 %{_mandir}/man1/bacula-tray-monitor.1*
1021 %defattr(644,root,root,755)
1023 %dir %{_sysconfdir}/rescue
1024 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/rescue/backup.etc.list
1025 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/rescue/bacula-fd
1026 %attr(755,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/rescue/format_floppy
1027 %attr(755,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/rescue/getdiskinfo
1028 %attr(755,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/rescue/make_rescue_disk
1029 %attr(755,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/rescue/restore_bacula
1030 %attr(755,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/rescue/restore_etc
1031 %attr(755,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/rescue/run_grub
1032 %attr(755,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/rescue/run_lilo
1033 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/rescue/sfdisk.bz2
1037 %files -n nagios-plugin-check_bacula
1038 %defattr(644,root,root,755)
1039 %attr(755,root,root) %{nagiosplugindir}/check_bacula