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 # db packages contain duplicates
101 %define _duplicate_files_terminate_build 0
103 # from 'the worst' to 'the best'
104 %define databases %{?with_sqlite3:sqlite3} %{?with_mysql:mysql} %{?with_pgsql:postgresql}
106 # dependency section is broken. ccache usage is instead to makefiles
107 %undefine with_ccache
110 Bacula - It comes by night and sucks the vital essence from your
113 Bacula is a set of computer programs that permit you (or the system
114 administrator) to manage backup, recovery, and verification of
115 computer data across a network of computers of different kinds. In
116 technical terms, it is a network client/server based backup program.
117 Bacula is relatively easy to use and efficient, while offering many
118 advanced storage management features that make it easy to find and
119 recover lost or damaged files.
121 %description -l pl.UTF-8
122 Bacula - przychodzi nocą i wysysa żywotny ekstrakt z komputerów.
124 Bacula to zbiór programów umożliwiających administratorowi na
125 zarządzanie kopiami zapasowymi, odzyskiwaniem i weryfikacją danych w
126 sieci komputerów różnego rodzaju. W terminologii technicznej jest to
127 program do kopii zapasowych pracujący w architekturze klient-serwer.
128 Bacula jest stosunkowo łatwa w użyciu i wydajna, oferując przy tym
129 wiele zaawansowanych możliwości przy zarządzaniu nośnikami,
130 ułatwiających znalezienie i odzyskanie utraconych lub uszkodzonych
134 Summary: Common files for bacula package
135 Summary(pl.UTF-8): Pliki wspólne dla pakietu bacula
136 Group: Networking/Utilities
137 Requires(post): openssl-tools
138 Requires(post): sed >= 4.0
139 Requires(post,preun): /sbin/chkconfig
140 Requires(postun): /usr/sbin/groupdel
141 Requires(postun): /usr/sbin/userdel
142 Requires(pre): /usr/sbin/groupadd
143 Requires(pre): /usr/sbin/useradd
144 Conflicts: bacula-console < 0:1.34.6
145 Conflicts: bacula-dir < 0:1.34.6
146 Conflicts: bacula-fd < 0:1.34.6
147 Conflicts: bacula-sd < 0:1.34.6
148 Conflicts: logrotate < 3.8.0
151 Bacula - It comes by night and sucks the vital essence from your
154 Bacula is a set of computer programs that permit you (or the system
155 administrator) to manage backup, recovery, and verification of
156 computer data across a network of computers of different kinds. In
157 technical terms, it is a network client/server based backup program.
158 Bacula is relatively easy to use and efficient, while offering many
159 advanced storage management features that make it easy to find and
160 recover lost or damaged files.
162 %description common -l pl.UTF-8
163 Bacula - przychodzi nocą i wysysa żywotny ekstrakt z komputerów.
165 Bacula to zbiór programów umożliwiających administratorowi na
166 zarządzanie kopiami zapasowymi, odzyskiwaniem i weryfikacją danych w
167 sieci komputerów różnego rodzaju. W terminologii technicznej jest to
168 program do kopii zapasowych pracujący w architekturze klient-serwer.
169 Bacula jest stosunkowo łatwa w użyciu i wydajna, oferując przy tym
170 wiele zaawansowanych możliwości przy zarządzaniu nośnikami,
171 ułatwiających znalezienie i odzyskanie utraconych lub uszkodzonych
175 Summary: Bacula Director and Catalog services
176 Summary(pl.UTF-8): Usługi Bacula Director i Catalog
177 Group: Networking/Utilities
178 Requires(post): sed >= 4.0
179 Requires: %{name}-common = %{version}-%{release}
180 Requires: bacula(db) = %{version}-%{release}
181 Obsoletes: bacula-updatedb
184 Bacula - It comes by night and sucks the vital essence from your
187 Bacula Director is the program that supervises all the backup,
188 restore, verify and archive operations. The system administrator uses
189 the Bacula Director to schedule backups and to recover files. Catalog
190 services are comprised of the software programs responsible for
191 maintaining the file indexes and volume databases for all files backed
192 up. The Catalog services permit the System Administrator or user to
193 quickly locate and restore any desired file, since it maintains a
194 record of all Volumes used, all Jobs run, and all Files saved.
196 %description dir -l pl.UTF-8
197 Bacula - przychodzi nocą i wysysa żywotny ekstrakt z komputerów.
199 Bacula Director to program nadzorujący wszystkie operacje wykonywania
200 kopii zapasowych, odzyskiwania, weryfikacji i archiwizowania.
201 Administrator używa Bacula Directora do szeregowania kopii zapasowych
202 oraz odzyskiwania plików. Usługi katalogowe (Catalog services) są
203 używane przez programy odpowiedzialne za zarządzanie indeksami plików
204 i bazą danych wolumenów dla wszystkich kopiowanych plików. Usługi
205 katalogowe umożliwiają administratorowi lub użytkownikowi szybko
206 zlokalizować i odtworzyć dowolny plik, ponieważ utrzymują rekord ze
207 wszystkimi używanymi wolumenami, uruchomionymi zadaniami i zapisanymi
211 Summary: Bacula Console
212 Summary(pl.UTF-8): Konsola Baculi
213 Group: Networking/Utilities
214 Requires(post): sed >= 4.0
215 Requires: %{name}-common = %{version}-%{release}
218 Bacula - It comes by night and sucks the vital essence from your
221 Bacula Console is the program that allows the administrator or user to
222 communicate with the Bacula Director. This is the text only console
225 %description console -l pl.UTF-8
226 Bacula - przychodzi nocą i wysysa żywotny ekstrakt z komputerów.
228 Bacula Console to program umożliwiający administratorowi lub
229 użytkownikowi komunikowanie się z programem Bacula Director. To jest
230 interfejs czysto tekstowy.
233 Summary: Bacula wxWidgets Console
234 Summary(pl.UTF-8): Konsola Baculi oparta na wxWidgets
235 Group: Networking/Utilities
236 Requires(post): sed >= 4.0
237 Requires: %{name}-common = %{version}-%{release}
239 %description console-wx
240 Bacula - It comes by night and sucks the vital essence from your
243 Bacula Console is the program that allows the administrator or user to
244 communicate with the Bacula Director. This is the wxWidgets GUI
247 %description console-wx -l pl.UTF-8
248 Bacula - przychodzi nocą i wysysa żywotny ekstrakt z komputerów.
250 Bacula Console to program umożliwiający administratorowi lub
251 użytkownikowi komunikowanie się z programem Bacula Director. To jest
252 interfejs graficzny oparty na wxWidgets.
255 Summary: Bacula Qt4 Console
256 Summary(pl.UTF-8): Konsola Baculi oparta na Qt4
257 Group: Networking/Utilities
258 Requires(post): sed >= 4.0
259 Requires: %{name}-common = %{version}-%{release}
260 Requires: QtCore >= %{qtver}
262 %description console-qt4
263 Bacula - It comes by night and sucks the vital essence from your
266 Bacula Console is the program that allows the administrator or user to
267 communicate with the Bacula Director. This is the Qt4 GUI interface.
269 %description console-qt4 -l pl.UTF-8
270 Bacula - przychodzi nocą i wysysa żywotny ekstrakt z komputerów.
272 Bacula Console to program umożliwiający administratorowi lub
273 użytkownikowi komunikowanie się z programem Bacula Director. To jest
274 interfejs graficzny oparty na Qt4.
276 %package tray-monitor
277 Summary: Bacula Tray Monitor
278 Group: Networking/Utilities
279 Requires(post): sed >= 4.0
280 Requires: %{name}-common = %{version}-%{release}
282 %description tray-monitor
283 Bacula - It comes by night and sucks the vital essence from your
286 The Monitor program is typically an icon in the system tray. However,
287 once the icon is expanded into a full window, the administrator or
288 user can obtain status information about the Director or the backup
289 status on the local workstation or any other Bacula daemon that is
293 Summary: Bacula File services (Client)
294 Summary(pl.UTF-8): Usługi Bacula File (klient)
295 Group: Networking/Utilities
296 Requires(post): sed >= 4.0
297 Requires: %{name}-common = %{version}-%{release}
300 Bacula - It comes by night and sucks the vital essence from your
303 Bacula File services (or Client program) is the software program that
304 is installed on the machine to be backed up. It is specific to the
305 operating system on which it runs and is responsible for providing the
306 file attributes and data when requested by the Director. The File
307 services are also responsible for the file system dependent part of
308 restoring the file attributes and data during a recovery operation.
309 This program runs as a daemon on the machine to be backed up, and in
310 some of the documentation, the File daemon is referred to as the
311 Client (for example in Bacula configuration file).
313 %description fd -l pl.UTF-8
314 Bacula - przychodzi nocą i wysysa żywotny ekstrakt z komputerów.
316 Usługi Bacula File (inaczej program kliencki) to oprogramowanie, które
317 instaluje się na maszynach, z których mają być wykonywane kopie
318 zapasowe. Są one specyficzne dla systemu operacyjnego, pod którym
319 działa dana maszyna i odpowiadają za dostarczanie atrybutów i danych
320 plików na żądanie Directora. Usługi plikowe są także odpowiedzialne za
321 zależną od systemu plików część odzyskiwania atrybutów i danych plików
322 podczas operacji odzyskiwania danych. Program działa jako demon na
323 maszynie, która ma być backupowana i w części dokumentacji demon ten
324 (File) jest nazywany klientem (na przykład w pliku konfiguracyjnym
328 Summary: Bacula Storage services
329 Summary(pl.UTF-8): Usługi Bacula Storage
330 Group: Networking/Utilities
331 Requires(post): sed >= 4.0
332 Requires: %{name}-common = %{version}-%{release}
333 Conflicts: dvd+rw-tools <= 5.21.4.10.8-1
336 Bacula - It comes by night and sucks the vital essence from your
339 Bacula Storage services consist of the software programs that perform
340 the storage and recovery of the file attributes and data to the
341 physical backup media or volumes. In other words, the Storage daemon
342 is responsible for reading and writing your tapes (or other storage
343 media, e.g. files). The Storage services runs as a daemon on the
344 machine that has the backup device (usually a tape drive).
346 %description sd -l pl.UTF-8
347 Bacula - przychodzi nocą i wysysa żywotny ekstrakt z komputerów.
349 Usługi Bacula Storage składają się z programów obsługujących
350 przechowywanie danych oraz odzyskiwanie atrybutów i danych na
351 fizycznych nośnikach lub wolumenach. Innymi słowy, demon Storage jest
352 odpowiedzialny za odczyt i zapis taśm (lub innych nośników do
353 przechowywania danych, np. plików). Usługi Storage działają jako demon
354 na maszynie, która zawiera urządzenie backupowe (zwykle napęd
357 %package db-postgresql
358 Summary: PostgreSQL database driver for Bacula
359 Summary(pl.UTF-8): Sterownik bazy PostgreSQL dla Baculi
360 Group: Networking/Utilities
361 Requires(post): /sbin/ldconfig
362 Requires: %{name}-common = %{version}-%{release}
363 Provides: bacula(db) = %{version}-%{release}
364 Obsoletes: bacula(db)
366 %description db-postgresql
367 PostgreSQL database driver for Bacula.
369 %description db-postgresql -l pl.UTF-8
370 Sterownik bazy PostgreSQL dla Baculi.
373 Summary: MySQL database driver for Bacula
374 Summary(pl.UTF-8): Sterownik bazy MySQL dla Baculi
375 Group: Networking/Utilities
376 Requires(post): /sbin/ldconfig
377 Requires: %{name}-common = %{version}-%{release}
378 Provides: bacula(db) = %{version}-%{release}
379 Obsoletes: bacula(db)
381 %description db-mysql
382 MySQL database driver for Bacula.
384 %description db-mysql -l pl.UTF-8
385 Sterownik bazy MySQL dla Baculi.
388 Summary: SQLite database driver for Bacula
389 Summary(pl.UTF-8): Sterownik bazy SQLite dla Baculi
390 Group: Networking/Utilities
391 Requires(post): /sbin/ldconfig
392 Requires: %{name}-common = %{version}-%{release}
393 Provides: bacula(db) = %{version}-%{release}
394 Obsoletes: bacula(db)
396 %description db-sqlite3
397 SQLite database driver for Bacula.
399 %description db-sqlite3 -l pl.UTF-8
400 Sterownik bazy SQLite dla Baculi.
403 Summary: Bacula - The Network Backup Solution
404 Summary(pl.UTF-8): Bacula - rozwiązanie do wykonywania kopii zapasowych po sieci
405 Group: Networking/Utilities
406 Requires: %{name}-fd = %{version}-%{release}
411 Bacula - It comes by night and sucks the vital essence from your
414 Bacula is a set of computer programs that permit you (or the system
415 administrator) to manage backup, recovery, and verification of
416 computer data across a network of computers of different kinds. In
417 technical terms, it is a network client/server based backup program.
418 Bacula is relatively easy to use and efficient, while offering many
419 advanced storage management features that make it easy to find and
420 recover lost or damaged files.
422 This package installs scripts for disaster recovery and builds rescue
423 floppy disk for bare metal recovery.
425 %description rescue -l pl.UTF-8
426 Bacula - przychodzi nocą i wysysa żywotny ekstrakt z komputerów.
428 Bacula to zbiór programów umożliwiających administratorowi na
429 zarządzanie kopiami zapasowymi, odzyskiwaniem i weryfikacją danych w
430 sieci komputerów różnego rodzaju. W terminologii technicznej jest to
431 program do kopii zapasowych pracujący w architekturze klient-serwer.
432 Bacula jest stosunkowo łatwa w użyciu i wydajna, oferując przy tym
433 wiele zaawansowanych możliwości przy zarządzaniu nośnikami,
434 ułatwiających znalezienie i odzyskanie utraconych lub uszkodzonych
437 Ten pakiet zawiera skrypty do odtwarzania po awarii i tworzy dyskietkę
438 ratunkowe do odtwarzania systemu od zera.
440 %package -n nagios-plugin-check_bacula
441 Summary: Nagios plugin to check bacula
443 Requires: nagios-common
445 %description -n nagios-plugin-check_bacula
446 Nagios plugin to check bacula.
448 # provided by various db libraries as a symlink
449 %define _noautoreq libbaccats-%{version}.so
460 tar -xf %{SOURCE2} && ln -s bacula-rescue-* rescue
462 sed -i -e 's#bindir=.*#bindir=%{_bindir}#g' \
463 src/cats/create_* src/cats/delete_* src/cats/drop_* \
464 src/cats/grant_* src/cats/make_* src/cats/update_*
465 sed -i -e 's/@hostname@/--hostname--/' src/*/*.conf.in
466 sed -i -e 's/@basename@/--hostname--/' src/*/*.conf.in
470 %{__aclocal} -I bacula-macros -I gettext-macros
471 # $BUILD_DIR not seen by libtoolize, export it
472 BUILD_DIR=.. %{__libtoolize}
474 %{__autoconf} --prepend-include=$(pwd)/autoconf autoconf/configure.in > configure
476 CPPFLAGS="-I/usr/include/ncurses -I%{_includedir}/readline"
478 WXCONFIG=%{_bindir}/wx-gtk2-unicode-config \
479 QMAKE=%{_bindir}/qmake-qt4 \
481 --with-scriptdir=%{_libexecdir}/%{name} \
482 %{?with_bat:--enable-bat} \
484 --enable-smartalloc \
485 %{?with_console_wx:--enable-bwx-console} \
486 --enable-tray-monitor \
487 %{?with_python:--with-python} \
489 --with-tcp-wrappers \
490 --with-working-dir=%{_var}/lib/%{name} \
491 --with-dump-email="root@localhost" \
492 --with-job-email="root@localhost" \
493 --with-smtp-host=localhost \
494 --with-pid-dir=/var/run \
495 --with-subsys-dir=/var/lock/subsys \
496 --with-systemd=/lib/systemd/system \
497 --enable-batch-insert \
498 %{?with_pgsql:--with-postgresql} \
499 %{?with_mysql:--with-mysql} \
500 %{?with_sqlite3:--with-sqlite3} \
501 %{?with_sqlite3_sync_off:--enable-extra-sqlite3-init="pragma synchronous=0;"} \
502 --with-dir-password="#FAKE-dir-password#" \
503 --with-fd-password="#FAKE-fd-password#" \
504 --with-sd-password="#FAKE-sd-password#" \
505 --with-mon-dir-password="#FAKE-mon-dir-password#" \
506 --with-mon-fd-password="#FAKE-mon-fd-password#" \
507 --with-mon-sd-password="#FAKE-mon-sd-password#" \
516 %{__make} 2>&1 | tee log
517 # check for build errors
518 grep "Error in" log && exit 1
522 %{__make} -C examples/nagios/check_bacula
534 rm -rf $RPM_BUILD_ROOT
535 install -d $RPM_BUILD_ROOT/etc/{rc.d/init.d,logrotate.d,pam.d,sysconfig} \
536 $RPM_BUILD_ROOT%{_sysconfdir}/rescue \
537 $RPM_BUILD_ROOT{%{_pixmapsdir},%{_desktopdir}} \
538 $RPM_BUILD_ROOT{%{_mandir},%{_bindir},/var/log/bacula} \
539 $RPM_BUILD_ROOT%{systemdunitdir}
542 DESTDIR=$RPM_BUILD_ROOT
544 # create copies of make_catalog_backup for specific databases; zeore default one (will be ghost)
545 for database in %{databases}; do
546 sed -e "s#default_db_type=.*#default_db_type=${database}#g" \
547 $RPM_BUILD_ROOT%{_libdir}/%{name}/make_catalog_backup \
548 > $RPM_BUILD_ROOT%{_libdir}/%{name}/make_${database}_catalog_backup
549 chmod 755 $RPM_BUILD_ROOT%{_libdir}/%{name}/make_${database}_catalog_backup
551 :> $RPM_BUILD_ROOT%{_libdir}/%{name}/make_catalog_backup
553 # we use db dependant (at compile time) shell script only
554 rm $RPM_BUILD_ROOT%{_libexecdir}/%{name}/make_catalog_backup.pl
556 ## replace with empty file, replaced by ldconfig from each db-* package on intsall
557 rm $RPM_BUILD_ROOT%{_libdir}/libbaccats-%{version}.so
558 touch $RPM_BUILD_ROOT%{_libdir}/libbaccats-%{version}.so
560 install -p %{SOURCE10} $RPM_BUILD_ROOT/etc/rc.d/init.d/bacula-dir
561 install -p %{SOURCE11} $RPM_BUILD_ROOT/etc/rc.d/init.d/bacula-fd
562 install -p %{SOURCE12} $RPM_BUILD_ROOT/etc/rc.d/init.d/bacula-sd
563 cp -a %{SOURCE13} $RPM_BUILD_ROOT/etc/logrotate.d/%{name}-dir
564 cp -a %{SOURCE14} $RPM_BUILD_ROOT/etc/sysconfig/bacula-dir
565 cp -a %{SOURCE15} $RPM_BUILD_ROOT/etc/sysconfig/bacula-fd
566 cp -a %{SOURCE16} $RPM_BUILD_ROOT/etc/sysconfig/bacula-sd
567 cp -a %{SOURCE17} $RPM_BUILD_ROOT%{systemdunitdir}/bacula-dir.service
568 cp -a %{SOURCE18} $RPM_BUILD_ROOT%{systemdunitdir}/bacula-fd.service
569 cp -a %{SOURCE19} $RPM_BUILD_ROOT%{systemdunitdir}/bacula-sd.service
571 %if %{with console_wx}
572 # tray-monitor is for regular users
573 #mv $RPM_BUILD_ROOT%{_sbindir}/bacula-tray-monitor $RPM_BUILD_ROOT%{_bindir}
575 cp -a scripts/bacula.png $RPM_BUILD_ROOT%{_pixmapsdir}/bacula.png
576 #install src/tray-monitor/generic.xpm $RPM_BUILD_ROOT%{_pixmapsdir}/bacula-tray-monitor.xpm
577 sed -e 's/gnome-console/wx-console/g;s/Console/Wx Console/g' \
578 scripts/wxconsole.desktop.consolehelper > $RPM_BUILD_ROOT%{_desktopdir}/bacula-wx.desktop
579 #sed -e 's#%{_sbindir}#%{_bindir}#' \
580 # scripts/bacula-tray-monitor.desktop > $RPM_BUILD_ROOT%{_desktopdir}/bacula-tray-monitor.desktop
584 # qmake somewhy does not always create install_bins target. install our own the bin
585 rm -f $RPM_BUILD_ROOT%{_sbindir}/bat
586 libtool --silent --mode=install install src/qt-console/bat $RPM_BUILD_ROOT%{_bindir}
587 cp -a scripts/bacula.png $RPM_BUILD_ROOT%{_pixmapsdir}/bacula.png
588 cp -a scripts/bat.desktop $RPM_BUILD_ROOT%{_desktopdir}
592 # install the rescue stuff, these are the rescue scripts
593 cp -a rescue/linux/floppy/backup.etc.list $RPM_BUILD_ROOT%{_sysconfdir}/rescue
594 cp -a rescue/linux/floppy/sfdisk.bz2 $RPM_BUILD_ROOT%{_sysconfdir}/rescue
595 install -p rescue/linux/floppy/*_* $RPM_BUILD_ROOT%{_sysconfdir}/rescue
596 install -p rescue/linux/floppy/getdiskinfo $RPM_BUILD_ROOT%{_sysconfdir}/rescue
599 touch $RPM_BUILD_ROOT/var/log/bacula/log
601 # install the updatedb scripts for older versions that last full release
602 # 2.0 -> 3.0 : 10_to_11
603 # 5.0 -> 5.2 : 12_to_14
604 install -p updatedb/update_*_tables_10_to_11 $RPM_BUILD_ROOT%{_libexecdir}/%{name}
605 install -p updatedb/update_*_tables_11_to_12 $RPM_BUILD_ROOT%{_libexecdir}/%{name}
606 install -p updatedb/update_*_tables_12_to_14 $RPM_BUILD_ROOT%{_libexecdir}/%{name}
608 # place for site passwords
609 touch $RPM_BUILD_ROOT%{_sysconfdir}/{dir-password,fd-password,sd-password}
610 touch $RPM_BUILD_ROOT%{_sysconfdir}/{mon-dir-password,mon-fd-password,mon-sd-password}
612 mv $RPM_BUILD_ROOT%{_libexecdir}/%{name}/mtx-changer.conf $RPM_BUILD_ROOT%{_sysconfdir}/mtx-changer.conf
615 rm -f $RPM_BUILD_ROOT%{_libexecdir}/%{name}/{gconsole,startmysql,stopmysql,bacula,bconsole,fd}
616 %if %{without console_wx}
617 rm -f $RPM_BUILD_ROOT%{_desktopdir}/bacula-wx.desktop
620 rm $RPM_BUILD_ROOT%{_docdir}/bacula/ChangeLog
621 rm $RPM_BUILD_ROOT%{_docdir}/bacula/INSTALL
622 rm $RPM_BUILD_ROOT%{_docdir}/bacula/LICENSE
623 rm $RPM_BUILD_ROOT%{_docdir}/bacula/README
624 rm $RPM_BUILD_ROOT%{_docdir}/bacula/ReleaseNotes
625 rm $RPM_BUILD_ROOT%{_docdir}/bacula/VERIFYING
626 rm $RPM_BUILD_ROOT%{_docdir}/bacula/technotes
628 # startup scripts, those in /etc/rc.d/init.d are better
629 rm $RPM_BUILD_ROOT%{_sbindir}/bacula
630 rm $RPM_BUILD_ROOT%{_libexecdir}/%{name}/bacula-ctl-*
633 rm $RPM_BUILD_ROOT%{_libexecdir}/%{name}/btraceback.mdb
635 # rename to avoid possible conflicts
636 mv $RPM_BUILD_ROOT%{_sbindir}/{,bacula-}dbcheck
637 mv $RPM_BUILD_ROOT%{_mandir}/man8/{,bacula-}dbcheck.8.gz
639 # no -devel files packaged, so this is also useless
640 rm $RPM_BUILD_ROOT%{_libdir}/libbac{,cfg,find,py,sql}.{so,la}
643 install -d $RPM_BUILD_ROOT%{nagiosplugindir}
644 %{__make} -C examples/nagios/check_bacula install \
645 sbindir=%{nagiosplugindir} \
646 INSTALL_PROGRAM="libtool --mode=install install -p" \
647 DESTDIR=$RPM_BUILD_ROOT
651 rm -rf $RPM_BUILD_ROOT
654 %groupadd -P %{name}-common -g 136 -r -f bacula
655 %useradd -P %{name}-common -u 136 -r -d /var/lib/bacula -s /bin/false -c "Bacula User" -g bacula bacula
657 %define update_configs \
658 echo "Updating bacula passwords and names..." | %banner -a %{name} \
660 for f in *-password; do \
661 if [ ! -s $f ]; then \
662 openssl rand -base64 33 > $f \
665 for cf in *.conf *.conf.rpmnew; do \
666 [ -f $cf ] && sed -i -e"s:#FAKE-$f#:$p:" "$cf" || : \
669 for cf in *.conf *.conf.rpmnew; do \
670 [ -f $cf ] && sed -i -e"s:--hostname--:`hostname`:" "$cf" || : \
679 if [ "$1" = "0" ]; then
684 %triggerpostun dir -- %{name}-dir < %{version}-0
685 %banner bacula-dir -t3 <<EOF
686 You have upgraded from an older version of Bacula director.
688 You will probably need to call %{_libexecdir}/%{name}/update_bacula_tables
689 script to upgrade the database.
691 Ensure you database partition has enough free space before you run the upgrade,
692 i.e check that there is enough room to rebuild 'File' table (it is the largest
699 /sbin/chkconfig --add bacula-dir
700 %service bacula-dir restart "Bacula Director daemon"
701 %systemd_post bacula-dir.service
704 if [ "$1" = "0" ]; then
705 %service bacula-dir stop
706 /sbin/chkconfig --del bacula-dir
708 %systemd_preun bacula-dir.service
715 /sbin/chkconfig --add bacula-fd
716 %service bacula-fd restart "Bacula File daemon"
717 %systemd_post bacula-fd.service
720 if [ "$1" = "0" ]; then
721 %service bacula-fd stop
722 /sbin/chkconfig --del bacula-fd
724 %systemd_preun bacula-fd.service
731 /sbin/chkconfig --add bacula-sd
732 %service bacula-sd restart "Bacula Storage daemon"
733 %systemd_post bacula-sd.service
736 if [ "$1" = "0" ]; then
737 %service bacula-sd stop
738 /sbin/chkconfig --del bacula-sd
740 %systemd_preun bacula-sd.service
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 %{_sysconfdir}/bat.conf* -perm /007 -print0 2>/dev/null | 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 ln -sf "make_%{1}_catalog_backup" %{_libexecdir}/%{name}/make_catalog_backup || : \
794 ln -sf libbaccats-%{1}-%{version}.so %{_libdir}/libbaccats-%{version}.so || : \
795 %service bacula-dir restart "Bacula Director daemon"
800 %postun db-postgresql -p /sbin/ldconfig
805 %postun db-mysql -p /sbin/ldconfig
810 %postun db-sqlite3 -p /sbin/ldconfig
813 %defattr(644,root,root,755)
815 %{?with_python:%doc examples/python}
817 %attr(600,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/*-password
818 # do not remove bsmtp from files. Fix build if it is not installed.
819 %attr(755,root,root) %{_sbindir}/bsmtp
820 %attr(755,root,root) %{_sbindir}/btraceback
821 %attr(755,root,root) %{_libdir}/libbac-5*.so
822 %attr(755,root,root) %{_libdir}/libbaccfg-5*.so
823 %attr(755,root,root) %{_libdir}/libbacfind-5*.so
824 %attr(755,root,root) %{_libdir}/libbacpy-5*.so
825 %attr(755,root,root) %{_libdir}/libbacsql-5*.so
826 %{_mandir}/man8/bacula.8*
827 %{_mandir}/man1/bsmtp.1*
828 %{_mandir}/man8/btraceback.8*
829 %dir %{_libexecdir}/%{name}
830 %{_libexecdir}/%{name}/btraceback.dbx
831 %{_libexecdir}/%{name}/btraceback.gdb
832 %{_libexecdir}/%{name}/bacula_config
833 %attr(770,root,bacula) %dir %{_localstatedir}
834 %attr(750,bacula,logs) %dir /var/log/bacula
835 %attr(640,bacula,logs) %ghost /var/log/bacula/log
838 %defattr(644,root,root,755)
839 %doc ChangeLog CheckList ReleaseNotes kernstodo LICENSE
840 #%doc examples %{name}-docs-%{version}/manual/{*.pdf,bacula}
841 %attr(640,root,bacula) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/bacula-dir.conf
842 %attr(640,root,root) %config(noreplace) /etc/logrotate.d/bacula-dir
843 %attr(754,root,root) /etc/rc.d/init.d/bacula-dir
844 %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/bacula-dir
845 %{systemdunitdir}/bacula-dir.service
846 %attr(755,root,root) %{_sbindir}/bacula-dir
847 %attr(755,root,root) %{_sbindir}/bregex
848 %attr(755,root,root) %{_sbindir}/bwild
849 %attr(755,root,root) %{_sbindir}/bacula-dbcheck
850 %{_mandir}/man8/bacula-dir.8*
851 %{_mandir}/man8/bacula-dbcheck.8*
852 %{_mandir}/man8/bregex.8*
853 %{_mandir}/man8/bwild.8*
854 %{_libexecdir}/%{name}/query.sql
855 %attr(755,root,root) %{_libexecdir}/%{name}/delete_catalog_backup
858 %defattr(644,root,root,755)
859 %attr(755,root,root) %{_libexecdir}/%{name}/create_postgresql_database
860 %attr(755,root,root) %{_libexecdir}/%{name}/drop_postgresql_database
861 %attr(755,root,root) %{_libexecdir}/%{name}/drop_postgresql_tables
862 %attr(755,root,root) %{_libexecdir}/%{name}/grant_postgresql_privileges
863 %attr(755,root,root) %{_libexecdir}/%{name}/make_postgresql_tables
864 %attr(755,root,root) %{_libexecdir}/%{name}/update_postgresql_*
865 %attr(755,root,root) %{_libexecdir}/%{name}/make_postgresql_catalog_backup
866 %attr(755,root,root) %{_libdir}/libbaccats-postgresql-5*.so
868 %ghost %attr(755,root,root) %{_libdir}/libbaccats-5*.so
869 %ghost %{_libexecdir}/%{name}/create_bacula_database
870 %ghost %{_libexecdir}/%{name}/drop_bacula_tables
871 %ghost %{_libexecdir}/%{name}/drop_bacula_database
872 %ghost %{_libexecdir}/%{name}/grant_bacula_privileges
873 %ghost %{_libexecdir}/%{name}/make_bacula_tables
874 %ghost %{_libexecdir}/%{name}/update_bacula_tables
875 %ghost %{_libexecdir}/%{name}/make_catalog_backup
878 %defattr(644,root,root,755)
879 %attr(755,root,root) %{_libexecdir}/%{name}/create_mysql_database
880 %attr(755,root,root) %{_libexecdir}/%{name}/drop_mysql_database
881 %attr(755,root,root) %{_libexecdir}/%{name}/drop_mysql_tables
882 %attr(755,root,root) %{_libexecdir}/%{name}/grant_mysql_privileges
883 %attr(755,root,root) %{_libexecdir}/%{name}/make_mysql_tables
884 %attr(755,root,root) %{_libexecdir}/%{name}/update_mysql_*
885 %attr(755,root,root) %{_libexecdir}/%{name}/make_mysql_catalog_backup
886 %attr(755,root,root) %{_libdir}/libbaccats-mysql-5*.so
888 %ghost %attr(755,root,root) %{_libdir}/libbaccats-5*.so
889 %ghost %{_libexecdir}/%{name}/create_bacula_database
890 %ghost %{_libexecdir}/%{name}/drop_bacula_tables
891 %ghost %{_libexecdir}/%{name}/drop_bacula_database
892 %ghost %{_libexecdir}/%{name}/grant_bacula_privileges
893 %ghost %{_libexecdir}/%{name}/make_bacula_tables
894 %ghost %{_libexecdir}/%{name}/update_bacula_tables
895 %ghost %{_libexecdir}/%{name}/make_catalog_backup
898 %defattr(644,root,root,755)
899 %attr(755,root,root) %{_libexecdir}/%{name}/create_sqlite3_database
900 %attr(755,root,root) %{_libexecdir}/%{name}/drop_sqlite3_database
901 %attr(755,root,root) %{_libexecdir}/%{name}/drop_sqlite3_tables
902 %attr(755,root,root) %{_libexecdir}/%{name}/grant_sqlite3_privileges
903 %attr(755,root,root) %{_libexecdir}/%{name}/make_sqlite3_tables
904 %attr(755,root,root) %{_libexecdir}/%{name}/update_sqlite3_*
905 %attr(755,root,root) %{_libexecdir}/%{name}/make_sqlite3_catalog_backup
906 %attr(755,root,root) %{_libdir}/libbaccats-sqlite3-5*.so
908 %ghost %attr(755,root,root) %{_libdir}/libbaccats-5*.so
909 %ghost %{_libexecdir}/%{name}/create_bacula_database
910 %ghost %{_libexecdir}/%{name}/drop_bacula_tables
911 %ghost %{_libexecdir}/%{name}/drop_bacula_database
912 %ghost %{_libexecdir}/%{name}/grant_bacula_privileges
913 %ghost %{_libexecdir}/%{name}/make_bacula_tables
914 %ghost %{_libexecdir}/%{name}/update_bacula_tables
915 %ghost %{_libexecdir}/%{name}/make_catalog_backup
918 %defattr(644,root,root,755)
920 %attr(640,root,bacula) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/bacula-fd.conf
921 %attr(754,root,root) /etc/rc.d/init.d/bacula-fd
922 %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/bacula-fd
923 %{systemdunitdir}/bacula-fd.service
924 %attr(755,root,root) %{_sbindir}/bacula-fd
925 %attr(755,root,root) %{_libdir}/bpipe-fd.so
926 %{_mandir}/man8/bacula-fd.8*
929 %defattr(644,root,root,755)
931 %attr(640,root,bacula) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/bacula-sd.conf
932 %attr(640,root,bacula) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/mtx-changer.conf
933 %attr(754,root,root) /etc/rc.d/init.d/bacula-sd
934 %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/bacula-sd
935 %{systemdunitdir}/bacula-sd.service
936 %attr(755,root,root) %{_sbindir}/bacula-sd
937 %attr(755,root,root) %{_sbindir}/bcopy
938 %attr(755,root,root) %{_sbindir}/bextract
939 %attr(755,root,root) %{_sbindir}/bls
940 %attr(755,root,root) %{_sbindir}/bscan
941 %attr(755,root,root) %{_sbindir}/btape
942 %attr(755,root,root) %{_libexecdir}/%{name}/mtx-changer
943 %attr(755,root,root) %{_libexecdir}/%{name}/disk-changer
944 %attr(755,root,root) %{_libexecdir}/%{name}/dvd-handler
945 %{_mandir}/man8/bacula-sd.8*
946 %{_mandir}/man8/bcopy.8*
947 %{_mandir}/man8/bextract.8*
948 %{_mandir}/man8/bls.8*
949 %{_mandir}/man8/bscan.8*
950 %{_mandir}/man8/btape.8*
953 %defattr(644,root,root,755)
955 %attr(640,root,bacula) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/bconsole.conf
956 %attr(755,root,root) %{_sbindir}/bconsole
957 %{_mandir}/man8/bconsole.8*
959 %if %{with console_wx}
961 %defattr(644,root,root,755)
963 %{_pixmapsdir}/%{name}.png
964 %{_desktopdir}/bacula-wx.desktop
965 %attr(640,root,bacula) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/bwx-console.conf
966 %attr(755,root,root) %{_sbindir}/bwx-console
967 %{_mandir}/man1/bacula-bwxconsole.1*
972 %defattr(644,root,root,755)
974 %{_pixmapsdir}/%{name}.png
975 %{_desktopdir}/bat.desktop
976 # Do not make this file world-readable or any user will get full access to the
978 %attr(640,root,bacula) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/bat.conf
979 %attr(755,root,root) %{_bindir}/bat
980 %{_mandir}/man1/bat.1*
984 %if %{with console_wx}
986 %defattr(644,root,root,755)
988 %attr(755,root,root) %{_sbindir}/bacula-tray-monitor
989 #%{_pixmapsdir}/%{name}-tray-monitor.xpm
990 #%{_desktopdir}/%{name}-tray-monitor.desktop
991 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/tray-monitor.conf
992 %{_mandir}/man1/bacula-tray-monitor.1*
997 %defattr(644,root,root,755)
999 %dir %{_sysconfdir}/rescue
1000 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/rescue/backup.etc.list
1001 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/rescue/bacula-fd
1002 %attr(755,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/rescue/format_floppy
1003 %attr(755,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/rescue/getdiskinfo
1004 %attr(755,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/rescue/make_rescue_disk
1005 %attr(755,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/rescue/restore_bacula
1006 %attr(755,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/rescue/restore_etc
1007 %attr(755,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/rescue/run_grub
1008 %attr(755,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/rescue/run_lilo
1009 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/rescue/sfdisk.bz2
1013 %files -n nagios-plugin-check_bacula
1014 %defattr(644,root,root,755)
1015 %attr(755,root,root) %{nagiosplugindir}/check_bacula