2 # - update desktop files, think about su-wrappers for console (with .desktop files)
3 # - fix log file permissions
4 # - check on upgrade (5.0 and 5.2 databases are NOT compatible)
7 %bcond_without wx # wx-console program
8 %bcond_without gtk # the GTK tray-monitor and wx-console
9 %if "%{pld_release}" == "ac"
10 %bcond_with qt # BAT / qt-console Qt4 GUI
12 %bcond_without qt # BAT / qt-console Qt4 GUI
14 %bcond_without mysql # use MySQL
15 %bcond_without pgsql # use PostgreSQL
16 %bcond_without sqlite3 # use SQLite3
17 %bcond_without python # Python Scripting support, http://www.bacula.org/3.0.x-manuals/en/concepts/concepts/Python_Scripting.html
18 %bcond_without nagios # build nagios plugin
20 %bcond_with sqlite3_sync_off # makes SQLite3 backend much faster, but less reliable
22 %if %{without sqlite3}
23 %undefine with_sqlite3_sync_off
31 Summary: Bacula - The Network Backup Solution
32 Summary(pl.UTF-8): Bacula - rozwiązanie do wykonywania kopii zapasowych po sieci
37 Group: Networking/Utilities
38 Source0: http://downloads.sourceforge.net/bacula/%{name}-%{version}.tar.gz
39 # Source0-md5: 43417bae0c221afb1f30a581c9e0f2fe
40 Source1: http://downloads.sourceforge.net/bacula/%{name}-docs-%{version}.tar.bz2
41 # Source1-md5: 0e7af41cc3b1c59662457679b02bf873
42 Source2: http://downloads.sourceforge.net/bacula/%{name}-rescue-5.0.1.tar.gz
43 # Source2-md5: bb194aed8e204f54bf2f61d7e721f257
44 Source10: %{name}-dir.init
45 Source11: %{name}-fd.init
46 Source12: %{name}-sd.init
47 Source13: %{name}.logrotate
48 Source14: %{name}-dir.sysconfig
49 Source15: %{name}-fd.sysconfig
50 Source16: %{name}-sd.sysconfig
51 Source17: %{name}-dir.service
52 Source18: %{name}-fd.service
53 Source19: %{name}-sd.service
54 Patch0: %{name}-mtx-changer.patch
55 Patch1: %{name}-branding.patch
56 Patch2: %{name}-conf.patch
57 Patch3: %{name}-desktop.patch
58 Patch4: make_catalog_backup-setup-home.patch
59 Patch5: %{name}-wx-console-build.patch
60 Patch6: %{name}-no_lockmgr.patch
61 Patch7: wxWidgets3.patch
62 URL: http://www.bacula.org/
63 BuildRequires: acl-devel
64 BuildRequires: autoconf
65 BuildRequires: automake
66 BuildRequires: gettext-devel
67 %{?with_gtk:BuildRequires: gtk+2-devel}
68 BuildRequires: libcap-devel
69 BuildRequires: libtool >= 2:2.2
71 BuildRequires: fakeroot
73 BuildRequires: libwrap-devel
74 BuildRequires: ncurses-devel
75 BuildRequires: openssl-devel
76 BuildRequires: pkgconfig
78 BuildRequires: python-devel
79 BuildRequires: python-modules
82 BuildRequires: QtCore-devel
83 BuildRequires: QtGui-devel
84 BuildRequires: qt4-build >= %{qtver}
85 BuildRequires: qt4-qmake >= %{qtver}
87 %{?with_mysql:BuildRequires: mysql-devel}
88 %{?with_pgsql:BuildRequires: postgresql-devel}
89 BuildRequires: readline-devel
90 BuildRequires: rpm >= 4.4.9-56
91 BuildRequires: rpm-pythonprov
92 BuildRequires: rpmbuild(macros) >= 1.644
93 BuildRequires: sed >= 4.0
94 %{?with_sqlite3:BuildRequires: sqlite3-devel}
96 Requires: systemd-units >= 38
98 BuildRequires: wxGTK2-unicode-devel >= 2.4.0
100 BuildRequires: zlib-devel
101 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
103 %define _sysconfdir /etc/%{name}
104 %define _localstatedir /var/lib/%{name}
105 %define nagiosplugindir %{_libdir}/nagios/plugins
107 # db packages contain duplicates
108 %define _duplicate_files_terminate_build 0
110 # from 'the worst' to 'the best'
111 %define databases %{?with_sqlite3:sqlite3} %{?with_mysql:mysql} %{?with_pgsql:postgresql}
113 # dependency section is broken. ccache usage is instead to makefiles
114 %undefine with_ccache
117 Bacula - It comes by night and sucks the vital essence from your
120 Bacula is a set of computer programs that permit you (or the system
121 administrator) to manage backup, recovery, and verification of
122 computer data across a network of computers of different kinds. In
123 technical terms, it is a network client/server based backup program.
124 Bacula is relatively easy to use and efficient, while offering many
125 advanced storage management features that make it easy to find and
126 recover lost or damaged files.
128 %description -l pl.UTF-8
129 Bacula - przychodzi nocą i wysysa żywotny ekstrakt z komputerów.
131 Bacula to zbiór programów umożliwiających administratorowi na
132 zarządzanie kopiami zapasowymi, odzyskiwaniem i weryfikacją danych w
133 sieci komputerów różnego rodzaju. W terminologii technicznej jest to
134 program do kopii zapasowych pracujący w architekturze klient-serwer.
135 Bacula jest stosunkowo łatwa w użyciu i wydajna, oferując przy tym
136 wiele zaawansowanych możliwości przy zarządzaniu nośnikami,
137 ułatwiających znalezienie i odzyskanie utraconych lub uszkodzonych
141 Summary: Common files for bacula package
142 Summary(pl.UTF-8): Pliki wspólne dla pakietu bacula
143 Group: Networking/Utilities
144 Requires(post): openssl-tools
145 Requires(post): sed >= 4.0
146 Requires(post,preun): /sbin/chkconfig
147 Requires(postun): /usr/sbin/groupdel
148 Requires(postun): /usr/sbin/userdel
149 Requires(pre): /usr/sbin/groupadd
150 Requires(pre): /usr/sbin/useradd
151 Conflicts: bacula-console < 0:1.34.6
152 Conflicts: bacula-dir < 0:1.34.6
153 Conflicts: bacula-fd < 0:1.34.6
154 Conflicts: bacula-sd < 0:1.34.6
155 Conflicts: logrotate < 3.8.0
158 Bacula - It comes by night and sucks the vital essence from your
161 Bacula is a set of computer programs that permit you (or the system
162 administrator) to manage backup, recovery, and verification of
163 computer data across a network of computers of different kinds. In
164 technical terms, it is a network client/server based backup program.
165 Bacula is relatively easy to use and efficient, while offering many
166 advanced storage management features that make it easy to find and
167 recover lost or damaged files.
169 %description common -l pl.UTF-8
170 Bacula - przychodzi nocą i wysysa żywotny ekstrakt z komputerów.
172 Bacula to zbiór programów umożliwiających administratorowi na
173 zarządzanie kopiami zapasowymi, odzyskiwaniem i weryfikacją danych w
174 sieci komputerów różnego rodzaju. W terminologii technicznej jest to
175 program do kopii zapasowych pracujący w architekturze klient-serwer.
176 Bacula jest stosunkowo łatwa w użyciu i wydajna, oferując przy tym
177 wiele zaawansowanych możliwości przy zarządzaniu nośnikami,
178 ułatwiających znalezienie i odzyskanie utraconych lub uszkodzonych
182 Summary: Bacula Director and Catalog services
183 Summary(pl.UTF-8): Usługi Bacula Director i Catalog
184 Group: Networking/Utilities
185 Requires(post): sed >= 4.0
186 Requires: %{name}-common = %{version}-%{release}
187 Requires: bacula(db) = %{version}-%{release}
188 Obsoletes: bacula-updatedb
191 Bacula - It comes by night and sucks the vital essence from your
194 Bacula Director is the program that supervises all the backup,
195 restore, verify and archive operations. The system administrator uses
196 the Bacula Director to schedule backups and to recover files. Catalog
197 services are comprised of the software programs responsible for
198 maintaining the file indexes and volume databases for all files backed
199 up. The Catalog services permit the System Administrator or user to
200 quickly locate and restore any desired file, since it maintains a
201 record of all Volumes used, all Jobs run, and all Files saved.
203 %description dir -l pl.UTF-8
204 Bacula - przychodzi nocą i wysysa żywotny ekstrakt z komputerów.
206 Bacula Director to program nadzorujący wszystkie operacje wykonywania
207 kopii zapasowych, odzyskiwania, weryfikacji i archiwizowania.
208 Administrator używa Bacula Directora do szeregowania kopii zapasowych
209 oraz odzyskiwania plików. Usługi katalogowe (Catalog services) są
210 używane przez programy odpowiedzialne za zarządzanie indeksami plików
211 i bazą danych wolumenów dla wszystkich kopiowanych plików. Usługi
212 katalogowe umożliwiają administratorowi lub użytkownikowi szybko
213 zlokalizować i odtworzyć dowolny plik, ponieważ utrzymują rekord ze
214 wszystkimi używanymi wolumenami, uruchomionymi zadaniami i zapisanymi
218 Summary: Bacula Console
219 Summary(pl.UTF-8): Konsola Baculi
220 Group: Networking/Utilities
221 Requires(post): sed >= 4.0
222 Requires: %{name}-common = %{version}-%{release}
225 Bacula - It comes by night and sucks the vital essence from your
228 Bacula Console is the program that allows the administrator or user to
229 communicate with the Bacula Director. This is the text only console
232 %description console -l pl.UTF-8
233 Bacula - przychodzi nocą i wysysa żywotny ekstrakt z komputerów.
235 Bacula Console to program umożliwiający administratorowi lub
236 użytkownikowi komunikowanie się z programem Bacula Director. To jest
237 interfejs czysto tekstowy.
240 Summary: Bacula wxWidgets Console
241 Summary(pl.UTF-8): Konsola Baculi oparta na wxWidgets
242 Group: Networking/Utilities
243 Requires(post): sed >= 4.0
244 Requires: %{name}-common = %{version}-%{release}
246 %description console-wx
247 Bacula - It comes by night and sucks the vital essence from your
250 Bacula Console is the program that allows the administrator or user to
251 communicate with the Bacula Director. This is the wxWidgets GUI
254 %description console-wx -l pl.UTF-8
255 Bacula - przychodzi nocą i wysysa żywotny ekstrakt z komputerów.
257 Bacula Console to program umożliwiający administratorowi lub
258 użytkownikowi komunikowanie się z programem Bacula Director. To jest
259 interfejs graficzny oparty na wxWidgets.
262 Summary: bat – The Bacula Administration Tool
263 Summary(pl.UTF-8): bat – narzędzie administratora Baculi
264 Group: Networking/Utilities
265 Requires(post): sed >= 4.0
266 Requires: %{name}-common = %{version}-%{release}
267 Requires: QtCore >= %{qtver}
268 Obsoletes: bacula-console-qt4 < 5.2.13-1
270 %description console-qt
271 Bacula - It comes by night and sucks the vital essence from your
274 bat is short for Bacula Administration Tool. It is a GUI form of
275 bconsole, but with many additional features.
277 %description console-qt -l pl.UTF-8
278 Bacula - przychodzi nocą i wysysa żywotny ekstrakt z komputerów.
280 bat, czyli Bacula Administration Tool, jest graficznym odpowiednikiem
281 bconsole, z wieloma dodatkowymi funkcjami.
283 %package tray-monitor
284 Summary: Bacula Tray Monitor
285 Group: Networking/Utilities
286 Requires(post): sed >= 4.0
287 Requires: %{name}-common = %{version}-%{release}
289 %description tray-monitor
290 Bacula - It comes by night and sucks the vital essence from your
293 The Monitor program is typically an icon in the system tray. However,
294 once the icon is expanded into a full window, the administrator or
295 user can obtain status information about the Director or the backup
296 status on the local workstation or any other Bacula daemon that is
300 Summary: Bacula File services (Client)
301 Summary(pl.UTF-8): Usługi Bacula File (klient)
302 Group: Networking/Utilities
303 Requires(post): sed >= 4.0
304 Requires: %{name}-common = %{version}-%{release}
307 Bacula - It comes by night and sucks the vital essence from your
310 Bacula File services (or Client program) is the software program that
311 is installed on the machine to be backed up. It is specific to the
312 operating system on which it runs and is responsible for providing the
313 file attributes and data when requested by the Director. The File
314 services are also responsible for the file system dependent part of
315 restoring the file attributes and data during a recovery operation.
316 This program runs as a daemon on the machine to be backed up, and in
317 some of the documentation, the File daemon is referred to as the
318 Client (for example in Bacula configuration file).
320 %description fd -l pl.UTF-8
321 Bacula - przychodzi nocą i wysysa żywotny ekstrakt z komputerów.
323 Usługi Bacula File (inaczej program kliencki) to oprogramowanie, które
324 instaluje się na maszynach, z których mają być wykonywane kopie
325 zapasowe. Są one specyficzne dla systemu operacyjnego, pod którym
326 działa dana maszyna i odpowiadają za dostarczanie atrybutów i danych
327 plików na żądanie Directora. Usługi plikowe są także odpowiedzialne za
328 zależną od systemu plików część odzyskiwania atrybutów i danych plików
329 podczas operacji odzyskiwania danych. Program działa jako demon na
330 maszynie, która ma być backupowana i w części dokumentacji demon ten
331 (File) jest nazywany klientem (na przykład w pliku konfiguracyjnym
335 Summary: Bacula Storage services
336 Summary(pl.UTF-8): Usługi Bacula Storage
337 Group: Networking/Utilities
338 Requires(post): sed >= 4.0
339 Requires: %{name}-common = %{version}-%{release}
341 Conflicts: dvd+rw-tools <= 5.21.4.10.8-1
344 Bacula - It comes by night and sucks the vital essence from your
347 Bacula Storage services consist of the software programs that perform
348 the storage and recovery of the file attributes and data to the
349 physical backup media or volumes. In other words, the Storage daemon
350 is responsible for reading and writing your tapes (or other storage
351 media, e.g. files). The Storage services runs as a daemon on the
352 machine that has the backup device (usually a tape drive).
354 %description sd -l pl.UTF-8
355 Bacula - przychodzi nocą i wysysa żywotny ekstrakt z komputerów.
357 Usługi Bacula Storage składają się z programów obsługujących
358 przechowywanie danych oraz odzyskiwanie atrybutów i danych na
359 fizycznych nośnikach lub wolumenach. Innymi słowy, demon Storage jest
360 odpowiedzialny za odczyt i zapis taśm (lub innych nośników do
361 przechowywania danych, np. plików). Usługi Storage działają jako demon
362 na maszynie, która zawiera urządzenie backupowe (zwykle napęd
365 %package db-postgresql
366 Summary: PostgreSQL database driver for Bacula
367 Summary(pl.UTF-8): Sterownik bazy PostgreSQL dla Baculi
368 Group: Networking/Utilities
369 Requires(post): /sbin/ldconfig
370 Requires: %{name}-common = %{version}-%{release}
371 Provides: bacula(db) = %{version}-%{release}
372 Obsoletes: bacula(db)
374 %description db-postgresql
375 PostgreSQL database driver for Bacula.
377 %description db-postgresql -l pl.UTF-8
378 Sterownik bazy PostgreSQL dla Baculi.
381 Summary: MySQL database driver for Bacula
382 Summary(pl.UTF-8): Sterownik bazy MySQL dla Baculi
383 Group: Networking/Utilities
384 Requires(post): /sbin/ldconfig
385 Requires: %{name}-common = %{version}-%{release}
386 Provides: bacula(db) = %{version}-%{release}
387 Obsoletes: bacula(db)
389 %description db-mysql
390 MySQL database driver for Bacula.
392 %description db-mysql -l pl.UTF-8
393 Sterownik bazy MySQL dla Baculi.
396 Summary: SQLite database driver for Bacula
397 Summary(pl.UTF-8): Sterownik bazy SQLite dla Baculi
398 Group: Networking/Utilities
399 Requires(post): /sbin/ldconfig
400 Requires: %{name}-common = %{version}-%{release}
401 Provides: bacula(db) = %{version}-%{release}
402 Obsoletes: bacula(db)
404 %description db-sqlite3
405 SQLite database driver for Bacula.
407 %description db-sqlite3 -l pl.UTF-8
408 Sterownik bazy SQLite dla Baculi.
411 Summary: Bacula - The Network Backup Solution
412 Summary(pl.UTF-8): Bacula - rozwiązanie do wykonywania kopii zapasowych po sieci
413 Group: Networking/Utilities
414 Requires: %{name}-fd = %{version}-%{release}
419 Bacula - It comes by night and sucks the vital essence from your
422 Bacula is a set of computer programs that permit you (or the system
423 administrator) to manage backup, recovery, and verification of
424 computer data across a network of computers of different kinds. In
425 technical terms, it is a network client/server based backup program.
426 Bacula is relatively easy to use and efficient, while offering many
427 advanced storage management features that make it easy to find and
428 recover lost or damaged files.
430 This package installs scripts for disaster recovery and builds rescue
431 floppy disk for bare metal recovery.
433 %description rescue -l pl.UTF-8
434 Bacula - przychodzi nocą i wysysa żywotny ekstrakt z komputerów.
436 Bacula to zbiór programów umożliwiających administratorowi na
437 zarządzanie kopiami zapasowymi, odzyskiwaniem i weryfikacją danych w
438 sieci komputerów różnego rodzaju. W terminologii technicznej jest to
439 program do kopii zapasowych pracujący w architekturze klient-serwer.
440 Bacula jest stosunkowo łatwa w użyciu i wydajna, oferując przy tym
441 wiele zaawansowanych możliwości przy zarządzaniu nośnikami,
442 ułatwiających znalezienie i odzyskanie utraconych lub uszkodzonych
445 Ten pakiet zawiera skrypty do odtwarzania po awarii i tworzy dyskietkę
446 ratunkowe do odtwarzania systemu od zera.
448 %package -n nagios-plugin-check_bacula
449 Summary: Nagios plugin to check bacula
451 Requires: nagios-common
453 %description -n nagios-plugin-check_bacula
454 Nagios plugin to check bacula.
456 %define _noautoreq libbaccats-%{version}.so
457 # provided by various db libraries as a symlink
470 tar -xf %{SOURCE2} && ln -s bacula-rescue-* rescue
472 sed -i -e 's#bindir=.*#bindir=%{_bindir}#g' \
473 src/cats/create_* src/cats/delete_* src/cats/drop_* \
474 src/cats/grant_* src/cats/make_* src/cats/update_*
475 sed -i -e 's/@hostname@/--hostname--/' src/*/*.conf.in
476 sed -i -e 's/@basename@/--hostname--/' src/*/*.conf.in
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 WXCONFIG=%{_bindir}/wx-gtk2-unicode-config \
489 QMAKE=%{_bindir}/qmake-qt4 \
491 --with-scriptdir=%{_libexecdir}/%{name} \
492 %{?with_qt:--enable-bat} \
494 --enable-smartalloc \
495 %{?with_wx:--enable-bwx-console} \
496 %{?with_gtk:--enable-tray-monitor} \
497 %{?with_python:--with-python} \
499 --with-tcp-wrappers \
500 --with-working-dir=%{_var}/lib/%{name} \
501 --with-dump-email="root@localhost" \
502 --with-job-email="root@localhost" \
503 --with-smtp-host=localhost \
504 --with-pid-dir=/var/run \
505 --with-subsys-dir=/var/lock/subsys \
506 --with-systemd=%{systemdunitdir} \
507 --enable-batch-insert \
508 %{?with_pgsql:--with-postgresql} \
509 %{?with_mysql:--with-mysql} \
510 %{?with_sqlite3:--with-sqlite3} \
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#" \
526 %{__make} 2>&1 | tee log
527 # check for build errors
528 grep "Error in" log && exit 1
532 %{__make} -C examples/nagios/check_bacula
544 rm -rf $RPM_BUILD_ROOT
545 install -d $RPM_BUILD_ROOT/etc/{rc.d/init.d,logrotate.d,pam.d,sysconfig} \
546 $RPM_BUILD_ROOT%{_sysconfdir}/rescue \
547 $RPM_BUILD_ROOT{%{_pixmapsdir},%{_desktopdir}} \
548 $RPM_BUILD_ROOT{%{_mandir},%{_bindir},/var/log{,/archive}/bacula} \
549 $RPM_BUILD_ROOT%{systemdunitdir}
552 DESTDIR=$RPM_BUILD_ROOT
554 # create copies of make_catalog_backup for specific databases; zeore default one (will be ghost)
555 for database in %{databases}; do
556 sed -e "s#default_db_type=.*#default_db_type=${database}#g" \
557 $RPM_BUILD_ROOT%{_libdir}/%{name}/make_catalog_backup \
558 > $RPM_BUILD_ROOT%{_libdir}/%{name}/make_${database}_catalog_backup
559 chmod 755 $RPM_BUILD_ROOT%{_libdir}/%{name}/make_${database}_catalog_backup
561 :> $RPM_BUILD_ROOT%{_libdir}/%{name}/make_catalog_backup
563 # we use db dependant (at compile time) shell script only
564 rm $RPM_BUILD_ROOT%{_libexecdir}/%{name}/make_catalog_backup.pl
566 ## replace with empty file, replaced by ldconfig from each db-* package on intsall
567 rm $RPM_BUILD_ROOT%{_libdir}/libbaccats-%{version}.so
568 touch $RPM_BUILD_ROOT%{_libdir}/libbaccats-%{version}.so
570 install -p %{SOURCE10} $RPM_BUILD_ROOT/etc/rc.d/init.d/bacula-dir
571 install -p %{SOURCE11} $RPM_BUILD_ROOT/etc/rc.d/init.d/bacula-fd
572 install -p %{SOURCE12} $RPM_BUILD_ROOT/etc/rc.d/init.d/bacula-sd
573 cp -a %{SOURCE13} $RPM_BUILD_ROOT/etc/logrotate.d/%{name}-dir
574 cp -a %{SOURCE14} $RPM_BUILD_ROOT/etc/sysconfig/bacula-dir
575 cp -a %{SOURCE15} $RPM_BUILD_ROOT/etc/sysconfig/bacula-fd
576 cp -a %{SOURCE16} $RPM_BUILD_ROOT/etc/sysconfig/bacula-sd
577 cp -a %{SOURCE17} $RPM_BUILD_ROOT%{systemdunitdir}/bacula-dir.service
578 cp -a %{SOURCE18} $RPM_BUILD_ROOT%{systemdunitdir}/bacula-fd.service
579 cp -a %{SOURCE19} $RPM_BUILD_ROOT%{systemdunitdir}/bacula-sd.service
582 cp -a scripts/bacula.png $RPM_BUILD_ROOT%{_pixmapsdir}/bacula.png
583 sed -e 's/gnome-console/wx-console/g;s/Console/Wx Console/g' \
584 scripts/wxconsole.desktop.consolehelper > $RPM_BUILD_ROOT%{_desktopdir}/bacula-wx.desktop
588 # qmake somewhy does not always create install_bins target. install our own the bin
589 rm -f $RPM_BUILD_ROOT%{_sbindir}/bat
590 libtool --silent --mode=install install src/qt-console/bat $RPM_BUILD_ROOT%{_bindir}
591 cp -a scripts/bacula.png $RPM_BUILD_ROOT%{_pixmapsdir}/bacula.png
592 cp -a scripts/bat.desktop $RPM_BUILD_ROOT%{_desktopdir}
596 # install the rescue stuff, these are the rescue scripts
597 cp -a rescue/linux/floppy/backup.etc.list $RPM_BUILD_ROOT%{_sysconfdir}/rescue
598 cp -a rescue/linux/floppy/sfdisk.bz2 $RPM_BUILD_ROOT%{_sysconfdir}/rescue
599 install -p rescue/linux/floppy/*_* $RPM_BUILD_ROOT%{_sysconfdir}/rescue
600 install -p rescue/linux/floppy/getdiskinfo $RPM_BUILD_ROOT%{_sysconfdir}/rescue
603 touch $RPM_BUILD_ROOT/var/log/bacula/log
605 # install the updatedb scripts for older versions that last full release
606 # 2.0 -> 3.0 : 10_to_11
607 # 5.0 -> 5.2 : 12_to_14
608 install -p updatedb/update_*_tables_10_to_11 $RPM_BUILD_ROOT%{_libexecdir}/%{name}
609 install -p updatedb/update_*_tables_11_to_12 $RPM_BUILD_ROOT%{_libexecdir}/%{name}
610 install -p updatedb/update_*_tables_12_to_14 $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%{_libexecdir}/%{name}/mtx-changer.conf $RPM_BUILD_ROOT%{_sysconfdir}/mtx-changer.conf
619 rm -f $RPM_BUILD_ROOT%{_libexecdir}/%{name}/{gconsole,startmysql,stopmysql,bacula,bconsole,fd}
621 rm -f $RPM_BUILD_ROOT%{_desktopdir}/bacula-wx.desktop
624 rm $RPM_BUILD_ROOT%{_docdir}/bacula/ChangeLog
625 rm $RPM_BUILD_ROOT%{_docdir}/bacula/INSTALL
626 rm $RPM_BUILD_ROOT%{_docdir}/bacula/LICENSE
627 rm $RPM_BUILD_ROOT%{_docdir}/bacula/README
628 rm $RPM_BUILD_ROOT%{_docdir}/bacula/ReleaseNotes
629 rm $RPM_BUILD_ROOT%{_docdir}/bacula/VERIFYING
630 rm $RPM_BUILD_ROOT%{_docdir}/bacula/technotes
632 # startup scripts, those in /etc/rc.d/init.d are better
633 rm $RPM_BUILD_ROOT%{_sbindir}/bacula
634 rm $RPM_BUILD_ROOT%{_libexecdir}/%{name}/bacula-ctl-*
637 rm $RPM_BUILD_ROOT%{_libexecdir}/%{name}/btraceback.mdb
639 # rename to avoid possible conflicts
640 mv $RPM_BUILD_ROOT%{_sbindir}/{,bacula-}dbcheck
641 mv $RPM_BUILD_ROOT%{_mandir}/man8/{,bacula-}dbcheck.8.gz
643 # no -devel files packaged, so this is also useless
644 rm $RPM_BUILD_ROOT%{_libdir}/libbac{,cfg,find,py,sql,cats}.{so,la}
645 #rm $RPM_BUILD_ROOT%{_libdir}/libbaccats*.{so,la}
646 %{?with_mysql:rm $RPM_BUILD_ROOT%{_libdir}/libbaccats-mysql.{la,so}}
647 %{?with_pgsql:rm $RPM_BUILD_ROOT%{_libdir}/libbaccats-postgresql.{la,so}}
648 %{?with_sqlite3:rm $RPM_BUILD_ROOT%{_libdir}/libbaccats-sqlite3.{la,so}}
651 install -d $RPM_BUILD_ROOT%{nagiosplugindir}
652 %{__make} -C examples/nagios/check_bacula install \
653 sbindir=%{nagiosplugindir} \
654 INSTALL_PROGRAM="libtool --mode=install install -p" \
655 DESTDIR=$RPM_BUILD_ROOT
659 rm -rf $RPM_BUILD_ROOT
662 %groupadd -P %{name}-common -g 136 -r -f bacula
663 %useradd -P %{name}-common -u 136 -r -d /var/lib/bacula -s /bin/false -c "Bacula User" -g bacula bacula
665 %define update_configs \
666 echo "Updating bacula passwords and names..." | %banner -a %{name} \
668 for f in *-password; do \
669 if [ ! -s $f ]; then \
670 openssl rand -base64 33 > $f \
673 for cf in *.conf *.conf.rpmnew; do \
674 [ -f $cf ] && sed -i -e"s:#FAKE-$f#:$p:" "$cf" || : \
677 for cf in *.conf *.conf.rpmnew; do \
678 [ -f $cf ] && sed -i -e"s:--hostname--:`hostname`:" "$cf" || : \
687 if [ "$1" = "0" ]; then
692 %triggerpostun dir -- %{name}-dir < %{version}-0
693 %banner bacula-dir -t3 <<EOF
694 You have upgraded from an older version of Bacula director.
696 You will probably need to call %{_libexecdir}/%{name}/update_bacula_tables
697 script to upgrade the database.
699 Ensure you database partition has enough free space before you run the upgrade,
700 i.e check that there is enough room to rebuild 'File' table (it is the largest
707 /sbin/chkconfig --add bacula-dir
708 %service bacula-dir restart "Bacula Director daemon"
709 %systemd_post bacula-dir.service
712 if [ "$1" = "0" ]; then
713 %service bacula-dir stop
714 /sbin/chkconfig --del bacula-dir
716 %systemd_preun bacula-dir.service
723 /sbin/chkconfig --add bacula-fd
724 %service bacula-fd restart "Bacula File daemon"
725 %systemd_post bacula-fd.service
728 if [ "$1" = "0" ]; then
729 %service bacula-fd stop
730 /sbin/chkconfig --del bacula-fd
732 %systemd_preun bacula-fd.service
739 /sbin/chkconfig --add bacula-sd
740 %service bacula-sd restart "Bacula Storage daemon"
741 %systemd_post bacula-sd.service
744 if [ "$1" = "0" ]; then
745 %service bacula-sd stop
746 /sbin/chkconfig --del bacula-sd
748 %systemd_preun bacula-sd.service
754 if [ -e %{_sysconfdir}/console.conf -a ! -e %{_sysconfdir}/bconsole.conf ]; then
755 mv %{_sysconfdir}/console.conf %{_sysconfdir}/bconsole.conf
764 %triggerpostun common -- %{name}-common < 5.0.1-2
765 find %{_sysconfdir}/bat.conf* -perm /007 -print0 2>/dev/null | xargs -0 -r chmod 600 || :
774 # link our current installed conf file to the rescue directory
775 ln -sf %{_sysconfdir}/bacula-fd.conf %{_sysconfdir}/rescue/bacula-fd.conf
778 echo "Creating rescue files for this system..."
779 cd %{_sysconfdir}/rescue
783 # remove the files created after the initial rpm installation
784 if [ "$1" = "0" ]; then
785 rm -f %{_sysconfdir}/rescue/bacula-fd.conf
786 rm -f %{_sysconfdir}/rescue/partition.*
787 rm -f %{_sysconfdir}/rescue/format.*
788 rm -f %{_sysconfdir}/rescue/mount_drives
789 rm -f %{_sysconfdir}/rescue/start_network
790 rm -f %{_sysconfdir}/rescue/sfdisk
791 rm -rf %{_sysconfdir}/rescue/diskinfo/*
796 for name in "create database" "drop tables" "drop database" "grant privileges" "make tables" "update tables"; do \
797 prefix="${name%% *}" \
798 suffix="${name#* }" \
799 ln -sf "${prefix}_%{1}_${suffix}" %{_libexecdir}/%{name}/"${prefix}_bacula_${suffix}" || : \
801 ln -sf "make_%{1}_catalog_backup" %{_libexecdir}/%{name}/make_catalog_backup || : \
802 ln -sf libbaccats-%{1}-%{version}.so %{_libdir}/libbaccats-%{version}.so || : \
803 %service bacula-dir restart "Bacula Director daemon"
808 %postun db-postgresql -p /sbin/ldconfig
813 %postun db-mysql -p /sbin/ldconfig
818 %postun db-sqlite3 -p /sbin/ldconfig
821 %defattr(644,root,root,755)
823 %{?with_python:%doc examples/python}
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-5*.so
830 %attr(755,root,root) %{_libdir}/libbaccfg-5*.so
831 %attr(755,root,root) %{_libdir}/libbacfind-5*.so
832 %attr(755,root,root) %{_libdir}/libbacpy-5*.so
833 %attr(755,root,root) %{_libdir}/libbacsql-5*.so
834 %{_mandir}/man8/bacula.8*
835 %{_mandir}/man1/bsmtp.1*
836 %{_mandir}/man8/btraceback.8*
837 %dir %{_libexecdir}/%{name}
838 %{_libexecdir}/%{name}/btraceback.dbx
839 %{_libexecdir}/%{name}/btraceback.gdb
840 %{_libexecdir}/%{name}/bacula_config
841 %attr(770,root,bacula) %dir %{_localstatedir}
842 %attr(750,bacula,logs) %dir /var/log/bacula
843 %attr(640,bacula,logs) %ghost /var/log/bacula/log
844 %attr(750,bacula,logs) %dir /var/log/archive/bacula
847 %defattr(644,root,root,755)
848 %doc ChangeLog CheckList ReleaseNotes LICENSE
849 #%doc examples %{name}-docs-%{version}/manual/{*.pdf,bacula}
850 %attr(640,root,bacula) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/bacula-dir.conf
851 %attr(640,root,root) %config(noreplace) /etc/logrotate.d/bacula-dir
852 %attr(754,root,root) /etc/rc.d/init.d/bacula-dir
853 %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/bacula-dir
854 %{systemdunitdir}/bacula-dir.service
855 %attr(755,root,root) %{_sbindir}/bacula-dir
856 %attr(755,root,root) %{_sbindir}/bregex
857 %attr(755,root,root) %{_sbindir}/bwild
858 %attr(755,root,root) %{_sbindir}/bacula-dbcheck
859 %{_mandir}/man8/bacula-dir.8*
860 %{_mandir}/man8/bacula-dbcheck.8*
861 %{_mandir}/man8/bregex.8*
862 %{_mandir}/man8/bwild.8*
863 %{_libexecdir}/%{name}/query.sql
864 %attr(755,root,root) %{_libexecdir}/%{name}/delete_catalog_backup
868 %defattr(644,root,root,755)
869 %attr(755,root,root) %{_libexecdir}/%{name}/create_postgresql_database
870 %attr(755,root,root) %{_libexecdir}/%{name}/drop_postgresql_database
871 %attr(755,root,root) %{_libexecdir}/%{name}/drop_postgresql_tables
872 %attr(755,root,root) %{_libexecdir}/%{name}/grant_postgresql_privileges
873 %attr(755,root,root) %{_libexecdir}/%{name}/make_postgresql_tables
874 %attr(755,root,root) %{_libexecdir}/%{name}/update_postgresql_*
875 %attr(755,root,root) %{_libexecdir}/%{name}/make_postgresql_catalog_backup
876 %attr(755,root,root) %{_libdir}/libbaccats-postgresql-5*.so
878 %ghost %attr(755,root,root) %{_libdir}/libbaccats-5*.so
879 %ghost %{_libexecdir}/%{name}/create_bacula_database
880 %ghost %{_libexecdir}/%{name}/drop_bacula_tables
881 %ghost %{_libexecdir}/%{name}/drop_bacula_database
882 %ghost %{_libexecdir}/%{name}/grant_bacula_privileges
883 %ghost %{_libexecdir}/%{name}/make_bacula_tables
884 %ghost %{_libexecdir}/%{name}/update_bacula_tables
885 %ghost %{_libexecdir}/%{name}/make_catalog_backup
890 %defattr(644,root,root,755)
891 %attr(755,root,root) %{_libexecdir}/%{name}/create_mysql_database
892 %attr(755,root,root) %{_libexecdir}/%{name}/drop_mysql_database
893 %attr(755,root,root) %{_libexecdir}/%{name}/drop_mysql_tables
894 %attr(755,root,root) %{_libexecdir}/%{name}/grant_mysql_privileges
895 %attr(755,root,root) %{_libexecdir}/%{name}/make_mysql_tables
896 %attr(755,root,root) %{_libexecdir}/%{name}/update_mysql_*
897 %attr(755,root,root) %{_libexecdir}/%{name}/make_mysql_catalog_backup
898 %attr(755,root,root) %{_libdir}/libbaccats-mysql-5*.so
900 %ghost %attr(755,root,root) %{_libdir}/libbaccats-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
907 %ghost %{_libexecdir}/%{name}/make_catalog_backup
912 %defattr(644,root,root,755)
913 %attr(755,root,root) %{_libexecdir}/%{name}/create_sqlite3_database
914 %attr(755,root,root) %{_libexecdir}/%{name}/drop_sqlite3_database
915 %attr(755,root,root) %{_libexecdir}/%{name}/drop_sqlite3_tables
916 %attr(755,root,root) %{_libexecdir}/%{name}/grant_sqlite3_privileges
917 %attr(755,root,root) %{_libexecdir}/%{name}/make_sqlite3_tables
918 %attr(755,root,root) %{_libexecdir}/%{name}/update_sqlite3_*
919 %attr(755,root,root) %{_libexecdir}/%{name}/make_sqlite3_catalog_backup
920 %attr(755,root,root) %{_libdir}/libbaccats-sqlite3-5*.so
922 %ghost %attr(755,root,root) %{_libdir}/libbaccats-5*.so
923 %ghost %{_libexecdir}/%{name}/create_bacula_database
924 %ghost %{_libexecdir}/%{name}/drop_bacula_tables
925 %ghost %{_libexecdir}/%{name}/drop_bacula_database
926 %ghost %{_libexecdir}/%{name}/grant_bacula_privileges
927 %ghost %{_libexecdir}/%{name}/make_bacula_tables
928 %ghost %{_libexecdir}/%{name}/update_bacula_tables
929 %ghost %{_libexecdir}/%{name}/make_catalog_backup
933 %defattr(644,root,root,755)
935 %attr(640,root,bacula) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/bacula-fd.conf
936 %attr(754,root,root) /etc/rc.d/init.d/bacula-fd
937 %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/bacula-fd
938 %{systemdunitdir}/bacula-fd.service
939 %attr(755,root,root) %{_sbindir}/bacula-fd
940 %attr(755,root,root) %{_libdir}/bpipe-fd.so
941 %{_mandir}/man8/bacula-fd.8*
944 %defattr(644,root,root,755)
946 %attr(640,root,bacula) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/bacula-sd.conf
947 %attr(640,root,bacula) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/mtx-changer.conf
948 %attr(754,root,root) /etc/rc.d/init.d/bacula-sd
949 %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/bacula-sd
950 %{systemdunitdir}/bacula-sd.service
951 %attr(755,root,root) %{_sbindir}/bacula-sd
952 %attr(755,root,root) %{_sbindir}/bcopy
953 %attr(755,root,root) %{_sbindir}/bextract
954 %attr(755,root,root) %{_sbindir}/bls
955 %attr(755,root,root) %{_sbindir}/bscan
956 %attr(755,root,root) %{_sbindir}/btape
957 %attr(755,root,root) %{_libexecdir}/%{name}/mtx-changer
958 %attr(755,root,root) %{_libexecdir}/%{name}/disk-changer
959 %attr(755,root,root) %{_libexecdir}/%{name}/dvd-handler
960 %{_mandir}/man8/bacula-sd.8*
961 %{_mandir}/man8/bcopy.8*
962 %{_mandir}/man8/bextract.8*
963 %{_mandir}/man8/bls.8*
964 %{_mandir}/man8/bscan.8*
965 %{_mandir}/man8/btape.8*
968 %defattr(644,root,root,755)
970 %attr(640,root,bacula) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/bconsole.conf
971 %attr(755,root,root) %{_sbindir}/bconsole
972 %{_mandir}/man8/bconsole.8*
976 %defattr(644,root,root,755)
978 %{_pixmapsdir}/%{name}.png
979 %{_desktopdir}/bacula-wx.desktop
980 %attr(640,root,bacula) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/bwx-console.conf
981 %attr(755,root,root) %{_sbindir}/bwx-console
982 %{_mandir}/man1/bacula-bwxconsole.1*
987 %defattr(644,root,root,755)
989 %{_pixmapsdir}/%{name}.png
990 %{_desktopdir}/bat.desktop
991 # Do not make this file world-readable or any user will get full access to the
993 %attr(640,root,bacula) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/bat.conf
994 %attr(755,root,root) %{_bindir}/bat
995 %{_mandir}/man1/bat.1*
1001 %defattr(644,root,root,755)
1003 %attr(755,root,root) %{_sbindir}/bacula-tray-monitor
1004 #%{_pixmapsdir}/%{name}-tray-monitor.xpm
1005 #%{_desktopdir}/%{name}-tray-monitor.desktop
1006 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/tray-monitor.conf
1007 %{_mandir}/man1/bacula-tray-monitor.1*
1012 %defattr(644,root,root,755)
1014 %dir %{_sysconfdir}/rescue
1015 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/rescue/backup.etc.list
1016 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/rescue/bacula-fd
1017 %attr(755,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/rescue/format_floppy
1018 %attr(755,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/rescue/getdiskinfo
1019 %attr(755,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/rescue/make_rescue_disk
1020 %attr(755,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/rescue/restore_bacula
1021 %attr(755,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/rescue/restore_etc
1022 %attr(755,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/rescue/run_grub
1023 %attr(755,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/rescue/run_lilo
1024 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/rescue/sfdisk.bz2
1028 %files -n nagios-plugin-check_bacula
1029 %defattr(644,root,root,755)
1030 %attr(755,root,root) %{nagiosplugindir}/check_bacula