2 # - update desktop files, think about su-wrappers for console (with .desktop files)
4 # - fix log file permissions
6 #make[1]: *** No rule to make target `../lib/libbac.la', needed by `bacula-dir'. Stop.
7 #make[1]: *** Waiting for unfinished jobs....
8 #make[1]: Leaving directory `/home/users/glen/rpm/BUILD.x86_64-linux/bacula-5.0.2/src/dird'
9 # - unpackaged: /usr/lib64/bacula/btraceback.mdb
12 %bcond_without console_wx # wx-console program
13 %bcond_without bat # bat Qt4 GUI
14 %bcond_without dbi # use Database Independent Abstraction Layer (libdbi)
15 %bcond_without mysql # use MySQL
16 %bcond_without pgsql # use PostgreSQL
17 %bcond_without sqlite3 # use SQLite3
19 %bcond_without nagios # build nagios plugin
21 %bcond_with sqlite3_sync_off # makes SQLite3 backend much faster, but less reliable
23 %if %{without sqlite3}
24 %undefine with_sqlite3_sync_off
27 Summary: Bacula - The Network Backup Solution
28 Summary(pl.UTF-8): Bacula - rozwiązanie do wykonywania kopii zapasowych po sieci
32 License: extended GPL v2
33 Group: Networking/Utilities
34 Source0: http://downloads.sourceforge.net/bacula/%{name}-%{version}.tar.gz
35 # Source0-md5: 9de254ae39cab0587fdb2f5d8d90b03b
36 Source1: http://downloads.sourceforge.net/bacula/%{name}-docs-%{version}.tar.bz2
37 # Source1-md5: 7a00557dcf0dfa40de9e74176fefd1ae
38 Source2: http://downloads.sourceforge.net/bacula/%{name}-rescue-5.0.1.tar.gz
39 # Source2-md5: bb194aed8e204f54bf2f61d7e721f257
40 Source10: %{name}-dir.init
41 Source11: %{name}-fd.init
42 Source12: %{name}-sd.init
43 Source13: %{name}.logrotate
44 Source14: %{name}-dir.sysconfig
45 Source15: %{name}-fd.sysconfig
46 Source16: %{name}-sd.sysconfig
47 Patch0: %{name}-mtx-changer.patch
48 Patch1: %{name}-link.patch
49 Patch2: %{name}-tinfo-readline.patch
50 Patch3: %{name}-branding.patch
51 Patch4: %{name}-conf.patch
52 Patch5: %{name}-desktop.patch
53 Patch7: %{name}-dbi_fixes.patch
54 Patch8: %{name}-dbi_dbcheck.patch
55 Patch9: %{name}-openssl1.patch
56 Patch10: %{name}-dvd_rewind.patch
57 URL: http://www.bacula.org/
58 BuildRequires: acl-devel
59 BuildRequires: autoconf
60 BuildRequires: automake
61 BuildRequires: gettext-devel
62 BuildRequires: gtk+2-devel
63 BuildRequires: libcap-devel
64 %{?with_dbi:BuildRequires: libdbi-devel >= 0.8.4}
65 BuildRequires: libtool >= 2:2.2
67 BuildRequires: fakeroot
69 BuildRequires: libwrap-devel
70 BuildRequires: ncurses-devel
71 BuildRequires: openssl-devel
72 BuildRequires: pkgconfig
74 BuildRequires: python-devel
75 BuildRequires: python-modules
78 BuildRequires: QtCore-devel
79 BuildRequires: QtGui-devel
80 BuildRequires: qt4-build >= 4.3.3-3
81 BuildRequires: qt4-qmake >= 4.3.3-3
82 #BuildRequires: qwt-devel >= 5.0.2-2
84 %{?with_mysql:BuildRequires: mysql-devel}
85 %{?with_pgsql:BuildRequires: postgresql-devel}
86 BuildRequires: readline-devel
87 BuildRequires: rpm-pythonprov
88 BuildRequires: rpmbuild(macros) >= 1.268
89 BuildRequires: sed >= 4.0
90 %{?with_sqlite3:BuildRequires: sqlite3-devel}
92 %if %{with console_wx}
93 BuildRequires: wxGTK2-unicode-devel >= 2.4.0
95 BuildRequires: zlib-devel
96 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
98 %define _sysconfdir /etc/%{name}
99 %define _localstatedir /var/lib/%{name}
100 %define nagiosplugindir %{_prefix}/lib/nagios/plugins
102 # from 'the worst' to 'the best'
103 %define databases %{?with_dbi:dbi} %{?with_sqlite3:sqlite3} %{?with_mysql:mysql} %{?with_pgsql:postgresql}
105 # dependency section is broken. ccache usage is instead to makefiles
106 %undefine with_ccache
109 Bacula - It comes by night and sucks the vital essence from your
112 Bacula is a set of computer programs that permit you (or the system
113 administrator) to manage backup, recovery, and verification of
114 computer data across a network of computers of different kinds. In
115 technical terms, it is a network client/server based backup program.
116 Bacula is relatively easy to use and efficient, while offering many
117 advanced storage management features that make it easy to find and
118 recover lost or damaged files.
120 %description -l pl.UTF-8
121 Bacula - przychodzi nocą i wysysa żywotny ekstrakt z komputerów.
123 Bacula to zbiór programów umożliwiających administratorowi na
124 zarządzanie kopiami zapasowymi, odzyskiwaniem i weryfikacją danych w
125 sieci komputerów różnego rodzaju. W terminologii technicznej jest to
126 program do kopii zapasowych pracujący w architekturze klient-serwer.
127 Bacula jest stosunkowo łatwa w użyciu i wydajna, oferując przy tym
128 wiele zaawansowanych możliwości przy zarządzaniu nośnikami,
129 ułatwiających znalezienie i odzyskanie utraconych lub uszkodzonych
133 Summary: Common files for bacula package
134 Summary(pl.UTF-8): Pliki wspólne dla pakietu bacula
135 Group: Networking/Utilities
136 Requires(post): openssl-tools
137 Requires(post): sed >= 4.0
138 Requires(post,preun): /sbin/chkconfig
139 Requires(postun): /usr/sbin/groupdel
140 Requires(postun): /usr/sbin/userdel
141 Requires(pre): /usr/sbin/groupadd
142 Requires(pre): /usr/sbin/useradd
143 Conflicts: bacula-console < 0:1.34.6
144 Conflicts: bacula-dir < 0:1.34.6
145 Conflicts: bacula-fd < 0:1.34.6
146 Conflicts: bacula-sd < 0:1.34.6
149 Bacula - It comes by night and sucks the vital essence from your
152 Bacula is a set of computer programs that permit you (or the system
153 administrator) to manage backup, recovery, and verification of
154 computer data across a network of computers of different kinds. In
155 technical terms, it is a network client/server based backup program.
156 Bacula is relatively easy to use and efficient, while offering many
157 advanced storage management features that make it easy to find and
158 recover lost or damaged files.
160 %description common -l pl.UTF-8
161 Bacula - przychodzi nocą i wysysa żywotny ekstrakt z komputerów.
163 Bacula to zbiór programów umożliwiających administratorowi na
164 zarządzanie kopiami zapasowymi, odzyskiwaniem i weryfikacją danych w
165 sieci komputerów różnego rodzaju. W terminologii technicznej jest to
166 program do kopii zapasowych pracujący w architekturze klient-serwer.
167 Bacula jest stosunkowo łatwa w użyciu i wydajna, oferując przy tym
168 wiele zaawansowanych możliwości przy zarządzaniu nośnikami,
169 ułatwiających znalezienie i odzyskanie utraconych lub uszkodzonych
173 Summary: Bacula Director and Catalog services
174 Summary(pl.UTF-8): Usługi Bacula Director i Catalog
175 Group: Networking/Utilities
176 Requires(post): sed >= 4.0
177 Requires: %{name}-common = %{version}-%{release}
178 Requires: bacula(db) = %{version}-%{release}
179 Obsoletes: bacula-updatedb
182 Bacula - It comes by night and sucks the vital essence from your
185 Bacula Director is the program that supervises all the backup,
186 restore, verify and archive operations. The system administrator uses
187 the Bacula Director to schedule backups and to recover files. Catalog
188 services are comprised of the software programs responsible for
189 maintaining the file indexes and volume databases for all files backed
190 up. The Catalog services permit the System Administrator or user to
191 quickly locate and restore any desired file, since it maintains a
192 record of all Volumes used, all Jobs run, and all Files saved.
194 %description dir -l pl.UTF-8
195 Bacula - przychodzi nocą i wysysa żywotny ekstrakt z komputerów.
197 Bacula Director to program nadzorujący wszystkie operacje wykonywania
198 kopii zapasowych, odzyskiwania, weryfikacji i archiwizowania.
199 Administrator używa Bacula Directora do szeregowania kopii zapasowych
200 oraz odzyskiwania plików. Usługi katalogowe (Catalog services) są
201 używane przez programy odpowiedzialne za zarządzanie indeksami plików
202 i bazą danych wolumenów dla wszystkich kopiowanych plików. Usługi
203 katalogowe umożliwiają administratorowi lub użytkownikowi szybko
204 zlokalizować i odtworzyć dowolny plik, ponieważ utrzymują rekord ze
205 wszystkimi używanymi wolumenami, uruchomionymi zadaniami i zapisanymi
209 Summary: Bacula Console
210 Summary(pl.UTF-8): Konsola Baculi
211 Group: Networking/Utilities
212 Requires(post): sed >= 4.0
213 Requires: %{name}-common = %{version}-%{release}
216 Bacula - It comes by night and sucks the vital essence from your
219 Bacula Console is the program that allows the administrator or user to
220 communicate with the Bacula Director. This is the text only console
223 %description console -l pl.UTF-8
224 Bacula - przychodzi nocą i wysysa żywotny ekstrakt z komputerów.
226 Bacula Console to program umożliwiający administratorowi lub
227 użytkownikowi komunikowanie się z programem Bacula Director. To jest
228 interfejs czysto tekstowy.
231 Summary: Bacula wxWidgets Console
232 Summary(pl.UTF-8): Konsola Baculi oparta na wxWidgets
233 Group: Networking/Utilities
234 Requires(post): sed >= 4.0
235 Requires: %{name}-common = %{version}-%{release}
237 %description console-wx
238 Bacula - It comes by night and sucks the vital essence from your
241 Bacula Console is the program that allows the administrator or user to
242 communicate with the Bacula Director. This is the wxWidgets GUI
245 %description console-wx -l pl.UTF-8
246 Bacula - przychodzi nocą i wysysa żywotny ekstrakt z komputerów.
248 Bacula Console to program umożliwiający administratorowi lub
249 użytkownikowi komunikowanie się z programem Bacula Director. To jest
250 interfejs graficzny oparty na wxWidgets.
253 Summary: Bacula Qt4 Console
254 Summary(pl.UTF-8): Konsola Baculi oparta na Qt4
255 Group: Networking/Utilities
256 Requires(post): sed >= 4.0
257 Requires: %{name}-common = %{version}-%{release}
259 %description console-qt4
260 Bacula - It comes by night and sucks the vital essence from your
263 Bacula Console is the program that allows the administrator or user to
264 communicate with the Bacula Director. This is the Qt4 GUI interface.
266 %description console-qt4 -l pl.UTF-8
267 Bacula - przychodzi nocą i wysysa żywotny ekstrakt z komputerów.
269 Bacula Console to program umożliwiający administratorowi lub
270 użytkownikowi komunikowanie się z programem Bacula Director. To jest
271 interfejs graficzny oparty na Qt4.
273 %package tray-monitor
274 Summary: Bacula Tray Monitor
275 Group: Networking/Utilities
276 Requires(post): sed >= 4.0
277 Requires: %{name}-common = %{version}-%{release}
279 %description tray-monitor
280 Bacula - It comes by night and sucks the vital essence from your
283 The Monitor program is typically an icon in the system tray. However,
284 once the icon is expanded into a full window, the administrator or
285 user can obtain status information about the Director or the backup
286 status on the local workstation or any other Bacula daemon that is
290 Summary: Bacula File services (Client)
291 Summary(pl.UTF-8): Usługi Bacula File (klient)
292 Group: Networking/Utilities
293 Requires(post): sed >= 4.0
294 Requires: %{name}-common = %{version}-%{release}
297 Bacula - It comes by night and sucks the vital essence from your
300 Bacula File services (or Client program) is the software program that
301 is installed on the machine to be backed up. It is specific to the
302 operating system on which it runs and is responsible for providing the
303 file attributes and data when requested by the Director. The File
304 services are also responsible for the file system dependent part of
305 restoring the file attributes and data during a recovery operation.
306 This program runs as a daemon on the machine to be backed up, and in
307 some of the documentation, the File daemon is referred to as the
308 Client (for example in Bacula configuration file).
310 %description fd -l pl.UTF-8
311 Bacula - przychodzi nocą i wysysa żywotny ekstrakt z komputerów.
313 Usługi Bacula File (inaczej program kliencki) to oprogramowanie, które
314 instaluje się na maszynach, z których mają być wykonywane kopie
315 zapasowe. Są one specyficzne dla systemu operacyjnego, pod którym
316 działa dana maszyna i odpowiadają za dostarczanie atrybutów i danych
317 plików na żądanie Directora. Usługi plikowe są także odpowiedzialne za
318 zależną od systemu plików część odzyskiwania atrybutów i danych plików
319 podczas operacji odzyskiwania danych. Program działa jako demon na
320 maszynie, która ma być backupowana i w części dokumentacji demon ten
321 (File) jest nazywany klientem (na przykład w pliku konfiguracyjnym
325 Summary: Bacula Storage services
326 Summary(pl.UTF-8): Usługi Bacula Storage
327 Group: Networking/Utilities
328 Requires(post): sed >= 4.0
329 Requires: %{name}-common = %{version}-%{release}
330 Conflicts: dvd+rw-tools <= 5.21.4.10.8-1
333 Bacula - It comes by night and sucks the vital essence from your
336 Bacula Storage services consist of the software programs that perform
337 the storage and recovery of the file attributes and data to the
338 physical backup media or volumes. In other words, the Storage daemon
339 is responsible for reading and writing your tapes (or other storage
340 media, e.g. files). The Storage services runs as a daemon on the
341 machine that has the backup device (usually a tape drive).
343 %description sd -l pl.UTF-8
344 Bacula - przychodzi nocą i wysysa żywotny ekstrakt z komputerów.
346 Usługi Bacula Storage składają się z programów obsługujących
347 przechowywanie danych oraz odzyskiwanie atrybutów i danych na
348 fizycznych nośnikach lub wolumenach. Innymi słowy, demon Storage jest
349 odpowiedzialny za odczyt i zapis taśm (lub innych nośników do
350 przechowywania danych, np. plików). Usługi Storage działają jako demon
351 na maszynie, która zawiera urządzenie backupowe (zwykle napęd
354 %package db-postgresql
355 Summary: PostgreSQL database driver for Bacula
356 Summary(pl.UTF-8): Sterownik bazy PostgreSQL dla Baculi
357 Group: Networking/Utilities
358 Requires(post): /sbin/ldconfig
359 Requires: %{name}-common = %{version}-%{release}
360 Provides: bacula(db) = %{version}-%{release}
361 Obsoletes: bacula(db)
363 %description db-postgresql
364 PostgreSQL database driver for Bacula.
366 %description db-postgresql -l pl.UTF-8
367 Sterownik bazy PostgreSQL dla Baculi.
370 Summary: MySQL database driver for Bacula
371 Summary(pl.UTF-8): Sterownik bazy MySQL dla Baculi
372 Group: Networking/Utilities
373 Requires(post): /sbin/ldconfig
374 Requires: %{name}-common = %{version}-%{release}
375 Provides: bacula(db) = %{version}-%{release}
376 Obsoletes: bacula(db)
378 %description db-mysql
379 MySQL database driver for Bacula.
381 %description db-mysql -l pl.UTF-8
382 Sterownik bazy MySQL dla Baculi.
385 Summary: SQLite database driver for Bacula
386 Summary(pl.UTF-8): Sterownik bazy SQLite dla Baculi
387 Group: Networking/Utilities
388 Requires(post): /sbin/ldconfig
389 Requires: %{name}-common = %{version}-%{release}
390 Provides: bacula(db) = %{version}-%{release}
391 Obsoletes: bacula(db)
393 %description db-sqlite3
394 SQLite database driver for Bacula.
396 %description db-sqlite3 -l pl.UTF-8
397 Sterownik bazy SQLite dla Baculi.
400 Summary: libdbi database driver for Bacula
401 Summary(pl.UTF-8): Sterownik bazy libdbi dla Baculi
402 Group: Networking/Utilities
403 Requires(post): /sbin/ldconfig
404 Requires: %{name}-common = %{version}-%{release}
405 Provides: bacula(db) = %{version}-%{release}
406 Obsoletes: bacula(db)
409 libdbi database driver for Bacula.
411 %description db-dbi -l pl.UTF-8
412 Sterownik baz libdbi dla Baculi.
415 Summary: Bacula - The Network Backup Solution
416 Summary(pl.UTF-8): Bacula - rozwiązanie do wykonywania kopii zapasowych po sieci
417 Group: Networking/Utilities
418 Requires: %{name}-fd = %{version}-%{release}
423 Bacula - It comes by night and sucks the vital essence from your
426 Bacula is a set of computer programs that permit you (or the system
427 administrator) to manage backup, recovery, and verification of
428 computer data across a network of computers of different kinds. In
429 technical terms, it is a network client/server based backup program.
430 Bacula is relatively easy to use and efficient, while offering many
431 advanced storage management features that make it easy to find and
432 recover lost or damaged files.
434 This package installs scripts for disaster recovery and builds rescue
435 floppy disk for bare metal recovery.
437 %description rescue -l pl.UTF-8
438 Bacula - przychodzi nocą i wysysa żywotny ekstrakt z komputerów.
440 Bacula to zbiór programów umożliwiających administratorowi na
441 zarządzanie kopiami zapasowymi, odzyskiwaniem i weryfikacją danych w
442 sieci komputerów różnego rodzaju. W terminologii technicznej jest to
443 program do kopii zapasowych pracujący w architekturze klient-serwer.
444 Bacula jest stosunkowo łatwa w użyciu i wydajna, oferując przy tym
445 wiele zaawansowanych możliwości przy zarządzaniu nośnikami,
446 ułatwiających znalezienie i odzyskanie utraconych lub uszkodzonych
449 Ten pakiet zawiera skrypty do odtwarzania po awarii i tworzy dyskietkę
450 ratunkowe do odtwarzania systemu od zera.
452 %package -n nagios-plugin-check_bacula
453 Summary: Nagios plugin to check bacula
455 Requires: nagios-common
457 %description -n nagios-plugin-check_bacula
458 Nagios plugin to check bacula.
473 tar -xf %{SOURCE2} && ln -s bacula-rescue-* rescue
475 sed -i -e 's#bindir=.*#bindir=%{_bindir}#g' \
476 src/cats/create_* src/cats/delete_* src/cats/drop_* \
477 src/cats/grant_* src/cats/make_* src/cats/update_*
478 sed -i -e 's/@hostname@/--hostname--/' src/*/*.conf.in
481 for dbtype in mysql postgresql sqlite3; do
482 sed -i -e "s,@DB_TYPE@,$dbtype,g" src/cats/*_${dbtype}_*
488 %{__aclocal} -I bacula-macros -I gettext-macros
489 # $BUILD_DIR not seen by libtoolize, export it
490 BUILD_DIR=.. %{__libtoolize}
492 %{__autoconf} --prepend-include=$(pwd)/autoconf autoconf/configure.in > configure
494 CPPFLAGS="-I/usr/include/ncurses -I%{_includedir}/readline"
496 # we wan't the 'base' build built with the last database in the list,
497 # to make sure it is full-featured
498 for database in %{databases}; do
499 WXCONFIG=%{_bindir}/wx-gtk2-unicode-config \
500 QMAKE=%{_bindir}/qt4-qmake \
502 --with-scriptdir=%{_libexecdir}/%{name} \
503 %{?with_bat:--enable-bat} \
505 --enable-smartalloc \
506 %{?with_console_wx:--enable-bwx-console} \
507 --enable-tray-monitor \
508 %{?with_python:--with-python} \
510 --with-tcp-wrappers \
511 --with-working-dir=%{_var}/lib/%{name} \
512 --with-dump-email="root@localhost" \
513 --with-job-email="root@localhost" \
514 --with-smtp-host=localhost \
515 --with-pid-dir=/var/run \
516 --with-subsys-dir=/var/lock/subsys \
517 --enable-batch-insert \
519 %{?with_sqlite3_sync_off:--enable-extra-sqlite3-init="pragma synchronous=0;"} \
520 --with-dir-password="#FAKE-dir-password#" \
521 --with-fd-password="#FAKE-fd-password#" \
522 --with-sd-password="#FAKE-sd-password#" \
523 --with-mon-dir-password="#FAKE-mon-dir-password#" \
524 --with-mon-fd-password="#FAKE-mon-fd-password#" \
525 --with-mon-sd-password="#FAKE-mon-sd-password#" \
528 # build the database library
529 %{__make} -C src/cats clean
530 %{__make} -C src/cats
532 # install the database library in a temporary location
533 install -d libbacsql/$database%{_libdir}
534 %{__make} -C src/cats libtool-install DESTDIR=$PWD/libbacsql/$database
547 %{__make} -C examples/nagios/check_bacula
559 rm -rf $RPM_BUILD_ROOT
561 install -d $RPM_BUILD_ROOT/etc/{rc.d/init.d,logrotate.d,pam.d,sysconfig}
562 install -d $RPM_BUILD_ROOT%{_sysconfdir}/rescue
563 install -d $RPM_BUILD_ROOT{%{_pixmapsdir},%{_desktopdir},%{_mandir},%{_bindir},/var/log/bacula}
566 DESTDIR=$RPM_BUILD_ROOT
568 # install libraries for all the database backends
569 # ldconfig will add the soname symlinks when one of the packages is installed
570 for database in %{databases}; do
571 for libfile in libbacsql/$database%{_libdir}/lib*-*.so; do
572 orig_name=${libfile##*/}
573 file_prefix=${orig_name%%-*.so}
574 file_suffix=${orig_name#*-}
575 file_name=$file_prefix-$database-$file_suffix
576 install -p $libfile $RPM_BUILD_ROOT/%{_libdir}/$file_name
577 touch $RPM_BUILD_ROOT/%{_libdir}/$orig_name
581 install -p %{SOURCE10} $RPM_BUILD_ROOT/etc/rc.d/init.d/bacula-dir
582 install -p %{SOURCE11} $RPM_BUILD_ROOT/etc/rc.d/init.d/bacula-fd
583 install -p %{SOURCE12} $RPM_BUILD_ROOT/etc/rc.d/init.d/bacula-sd
584 cp -a %{SOURCE13} $RPM_BUILD_ROOT/etc/logrotate.d/%{name}-dir
585 cp -a %{SOURCE14} $RPM_BUILD_ROOT/etc/sysconfig/bacula-dir
586 cp -a %{SOURCE15} $RPM_BUILD_ROOT/etc/sysconfig/bacula-fd
587 cp -a %{SOURCE16} $RPM_BUILD_ROOT/etc/sysconfig/bacula-sd
589 %if %{with console_wx}
590 # tray-monitor is for regular users
591 #mv $RPM_BUILD_ROOT%{_sbindir}/bacula-tray-monitor $RPM_BUILD_ROOT%{_bindir}
593 cp -a scripts/bacula.png $RPM_BUILD_ROOT%{_pixmapsdir}/bacula.png
594 #install src/tray-monitor/generic.xpm $RPM_BUILD_ROOT%{_pixmapsdir}/bacula-tray-monitor.xpm
595 sed -e 's/gnome-console/wx-console/g;s/Console/Wx Console/g' \
596 scripts/bacula.desktop.gnome2 > $RPM_BUILD_ROOT%{_desktopdir}/bacula-wx.desktop
597 #sed -e 's#%{_sbindir}#%{_bindir}#' \
598 # scripts/bacula-tray-monitor.desktop > $RPM_BUILD_ROOT%{_desktopdir}/bacula-tray-monitor.desktop
602 # TODO: libtool install
603 #libtool --silent --mode=install install src/qt-console/bat $RPM_BUILD_ROOT%{_bindir}
604 install src/qt-console/.libs/bat $RPM_BUILD_ROOT%{_bindir}
605 cp -a scripts/bat.desktop $RPM_BUILD_ROOT%{_desktopdir}
609 # install the rescue stuff, these are the rescue scripts
610 cp -a rescue/linux/floppy/backup.etc.list $RPM_BUILD_ROOT%{_sysconfdir}/rescue
611 cp -a rescue/linux/floppy/sfdisk.bz2 $RPM_BUILD_ROOT%{_sysconfdir}/rescue
612 install -p rescue/linux/floppy/*_* $RPM_BUILD_ROOT%{_sysconfdir}/rescue
613 install -p rescue/linux/floppy/getdiskinfo $RPM_BUILD_ROOT%{_sysconfdir}/rescue
616 touch $RPM_BUILD_ROOT/var/log/bacula/log
618 # install the updatedb scripts
619 install -p updatedb/update_sqlite* $RPM_BUILD_ROOT%{_libexecdir}/%{name}
621 # place for site passwords
622 touch $RPM_BUILD_ROOT%{_sysconfdir}/{dir-password,fd-password,sd-password}
623 touch $RPM_BUILD_ROOT%{_sysconfdir}/{mon-dir-password,mon-fd-password,mon-sd-password}
625 mv $RPM_BUILD_ROOT%{_libdir}/bacula/mtx-changer.conf $RPM_BUILD_ROOT/etc/bacula/mtx-changer.conf
628 rm -f $RPM_BUILD_ROOT%{_libexecdir}/%{name}/{gconsole,startmysql,stopmysql,bacula,bconsole,fd}
629 %if %{without console_wx}
630 rm -f $RPM_BUILD_ROOT%{_desktopdir}/bacula-wx.desktop
632 touch $RPM_BUILD_ROOT%{_sysconfdir}/.pw.sed
634 rm $RPM_BUILD_ROOT%{_docdir}/bacula/ChangeLog
635 rm $RPM_BUILD_ROOT%{_docdir}/bacula/INSTALL
636 rm $RPM_BUILD_ROOT%{_docdir}/bacula/LICENSE
637 rm $RPM_BUILD_ROOT%{_docdir}/bacula/README
638 rm $RPM_BUILD_ROOT%{_docdir}/bacula/ReleaseNotes
639 rm $RPM_BUILD_ROOT%{_docdir}/bacula/VERIFYING
640 rm $RPM_BUILD_ROOT%{_docdir}/bacula/technotes
642 # startup scripts, those in /etc/rc.d/init.d are better
643 rm $RPM_BUILD_ROOT%{_sbindir}/bacula
644 rm $RPM_BUILD_ROOT%{_libexecdir}/%{name}/bacula-ctl-*
647 #rm $RPM_BUILD_ROOT%{_libexecdir}/%{name}/*_bdb_*
649 # rename to avoid possible conflicts
650 mv $RPM_BUILD_ROOT%{_sbindir}/{,bacula-}dbcheck
651 mv $RPM_BUILD_ROOT%{_mandir}/man8/{,bacula-}dbcheck.8.gz
653 # no -devel files packaged, so this is also useless
654 rm $RPM_BUILD_ROOT%{_libdir}/libbac{,cfg,find,py,sql}.{so,la}
656 # placeholders for the symlinks set in %%post db-*
657 for f in create_bacula_database drop_bacula_database drop_bacula_tables \
658 grant_bacula_privileges make_bacula_tables update_bacula_tables ; do
660 ln -sf /dev/null $RPM_BUILD_ROOT%{_libexecdir}/%{name}/$f
664 install -d $RPM_BUILD_ROOT%{nagiosplugindir}
665 %{__make} -C examples/nagios/check_bacula install \
666 sbindir=%{nagiosplugindir} \
667 DESTDIR=$RPM_BUILD_ROOT
671 rm -rf $RPM_BUILD_ROOT
674 %groupadd -P %{name}-common -g 136 -r -f bacula
675 %useradd -P %{name}-common -u 136 -r -d /var/lib/bacula -s /bin/false -c "Bacula User" -g bacula bacula
677 %define update_configs \
678 echo "Updating bacula passwords and names..." | %banner -a %{name} \
680 for f in *-password ; do \
681 if [ ! -s $f ] ; then \
682 openssl rand -base64 33 > $f \
685 for cf in *.conf *.conf.rpmnew ; do \
686 [ -f $cf ] && sed -i -e"s:#FAKE-$f#:$p:" "$cf" || : \
689 for cf in *.conf *.conf.rpmnew ; do \
690 [ -f $cf ] && sed -i -e"s:--hostname--:`hostname`:" "$cf" || : \
699 if [ "$1" = "0" ]; then
704 %triggerpostun dir -- %{name}-dir < 5.0
705 %banner bacula-dir -t3 <<EOF
706 You have upgraded from an older version of Bacula director.
708 You will probably need to call %{_libexecdir}/%{name}/update_bacula_tables
709 script to upgrade the database.
714 /sbin/chkconfig --add bacula-dir
715 %service bacula-dir restart "Bacula Director daemon"
718 if [ "$1" = "0" ]; then
719 %service bacula-dir stop
720 /sbin/chkconfig --del bacula-dir
725 /sbin/chkconfig --add bacula-fd
726 %service bacula-fd restart "Bacula File daemon"
729 if [ "$1" = "0" ]; then
730 %service bacula-fd stop
731 /sbin/chkconfig --del bacula-fd
736 /sbin/chkconfig --add bacula-sd
737 %service bacula-sd restart "Bacula Storage daemon"
740 if [ "$1" = "0" ]; then
741 %service bacula-sd stop
742 /sbin/chkconfig --del bacula-sd
746 if [ -e %{_sysconfdir}/console.conf -a ! -e %{_sysconfdir}/bconsole.conf ]; then
747 mv %{_sysconfdir}/console.conf %{_sysconfdir}/bconsole.conf
756 %triggerpostun common -- %{name}-common < 5.0.1-2
757 find /etc/bacula/bat.conf* -perm /007 -print0 | xargs -0 -r chmod 600 || :
766 # link our current installed conf file to the rescue directory
767 ln -sf %{_sysconfdir}/bacula-fd.conf %{_sysconfdir}/rescue/bacula-fd.conf
770 echo "Creating rescue files for this system..."
771 cd %{_sysconfdir}/rescue
775 # remove the files created after the initial rpm installation
776 if [ "$1" = "0" ]; then
777 rm -f %{_sysconfdir}/rescue/bacula-fd.conf
778 rm -f %{_sysconfdir}/rescue/partition.*
779 rm -f %{_sysconfdir}/rescue/format.*
780 rm -f %{_sysconfdir}/rescue/mount_drives
781 rm -f %{_sysconfdir}/rescue/start_network
782 rm -f %{_sysconfdir}/rescue/sfdisk
783 rm -rf %{_sysconfdir}/rescue/diskinfo/*
788 for name in "create database" "drop tables" "drop database" "grant privileges" "make tables" "update tables"; do \
789 prefix="${name%% *}" \
790 suffix="${name#* }" \
791 ln -sf "${prefix}_%{1}_${suffix}" %{_libexecdir}/%{name}/"${prefix}_bacula_${suffix}" || : \
793 %service bacula-dir restart "Bacula Director daemon"
795 %define db_postun() \
797 if [ "$1" = "0" ]; then \
798 for f in %{_libexecdir}/%{name}/*_bacula_*; do \
799 if [ -L "$f" -a ! -e "$f" ]; then \
808 %postun db-postgresql
809 %db_postun postgresql
823 # dbi backend is different, as it is not bound with a specific db engine
826 %service bacula-dir restart "Bacula Director daemon"
828 %postun db-dbi -p /sbin/ldconfig
831 %defattr(644,root,root,755)
834 %attr(600,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/*-password
835 # do not remove bsmtp from files. Fix build if it is not installed.
836 %attr(755,root,root) %{_sbindir}/bsmtp
837 %attr(755,root,root) %{_sbindir}/btraceback
838 %attr(755,root,root) %{_libdir}/libbac-5*.so
839 %attr(755,root,root) %{_libdir}/libbaccfg-5*.so
840 %attr(755,root,root) %{_libdir}/libbacfind-5*.so
841 %attr(755,root,root) %{_libdir}/libbacpy-5*.so
842 %{_mandir}/man8/bacula.8*
843 %{_mandir}/man1/bsmtp.1*
844 %{_mandir}/man8/btraceback.8*
845 %dir %{_libexecdir}/%{name}
846 %{_libexecdir}/%{name}/btraceback.dbx
847 %{_libexecdir}/%{name}/btraceback.gdb
848 %{_libexecdir}/%{name}/bacula_config
849 %attr(770,root,bacula) %dir %{_localstatedir}
850 %attr(750,bacula,logs) %dir /var/log/bacula
851 %attr(640,bacula,logs) %ghost /var/log/bacula/log
854 %defattr(644,root,root,755)
855 %doc ChangeLog CheckList ReleaseNotes kernstodo LICENSE
856 #%doc examples %{name}-docs-%{version}/manual/{*.pdf,bacula}
857 %attr(640,root,bacula) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/bacula-dir.conf
858 %ghost %{_sysconfdir}/.pw.sed
859 %attr(640,root,root) %config(noreplace) /etc/logrotate.d/bacula-dir
860 %attr(754,root,root) /etc/rc.d/init.d/bacula-dir
861 %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/bacula-dir
862 %attr(755,root,root) %{_sbindir}/bacula-dir
863 %attr(755,root,root) %{_sbindir}/bregex
864 %attr(755,root,root) %{_sbindir}/bwild
865 %attr(755,root,root) %{_sbindir}/bacula-dbcheck
866 %{_mandir}/man8/bacula-dir.8*
867 %{_mandir}/man8/bacula-dbcheck.8*
868 %{_libexecdir}/%{name}/query.sql
869 #%attr(755,root,root) %{_libexecdir}/%{name}/make_catalog_backup
870 #%attr(755,root,root) %{_libexecdir}/%{name}/delete_catalog_backup
873 %defattr(644,root,root,755)
874 %attr(755,root,root) %{_libexecdir}/%{name}/create_postgresql_database
875 %attr(755,root,root) %{_libexecdir}/%{name}/drop_postgresql_database
876 %attr(755,root,root) %{_libexecdir}/%{name}/drop_postgresql_tables
877 %attr(755,root,root) %{_libexecdir}/%{name}/grant_postgresql_privileges
878 %attr(755,root,root) %{_libexecdir}/%{name}/make_postgresql_tables
879 %attr(755,root,root) %{_libexecdir}/%{name}/update_postgresql_*
880 %attr(755,root,root) %{_libdir}/libbacsql-postgresql-5*.so
882 %ghost %attr(755,root,root) %{_libdir}/libbacsql-5*.so
883 %ghost %{_libexecdir}/%{name}/create_bacula_database
884 %ghost %{_libexecdir}/%{name}/drop_bacula_tables
885 %ghost %{_libexecdir}/%{name}/drop_bacula_database
886 %ghost %{_libexecdir}/%{name}/grant_bacula_privileges
887 %ghost %{_libexecdir}/%{name}/make_bacula_tables
888 %ghost %{_libexecdir}/%{name}/update_bacula_tables
891 %defattr(644,root,root,755)
892 %attr(755,root,root) %{_libexecdir}/%{name}/create_mysql_database
893 %attr(755,root,root) %{_libexecdir}/%{name}/drop_mysql_database
894 %attr(755,root,root) %{_libexecdir}/%{name}/drop_mysql_tables
895 %attr(755,root,root) %{_libexecdir}/%{name}/grant_mysql_privileges
896 %attr(755,root,root) %{_libexecdir}/%{name}/make_mysql_tables
897 %attr(755,root,root) %{_libexecdir}/%{name}/update_mysql_*
898 %attr(755,root,root) %{_libdir}/libbacsql-mysql-5*.so
900 %ghost %attr(755,root,root) %{_libdir}/libbacsql-5*.so
901 %ghost %{_libexecdir}/%{name}/create_bacula_database
902 %ghost %{_libexecdir}/%{name}/drop_bacula_tables
903 %ghost %{_libexecdir}/%{name}/drop_bacula_database
904 %ghost %{_libexecdir}/%{name}/grant_bacula_privileges
905 %ghost %{_libexecdir}/%{name}/make_bacula_tables
906 %ghost %{_libexecdir}/%{name}/update_bacula_tables
909 %defattr(644,root,root,755)
910 %attr(755,root,root) %{_libexecdir}/%{name}/create_sqlite3_database
911 %attr(755,root,root) %{_libexecdir}/%{name}/drop_sqlite3_database
912 %attr(755,root,root) %{_libexecdir}/%{name}/drop_sqlite3_tables
913 %attr(755,root,root) %{_libexecdir}/%{name}/grant_sqlite3_privileges
914 %attr(755,root,root) %{_libexecdir}/%{name}/make_sqlite3_tables
915 %attr(755,root,root) %{_libexecdir}/%{name}/update_sqlite3_*
916 %attr(755,root,root) %{_libexecdir}/%{name}/update_sqlite_*
917 %attr(755,root,root) %{_libdir}/libbacsql-sqlite3-5*.so
919 %ghost %attr(755,root,root) %{_libdir}/libbacsql-5*.so
920 %ghost %{_libexecdir}/%{name}/create_bacula_database
921 %ghost %{_libexecdir}/%{name}/drop_bacula_tables
922 %ghost %{_libexecdir}/%{name}/drop_bacula_database
923 %ghost %{_libexecdir}/%{name}/grant_bacula_privileges
924 %ghost %{_libexecdir}/%{name}/make_bacula_tables
925 %ghost %{_libexecdir}/%{name}/update_bacula_tables
928 %defattr(644,root,root,755)
929 %attr(755,root,root) %{_libexecdir}/%{name}/create_postgresql_database
930 %attr(755,root,root) %{_libexecdir}/%{name}/drop_postgresql_database
931 %attr(755,root,root) %{_libexecdir}/%{name}/drop_postgresql_tables
932 %attr(755,root,root) %{_libexecdir}/%{name}/grant_postgresql_privileges
933 %attr(755,root,root) %{_libexecdir}/%{name}/make_postgresql_tables
934 %attr(755,root,root) %{_libexecdir}/%{name}/update_postgresql_*
935 %attr(755,root,root) %{_libexecdir}/%{name}/create_mysql_database
936 %attr(755,root,root) %{_libexecdir}/%{name}/drop_mysql_database
937 %attr(755,root,root) %{_libexecdir}/%{name}/drop_mysql_tables
938 %attr(755,root,root) %{_libexecdir}/%{name}/grant_mysql_privileges
939 %attr(755,root,root) %{_libexecdir}/%{name}/make_mysql_tables
940 %attr(755,root,root) %{_libexecdir}/%{name}/update_mysql_*
941 %attr(755,root,root) %{_libexecdir}/%{name}/create_sqlite3_database
942 %attr(755,root,root) %{_libexecdir}/%{name}/drop_sqlite3_database
943 %attr(755,root,root) %{_libexecdir}/%{name}/drop_sqlite3_tables
944 %attr(755,root,root) %{_libexecdir}/%{name}/grant_sqlite3_privileges
945 %attr(755,root,root) %{_libexecdir}/%{name}/make_sqlite3_tables
946 %attr(755,root,root) %{_libexecdir}/%{name}/update_sqlite3_*
947 %attr(755,root,root) %{_libexecdir}/%{name}/update_sqlite_*
948 %attr(755,root,root) %{_libdir}/libbacsql-dbi-5*.so
950 %ghost %attr(755,root,root) %{_libdir}/libbacsql-5*.so
953 %defattr(644,root,root,755)
955 %attr(600,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/bacula-fd.conf
956 %attr(754,root,root) /etc/rc.d/init.d/bacula-fd
957 %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/bacula-fd
958 %attr(755,root,root) %{_sbindir}/bacula-fd
959 %attr(755,root,root) %{_libdir}/bpipe-fd.so
960 %{_mandir}/man8/bacula-fd.8*
963 %defattr(644,root,root,755)
965 %attr(600,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/bacula-sd.conf
966 %attr(600,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/mtx-changer.conf
967 %attr(754,root,root) /etc/rc.d/init.d/bacula-sd
968 %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/bacula-sd
969 %attr(755,root,root) %{_sbindir}/bacula-sd
970 %attr(755,root,root) %{_sbindir}/bcopy
971 %attr(755,root,root) %{_sbindir}/bextract
972 %attr(755,root,root) %{_sbindir}/bls
973 %attr(755,root,root) %{_sbindir}/bscan
974 %attr(755,root,root) %{_sbindir}/btape
975 %attr(755,root,root) %{_libexecdir}/%{name}/mtx-changer
976 %attr(755,root,root) %{_libexecdir}/%{name}/disk-changer
977 %attr(755,root,root) %{_libexecdir}/%{name}/dvd-handler
978 %{_mandir}/man8/bacula-sd.8*
979 %{_mandir}/man8/bcopy.8*
980 %{_mandir}/man8/bextract.8*
981 %{_mandir}/man8/bls.8*
982 %{_mandir}/man8/bscan.8*
983 %{_mandir}/man8/btape.8*
986 %defattr(644,root,root,755)
988 %attr(600,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/bconsole.conf
989 %attr(755,root,root) %{_sbindir}/bconsole
990 %{_mandir}/man8/bconsole.8*
992 %if %{with console_wx}
994 %defattr(644,root,root,755)
996 %{_pixmapsdir}/%{name}.png
997 %{_desktopdir}/bacula-wx.desktop
998 %attr(640,root,bacula) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/bwx-console.conf
999 %attr(755,root,root) %{_sbindir}/bwx-console
1000 %{_mandir}/man1/bacula-bwxconsole.1*
1005 %defattr(644,root,root,755)
1007 %{_pixmapsdir}/%{name}.png
1008 %{_desktopdir}/bat.desktop
1009 # Do not make this file world-readable or any user will get full access to the
1011 %attr(640,root,bacula) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/bat.conf
1012 %attr(755,root,root) %{_bindir}/bat
1013 %{_mandir}/man1/bat.1*
1017 %if %{with console_wx}
1019 %defattr(644,root,root,755)
1021 %attr(755,root,root) %{_sbindir}/bacula-tray-monitor
1022 #%{_pixmapsdir}/%{name}-tray-monitor.xpm
1023 #%{_desktopdir}/%{name}-tray-monitor.desktop
1024 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/tray-monitor.conf
1025 %{_mandir}/man1/bacula-tray-monitor.1*
1030 %defattr(644,root,root,755)
1032 %dir %{_sysconfdir}/rescue
1033 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/rescue/backup.etc.list
1034 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/rescue/bacula-fd
1035 %attr(755,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/rescue/format_floppy
1036 %attr(755,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/rescue/getdiskinfo
1037 %attr(755,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/rescue/make_rescue_disk
1038 %attr(755,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/rescue/restore_bacula
1039 %attr(755,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/rescue/restore_etc
1040 %attr(755,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/rescue/run_grub
1041 %attr(755,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/rescue/run_lilo
1042 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/rescue/sfdisk.bz2
1046 %files -n nagios-plugin-check_bacula
1047 %defattr(644,root,root,755)
1048 %attr(755,root,root) %{nagiosplugindir}/check_bacula