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 console_wx # wx-console program
8 %if "%{pld_release}" == "ac"
9 %bcond_with bat # bat Qt4 GUI
11 %bcond_without bat # bat Qt4 GUI
13 %bcond_without mysql # use MySQL
14 %bcond_without pgsql # use PostgreSQL
15 %bcond_without sqlite3 # use SQLite3
16 %bcond_without python # Python Scripting support, http://www.bacula.org/3.0.x-manuals/en/concepts/concepts/Python_Scripting.html
17 %bcond_without nagios # build nagios plugin
19 %bcond_with sqlite3_sync_off # makes SQLite3 backend much faster, but less reliable
21 %if %{without sqlite3}
22 %undefine with_sqlite3_sync_off
26 Summary: Bacula - The Network Backup Solution
27 Summary(pl.UTF-8): Bacula - rozwiązanie do wykonywania kopii zapasowych po sieci
32 Group: Networking/Utilities
33 Source0: http://downloads.sourceforge.net/bacula/%{name}-%{version}.tar.gz
34 # Source0-md5: b04c22b128b73359e4bbc9de06652c38
35 Source1: http://downloads.sourceforge.net/bacula/%{name}-docs-%{version}.tar.bz2
36 # Source1-md5: 909b85db6da2dbe6b1099688ad4ec7c3
37 Source2: http://downloads.sourceforge.net/bacula/%{name}-rescue-5.0.1.tar.gz
38 # Source2-md5: bb194aed8e204f54bf2f61d7e721f257
39 Source10: %{name}-dir.init
40 Source11: %{name}-fd.init
41 Source12: %{name}-sd.init
42 Source13: %{name}.logrotate
43 Source14: %{name}-dir.sysconfig
44 Source15: %{name}-fd.sysconfig
45 Source16: %{name}-sd.sysconfig
46 Source17: %{name}-dir.service
47 Source18: %{name}-fd.service
48 Source19: %{name}-sd.service
49 Patch0: %{name}-mtx-changer.patch
50 Patch1: %{name}-branding.patch
51 Patch2: %{name}-conf.patch
52 Patch3: %{name}-desktop.patch
53 Patch4: make_catalog_backup-setup-home.patch
54 Patch5: %{name}-wx-console-build.patch
55 URL: http://www.bacula.org/
56 BuildRequires: acl-devel
57 BuildRequires: autoconf
58 BuildRequires: automake
59 BuildRequires: gettext-devel
60 %{?with_console_wx:BuildRequires: gtk+2-devel}
61 BuildRequires: libcap-devel
62 BuildRequires: libtool >= 2:2.2
64 BuildRequires: fakeroot
66 BuildRequires: libwrap-devel
67 BuildRequires: ncurses-devel
68 BuildRequires: openssl-devel
69 BuildRequires: pkgconfig
71 BuildRequires: python-devel
72 BuildRequires: python-modules
75 BuildRequires: QtCore-devel
76 BuildRequires: QtGui-devel
77 BuildRequires: qt4-build >= %{qtver}
78 BuildRequires: qt4-qmake >= %{qtver}
80 %{?with_mysql:BuildRequires: mysql-devel}
81 %{?with_pgsql:BuildRequires: postgresql-devel}
82 BuildRequires: readline-devel
83 BuildRequires: rpm >= 4.4.9-56
84 BuildRequires: rpm-pythonprov
85 BuildRequires: rpmbuild(macros) >= 1.644
86 BuildRequires: sed >= 4.0
87 %{?with_sqlite3:BuildRequires: sqlite3-devel}
88 Requires: systemd-units >= 38
90 %if %{with console_wx}
91 BuildRequires: wxGTK2-unicode-devel >= 2.4.0
93 BuildRequires: zlib-devel
94 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
96 %define _sysconfdir /etc/%{name}
97 %define _localstatedir /var/lib/%{name}
98 %define nagiosplugindir %{_libdir}/nagios/plugins
100 # from 'the worst' to 'the best'
101 %define databases %{?with_sqlite3:sqlite3} %{?with_mysql:mysql} %{?with_pgsql:postgresql}
103 # dependency section is broken. ccache usage is instead to makefiles
104 %undefine with_ccache
107 Bacula - It comes by night and sucks the vital essence from your
110 Bacula is a set of computer programs that permit you (or the system
111 administrator) to manage backup, recovery, and verification of
112 computer data across a network of computers of different kinds. In
113 technical terms, it is a network client/server based backup program.
114 Bacula is relatively easy to use and efficient, while offering many
115 advanced storage management features that make it easy to find and
116 recover lost or damaged files.
118 %description -l pl.UTF-8
119 Bacula - przychodzi nocą i wysysa żywotny ekstrakt z komputerów.
121 Bacula to zbiór programów umożliwiających administratorowi na
122 zarządzanie kopiami zapasowymi, odzyskiwaniem i weryfikacją danych w
123 sieci komputerów różnego rodzaju. W terminologii technicznej jest to
124 program do kopii zapasowych pracujący w architekturze klient-serwer.
125 Bacula jest stosunkowo łatwa w użyciu i wydajna, oferując przy tym
126 wiele zaawansowanych możliwości przy zarządzaniu nośnikami,
127 ułatwiających znalezienie i odzyskanie utraconych lub uszkodzonych
131 Summary: Common files for bacula package
132 Summary(pl.UTF-8): Pliki wspólne dla pakietu bacula
133 Group: Networking/Utilities
134 Requires(post): openssl-tools
135 Requires(post): sed >= 4.0
136 Requires(post,preun): /sbin/chkconfig
137 Requires(postun): /usr/sbin/groupdel
138 Requires(postun): /usr/sbin/userdel
139 Requires(pre): /usr/sbin/groupadd
140 Requires(pre): /usr/sbin/useradd
141 Conflicts: bacula-console < 0:1.34.6
142 Conflicts: bacula-dir < 0:1.34.6
143 Conflicts: bacula-fd < 0:1.34.6
144 Conflicts: bacula-sd < 0:1.34.6
145 Conflicts: logrotate < 3.8.0
148 Bacula - It comes by night and sucks the vital essence from your
151 Bacula is a set of computer programs that permit you (or the system
152 administrator) to manage backup, recovery, and verification of
153 computer data across a network of computers of different kinds. In
154 technical terms, it is a network client/server based backup program.
155 Bacula is relatively easy to use and efficient, while offering many
156 advanced storage management features that make it easy to find and
157 recover lost or damaged files.
159 %description common -l pl.UTF-8
160 Bacula - przychodzi nocą i wysysa żywotny ekstrakt z komputerów.
162 Bacula to zbiór programów umożliwiających administratorowi na
163 zarządzanie kopiami zapasowymi, odzyskiwaniem i weryfikacją danych w
164 sieci komputerów różnego rodzaju. W terminologii technicznej jest to
165 program do kopii zapasowych pracujący w architekturze klient-serwer.
166 Bacula jest stosunkowo łatwa w użyciu i wydajna, oferując przy tym
167 wiele zaawansowanych możliwości przy zarządzaniu nośnikami,
168 ułatwiających znalezienie i odzyskanie utraconych lub uszkodzonych
172 Summary: Bacula Director and Catalog services
173 Summary(pl.UTF-8): Usługi Bacula Director i Catalog
174 Group: Networking/Utilities
175 Requires(post): sed >= 4.0
176 Requires: %{name}-common = %{version}-%{release}
177 Requires: bacula(db) = %{version}-%{release}
178 Obsoletes: bacula-updatedb
181 Bacula - It comes by night and sucks the vital essence from your
184 Bacula Director is the program that supervises all the backup,
185 restore, verify and archive operations. The system administrator uses
186 the Bacula Director to schedule backups and to recover files. Catalog
187 services are comprised of the software programs responsible for
188 maintaining the file indexes and volume databases for all files backed
189 up. The Catalog services permit the System Administrator or user to
190 quickly locate and restore any desired file, since it maintains a
191 record of all Volumes used, all Jobs run, and all Files saved.
193 %description dir -l pl.UTF-8
194 Bacula - przychodzi nocą i wysysa żywotny ekstrakt z komputerów.
196 Bacula Director to program nadzorujący wszystkie operacje wykonywania
197 kopii zapasowych, odzyskiwania, weryfikacji i archiwizowania.
198 Administrator używa Bacula Directora do szeregowania kopii zapasowych
199 oraz odzyskiwania plików. Usługi katalogowe (Catalog services) są
200 używane przez programy odpowiedzialne za zarządzanie indeksami plików
201 i bazą danych wolumenów dla wszystkich kopiowanych plików. Usługi
202 katalogowe umożliwiają administratorowi lub użytkownikowi szybko
203 zlokalizować i odtworzyć dowolny plik, ponieważ utrzymują rekord ze
204 wszystkimi używanymi wolumenami, uruchomionymi zadaniami i zapisanymi
208 Summary: Bacula Console
209 Summary(pl.UTF-8): Konsola Baculi
210 Group: Networking/Utilities
211 Requires(post): sed >= 4.0
212 Requires: %{name}-common = %{version}-%{release}
215 Bacula - It comes by night and sucks the vital essence from your
218 Bacula Console is the program that allows the administrator or user to
219 communicate with the Bacula Director. This is the text only console
222 %description console -l pl.UTF-8
223 Bacula - przychodzi nocą i wysysa żywotny ekstrakt z komputerów.
225 Bacula Console to program umożliwiający administratorowi lub
226 użytkownikowi komunikowanie się z programem Bacula Director. To jest
227 interfejs czysto tekstowy.
230 Summary: Bacula wxWidgets Console
231 Summary(pl.UTF-8): Konsola Baculi oparta na wxWidgets
232 Group: Networking/Utilities
233 Requires(post): sed >= 4.0
234 Requires: %{name}-common = %{version}-%{release}
236 %description console-wx
237 Bacula - It comes by night and sucks the vital essence from your
240 Bacula Console is the program that allows the administrator or user to
241 communicate with the Bacula Director. This is the wxWidgets GUI
244 %description console-wx -l pl.UTF-8
245 Bacula - przychodzi nocą i wysysa żywotny ekstrakt z komputerów.
247 Bacula Console to program umożliwiający administratorowi lub
248 użytkownikowi komunikowanie się z programem Bacula Director. To jest
249 interfejs graficzny oparty na wxWidgets.
252 Summary: Bacula Qt4 Console
253 Summary(pl.UTF-8): Konsola Baculi oparta na Qt4
254 Group: Networking/Utilities
255 Requires(post): sed >= 4.0
256 Requires: %{name}-common = %{version}-%{release}
257 Requires: QtCore >= %{qtver}
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: Bacula - The Network Backup Solution
401 Summary(pl.UTF-8): Bacula - rozwiązanie do wykonywania kopii zapasowych po sieci
402 Group: Networking/Utilities
403 Requires: %{name}-fd = %{version}-%{release}
408 Bacula - It comes by night and sucks the vital essence from your
411 Bacula is a set of computer programs that permit you (or the system
412 administrator) to manage backup, recovery, and verification of
413 computer data across a network of computers of different kinds. In
414 technical terms, it is a network client/server based backup program.
415 Bacula is relatively easy to use and efficient, while offering many
416 advanced storage management features that make it easy to find and
417 recover lost or damaged files.
419 This package installs scripts for disaster recovery and builds rescue
420 floppy disk for bare metal recovery.
422 %description rescue -l pl.UTF-8
423 Bacula - przychodzi nocą i wysysa żywotny ekstrakt z komputerów.
425 Bacula to zbiór programów umożliwiających administratorowi na
426 zarządzanie kopiami zapasowymi, odzyskiwaniem i weryfikacją danych w
427 sieci komputerów różnego rodzaju. W terminologii technicznej jest to
428 program do kopii zapasowych pracujący w architekturze klient-serwer.
429 Bacula jest stosunkowo łatwa w użyciu i wydajna, oferując przy tym
430 wiele zaawansowanych możliwości przy zarządzaniu nośnikami,
431 ułatwiających znalezienie i odzyskanie utraconych lub uszkodzonych
434 Ten pakiet zawiera skrypty do odtwarzania po awarii i tworzy dyskietkę
435 ratunkowe do odtwarzania systemu od zera.
437 %package -n nagios-plugin-check_bacula
438 Summary: Nagios plugin to check bacula
440 Requires: nagios-common
442 %description -n nagios-plugin-check_bacula
443 Nagios plugin to check bacula.
445 # provided by various db libraries as a symlink
446 %define _noautoreq libbaccats-%{version}.so
457 tar -xf %{SOURCE2} && ln -s bacula-rescue-* rescue
459 sed -i -e 's#bindir=.*#bindir=%{_bindir}#g' \
460 src/cats/create_* src/cats/delete_* src/cats/drop_* \
461 src/cats/grant_* src/cats/make_* src/cats/update_*
462 sed -i -e 's/@hostname@/--hostname--/' src/*/*.conf.in
463 sed -i -e 's/@basename@/--hostname--/' src/*/*.conf.in
467 %{__aclocal} -I bacula-macros -I gettext-macros
468 # $BUILD_DIR not seen by libtoolize, export it
469 BUILD_DIR=.. %{__libtoolize}
471 %{__autoconf} --prepend-include=$(pwd)/autoconf autoconf/configure.in > configure
473 CPPFLAGS="-I/usr/include/ncurses -I%{_includedir}/readline"
475 WXCONFIG=%{_bindir}/wx-gtk2-unicode-config \
476 QMAKE=%{_bindir}/qmake-qt4 \
478 --with-scriptdir=%{_libexecdir}/%{name} \
479 %{?with_bat:--enable-bat} \
481 --enable-smartalloc \
482 %{?with_console_wx:--enable-bwx-console} \
483 --enable-tray-monitor \
484 %{?with_python:--with-python} \
486 --with-tcp-wrappers \
487 --with-working-dir=%{_var}/lib/%{name} \
488 --with-dump-email="root@localhost" \
489 --with-job-email="root@localhost" \
490 --with-smtp-host=localhost \
491 --with-pid-dir=/var/run \
492 --with-subsys-dir=/var/lock/subsys \
493 --with-systemd=/lib/systemd/system \
494 --enable-batch-insert \
495 %{?with_pgsql:--with-postgresql} \
496 %{?with_mysql:--with-mysql} \
497 %{?with_sqlite3:--with-sqlite3} \
498 %{?with_sqlite3_sync_off:--enable-extra-sqlite3-init="pragma synchronous=0;"} \
499 --with-dir-password="#FAKE-dir-password#" \
500 --with-fd-password="#FAKE-fd-password#" \
501 --with-sd-password="#FAKE-sd-password#" \
502 --with-mon-dir-password="#FAKE-mon-dir-password#" \
503 --with-mon-fd-password="#FAKE-mon-fd-password#" \
504 --with-mon-sd-password="#FAKE-mon-sd-password#" \
513 %{__make} 2>&1 | tee log
514 # check for build errors
515 grep "Error in" log && exit 1
519 %{__make} -C examples/nagios/check_bacula
531 rm -rf $RPM_BUILD_ROOT
532 install -d $RPM_BUILD_ROOT/etc/{rc.d/init.d,logrotate.d,pam.d,sysconfig} \
533 $RPM_BUILD_ROOT%{_sysconfdir}/rescue \
534 $RPM_BUILD_ROOT{%{_pixmapsdir},%{_desktopdir}} \
535 $RPM_BUILD_ROOT{%{_mandir},%{_bindir},/var/log/bacula} \
536 $RPM_BUILD_ROOT%{systemdunitdir}
539 DESTDIR=$RPM_BUILD_ROOT
541 # create copies of make_catalog_backup for specific databases; zeore default one (will be ghost)
542 for database in %{databases}; do
543 sed -e "s#default_db_type=.*#default_db_type=${database}#g" \
544 $RPM_BUILD_ROOT%{_libdir}/%{name}/make_catalog_backup \
545 > $RPM_BUILD_ROOT%{_libdir}/%{name}/make_${database}_catalog_backup
546 chmod 755 $RPM_BUILD_ROOT%{_libdir}/%{name}/make_${database}_catalog_backup
548 :> $RPM_BUILD_ROOT%{_libdir}/%{name}/make_catalog_backup
550 # we use db dependant (at compile time) shell script only
551 rm $RPM_BUILD_ROOT%{_libexecdir}/%{name}/make_catalog_backup.pl
553 ## replace with empty file, replaced by ldconfig from each db-* package on intsall
554 rm $RPM_BUILD_ROOT%{_libdir}/libbaccats-%{version}.so
555 touch $RPM_BUILD_ROOT%{_libdir}/libbaccats-%{version}.so
557 install -p %{SOURCE10} $RPM_BUILD_ROOT/etc/rc.d/init.d/bacula-dir
558 install -p %{SOURCE11} $RPM_BUILD_ROOT/etc/rc.d/init.d/bacula-fd
559 install -p %{SOURCE12} $RPM_BUILD_ROOT/etc/rc.d/init.d/bacula-sd
560 cp -a %{SOURCE13} $RPM_BUILD_ROOT/etc/logrotate.d/%{name}-dir
561 cp -a %{SOURCE14} $RPM_BUILD_ROOT/etc/sysconfig/bacula-dir
562 cp -a %{SOURCE15} $RPM_BUILD_ROOT/etc/sysconfig/bacula-fd
563 cp -a %{SOURCE16} $RPM_BUILD_ROOT/etc/sysconfig/bacula-sd
564 cp -a %{SOURCE17} $RPM_BUILD_ROOT%{systemdunitdir}/bacula-dir.service
565 cp -a %{SOURCE18} $RPM_BUILD_ROOT%{systemdunitdir}/bacula-fd.service
566 cp -a %{SOURCE19} $RPM_BUILD_ROOT%{systemdunitdir}/bacula-sd.service
568 %if %{with console_wx}
569 # tray-monitor is for regular users
570 #mv $RPM_BUILD_ROOT%{_sbindir}/bacula-tray-monitor $RPM_BUILD_ROOT%{_bindir}
572 cp -a scripts/bacula.png $RPM_BUILD_ROOT%{_pixmapsdir}/bacula.png
573 #install src/tray-monitor/generic.xpm $RPM_BUILD_ROOT%{_pixmapsdir}/bacula-tray-monitor.xpm
574 sed -e 's/gnome-console/wx-console/g;s/Console/Wx Console/g' \
575 scripts/wxconsole.desktop.consolehelper > $RPM_BUILD_ROOT%{_desktopdir}/bacula-wx.desktop
576 #sed -e 's#%{_sbindir}#%{_bindir}#' \
577 # scripts/bacula-tray-monitor.desktop > $RPM_BUILD_ROOT%{_desktopdir}/bacula-tray-monitor.desktop
581 # qmake somewhy does not always create install_bins target. install our own the bin
582 rm -f $RPM_BUILD_ROOT%{_sbindir}/bat
583 libtool --silent --mode=install install src/qt-console/bat $RPM_BUILD_ROOT%{_bindir}
584 cp -a scripts/bacula.png $RPM_BUILD_ROOT%{_pixmapsdir}/bacula.png
585 cp -a scripts/bat.desktop $RPM_BUILD_ROOT%{_desktopdir}
589 # install the rescue stuff, these are the rescue scripts
590 cp -a rescue/linux/floppy/backup.etc.list $RPM_BUILD_ROOT%{_sysconfdir}/rescue
591 cp -a rescue/linux/floppy/sfdisk.bz2 $RPM_BUILD_ROOT%{_sysconfdir}/rescue
592 install -p rescue/linux/floppy/*_* $RPM_BUILD_ROOT%{_sysconfdir}/rescue
593 install -p rescue/linux/floppy/getdiskinfo $RPM_BUILD_ROOT%{_sysconfdir}/rescue
596 touch $RPM_BUILD_ROOT/var/log/bacula/log
598 # install the updatedb scripts for older versions that last full release
599 # 2.0 -> 3.0 : 10_to_11
600 # 5.0 -> 5.2 : 12_to_14
601 install -p updatedb/update_*_tables_10_to_11 $RPM_BUILD_ROOT%{_libexecdir}/%{name}
602 install -p updatedb/update_*_tables_11_to_12 $RPM_BUILD_ROOT%{_libexecdir}/%{name}
603 install -p updatedb/update_*_tables_12_to_14 $RPM_BUILD_ROOT%{_libexecdir}/%{name}
605 # place for site passwords
606 touch $RPM_BUILD_ROOT%{_sysconfdir}/{dir-password,fd-password,sd-password}
607 touch $RPM_BUILD_ROOT%{_sysconfdir}/{mon-dir-password,mon-fd-password,mon-sd-password}
609 mv $RPM_BUILD_ROOT%{_libexecdir}/%{name}/mtx-changer.conf $RPM_BUILD_ROOT%{_sysconfdir}/mtx-changer.conf
612 rm -f $RPM_BUILD_ROOT%{_libexecdir}/%{name}/{gconsole,startmysql,stopmysql,bacula,bconsole,fd}
613 %if %{without console_wx}
614 rm -f $RPM_BUILD_ROOT%{_desktopdir}/bacula-wx.desktop
617 rm $RPM_BUILD_ROOT%{_docdir}/bacula/ChangeLog
618 rm $RPM_BUILD_ROOT%{_docdir}/bacula/INSTALL
619 rm $RPM_BUILD_ROOT%{_docdir}/bacula/LICENSE
620 rm $RPM_BUILD_ROOT%{_docdir}/bacula/README
621 rm $RPM_BUILD_ROOT%{_docdir}/bacula/ReleaseNotes
622 rm $RPM_BUILD_ROOT%{_docdir}/bacula/VERIFYING
623 rm $RPM_BUILD_ROOT%{_docdir}/bacula/technotes
625 # startup scripts, those in /etc/rc.d/init.d are better
626 rm $RPM_BUILD_ROOT%{_sbindir}/bacula
627 rm $RPM_BUILD_ROOT%{_libexecdir}/%{name}/bacula-ctl-*
630 rm $RPM_BUILD_ROOT%{_libexecdir}/%{name}/btraceback.mdb
632 # rename to avoid possible conflicts
633 mv $RPM_BUILD_ROOT%{_sbindir}/{,bacula-}dbcheck
634 mv $RPM_BUILD_ROOT%{_mandir}/man8/{,bacula-}dbcheck.8.gz
636 # no -devel files packaged, so this is also useless
637 rm $RPM_BUILD_ROOT%{_libdir}/libbac{,cfg,find,py,sql}.{so,la}
640 install -d $RPM_BUILD_ROOT%{nagiosplugindir}
641 %{__make} -C examples/nagios/check_bacula install \
642 sbindir=%{nagiosplugindir} \
643 INSTALL_PROGRAM="libtool --mode=install install -p" \
644 DESTDIR=$RPM_BUILD_ROOT
648 rm -rf $RPM_BUILD_ROOT
651 %groupadd -P %{name}-common -g 136 -r -f bacula
652 %useradd -P %{name}-common -u 136 -r -d /var/lib/bacula -s /bin/false -c "Bacula User" -g bacula bacula
654 %define update_configs \
655 echo "Updating bacula passwords and names..." | %banner -a %{name} \
657 for f in *-password; do \
658 if [ ! -s $f ]; then \
659 openssl rand -base64 33 > $f \
662 for cf in *.conf *.conf.rpmnew; do \
663 [ -f $cf ] && sed -i -e"s:#FAKE-$f#:$p:" "$cf" || : \
666 for cf in *.conf *.conf.rpmnew; do \
667 [ -f $cf ] && sed -i -e"s:--hostname--:`hostname`:" "$cf" || : \
676 if [ "$1" = "0" ]; then
681 %triggerpostun dir -- %{name}-dir < %{version}-0
682 %banner bacula-dir -t3 <<EOF
683 You have upgraded from an older version of Bacula director.
685 You will probably need to call %{_libexecdir}/%{name}/update_bacula_tables
686 script to upgrade the database.
688 Ensure you database partition has enough free space before you run the upgrade,
689 i.e check that there is enough room to rebuild 'File' table (it is the largest
696 /sbin/chkconfig --add bacula-dir
697 %service bacula-dir restart "Bacula Director daemon"
698 %systemd_post bacula-dir.service
701 if [ "$1" = "0" ]; then
702 %service bacula-dir stop
703 /sbin/chkconfig --del bacula-dir
705 %systemd_preun bacula-dir.service
712 /sbin/chkconfig --add bacula-fd
713 %service bacula-fd restart "Bacula File daemon"
714 %systemd_post bacula-fd.service
717 if [ "$1" = "0" ]; then
718 %service bacula-fd stop
719 /sbin/chkconfig --del bacula-fd
721 %systemd_preun bacula-fd.service
728 /sbin/chkconfig --add bacula-sd
729 %service bacula-sd restart "Bacula Storage daemon"
730 %systemd_post bacula-sd.service
733 if [ "$1" = "0" ]; then
734 %service bacula-sd stop
735 /sbin/chkconfig --del bacula-sd
737 %systemd_preun bacula-sd.service
743 if [ -e %{_sysconfdir}/console.conf -a ! -e %{_sysconfdir}/bconsole.conf ]; then
744 mv %{_sysconfdir}/console.conf %{_sysconfdir}/bconsole.conf
753 %triggerpostun common -- %{name}-common < 5.0.1-2
754 find %{_sysconfdir}/bat.conf* -perm /007 -print0 2>/dev/null | xargs -0 -r chmod 600 || :
763 # link our current installed conf file to the rescue directory
764 ln -sf %{_sysconfdir}/bacula-fd.conf %{_sysconfdir}/rescue/bacula-fd.conf
767 echo "Creating rescue files for this system..."
768 cd %{_sysconfdir}/rescue
772 # remove the files created after the initial rpm installation
773 if [ "$1" = "0" ]; then
774 rm -f %{_sysconfdir}/rescue/bacula-fd.conf
775 rm -f %{_sysconfdir}/rescue/partition.*
776 rm -f %{_sysconfdir}/rescue/format.*
777 rm -f %{_sysconfdir}/rescue/mount_drives
778 rm -f %{_sysconfdir}/rescue/start_network
779 rm -f %{_sysconfdir}/rescue/sfdisk
780 rm -rf %{_sysconfdir}/rescue/diskinfo/*
785 for name in "create database" "drop tables" "drop database" "grant privileges" "make tables" "update tables"; do \
786 prefix="${name%% *}" \
787 suffix="${name#* }" \
788 ln -sf "${prefix}_%{1}_${suffix}" %{_libexecdir}/%{name}/"${prefix}_bacula_${suffix}" || : \
790 ln -sf "make_%{1}_catalog_backup" %{_libexecdir}/%{name}/make_catalog_backup || : \
791 ln -sf libbaccats-%{1}-%{version}.so %{_libdir}/libbaccats-%{version}.so || : \
792 %service bacula-dir restart "Bacula Director daemon"
797 %postun db-postgresql -p /sbin/ldconfig
802 %postun db-mysql -p /sbin/ldconfig
807 %postun db-sqlite3 -p /sbin/ldconfig
810 %defattr(644,root,root,755)
812 %{?with_python:%doc examples/python}
814 %attr(600,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/*-password
815 # do not remove bsmtp from files. Fix build if it is not installed.
816 %attr(755,root,root) %{_sbindir}/bsmtp
817 %attr(755,root,root) %{_sbindir}/btraceback
818 %attr(755,root,root) %{_libdir}/libbac-5*.so
819 %attr(755,root,root) %{_libdir}/libbaccfg-5*.so
820 %attr(755,root,root) %{_libdir}/libbacfind-5*.so
821 %attr(755,root,root) %{_libdir}/libbacpy-5*.so
822 %attr(755,root,root) %{_libdir}/libbacsql-5*.so
823 %{_mandir}/man8/bacula.8*
824 %{_mandir}/man1/bsmtp.1*
825 %{_mandir}/man8/btraceback.8*
826 %dir %{_libexecdir}/%{name}
827 %{_libexecdir}/%{name}/btraceback.dbx
828 %{_libexecdir}/%{name}/btraceback.gdb
829 %{_libexecdir}/%{name}/bacula_config
830 %attr(770,root,bacula) %dir %{_localstatedir}
831 %attr(750,bacula,logs) %dir /var/log/bacula
832 %attr(640,bacula,logs) %ghost /var/log/bacula/log
835 %defattr(644,root,root,755)
836 %doc ChangeLog CheckList ReleaseNotes kernstodo LICENSE
837 #%doc examples %{name}-docs-%{version}/manual/{*.pdf,bacula}
838 %attr(640,root,bacula) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/bacula-dir.conf
839 %attr(640,root,root) %config(noreplace) /etc/logrotate.d/bacula-dir
840 %attr(754,root,root) /etc/rc.d/init.d/bacula-dir
841 %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/bacula-dir
842 %{systemdunitdir}/bacula-dir.service
843 %attr(755,root,root) %{_sbindir}/bacula-dir
844 %attr(755,root,root) %{_sbindir}/bregex
845 %attr(755,root,root) %{_sbindir}/bwild
846 %attr(755,root,root) %{_sbindir}/bacula-dbcheck
847 %{_mandir}/man8/bacula-dir.8*
848 %{_mandir}/man8/bacula-dbcheck.8*
849 %{_mandir}/man8/bregex.8*
850 %{_mandir}/man8/bwild.8*
851 %{_libexecdir}/%{name}/query.sql
852 %attr(755,root,root) %{_libexecdir}/%{name}/delete_catalog_backup
855 %defattr(644,root,root,755)
856 %attr(755,root,root) %{_libexecdir}/%{name}/create_postgresql_database
857 %attr(755,root,root) %{_libexecdir}/%{name}/drop_postgresql_database
858 %attr(755,root,root) %{_libexecdir}/%{name}/drop_postgresql_tables
859 %attr(755,root,root) %{_libexecdir}/%{name}/grant_postgresql_privileges
860 %attr(755,root,root) %{_libexecdir}/%{name}/make_postgresql_tables
861 %attr(755,root,root) %{_libexecdir}/%{name}/update_postgresql_*
862 %attr(755,root,root) %{_libexecdir}/%{name}/make_postgresql_catalog_backup
863 %attr(755,root,root) %{_libdir}/libbaccats-postgresql-5*.so
865 %ghost %attr(755,root,root) %{_libdir}/libbaccats-5*.so
866 %ghost %{_libexecdir}/%{name}/create_bacula_database
867 %ghost %{_libexecdir}/%{name}/drop_bacula_tables
868 %ghost %{_libexecdir}/%{name}/drop_bacula_database
869 %ghost %{_libexecdir}/%{name}/grant_bacula_privileges
870 %ghost %{_libexecdir}/%{name}/make_bacula_tables
871 %ghost %{_libexecdir}/%{name}/update_bacula_tables
872 %ghost %{_libexecdir}/%{name}/make_catalog_backup
875 %defattr(644,root,root,755)
876 %attr(755,root,root) %{_libexecdir}/%{name}/create_mysql_database
877 %attr(755,root,root) %{_libexecdir}/%{name}/drop_mysql_database
878 %attr(755,root,root) %{_libexecdir}/%{name}/drop_mysql_tables
879 %attr(755,root,root) %{_libexecdir}/%{name}/grant_mysql_privileges
880 %attr(755,root,root) %{_libexecdir}/%{name}/make_mysql_tables
881 %attr(755,root,root) %{_libexecdir}/%{name}/update_mysql_*
882 %attr(755,root,root) %{_libexecdir}/%{name}/make_mysql_catalog_backup
883 %attr(755,root,root) %{_libdir}/libbaccats-mysql-5*.so
885 %ghost %attr(755,root,root) %{_libdir}/libbaccats-5*.so
886 %ghost %{_libexecdir}/%{name}/create_bacula_database
887 %ghost %{_libexecdir}/%{name}/drop_bacula_tables
888 %ghost %{_libexecdir}/%{name}/drop_bacula_database
889 %ghost %{_libexecdir}/%{name}/grant_bacula_privileges
890 %ghost %{_libexecdir}/%{name}/make_bacula_tables
891 %ghost %{_libexecdir}/%{name}/update_bacula_tables
892 %ghost %{_libexecdir}/%{name}/make_catalog_backup
895 %defattr(644,root,root,755)
896 %attr(755,root,root) %{_libexecdir}/%{name}/create_sqlite3_database
897 %attr(755,root,root) %{_libexecdir}/%{name}/drop_sqlite3_database
898 %attr(755,root,root) %{_libexecdir}/%{name}/drop_sqlite3_tables
899 %attr(755,root,root) %{_libexecdir}/%{name}/grant_sqlite3_privileges
900 %attr(755,root,root) %{_libexecdir}/%{name}/make_sqlite3_tables
901 %attr(755,root,root) %{_libexecdir}/%{name}/update_sqlite3_*
902 %attr(755,root,root) %{_libexecdir}/%{name}/make_sqlite3_catalog_backup
903 %attr(755,root,root) %{_libdir}/libbaccats-sqlite3-5*.so
905 %ghost %attr(755,root,root) %{_libdir}/libbaccats-5*.so
906 %ghost %{_libexecdir}/%{name}/create_bacula_database
907 %ghost %{_libexecdir}/%{name}/drop_bacula_tables
908 %ghost %{_libexecdir}/%{name}/drop_bacula_database
909 %ghost %{_libexecdir}/%{name}/grant_bacula_privileges
910 %ghost %{_libexecdir}/%{name}/make_bacula_tables
911 %ghost %{_libexecdir}/%{name}/update_bacula_tables
912 %ghost %{_libexecdir}/%{name}/make_catalog_backup
915 %defattr(644,root,root,755)
917 %attr(640,root,bacula) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/bacula-fd.conf
918 %attr(754,root,root) /etc/rc.d/init.d/bacula-fd
919 %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/bacula-fd
920 %{systemdunitdir}/bacula-fd.service
921 %attr(755,root,root) %{_sbindir}/bacula-fd
922 %attr(755,root,root) %{_libdir}/bpipe-fd.so
923 %{_mandir}/man8/bacula-fd.8*
926 %defattr(644,root,root,755)
928 %attr(640,root,bacula) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/bacula-sd.conf
929 %attr(640,root,bacula) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/mtx-changer.conf
930 %attr(754,root,root) /etc/rc.d/init.d/bacula-sd
931 %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/bacula-sd
932 %{systemdunitdir}/bacula-sd.service
933 %attr(755,root,root) %{_sbindir}/bacula-sd
934 %attr(755,root,root) %{_sbindir}/bcopy
935 %attr(755,root,root) %{_sbindir}/bextract
936 %attr(755,root,root) %{_sbindir}/bls
937 %attr(755,root,root) %{_sbindir}/bscan
938 %attr(755,root,root) %{_sbindir}/btape
939 %attr(755,root,root) %{_libexecdir}/%{name}/mtx-changer
940 %attr(755,root,root) %{_libexecdir}/%{name}/disk-changer
941 %attr(755,root,root) %{_libexecdir}/%{name}/dvd-handler
942 %{_mandir}/man8/bacula-sd.8*
943 %{_mandir}/man8/bcopy.8*
944 %{_mandir}/man8/bextract.8*
945 %{_mandir}/man8/bls.8*
946 %{_mandir}/man8/bscan.8*
947 %{_mandir}/man8/btape.8*
950 %defattr(644,root,root,755)
952 %attr(640,root,bacula) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/bconsole.conf
953 %attr(755,root,root) %{_sbindir}/bconsole
954 %{_mandir}/man8/bconsole.8*
956 %if %{with console_wx}
958 %defattr(644,root,root,755)
960 %{_pixmapsdir}/%{name}.png
961 %{_desktopdir}/bacula-wx.desktop
962 %attr(640,root,bacula) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/bwx-console.conf
963 %attr(755,root,root) %{_sbindir}/bwx-console
964 %{_mandir}/man1/bacula-bwxconsole.1*
969 %defattr(644,root,root,755)
971 %{_pixmapsdir}/%{name}.png
972 %{_desktopdir}/bat.desktop
973 # Do not make this file world-readable or any user will get full access to the
975 %attr(640,root,bacula) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/bat.conf
976 %attr(755,root,root) %{_bindir}/bat
977 %{_mandir}/man1/bat.1*
981 %if %{with console_wx}
983 %defattr(644,root,root,755)
985 %attr(755,root,root) %{_sbindir}/bacula-tray-monitor
986 #%{_pixmapsdir}/%{name}-tray-monitor.xpm
987 #%{_desktopdir}/%{name}-tray-monitor.desktop
988 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/tray-monitor.conf
989 %{_mandir}/man1/bacula-tray-monitor.1*
994 %defattr(644,root,root,755)
996 %dir %{_sysconfdir}/rescue
997 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/rescue/backup.etc.list
998 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/rescue/bacula-fd
999 %attr(755,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/rescue/format_floppy
1000 %attr(755,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/rescue/getdiskinfo
1001 %attr(755,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/rescue/make_rescue_disk
1002 %attr(755,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/rescue/restore_bacula
1003 %attr(755,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/rescue/restore_etc
1004 %attr(755,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/rescue/run_grub
1005 %attr(755,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/rescue/run_lilo
1006 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/rescue/sfdisk.bz2
1010 %files -n nagios-plugin-check_bacula
1011 %defattr(644,root,root,755)
1012 %attr(755,root,root) %{nagiosplugindir}/check_bacula