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
27 License: extended GPL v2
28 Group: Networking/Utilities
29 Source0: http://downloads.sourceforge.net/bacula/%{name}-%{version}.tar.gz
30 # Source0-md5: e9204d2e772f12662de28da3327853de
31 Source1: http://downloads.sourceforge.net/bacula/%{name}-docs-%{version}.tar.bz2
32 # Source1-md5: 7a6afbf592dde4fae0240d82ed3cb10d
33 Source2: http://downloads.sourceforge.net/bacula/%{name}-rescue-5.0.0.tar.gz
34 # Source2-md5: 349623581cfe0bcd798dd137abac959a
35 Source10: %{name}-dir.init
36 Source11: %{name}-fd.init
37 Source12: %{name}-sd.init
38 Source13: %{name}.logrotate
39 Source14: %{name}-dir.sysconfig
40 Source15: %{name}-fd.sysconfig
41 Source16: %{name}-sd.sysconfig
42 Patch0: %{name}-mtx-changer.patch
43 Patch1: %{name}-link.patch
44 Patch2: %{name}-tinfo-readline.patch
45 Patch3: %{name}-branding.patch
46 Patch4: %{name}-conf.patch
47 Patch5: %{name}-desktop.patch
48 Patch6: %{name}-64bitbuild_fix.patch
49 Patch7: %{name}-dbi_fixes.patch
50 Patch8: %{name}-dbi_dbcheck.patch
51 Patch9: %{name}-openssl1.patch
52 URL: http://www.bacula.org/
53 BuildRequires: acl-devel
54 BuildRequires: autoconf
55 BuildRequires: automake
56 BuildRequires: gettext-devel
57 BuildRequires: libcap-devel
58 %{?with_dbi:BuildRequires: libdbi-devel >= 0.8.4}
59 BuildRequires: libtool
61 BuildRequires: fakeroot
63 BuildRequires: libwrap-devel
65 BuildRequires: ncurses-devel
66 BuildRequires: openssl-devel
67 BuildRequires: pkgconfig
69 BuildRequires: python-devel
72 BuildRequires: QtCore-devel
73 BuildRequires: QtGui-devel
74 BuildRequires: qt4-build >= 4.3.3-3
75 BuildRequires: qt4-qmake >= 4.3.3-3
76 BuildRequires: qwt-devel >= 5.0.2-2
78 %{?with_mysql:BuildRequires: mysql-devel}
79 %{?with_pgsql:BuildRequires: postgresql-devel}
80 BuildRequires: readline-devel
81 BuildRequires: rpmbuild(macros) >= 1.268
82 BuildRequires: sed >= 4.0
83 %{?with_sqlite3:BuildRequires: sqlite3-devel}
84 %if %{with console_wx}
85 BuildRequires: wxGTK2-unicode-devel >= 2.4.0
87 BuildRequires: zlib-devel
88 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
90 %define _sysconfdir /etc/%{name}
91 %define _localstatedir /var/lib/%{name}
92 %define nagiosplugindir %{_prefix}/lib/nagios/plugins
94 # from 'the worst' to 'the best'
95 %define databases %{?with_dbi:dbi} %{?with_sqlite3:sqlite3} %{?with_mysql:mysql} %{?with_pgsql:postgresql}
97 # dependency section is broken. ccache usage is instead to makefiles
101 Bacula - It comes by night and sucks the vital essence from your
104 Bacula is a set of computer programs that permit you (or the system
105 administrator) to manage backup, recovery, and verification of
106 computer data across a network of computers of different kinds. In
107 technical terms, it is a network client/server based backup program.
108 Bacula is relatively easy to use and efficient, while offering many
109 advanced storage management features that make it easy to find and
110 recover lost or damaged files.
112 %description -l pl.UTF-8
113 Bacula - przychodzi nocą i wysysa żywotny ekstrakt z komputerów.
115 Bacula to zbiór programów umożliwiających administratorowi na
116 zarządzanie kopiami zapasowymi, odzyskiwaniem i weryfikacją danych w
117 sieci komputerów różnego rodzaju. W terminologii technicznej jest to
118 program do kopii zapasowych pracujący w architekturze klient-serwer.
119 Bacula jest stosunkowo łatwa w użyciu i wydajna, oferując przy tym
120 wiele zaawansowanych możliwości przy zarządzaniu nośnikami,
121 ułatwiających znalezienie i odzyskanie utraconych lub uszkodzonych
125 Summary: Common files for bacula package
126 Summary(pl.UTF-8): Pliki wspólne dla pakietu bacula
127 Group: Networking/Utilities
128 Requires(post): openssl-tools
129 Requires(post): sed >= 4.0
130 Requires(post,preun): /sbin/chkconfig
131 Requires(postun): /usr/sbin/groupdel
132 Requires(postun): /usr/sbin/userdel
133 Requires(pre): /usr/sbin/groupadd
134 Requires(pre): /usr/sbin/useradd
135 Conflicts: bacula-console < 0:1.34.6
136 Conflicts: bacula-dir < 0:1.34.6
137 Conflicts: bacula-fd < 0:1.34.6
138 Conflicts: bacula-sd < 0:1.34.6
141 Bacula - It comes by night and sucks the vital essence from your
144 Bacula is a set of computer programs that permit you (or the system
145 administrator) to manage backup, recovery, and verification of
146 computer data across a network of computers of different kinds. In
147 technical terms, it is a network client/server based backup program.
148 Bacula is relatively easy to use and efficient, while offering many
149 advanced storage management features that make it easy to find and
150 recover lost or damaged files.
152 %description common -l pl.UTF-8
153 Bacula - przychodzi nocą i wysysa żywotny ekstrakt z komputerów.
155 Bacula to zbiór programów umożliwiających administratorowi na
156 zarządzanie kopiami zapasowymi, odzyskiwaniem i weryfikacją danych w
157 sieci komputerów różnego rodzaju. W terminologii technicznej jest to
158 program do kopii zapasowych pracujący w architekturze klient-serwer.
159 Bacula jest stosunkowo łatwa w użyciu i wydajna, oferując przy tym
160 wiele zaawansowanych możliwości przy zarządzaniu nośnikami,
161 ułatwiających znalezienie i odzyskanie utraconych lub uszkodzonych
165 Summary: Bacula Director and Catalog services
166 Summary(pl.UTF-8): Usługi Bacula Director i Catalog
167 Group: Networking/Utilities
168 Requires(post): sed >= 4.0
169 Requires: %{name}-common = %{version}-%{release}
170 Requires: bacula(db) = %{version}-%{release}
171 Obsoletes: bacula-updatedb
174 Bacula - It comes by night and sucks the vital essence from your
177 Bacula Director is the program that supervises all the backup,
178 restore, verify and archive operations. The system administrator uses
179 the Bacula Director to schedule backups and to recover files. Catalog
180 services are comprised of the software programs responsible for
181 maintaining the file indexes and volume databases for all files backed
182 up. The Catalog services permit the System Administrator or user to
183 quickly locate and restore any desired file, since it maintains a
184 record of all Volumes used, all Jobs run, and all Files saved.
186 %description dir -l pl.UTF-8
187 Bacula - przychodzi nocą i wysysa żywotny ekstrakt z komputerów.
189 Bacula Director to program nadzorujący wszystkie operacje wykonywania
190 kopii zapasowych, odzyskiwania, weryfikacji i archiwizowania.
191 Administrator używa Bacula Directora do szeregowania kopii zapasowych
192 oraz odzyskiwania plików. Usługi katalogowe (Catalog services) są
193 używane przez programy odpowiedzialne za zarządzanie indeksami plików
194 i bazą danych wolumenów dla wszystkich kopiowanych plików. Usługi
195 katalogowe umożliwiają administratorowi lub użytkownikowi szybko
196 zlokalizować i odtworzyć dowolny plik, ponieważ utrzymują rekord ze
197 wszystkimi używanymi wolumenami, uruchomionymi zadaniami i zapisanymi
201 Summary: Bacula Console
202 Summary(pl.UTF-8): Konsola Baculi
203 Group: Networking/Utilities
204 Requires(post): sed >= 4.0
205 Requires: %{name}-common = %{version}-%{release}
208 Bacula - It comes by night and sucks the vital essence from your
211 Bacula Console is the program that allows the administrator or user to
212 communicate with the Bacula Director. This is the text only console
215 %description console -l pl.UTF-8
216 Bacula - przychodzi nocą i wysysa żywotny ekstrakt z komputerów.
218 Bacula Console to program umożliwiający administratorowi lub
219 użytkownikowi komunikowanie się z programem Bacula Director. To jest
220 interfejs czysto tekstowy.
223 Summary: Bacula wxWidgets Console
224 Summary(pl.UTF-8): Konsola Baculi oparta na wxWidgets
225 Group: Networking/Utilities
226 Requires(post): sed >= 4.0
227 Requires: %{name}-common = %{version}-%{release}
229 %description console-wx
230 Bacula - It comes by night and sucks the vital essence from your
233 Bacula Console is the program that allows the administrator or user to
234 communicate with the Bacula Director. This is the wxWidgets GUI
237 %description console-wx -l pl.UTF-8
238 Bacula - przychodzi nocą i wysysa żywotny ekstrakt z komputerów.
240 Bacula Console to program umożliwiający administratorowi lub
241 użytkownikowi komunikowanie się z programem Bacula Director. To jest
242 interfejs graficzny oparty na wxWidgets.
245 Summary: Bacula Qt4 Console
246 Summary(pl.UTF-8): Konsola Baculi oparta na Qt4
247 Group: Networking/Utilities
248 Requires(post): sed >= 4.0
249 Requires: %{name}-common = %{version}-%{release}
251 %description console-qt4
252 Bacula - It comes by night and sucks the vital essence from your
255 Bacula Console is the program that allows the administrator or user to
256 communicate with the Bacula Director. This is the Qt4 GUI interface.
258 %description console-qt4 -l pl.UTF-8
259 Bacula - przychodzi nocą i wysysa żywotny ekstrakt z komputerów.
261 Bacula Console to program umożliwiający administratorowi lub
262 użytkownikowi komunikowanie się z programem Bacula Director. To jest
263 interfejs graficzny oparty na Qt4.
265 %package tray-monitor
266 Summary: Bacula Tray Monitor
267 Group: Networking/Utilities
268 Requires(post): sed >= 4.0
269 Requires: %{name}-common = %{version}-%{release}
271 %description tray-monitor
272 Bacula - It comes by night and sucks the vital essence from your
275 The Monitor program is typically an icon in the system tray. However,
276 once the icon is expanded into a full window, the administrator or
277 user can obtain status information about the Director or the backup
278 status on the local workstation or any other Bacula daemon that is
282 Summary: Bacula File services (Client)
283 Summary(pl.UTF-8): Usługi Bacula File (klient)
284 Group: Networking/Utilities
285 Requires(post): sed >= 4.0
286 Requires: %{name}-common = %{version}-%{release}
289 Bacula - It comes by night and sucks the vital essence from your
292 Bacula File services (or Client program) is the software program that
293 is installed on the machine to be backed up. It is specific to the
294 operating system on which it runs and is responsible for providing the
295 file attributes and data when requested by the Director. The File
296 services are also responsible for the file system dependent part of
297 restoring the file attributes and data during a recovery operation.
298 This program runs as a daemon on the machine to be backed up, and in
299 some of the documentation, the File daemon is referred to as the
300 Client (for example in Bacula configuration file).
302 %description fd -l pl.UTF-8
303 Bacula - przychodzi nocą i wysysa żywotny ekstrakt z komputerów.
305 Usługi Bacula File (inaczej program kliencki) to oprogramowanie, które
306 instaluje się na maszynach, z których mają być wykonywane kopie
307 zapasowe. Są one specyficzne dla systemu operacyjnego, pod którym
308 działa dana maszyna i odpowiadają za dostarczanie atrybutów i danych
309 plików na żądanie Directora. Usługi plikowe są także odpowiedzialne za
310 zależną od systemu plików część odzyskiwania atrybutów i danych plików
311 podczas operacji odzyskiwania danych. Program działa jako demon na
312 maszynie, która ma być backupowana i w części dokumentacji demon ten
313 (File) jest nazywany klientem (na przykład w pliku konfiguracyjnym
317 Summary: Bacula Storage services
318 Summary(pl.UTF-8): Usługi Bacula Storage
319 Group: Networking/Utilities
320 Requires(post): sed >= 4.0
321 Requires: %{name}-common = %{version}-%{release}
322 Conflicts: dvd+rw-tools <= 5.21.4.10.8-1
325 Bacula - It comes by night and sucks the vital essence from your
328 Bacula Storage services consist of the software programs that perform
329 the storage and recovery of the file attributes and data to the
330 physical backup media or volumes. In other words, the Storage daemon
331 is responsible for reading and writing your tapes (or other storage
332 media, e.g. files). The Storage services runs as a daemon on the
333 machine that has the backup device (usually a tape drive).
335 %description sd -l pl.UTF-8
336 Bacula - przychodzi nocą i wysysa żywotny ekstrakt z komputerów.
338 Usługi Bacula Storage składają się z programów obsługujących
339 przechowywanie danych oraz odzyskiwanie atrybutów i danych na
340 fizycznych nośnikach lub wolumenach. Innymi słowy, demon Storage jest
341 odpowiedzialny za odczyt i zapis taśm (lub innych nośników do
342 przechowywania danych, np. plików). Usługi Storage działają jako demon
343 na maszynie, która zawiera urządzenie backupowe (zwykle napęd
346 %package db-postgresql
347 Summary: PostgreSQL database driver for Bacula
348 Summary(pl.UTF-8): Sterownik bazy PostgreSQL dla Baculi
349 Group: Networking/Utilities
350 Requires(post): /sbin/ldconfig
351 Requires: %{name}-common = %{version}-%{release}
352 Provides: bacula(db) = %{version}-%{release}
353 Obsoletes: bacula(db)
355 %description db-postgresql
356 PostgreSQL database driver for Bacula.
358 %description db-postgresql -l pl.UTF-8
359 Sterownik bazy PostgreSQL dla Baculi.
362 Summary: MySQL database driver for Bacula
363 Summary(pl.UTF-8): Sterownik bazy MySQL dla Baculi
364 Group: Networking/Utilities
365 Requires(post): /sbin/ldconfig
366 Requires: %{name}-common = %{version}-%{release}
367 Provides: bacula(db) = %{version}-%{release}
368 Obsoletes: bacula(db)
370 %description db-mysql
371 MySQL database driver for Bacula.
373 %description db-mysql -l pl.UTF-8
374 Sterownik bazy MySQL dla Baculi.
377 Summary: SQLite database driver for Bacula
378 Summary(pl.UTF-8): Sterownik bazy SQLite dla Baculi
379 Group: Networking/Utilities
380 Requires(post): /sbin/ldconfig
381 Requires: %{name}-common = %{version}-%{release}
382 Provides: bacula(db) = %{version}-%{release}
383 Obsoletes: bacula(db)
385 %description db-sqlite3
386 SQLite database driver for Bacula.
388 %description db-sqlite3 -l pl.UTF-8
389 Sterownik bazy SQLite dla Baculi.
392 Summary: libdbi database driver for Bacula
393 Summary(pl.UTF-8): Sterownik bazy libdbi dla Baculi
394 Group: Networking/Utilities
395 Requires(post): /sbin/ldconfig
396 Requires: %{name}-common = %{version}-%{release}
397 Provides: bacula(db) = %{version}-%{release}
398 Obsoletes: bacula(db)
401 libdbi database driver for Bacula.
403 %description db-dbi -l pl.UTF-8
404 Sterownik baz libdbi dla Baculi.
407 Summary: Bacula - The Network Backup Solution
408 Summary(pl.UTF-8): Bacula - rozwiązanie do wykonywania kopii zapasowych po sieci
409 Group: Networking/Utilities
410 Requires: %{name}-fd = %{version}-%{release}
415 Bacula - It comes by night and sucks the vital essence from your
418 Bacula is a set of computer programs that permit you (or the system
419 administrator) to manage backup, recovery, and verification of
420 computer data across a network of computers of different kinds. In
421 technical terms, it is a network client/server based backup program.
422 Bacula is relatively easy to use and efficient, while offering many
423 advanced storage management features that make it easy to find and
424 recover lost or damaged files.
426 This package installs scripts for disaster recovery and builds rescue
427 floppy disk for bare metal recovery.
429 %description rescue -l pl.UTF-8
430 Bacula - przychodzi nocą i wysysa żywotny ekstrakt z komputerów.
432 Bacula to zbiór programów umożliwiających administratorowi na
433 zarządzanie kopiami zapasowymi, odzyskiwaniem i weryfikacją danych w
434 sieci komputerów różnego rodzaju. W terminologii technicznej jest to
435 program do kopii zapasowych pracujący w architekturze klient-serwer.
436 Bacula jest stosunkowo łatwa w użyciu i wydajna, oferując przy tym
437 wiele zaawansowanych możliwości przy zarządzaniu nośnikami,
438 ułatwiających znalezienie i odzyskanie utraconych lub uszkodzonych
441 Ten pakiet zawiera skrypty do odtwarzania po awarii i tworzy dyskietkę
442 ratunkowe do odtwarzania systemu od zera.
444 %package -n nagios-plugin-check_bacula
445 Summary: Nagios plugin to check bacula
447 Requires: nagios-common
449 %description -n nagios-plugin-check_bacula
450 Nagios plugin to check bacula.
465 tar -xf %{SOURCE2} && ln -s bacula-rescue-* rescue
467 sed -i -e 's#bindir=.*#bindir=%{_bindir}#g' \
468 src/cats/create_* src/cats/delete_* src/cats/drop_* \
469 src/cats/grant_* src/cats/make_* src/cats/update_*
470 sed -i -e 's/@hostname@/--hostname--/' src/*/*.conf.in
473 for dbtype in mysql postgresql sqlite3; do
474 sed -i -e "s,@DB_TYPE@,$dbtype,g" src/cats/*_${dbtype}_*
480 %{__aclocal} -I bacula-macros -I gettext-macros
481 # $BUILD_DIR not seen by libtoolize, export it
482 BUILD_DIR=.. %{__libtoolize}
484 %{__autoconf} --prepend-include=$(pwd)/autoconf autoconf/configure.in > configure
486 CPPFLAGS="-I/usr/include/ncurses -I%{_includedir}/readline"
488 # we wan't the 'base' build built with the last database in the list,
489 # to make sure it is full-featured
490 for database in %{databases}; do
491 WXCONFIG=%{_bindir}/wx-gtk2-unicode-config \
493 --with-scriptdir=%{_libexecdir}/%{name} \
494 %{?with_bat:--enable-bat} \
496 --enable-smartalloc \
497 %{?with_console_wx:--enable-bwx-console} \
498 --enable-tray-monitor \
499 %{?with_python:--with-python} \
501 --with-tcp-wrappers \
502 --with-working-dir=%{_var}/lib/%{name} \
503 --with-dump-email="root@localhost" \
504 --with-job-email="root@localhost" \
505 --with-smtp-host=localhost \
506 --with-pid-dir=/var/run \
507 --with-subsys-dir=/var/lock/subsys \
508 --enable-batch-insert \
510 %{?with_sqlite3_sync_off:--enable-extra-sqlite3-init="pragma synchronous=0;"} \
511 --with-dir-password="#FAKE-dir-password#" \
512 --with-fd-password="#FAKE-fd-password#" \
513 --with-sd-password="#FAKE-sd-password#" \
514 --with-mon-dir-password="#FAKE-mon-dir-password#" \
515 --with-mon-fd-password="#FAKE-mon-fd-password#" \
516 --with-mon-sd-password="#FAKE-mon-sd-password#" \
519 # build the database library
520 %{__make} -C src/cats clean
521 %{__make} -C src/cats
523 # install the database library in a temporary location
524 install -d libbacsql/$database%{_libdir}
525 %{__make} -C src/cats libtool-install DESTDIR=$PWD/libbacsql/$database
538 %{__make} -C examples/nagios/check_bacula
550 rm -rf $RPM_BUILD_ROOT
552 install -d $RPM_BUILD_ROOT/etc/{rc.d/init.d,logrotate.d,pam.d,sysconfig}
553 install -d $RPM_BUILD_ROOT%{_sysconfdir}/rescue
554 install -d $RPM_BUILD_ROOT{%{_pixmapsdir},%{_desktopdir},%{_mandir},%{_bindir},/var/log/bacula}
557 DESTDIR=$RPM_BUILD_ROOT
559 # install libraries for all the database backends
560 # ldconfig will add the soname symlinks when one of the packages is installed
561 for database in %{databases}; do
562 for libfile in libbacsql/$database%{_libdir}/lib*-*.so; do
563 orig_name=${libfile##*/}
564 file_prefix=${orig_name%%-*.so}
565 file_suffix=${orig_name#*-}
566 file_name=$file_prefix-$database-$file_suffix
567 install -p $libfile $RPM_BUILD_ROOT/%{_libdir}/$file_name
568 touch $RPM_BUILD_ROOT/%{_libdir}/$orig_name
572 install -p %{SOURCE10} $RPM_BUILD_ROOT/etc/rc.d/init.d/bacula-dir
573 install -p %{SOURCE11} $RPM_BUILD_ROOT/etc/rc.d/init.d/bacula-fd
574 install -p %{SOURCE12} $RPM_BUILD_ROOT/etc/rc.d/init.d/bacula-sd
575 cp -a %{SOURCE13} $RPM_BUILD_ROOT/etc/logrotate.d/%{name}-dir
576 cp -a %{SOURCE14} $RPM_BUILD_ROOT/etc/sysconfig/bacula-dir
577 cp -a %{SOURCE15} $RPM_BUILD_ROOT/etc/sysconfig/bacula-fd
578 cp -a %{SOURCE16} $RPM_BUILD_ROOT/etc/sysconfig/bacula-sd
580 %if %{with console_wx}
581 # tray-monitor is for regular users
582 #mv $RPM_BUILD_ROOT%{_sbindir}/bacula-tray-monitor $RPM_BUILD_ROOT%{_bindir}
584 cp -a scripts/bacula.png $RPM_BUILD_ROOT%{_pixmapsdir}/bacula.png
585 #install src/tray-monitor/generic.xpm $RPM_BUILD_ROOT%{_pixmapsdir}/bacula-tray-monitor.xpm
586 sed -e 's/gnome-console/wx-console/g;s/Console/Wx Console/g' \
587 scripts/bacula.desktop.gnome2 > $RPM_BUILD_ROOT%{_desktopdir}/bacula-wx.desktop
588 #sed -e 's#%{_sbindir}#%{_bindir}#' \
589 # scripts/bacula-tray-monitor.desktop > $RPM_BUILD_ROOT%{_desktopdir}/bacula-tray-monitor.desktop
593 # TODO: libtool install
594 #libtool --silent --mode=install install src/qt-console/bat $RPM_BUILD_ROOT%{_bindir}
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