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: 43417bae0c221afb1f30a581c9e0f2fe
35 Source1: http://downloads.sourceforge.net/bacula/%{name}-docs-%{version}.tar.bz2
36 # Source1-md5: 0e7af41cc3b1c59662457679b02bf873
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}
301 Bacula - It comes by night and sucks the vital essence from your
304 Bacula File services (or Client program) is the software program that
305 is installed on the machine to be backed up. It is specific to the
306 operating system on which it runs and is responsible for providing the
307 file attributes and data when requested by the Director. The File
308 services are also responsible for the file system dependent part of
309 restoring the file attributes and data during a recovery operation.
310 This program runs as a daemon on the machine to be backed up, and in
311 some of the documentation, the File daemon is referred to as the
312 Client (for example in Bacula configuration file).
314 %description fd -l pl.UTF-8
315 Bacula - przychodzi nocą i wysysa żywotny ekstrakt z komputerów.
317 Usługi Bacula File (inaczej program kliencki) to oprogramowanie, które
318 instaluje się na maszynach, z których mają być wykonywane kopie
319 zapasowe. Są one specyficzne dla systemu operacyjnego, pod którym
320 działa dana maszyna i odpowiadają za dostarczanie atrybutów i danych
321 plików na żądanie Directora. Usługi plikowe są także odpowiedzialne za
322 zależną od systemu plików część odzyskiwania atrybutów i danych plików
323 podczas operacji odzyskiwania danych. Program działa jako demon na
324 maszynie, która ma być backupowana i w części dokumentacji demon ten
325 (File) jest nazywany klientem (na przykład w pliku konfiguracyjnym
329 Summary: Bacula Storage services
330 Summary(pl.UTF-8): Usługi Bacula Storage
331 Group: Networking/Utilities
332 Requires(post): sed >= 4.0
333 Requires: %{name}-common = %{version}-%{release}
334 Conflicts: dvd+rw-tools <= 5.21.4.10.8-1
337 Bacula - It comes by night and sucks the vital essence from your
340 Bacula Storage services consist of the software programs that perform
341 the storage and recovery of the file attributes and data to the
342 physical backup media or volumes. In other words, the Storage daemon
343 is responsible for reading and writing your tapes (or other storage
344 media, e.g. files). The Storage services runs as a daemon on the
345 machine that has the backup device (usually a tape drive).
347 %description sd -l pl.UTF-8
348 Bacula - przychodzi nocą i wysysa żywotny ekstrakt z komputerów.
350 Usługi Bacula Storage składają się z programów obsługujących
351 przechowywanie danych oraz odzyskiwanie atrybutów i danych na
352 fizycznych nośnikach lub wolumenach. Innymi słowy, demon Storage jest
353 odpowiedzialny za odczyt i zapis taśm (lub innych nośników do
354 przechowywania danych, np. plików). Usługi Storage działają jako demon
355 na maszynie, która zawiera urządzenie backupowe (zwykle napęd
358 %package db-postgresql
359 Summary: PostgreSQL database driver for Bacula
360 Summary(pl.UTF-8): Sterownik bazy PostgreSQL dla Baculi
361 Group: Networking/Utilities
362 Requires(post): /sbin/ldconfig
363 Requires: %{name}-common = %{version}-%{release}
364 Provides: bacula(db) = %{version}-%{release}
365 Obsoletes: bacula(db)
367 %description db-postgresql
368 PostgreSQL database driver for Bacula.
370 %description db-postgresql -l pl.UTF-8
371 Sterownik bazy PostgreSQL dla Baculi.
374 Summary: MySQL database driver for Bacula
375 Summary(pl.UTF-8): Sterownik bazy MySQL dla Baculi
376 Group: Networking/Utilities
377 Requires(post): /sbin/ldconfig
378 Requires: %{name}-common = %{version}-%{release}
379 Provides: bacula(db) = %{version}-%{release}
380 Obsoletes: bacula(db)
382 %description db-mysql
383 MySQL database driver for Bacula.
385 %description db-mysql -l pl.UTF-8
386 Sterownik bazy MySQL dla Baculi.
389 Summary: SQLite database driver for Bacula
390 Summary(pl.UTF-8): Sterownik bazy SQLite dla Baculi
391 Group: Networking/Utilities
392 Requires(post): /sbin/ldconfig
393 Requires: %{name}-common = %{version}-%{release}
394 Provides: bacula(db) = %{version}-%{release}
395 Obsoletes: bacula(db)
397 %description db-sqlite3
398 SQLite database driver for Bacula.
400 %description db-sqlite3 -l pl.UTF-8
401 Sterownik bazy SQLite dla Baculi.
404 Summary: Bacula - The Network Backup Solution
405 Summary(pl.UTF-8): Bacula - rozwiązanie do wykonywania kopii zapasowych po sieci
406 Group: Networking/Utilities
407 Requires: %{name}-fd = %{version}-%{release}
412 Bacula - It comes by night and sucks the vital essence from your
415 Bacula is a set of computer programs that permit you (or the system
416 administrator) to manage backup, recovery, and verification of
417 computer data across a network of computers of different kinds. In
418 technical terms, it is a network client/server based backup program.
419 Bacula is relatively easy to use and efficient, while offering many
420 advanced storage management features that make it easy to find and
421 recover lost or damaged files.
423 This package installs scripts for disaster recovery and builds rescue
424 floppy disk for bare metal recovery.
426 %description rescue -l pl.UTF-8
427 Bacula - przychodzi nocą i wysysa żywotny ekstrakt z komputerów.
429 Bacula to zbiór programów umożliwiających administratorowi na
430 zarządzanie kopiami zapasowymi, odzyskiwaniem i weryfikacją danych w
431 sieci komputerów różnego rodzaju. W terminologii technicznej jest to
432 program do kopii zapasowych pracujący w architekturze klient-serwer.
433 Bacula jest stosunkowo łatwa w użyciu i wydajna, oferując przy tym
434 wiele zaawansowanych możliwości przy zarządzaniu nośnikami,
435 ułatwiających znalezienie i odzyskanie utraconych lub uszkodzonych
438 Ten pakiet zawiera skrypty do odtwarzania po awarii i tworzy dyskietkę
439 ratunkowe do odtwarzania systemu od zera.
441 %package -n nagios-plugin-check_bacula
442 Summary: Nagios plugin to check bacula
444 Requires: nagios-common
446 %description -n nagios-plugin-check_bacula
447 Nagios plugin to check bacula.
449 # provided by various db libraries as a symlink
450 %define _noautoreq libbaccats-%{version}.so
461 tar -xf %{SOURCE2} && ln -s bacula-rescue-* rescue
463 sed -i -e 's#bindir=.*#bindir=%{_bindir}#g' \
464 src/cats/create_* src/cats/delete_* src/cats/drop_* \
465 src/cats/grant_* src/cats/make_* src/cats/update_*
466 sed -i -e 's/@hostname@/--hostname--/' src/*/*.conf.in
467 sed -i -e 's/@basename@/--hostname--/' src/*/*.conf.in
471 %{__aclocal} -I bacula-macros -I gettext-macros
472 # $BUILD_DIR not seen by libtoolize, export it
473 BUILD_DIR=.. %{__libtoolize}
475 %{__autoconf} --prepend-include=$(pwd)/autoconf autoconf/configure.in > configure
477 CPPFLAGS="-I/usr/include/ncurses -I%{_includedir}/readline"
479 WXCONFIG=%{_bindir}/wx-gtk2-unicode-config \
480 QMAKE=%{_bindir}/qmake-qt4 \
482 --with-scriptdir=%{_libexecdir}/%{name} \
483 %{?with_bat:--enable-bat} \
485 --enable-smartalloc \
486 %{?with_console_wx:--enable-bwx-console} \
487 --enable-tray-monitor \
488 %{?with_python:--with-python} \
490 --with-tcp-wrappers \
491 --with-working-dir=%{_var}/lib/%{name} \
492 --with-dump-email="root@localhost" \
493 --with-job-email="root@localhost" \
494 --with-smtp-host=localhost \
495 --with-pid-dir=/var/run \
496 --with-subsys-dir=/var/lock/subsys \
497 --with-systemd=/lib/systemd/system \
498 --enable-batch-insert \
499 %{?with_pgsql:--with-postgresql} \
500 %{?with_mysql:--with-mysql} \
501 %{?with_sqlite3:--with-sqlite3} \
502 %{?with_sqlite3_sync_off:--enable-extra-sqlite3-init="pragma synchronous=0;"} \
503 --with-dir-password="#FAKE-dir-password#" \
504 --with-fd-password="#FAKE-fd-password#" \
505 --with-sd-password="#FAKE-sd-password#" \
506 --with-mon-dir-password="#FAKE-mon-dir-password#" \
507 --with-mon-fd-password="#FAKE-mon-fd-password#" \
508 --with-mon-sd-password="#FAKE-mon-sd-password#" \
517 %{__make} 2>&1 | tee log
518 # check for build errors
519 grep "Error in" log && exit 1
523 %{__make} -C examples/nagios/check_bacula
535 rm -rf $RPM_BUILD_ROOT
536 install -d $RPM_BUILD_ROOT/etc/{rc.d/init.d,logrotate.d,pam.d,sysconfig} \
537 $RPM_BUILD_ROOT%{_sysconfdir}/rescue \
538 $RPM_BUILD_ROOT{%{_pixmapsdir},%{_desktopdir}} \
539 $RPM_BUILD_ROOT{%{_mandir},%{_bindir},/var/log/bacula} \
540 $RPM_BUILD_ROOT%{systemdunitdir}
543 DESTDIR=$RPM_BUILD_ROOT
545 # create copies of make_catalog_backup for specific databases; zeore default one (will be ghost)
546 for database in %{databases}; do
547 sed -e "s#default_db_type=.*#default_db_type=${database}#g" \
548 $RPM_BUILD_ROOT%{_libdir}/%{name}/make_catalog_backup \
549 > $RPM_BUILD_ROOT%{_libdir}/%{name}/make_${database}_catalog_backup
550 chmod 755 $RPM_BUILD_ROOT%{_libdir}/%{name}/make_${database}_catalog_backup
552 :> $RPM_BUILD_ROOT%{_libdir}/%{name}/make_catalog_backup
554 # we use db dependant (at compile time) shell script only
555 rm $RPM_BUILD_ROOT%{_libexecdir}/%{name}/make_catalog_backup.pl
557 ## replace with empty file, replaced by ldconfig from each db-* package on intsall
558 rm $RPM_BUILD_ROOT%{_libdir}/libbaccats-%{version}.so
559 touch $RPM_BUILD_ROOT%{_libdir}/libbaccats-%{version}.so
561 install -p %{SOURCE10} $RPM_BUILD_ROOT/etc/rc.d/init.d/bacula-dir
562 install -p %{SOURCE11} $RPM_BUILD_ROOT/etc/rc.d/init.d/bacula-fd
563 install -p %{SOURCE12} $RPM_BUILD_ROOT/etc/rc.d/init.d/bacula-sd
564 cp -a %{SOURCE13} $RPM_BUILD_ROOT/etc/logrotate.d/%{name}-dir
565 cp -a %{SOURCE14} $RPM_BUILD_ROOT/etc/sysconfig/bacula-dir
566 cp -a %{SOURCE15} $RPM_BUILD_ROOT/etc/sysconfig/bacula-fd
567 cp -a %{SOURCE16} $RPM_BUILD_ROOT/etc/sysconfig/bacula-sd
568 cp -a %{SOURCE17} $RPM_BUILD_ROOT%{systemdunitdir}/bacula-dir.service
569 cp -a %{SOURCE18} $RPM_BUILD_ROOT%{systemdunitdir}/bacula-fd.service
570 cp -a %{SOURCE19} $RPM_BUILD_ROOT%{systemdunitdir}/bacula-sd.service
572 %if %{with console_wx}
573 # tray-monitor is for regular users
574 #mv $RPM_BUILD_ROOT%{_sbindir}/bacula-tray-monitor $RPM_BUILD_ROOT%{_bindir}
576 cp -a scripts/bacula.png $RPM_BUILD_ROOT%{_pixmapsdir}/bacula.png
577 #install src/tray-monitor/generic.xpm $RPM_BUILD_ROOT%{_pixmapsdir}/bacula-tray-monitor.xpm
578 sed -e 's/gnome-console/wx-console/g;s/Console/Wx Console/g' \
579 scripts/wxconsole.desktop.consolehelper > $RPM_BUILD_ROOT%{_desktopdir}/bacula-wx.desktop
580 #sed -e 's#%{_sbindir}#%{_bindir}#' \
581 # scripts/bacula-tray-monitor.desktop > $RPM_BUILD_ROOT%{_desktopdir}/bacula-tray-monitor.desktop
585 # qmake somewhy does not always create install_bins target. install our own the bin
586 rm -f $RPM_BUILD_ROOT%{_sbindir}/bat
587 libtool --silent --mode=install install src/qt-console/bat $RPM_BUILD_ROOT%{_bindir}
588 cp -a scripts/bacula.png $RPM_BUILD_ROOT%{_pixmapsdir}/bacula.png
589 cp -a scripts/bat.desktop $RPM_BUILD_ROOT%{_desktopdir}
593 # install the rescue stuff, these are the rescue scripts
594 cp -a rescue/linux/floppy/backup.etc.list $RPM_BUILD_ROOT%{_sysconfdir}/rescue
595 cp -a rescue/linux/floppy/sfdisk.bz2 $RPM_BUILD_ROOT%{_sysconfdir}/rescue
596 install -p rescue/linux/floppy/*_* $RPM_BUILD_ROOT%{_sysconfdir}/rescue
597 install -p rescue/linux/floppy/getdiskinfo $RPM_BUILD_ROOT%{_sysconfdir}/rescue
600 touch $RPM_BUILD_ROOT/var/log/bacula/log
602 # install the updatedb scripts for older versions that last full release
603 # 2.0 -> 3.0 : 10_to_11
604 # 5.0 -> 5.2 : 12_to_14
605 install -p updatedb/update_*_tables_10_to_11 $RPM_BUILD_ROOT%{_libexecdir}/%{name}
606 install -p updatedb/update_*_tables_11_to_12 $RPM_BUILD_ROOT%{_libexecdir}/%{name}
607 install -p updatedb/update_*_tables_12_to_14 $RPM_BUILD_ROOT%{_libexecdir}/%{name}
609 # place for site passwords
610 touch $RPM_BUILD_ROOT%{_sysconfdir}/{dir-password,fd-password,sd-password}
611 touch $RPM_BUILD_ROOT%{_sysconfdir}/{mon-dir-password,mon-fd-password,mon-sd-password}
613 mv $RPM_BUILD_ROOT%{_libexecdir}/%{name}/mtx-changer.conf $RPM_BUILD_ROOT%{_sysconfdir}/mtx-changer.conf
616 rm -f $RPM_BUILD_ROOT%{_libexecdir}/%{name}/{gconsole,startmysql,stopmysql,bacula,bconsole,fd}
617 %if %{without console_wx}
618 rm -f $RPM_BUILD_ROOT%{_desktopdir}/bacula-wx.desktop
621 rm $RPM_BUILD_ROOT%{_docdir}/bacula/ChangeLog
622 rm $RPM_BUILD_ROOT%{_docdir}/bacula/INSTALL
623 rm $RPM_BUILD_ROOT%{_docdir}/bacula/LICENSE
624 rm $RPM_BUILD_ROOT%{_docdir}/bacula/README
625 rm $RPM_BUILD_ROOT%{_docdir}/bacula/ReleaseNotes
626 rm $RPM_BUILD_ROOT%{_docdir}/bacula/VERIFYING
627 rm $RPM_BUILD_ROOT%{_docdir}/bacula/technotes
629 # startup scripts, those in /etc/rc.d/init.d are better
630 rm $RPM_BUILD_ROOT%{_sbindir}/bacula
631 rm $RPM_BUILD_ROOT%{_libexecdir}/%{name}/bacula-ctl-*
634 rm $RPM_BUILD_ROOT%{_libexecdir}/%{name}/btraceback.mdb
636 # rename to avoid possible conflicts
637 mv $RPM_BUILD_ROOT%{_sbindir}/{,bacula-}dbcheck
638 mv $RPM_BUILD_ROOT%{_mandir}/man8/{,bacula-}dbcheck.8.gz
640 # no -devel files packaged, so this is also useless
641 rm $RPM_BUILD_ROOT%{_libdir}/libbac{,cfg,find,py,sql}.{so,la}
644 install -d $RPM_BUILD_ROOT%{nagiosplugindir}
645 %{__make} -C examples/nagios/check_bacula install \
646 sbindir=%{nagiosplugindir} \
647 INSTALL_PROGRAM="libtool --mode=install install -p" \
648 DESTDIR=$RPM_BUILD_ROOT
652 rm -rf $RPM_BUILD_ROOT
655 %groupadd -P %{name}-common -g 136 -r -f bacula
656 %useradd -P %{name}-common -u 136 -r -d /var/lib/bacula -s /bin/false -c "Bacula User" -g bacula bacula
658 %define update_configs \
659 echo "Updating bacula passwords and names..." | %banner -a %{name} \
661 for f in *-password; do \
662 if [ ! -s $f ]; then \
663 openssl rand -base64 33 > $f \
666 for cf in *.conf *.conf.rpmnew; do \
667 [ -f $cf ] && sed -i -e"s:#FAKE-$f#:$p:" "$cf" || : \
670 for cf in *.conf *.conf.rpmnew; do \
671 [ -f $cf ] && sed -i -e"s:--hostname--:`hostname`:" "$cf" || : \
680 if [ "$1" = "0" ]; then
685 %triggerpostun dir -- %{name}-dir < %{version}-0
686 %banner bacula-dir -t3 <<EOF
687 You have upgraded from an older version of Bacula director.
689 You will probably need to call %{_libexecdir}/%{name}/update_bacula_tables
690 script to upgrade the database.
692 Ensure you database partition has enough free space before you run the upgrade,
693 i.e check that there is enough room to rebuild 'File' table (it is the largest
700 /sbin/chkconfig --add bacula-dir
701 %service bacula-dir restart "Bacula Director daemon"
702 %systemd_post bacula-dir.service
705 if [ "$1" = "0" ]; then
706 %service bacula-dir stop
707 /sbin/chkconfig --del bacula-dir
709 %systemd_preun bacula-dir.service
716 /sbin/chkconfig --add bacula-fd
717 %service bacula-fd restart "Bacula File daemon"
718 %systemd_post bacula-fd.service
721 if [ "$1" = "0" ]; then
722 %service bacula-fd stop
723 /sbin/chkconfig --del bacula-fd
725 %systemd_preun bacula-fd.service
732 /sbin/chkconfig --add bacula-sd
733 %service bacula-sd restart "Bacula Storage daemon"
734 %systemd_post bacula-sd.service
737 if [ "$1" = "0" ]; then
738 %service bacula-sd stop
739 /sbin/chkconfig --del bacula-sd
741 %systemd_preun bacula-sd.service
747 if [ -e %{_sysconfdir}/console.conf -a ! -e %{_sysconfdir}/bconsole.conf ]; then
748 mv %{_sysconfdir}/console.conf %{_sysconfdir}/bconsole.conf
757 %triggerpostun common -- %{name}-common < 5.0.1-2
758 find %{_sysconfdir}/bat.conf* -perm /007 -print0 2>/dev/null | xargs -0 -r chmod 600 || :
767 # link our current installed conf file to the rescue directory
768 ln -sf %{_sysconfdir}/bacula-fd.conf %{_sysconfdir}/rescue/bacula-fd.conf
771 echo "Creating rescue files for this system..."
772 cd %{_sysconfdir}/rescue
776 # remove the files created after the initial rpm installation
777 if [ "$1" = "0" ]; then
778 rm -f %{_sysconfdir}/rescue/bacula-fd.conf
779 rm -f %{_sysconfdir}/rescue/partition.*
780 rm -f %{_sysconfdir}/rescue/format.*
781 rm -f %{_sysconfdir}/rescue/mount_drives
782 rm -f %{_sysconfdir}/rescue/start_network
783 rm -f %{_sysconfdir}/rescue/sfdisk
784 rm -rf %{_sysconfdir}/rescue/diskinfo/*
789 for name in "create database" "drop tables" "drop database" "grant privileges" "make tables" "update tables"; do \
790 prefix="${name%% *}" \
791 suffix="${name#* }" \
792 ln -sf "${prefix}_%{1}_${suffix}" %{_libexecdir}/%{name}/"${prefix}_bacula_${suffix}" || : \
794 ln -sf "make_%{1}_catalog_backup" %{_libexecdir}/%{name}/make_catalog_backup || : \
795 ln -sf libbaccats-%{1}-%{version}.so %{_libdir}/libbaccats-%{version}.so || : \
796 %service bacula-dir restart "Bacula Director daemon"
801 %postun db-postgresql -p /sbin/ldconfig
806 %postun db-mysql -p /sbin/ldconfig
811 %postun db-sqlite3 -p /sbin/ldconfig
814 %defattr(644,root,root,755)
816 %{?with_python:%doc examples/python}
818 %attr(600,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/*-password
819 # do not remove bsmtp from files. Fix build if it is not installed.
820 %attr(755,root,root) %{_sbindir}/bsmtp
821 %attr(755,root,root) %{_sbindir}/btraceback
822 %attr(755,root,root) %{_libdir}/libbac-5*.so
823 %attr(755,root,root) %{_libdir}/libbaccfg-5*.so
824 %attr(755,root,root) %{_libdir}/libbacfind-5*.so
825 %attr(755,root,root) %{_libdir}/libbacpy-5*.so
826 %attr(755,root,root) %{_libdir}/libbacsql-5*.so
827 %{_mandir}/man8/bacula.8*
828 %{_mandir}/man1/bsmtp.1*
829 %{_mandir}/man8/btraceback.8*
830 %dir %{_libexecdir}/%{name}
831 %{_libexecdir}/%{name}/btraceback.dbx
832 %{_libexecdir}/%{name}/btraceback.gdb
833 %{_libexecdir}/%{name}/bacula_config
834 %attr(770,root,bacula) %dir %{_localstatedir}
835 %attr(750,bacula,logs) %dir /var/log/bacula
836 %attr(640,bacula,logs) %ghost /var/log/bacula/log
839 %defattr(644,root,root,755)
840 %doc ChangeLog CheckList ReleaseNotes LICENSE
841 #%doc examples %{name}-docs-%{version}/manual/{*.pdf,bacula}
842 %attr(640,root,bacula) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/bacula-dir.conf
843 %attr(640,root,root) %config(noreplace) /etc/logrotate.d/bacula-dir
844 %attr(754,root,root) /etc/rc.d/init.d/bacula-dir
845 %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/bacula-dir
846 %{systemdunitdir}/bacula-dir.service
847 %attr(755,root,root) %{_sbindir}/bacula-dir
848 %attr(755,root,root) %{_sbindir}/bregex
849 %attr(755,root,root) %{_sbindir}/bwild
850 %attr(755,root,root) %{_sbindir}/bacula-dbcheck
851 %{_mandir}/man8/bacula-dir.8*
852 %{_mandir}/man8/bacula-dbcheck.8*
853 %{_mandir}/man8/bregex.8*
854 %{_mandir}/man8/bwild.8*
855 %{_libexecdir}/%{name}/query.sql
856 %attr(755,root,root) %{_libexecdir}/%{name}/delete_catalog_backup
859 %defattr(644,root,root,755)
860 %attr(755,root,root) %{_libexecdir}/%{name}/create_postgresql_database
861 %attr(755,root,root) %{_libexecdir}/%{name}/drop_postgresql_database
862 %attr(755,root,root) %{_libexecdir}/%{name}/drop_postgresql_tables
863 %attr(755,root,root) %{_libexecdir}/%{name}/grant_postgresql_privileges
864 %attr(755,root,root) %{_libexecdir}/%{name}/make_postgresql_tables
865 %attr(755,root,root) %{_libexecdir}/%{name}/update_postgresql_*
866 %attr(755,root,root) %{_libexecdir}/%{name}/make_postgresql_catalog_backup
867 %attr(755,root,root) %{_libdir}/libbaccats-postgresql-5*.so
869 %ghost %attr(755,root,root) %{_libdir}/libbaccats-5*.so
870 %ghost %{_libexecdir}/%{name}/create_bacula_database
871 %ghost %{_libexecdir}/%{name}/drop_bacula_tables
872 %ghost %{_libexecdir}/%{name}/drop_bacula_database
873 %ghost %{_libexecdir}/%{name}/grant_bacula_privileges
874 %ghost %{_libexecdir}/%{name}/make_bacula_tables
875 %ghost %{_libexecdir}/%{name}/update_bacula_tables
876 %ghost %{_libexecdir}/%{name}/make_catalog_backup
879 %defattr(644,root,root,755)
880 %attr(755,root,root) %{_libexecdir}/%{name}/create_mysql_database
881 %attr(755,root,root) %{_libexecdir}/%{name}/drop_mysql_database
882 %attr(755,root,root) %{_libexecdir}/%{name}/drop_mysql_tables
883 %attr(755,root,root) %{_libexecdir}/%{name}/grant_mysql_privileges
884 %attr(755,root,root) %{_libexecdir}/%{name}/make_mysql_tables
885 %attr(755,root,root) %{_libexecdir}/%{name}/update_mysql_*
886 %attr(755,root,root) %{_libexecdir}/%{name}/make_mysql_catalog_backup
887 %attr(755,root,root) %{_libdir}/libbaccats-mysql-5*.so
889 %ghost %attr(755,root,root) %{_libdir}/libbaccats-5*.so
890 %ghost %{_libexecdir}/%{name}/create_bacula_database
891 %ghost %{_libexecdir}/%{name}/drop_bacula_tables
892 %ghost %{_libexecdir}/%{name}/drop_bacula_database
893 %ghost %{_libexecdir}/%{name}/grant_bacula_privileges
894 %ghost %{_libexecdir}/%{name}/make_bacula_tables
895 %ghost %{_libexecdir}/%{name}/update_bacula_tables
896 %ghost %{_libexecdir}/%{name}/make_catalog_backup
899 %defattr(644,root,root,755)
900 %attr(755,root,root) %{_libexecdir}/%{name}/create_sqlite3_database
901 %attr(755,root,root) %{_libexecdir}/%{name}/drop_sqlite3_database
902 %attr(755,root,root) %{_libexecdir}/%{name}/drop_sqlite3_tables
903 %attr(755,root,root) %{_libexecdir}/%{name}/grant_sqlite3_privileges
904 %attr(755,root,root) %{_libexecdir}/%{name}/make_sqlite3_tables
905 %attr(755,root,root) %{_libexecdir}/%{name}/update_sqlite3_*
906 %attr(755,root,root) %{_libexecdir}/%{name}/make_sqlite3_catalog_backup
907 %attr(755,root,root) %{_libdir}/libbaccats-sqlite3-5*.so
909 %ghost %attr(755,root,root) %{_libdir}/libbaccats-5*.so
910 %ghost %{_libexecdir}/%{name}/create_bacula_database
911 %ghost %{_libexecdir}/%{name}/drop_bacula_tables
912 %ghost %{_libexecdir}/%{name}/drop_bacula_database
913 %ghost %{_libexecdir}/%{name}/grant_bacula_privileges
914 %ghost %{_libexecdir}/%{name}/make_bacula_tables
915 %ghost %{_libexecdir}/%{name}/update_bacula_tables
916 %ghost %{_libexecdir}/%{name}/make_catalog_backup
919 %defattr(644,root,root,755)
921 %attr(640,root,bacula) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/bacula-fd.conf
922 %attr(754,root,root) /etc/rc.d/init.d/bacula-fd
923 %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/bacula-fd
924 %{systemdunitdir}/bacula-fd.service
925 %attr(755,root,root) %{_sbindir}/bacula-fd
926 %attr(755,root,root) %{_libdir}/bpipe-fd.so
927 %{_mandir}/man8/bacula-fd.8*
930 %defattr(644,root,root,755)
932 %attr(640,root,bacula) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/bacula-sd.conf
933 %attr(640,root,bacula) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/mtx-changer.conf
934 %attr(754,root,root) /etc/rc.d/init.d/bacula-sd
935 %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/bacula-sd
936 %{systemdunitdir}/bacula-sd.service
937 %attr(755,root,root) %{_sbindir}/bacula-sd
938 %attr(755,root,root) %{_sbindir}/bcopy
939 %attr(755,root,root) %{_sbindir}/bextract
940 %attr(755,root,root) %{_sbindir}/bls
941 %attr(755,root,root) %{_sbindir}/bscan
942 %attr(755,root,root) %{_sbindir}/btape
943 %attr(755,root,root) %{_libexecdir}/%{name}/mtx-changer
944 %attr(755,root,root) %{_libexecdir}/%{name}/disk-changer
945 %attr(755,root,root) %{_libexecdir}/%{name}/dvd-handler
946 %{_mandir}/man8/bacula-sd.8*
947 %{_mandir}/man8/bcopy.8*
948 %{_mandir}/man8/bextract.8*
949 %{_mandir}/man8/bls.8*
950 %{_mandir}/man8/bscan.8*
951 %{_mandir}/man8/btape.8*
954 %defattr(644,root,root,755)
956 %attr(640,root,bacula) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/bconsole.conf
957 %attr(755,root,root) %{_sbindir}/bconsole
958 %{_mandir}/man8/bconsole.8*
960 %if %{with console_wx}
962 %defattr(644,root,root,755)
964 %{_pixmapsdir}/%{name}.png
965 %{_desktopdir}/bacula-wx.desktop
966 %attr(640,root,bacula) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/bwx-console.conf
967 %attr(755,root,root) %{_sbindir}/bwx-console
968 %{_mandir}/man1/bacula-bwxconsole.1*
973 %defattr(644,root,root,755)
975 %{_pixmapsdir}/%{name}.png
976 %{_desktopdir}/bat.desktop
977 # Do not make this file world-readable or any user will get full access to the
979 %attr(640,root,bacula) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/bat.conf
980 %attr(755,root,root) %{_bindir}/bat
981 %{_mandir}/man1/bat.1*
985 %if %{with console_wx}
987 %defattr(644,root,root,755)
989 %attr(755,root,root) %{_sbindir}/bacula-tray-monitor
990 #%{_pixmapsdir}/%{name}-tray-monitor.xpm
991 #%{_desktopdir}/%{name}-tray-monitor.desktop
992 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/tray-monitor.conf
993 %{_mandir}/man1/bacula-tray-monitor.1*
998 %defattr(644,root,root,755)
1000 %dir %{_sysconfdir}/rescue
1001 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/rescue/backup.etc.list
1002 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/rescue/bacula-fd
1003 %attr(755,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/rescue/format_floppy
1004 %attr(755,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/rescue/getdiskinfo
1005 %attr(755,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/rescue/make_rescue_disk
1006 %attr(755,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/rescue/restore_bacula
1007 %attr(755,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/rescue/restore_etc
1008 %attr(755,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/rescue/run_grub
1009 %attr(755,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/rescue/run_lilo
1010 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/rescue/sfdisk.bz2
1014 %files -n nagios-plugin-check_bacula
1015 %defattr(644,root,root,755)
1016 %attr(755,root,root) %{nagiosplugindir}/check_bacula