2 # - update desktop files, think about su-wrappers for console (with .desktop files)
4 # - fix log file permissions
7 %bcond_without console_wx # wx-console program
8 %bcond_without bat # bat Qt4 GUI
9 %if "%{pld_release}" != "ac"
10 %bcond_without dbi # use Database Independent Abstraction Layer (libdbi)
12 %bcond_with dbi # use Database Independent Abstraction Layer (libdbi)
14 %bcond_without mysql # use MySQL
15 %bcond_without pgsql # use PostgreSQL
16 %bcond_without sqlite3 # use SQLite3
17 %bcond_without python # Python Scripting support, http://www.bacula.org/3.0.x-manuals/en/concepts/concepts/Python_Scripting.html
18 %bcond_without nagios # build nagios plugin
20 %bcond_with sqlite3_sync_off # makes SQLite3 backend much faster, but less reliable
22 %if %{without sqlite3}
23 %undefine with_sqlite3_sync_off
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: 9de254ae39cab0587fdb2f5d8d90b03b
35 Source1: http://downloads.sourceforge.net/bacula/%{name}-docs-%{version}.tar.bz2
36 # Source1-md5: 7a00557dcf0dfa40de9e74176fefd1ae
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 Patch0: %{name}-mtx-changer.patch
47 Patch1: %{name}-link.patch
48 Patch2: %{name}-tinfo-readline.patch
49 Patch3: %{name}-branding.patch
50 Patch4: %{name}-conf.patch
51 Patch5: %{name}-desktop.patch
52 Patch7: %{name}-dbi_fixes.patch
53 Patch8: %{name}-dbi_dbcheck.patch
54 Patch9: %{name}-openssl1.patch
55 Patch10: %{name}-dvd_rewind.patch
56 Patch11: qmake-bin.patch
57 Patch12: install-cats-no-fail.patch
58 Patch13: make_catalog_backup-setup-home.patch
59 URL: http://www.bacula.org/
60 BuildRequires: acl-devel
61 BuildRequires: autoconf
62 BuildRequires: automake
63 BuildRequires: gettext-devel
64 BuildRequires: gtk+2-devel
65 BuildRequires: libcap-devel
66 %{?with_dbi:BuildRequires: libdbi-devel >= 0.8.4}
67 BuildRequires: libtool >= 2:2.2
69 BuildRequires: fakeroot
71 BuildRequires: libwrap-devel
72 BuildRequires: ncurses-devel
73 BuildRequires: openssl-devel
74 BuildRequires: pkgconfig
76 BuildRequires: python-devel
77 BuildRequires: python-modules
80 BuildRequires: QtCore-devel
81 BuildRequires: QtGui-devel
82 BuildRequires: qt4-build >= 4.3.3-3
83 BuildRequires: qt4-qmake >= 4.3.3-3
84 #BuildRequires: qwt-devel >= 5.0.2-2
86 %{?with_mysql:BuildRequires: mysql-devel}
87 %{?with_pgsql:BuildRequires: postgresql-devel}
88 BuildRequires: readline-devel
89 BuildRequires: rpm-pythonprov
90 BuildRequires: rpmbuild(macros) >= 1.268
91 BuildRequires: sed >= 4.0
92 %{?with_sqlite3:BuildRequires: sqlite3-devel}
94 %if %{with console_wx}
95 BuildRequires: wxGTK2-unicode-devel >= 2.4.0
97 BuildRequires: zlib-devel
98 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
100 %define _sysconfdir /etc/%{name}
101 %define _localstatedir /var/lib/%{name}
102 %define nagiosplugindir %{_libdir}/nagios/plugins
104 # from 'the worst' to 'the best'
105 %define databases %{?with_dbi:dbi} %{?with_sqlite3:sqlite3} %{?with_mysql:mysql} %{?with_pgsql:postgresql}
107 # dependency section is broken. ccache usage is instead to makefiles
108 %undefine with_ccache
111 Bacula - It comes by night and sucks the vital essence from your
114 Bacula is a set of computer programs that permit you (or the system
115 administrator) to manage backup, recovery, and verification of
116 computer data across a network of computers of different kinds. In
117 technical terms, it is a network client/server based backup program.
118 Bacula is relatively easy to use and efficient, while offering many
119 advanced storage management features that make it easy to find and
120 recover lost or damaged files.
122 %description -l pl.UTF-8
123 Bacula - przychodzi nocą i wysysa żywotny ekstrakt z komputerów.
125 Bacula to zbiór programów umożliwiających administratorowi na
126 zarządzanie kopiami zapasowymi, odzyskiwaniem i weryfikacją danych w
127 sieci komputerów różnego rodzaju. W terminologii technicznej jest to
128 program do kopii zapasowych pracujący w architekturze klient-serwer.
129 Bacula jest stosunkowo łatwa w użyciu i wydajna, oferując przy tym
130 wiele zaawansowanych możliwości przy zarządzaniu nośnikami,
131 ułatwiających znalezienie i odzyskanie utraconych lub uszkodzonych
135 Summary: Common files for bacula package
136 Summary(pl.UTF-8): Pliki wspólne dla pakietu bacula
137 Group: Networking/Utilities
138 Requires(post): openssl-tools
139 Requires(post): sed >= 4.0
140 Requires(post,preun): /sbin/chkconfig
141 Requires(postun): /usr/sbin/groupdel
142 Requires(postun): /usr/sbin/userdel
143 Requires(pre): /usr/sbin/groupadd
144 Requires(pre): /usr/sbin/useradd
145 Conflicts: bacula-console < 0:1.34.6
146 Conflicts: bacula-dir < 0:1.34.6
147 Conflicts: bacula-fd < 0:1.34.6
148 Conflicts: bacula-sd < 0:1.34.6
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}
261 %description console-qt4
262 Bacula - It comes by night and sucks the vital essence from your
265 Bacula Console is the program that allows the administrator or user to
266 communicate with the Bacula Director. This is the Qt4 GUI interface.
268 %description console-qt4 -l pl.UTF-8
269 Bacula - przychodzi nocą i wysysa żywotny ekstrakt z komputerów.
271 Bacula Console to program umożliwiający administratorowi lub
272 użytkownikowi komunikowanie się z programem Bacula Director. To jest
273 interfejs graficzny oparty na Qt4.
275 %package tray-monitor
276 Summary: Bacula Tray Monitor
277 Group: Networking/Utilities
278 Requires(post): sed >= 4.0
279 Requires: %{name}-common = %{version}-%{release}
281 %description tray-monitor
282 Bacula - It comes by night and sucks the vital essence from your
285 The Monitor program is typically an icon in the system tray. However,
286 once the icon is expanded into a full window, the administrator or
287 user can obtain status information about the Director or the backup
288 status on the local workstation or any other Bacula daemon that is
292 Summary: Bacula File services (Client)
293 Summary(pl.UTF-8): Usługi Bacula File (klient)
294 Group: Networking/Utilities
295 Requires(post): sed >= 4.0
296 Requires: %{name}-common = %{version}-%{release}
299 Bacula - It comes by night and sucks the vital essence from your
302 Bacula File services (or Client program) is the software program that
303 is installed on the machine to be backed up. It is specific to the
304 operating system on which it runs and is responsible for providing the
305 file attributes and data when requested by the Director. The File
306 services are also responsible for the file system dependent part of
307 restoring the file attributes and data during a recovery operation.
308 This program runs as a daemon on the machine to be backed up, and in
309 some of the documentation, the File daemon is referred to as the
310 Client (for example in Bacula configuration file).
312 %description fd -l pl.UTF-8
313 Bacula - przychodzi nocą i wysysa żywotny ekstrakt z komputerów.
315 Usługi Bacula File (inaczej program kliencki) to oprogramowanie, które
316 instaluje się na maszynach, z których mają być wykonywane kopie
317 zapasowe. Są one specyficzne dla systemu operacyjnego, pod którym
318 działa dana maszyna i odpowiadają za dostarczanie atrybutów i danych
319 plików na żądanie Directora. Usługi plikowe są także odpowiedzialne za
320 zależną od systemu plików część odzyskiwania atrybutów i danych plików
321 podczas operacji odzyskiwania danych. Program działa jako demon na
322 maszynie, która ma być backupowana i w części dokumentacji demon ten
323 (File) jest nazywany klientem (na przykład w pliku konfiguracyjnym
327 Summary: Bacula Storage services
328 Summary(pl.UTF-8): Usługi Bacula Storage
329 Group: Networking/Utilities
330 Requires(post): sed >= 4.0
331 Requires: %{name}-common = %{version}-%{release}
332 Conflicts: dvd+rw-tools <= 5.21.4.10.8-1
335 Bacula - It comes by night and sucks the vital essence from your
338 Bacula Storage services consist of the software programs that perform
339 the storage and recovery of the file attributes and data to the
340 physical backup media or volumes. In other words, the Storage daemon
341 is responsible for reading and writing your tapes (or other storage
342 media, e.g. files). The Storage services runs as a daemon on the
343 machine that has the backup device (usually a tape drive).
345 %description sd -l pl.UTF-8
346 Bacula - przychodzi nocą i wysysa żywotny ekstrakt z komputerów.
348 Usługi Bacula Storage składają się z programów obsługujących
349 przechowywanie danych oraz odzyskiwanie atrybutów i danych na
350 fizycznych nośnikach lub wolumenach. Innymi słowy, demon Storage jest
351 odpowiedzialny za odczyt i zapis taśm (lub innych nośników do
352 przechowywania danych, np. plików). Usługi Storage działają jako demon
353 na maszynie, która zawiera urządzenie backupowe (zwykle napęd
356 %package db-postgresql
357 Summary: PostgreSQL database driver for Bacula
358 Summary(pl.UTF-8): Sterownik bazy PostgreSQL dla Baculi
359 Group: Networking/Utilities
360 Requires(post): /sbin/ldconfig
361 Requires: %{name}-common = %{version}-%{release}
362 Provides: bacula(db) = %{version}-%{release}
363 Obsoletes: bacula(db)
365 %description db-postgresql
366 PostgreSQL database driver for Bacula.
368 %description db-postgresql -l pl.UTF-8
369 Sterownik bazy PostgreSQL dla Baculi.
372 Summary: MySQL database driver for Bacula
373 Summary(pl.UTF-8): Sterownik bazy MySQL dla Baculi
374 Group: Networking/Utilities
375 Requires(post): /sbin/ldconfig
376 Requires: %{name}-common = %{version}-%{release}
377 Provides: bacula(db) = %{version}-%{release}
378 Obsoletes: bacula(db)
380 %description db-mysql
381 MySQL database driver for Bacula.
383 %description db-mysql -l pl.UTF-8
384 Sterownik bazy MySQL dla Baculi.
387 Summary: SQLite database driver for Bacula
388 Summary(pl.UTF-8): Sterownik bazy SQLite dla Baculi
389 Group: Networking/Utilities
390 Requires(post): /sbin/ldconfig
391 Requires: %{name}-common = %{version}-%{release}
392 Provides: bacula(db) = %{version}-%{release}
393 Obsoletes: bacula(db)
395 %description db-sqlite3
396 SQLite database driver for Bacula.
398 %description db-sqlite3 -l pl.UTF-8
399 Sterownik bazy SQLite dla Baculi.
402 Summary: libdbi database driver for Bacula
403 Summary(pl.UTF-8): Sterownik bazy libdbi dla Baculi
404 Group: Networking/Utilities
405 Requires(post): /sbin/ldconfig
406 Requires: %{name}-common = %{version}-%{release}
407 Provides: bacula(db) = %{version}-%{release}
408 Obsoletes: bacula(db)
411 libdbi database driver for Bacula.
413 %description db-dbi -l pl.UTF-8
414 Sterownik baz libdbi dla Baculi.
417 Summary: Bacula - The Network Backup Solution
418 Summary(pl.UTF-8): Bacula - rozwiązanie do wykonywania kopii zapasowych po sieci
419 Group: Networking/Utilities
420 Requires: %{name}-fd = %{version}-%{release}
425 Bacula - It comes by night and sucks the vital essence from your
428 Bacula is a set of computer programs that permit you (or the system
429 administrator) to manage backup, recovery, and verification of
430 computer data across a network of computers of different kinds. In
431 technical terms, it is a network client/server based backup program.
432 Bacula is relatively easy to use and efficient, while offering many
433 advanced storage management features that make it easy to find and
434 recover lost or damaged files.
436 This package installs scripts for disaster recovery and builds rescue
437 floppy disk for bare metal recovery.
439 %description rescue -l pl.UTF-8
440 Bacula - przychodzi nocą i wysysa żywotny ekstrakt z komputerów.
442 Bacula to zbiór programów umożliwiających administratorowi na
443 zarządzanie kopiami zapasowymi, odzyskiwaniem i weryfikacją danych w
444 sieci komputerów różnego rodzaju. W terminologii technicznej jest to
445 program do kopii zapasowych pracujący w architekturze klient-serwer.
446 Bacula jest stosunkowo łatwa w użyciu i wydajna, oferując przy tym
447 wiele zaawansowanych możliwości przy zarządzaniu nośnikami,
448 ułatwiających znalezienie i odzyskanie utraconych lub uszkodzonych
451 Ten pakiet zawiera skrypty do odtwarzania po awarii i tworzy dyskietkę
452 ratunkowe do odtwarzania systemu od zera.
454 %package -n nagios-plugin-check_bacula
455 Summary: Nagios plugin to check bacula
457 Requires: nagios-common
459 %description -n nagios-plugin-check_bacula
460 Nagios plugin to check bacula.
478 tar -xf %{SOURCE2} && ln -s bacula-rescue-* rescue
480 sed -i -e 's#bindir=.*#bindir=%{_bindir}#g' \
481 src/cats/create_* src/cats/delete_* src/cats/drop_* \
482 src/cats/grant_* src/cats/make_* src/cats/update_*
483 sed -i -e 's/@hostname@/--hostname--/' src/*/*.conf.in
486 for dbtype in mysql postgresql sqlite3; do
487 sed -i -e "s,@DB_TYPE@,$dbtype,g" src/cats/*_${dbtype}_*
493 %{__aclocal} -I bacula-macros -I gettext-macros
494 # $BUILD_DIR not seen by libtoolize, export it
495 BUILD_DIR=.. %{__libtoolize}
497 %{__autoconf} --prepend-include=$(pwd)/autoconf autoconf/configure.in > configure
499 CPPFLAGS="-I/usr/include/ncurses -I%{_includedir}/readline"
501 # we wan't the 'base' build built with the last database in the list,
502 # to make sure it is full-featured
503 for database in %{databases}; do
504 WXCONFIG=%{_bindir}/wx-gtk2-unicode-config \
505 QMAKE=%{_bindir}/qt4-qmake \
507 --with-scriptdir=%{_libexecdir}/%{name} \
508 %{?with_bat:--enable-bat} \
510 --enable-smartalloc \
511 %{?with_console_wx:--enable-bwx-console} \
512 --enable-tray-monitor \
513 %{?with_python:--with-python} \
515 --with-tcp-wrappers \
516 --with-working-dir=%{_var}/lib/%{name} \
517 --with-dump-email="root@localhost" \
518 --with-job-email="root@localhost" \
519 --with-smtp-host=localhost \
520 --with-pid-dir=/var/run \
521 --with-subsys-dir=/var/lock/subsys \
522 --enable-batch-insert \
524 %{?with_sqlite3_sync_off:--enable-extra-sqlite3-init="pragma synchronous=0;"} \
525 --with-dir-password="#FAKE-dir-password#" \
526 --with-fd-password="#FAKE-fd-password#" \
527 --with-sd-password="#FAKE-sd-password#" \
528 --with-mon-dir-password="#FAKE-mon-dir-password#" \
529 --with-mon-fd-password="#FAKE-mon-fd-password#" \
530 --with-mon-sd-password="#FAKE-mon-sd-password#" \
533 # build the database library
534 %{__make} -C src/cats clean
535 %{__make} -C src/cats
537 # install the database library in a temporary location
538 install -d libbacsql/$database%{_libdir}/%{name}
539 %{__make} -C src/cats install DESTDIR=$PWD/libbacsql/$database
552 %{__make} -C examples/nagios/check_bacula
564 rm -rf $RPM_BUILD_ROOT
565 install -d $RPM_BUILD_ROOT/etc/{rc.d/init.d,logrotate.d,pam.d,sysconfig}
566 install -d $RPM_BUILD_ROOT%{_sysconfdir}/rescue
567 install -d $RPM_BUILD_ROOT{%{_pixmapsdir},%{_desktopdir},%{_mandir},%{_bindir},/var/log/bacula}
570 DESTDIR=$RPM_BUILD_ROOT
572 # install libraries for all the database backends
573 # ldconfig will add the soname symlinks when one of the packages is installed
574 for database in %{databases}; do
575 for libfile in libbacsql/$database%{_libdir}/lib*-*.so; do
576 orig_name=${libfile##*/}
577 file_prefix=${orig_name%%-*.so}
578 file_suffix=${orig_name#*-}
579 file_name=$file_prefix-$database-$file_suffix
580 install -p $libfile $RPM_BUILD_ROOT%{_libdir}/$file_name
581 touch $RPM_BUILD_ROOT%{_libdir}/$orig_name
584 install -p libbacsql/$database%{_libdir}/%{name}/make_catalog_backup \
585 $RPM_BUILD_ROOT%{_libdir}/%{name}/make_${database}_catalog_backup
588 # placeholders for the symlinks set in %%post db-*
589 for f in create_bacula_database drop_bacula_database drop_bacula_tables \
590 grant_bacula_privileges make_bacula_tables update_bacula_tables make_catalog_backup; do
591 > $RPM_BUILD_ROOT%{_libexecdir}/%{name}/$f
594 # we use db dependant (at compile time) shell script only
595 rm -f $RPM_BUILD_ROOT%{_libexecdir}/%{name}/make_catalog_backup.pl
596 # dbi is not actual dbtype
597 rm -f $RPM_BUILD_ROOT%{_libexecdir}/%{name}/make_dbi_catalog_backup
599 # replace with empty file, replaced by ldconfig from each db-* package on intsall
600 rm -f $RPM_BUILD_ROOT%{_libdir}/libbacsql-%{version}.so
601 touch $RPM_BUILD_ROOT%{_libdir}/libbacsql-%{version}.so
603 install -p %{SOURCE10} $RPM_BUILD_ROOT/etc/rc.d/init.d/bacula-dir
604 install -p %{SOURCE11} $RPM_BUILD_ROOT/etc/rc.d/init.d/bacula-fd
605 install -p %{SOURCE12} $RPM_BUILD_ROOT/etc/rc.d/init.d/bacula-sd
606 cp -a %{SOURCE13} $RPM_BUILD_ROOT/etc/logrotate.d/%{name}-dir
607 cp -a %{SOURCE14} $RPM_BUILD_ROOT/etc/sysconfig/bacula-dir
608 cp -a %{SOURCE15} $RPM_BUILD_ROOT/etc/sysconfig/bacula-fd
609 cp -a %{SOURCE16} $RPM_BUILD_ROOT/etc/sysconfig/bacula-sd
611 %if %{with console_wx}
612 # tray-monitor is for regular users
613 #mv $RPM_BUILD_ROOT%{_sbindir}/bacula-tray-monitor $RPM_BUILD_ROOT%{_bindir}
615 cp -a scripts/bacula.png $RPM_BUILD_ROOT%{_pixmapsdir}/bacula.png
616 #install src/tray-monitor/generic.xpm $RPM_BUILD_ROOT%{_pixmapsdir}/bacula-tray-monitor.xpm
617 sed -e 's/gnome-console/wx-console/g;s/Console/Wx Console/g' \
618 scripts/bacula.desktop.gnome2 > $RPM_BUILD_ROOT%{_desktopdir}/bacula-wx.desktop
619 #sed -e 's#%{_sbindir}#%{_bindir}#' \
620 # scripts/bacula-tray-monitor.desktop > $RPM_BUILD_ROOT%{_desktopdir}/bacula-tray-monitor.desktop
624 # qmake somewhy does not always create install_bins target. install our own the bin
625 rm -f $RPM_BUILD_ROOT%{_sbindir}/bat
626 libtool --silent --mode=install install src/qt-console/bat $RPM_BUILD_ROOT%{_bindir}
627 cp -a scripts/bat.desktop $RPM_BUILD_ROOT%{_desktopdir}
631 # install the rescue stuff, these are the rescue scripts
632 cp -a rescue/linux/floppy/backup.etc.list $RPM_BUILD_ROOT%{_sysconfdir}/rescue
633 cp -a rescue/linux/floppy/sfdisk.bz2 $RPM_BUILD_ROOT%{_sysconfdir}/rescue
634 install -p rescue/linux/floppy/*_* $RPM_BUILD_ROOT%{_sysconfdir}/rescue
635 install -p rescue/linux/floppy/getdiskinfo $RPM_BUILD_ROOT%{_sysconfdir}/rescue
638 touch $RPM_BUILD_ROOT/var/log/bacula/log
640 # install the updatedb scripts for older versions that last full release
641 # 2.0 -> 3.0 : 10_to_11
642 install -p updatedb/update_*_tables_10_to_11 $RPM_BUILD_ROOT%{_libexecdir}/%{name}
644 # place for site passwords
645 touch $RPM_BUILD_ROOT%{_sysconfdir}/{dir-password,fd-password,sd-password}
646 touch $RPM_BUILD_ROOT%{_sysconfdir}/{mon-dir-password,mon-fd-password,mon-sd-password}
648 mv $RPM_BUILD_ROOT%{_libexecdir}/%{name}/mtx-changer.conf $RPM_BUILD_ROOT%{_sysconfdir}/mtx-changer.conf
651 rm -f $RPM_BUILD_ROOT%{_libexecdir}/%{name}/{gconsole,startmysql,stopmysql,bacula,bconsole,fd}
652 %if %{without console_wx}
653 rm -f $RPM_BUILD_ROOT%{_desktopdir}/bacula-wx.desktop
655 touch $RPM_BUILD_ROOT%{_sysconfdir}/.pw.sed
657 rm $RPM_BUILD_ROOT%{_docdir}/bacula/ChangeLog
658 rm $RPM_BUILD_ROOT%{_docdir}/bacula/INSTALL
659 rm $RPM_BUILD_ROOT%{_docdir}/bacula/LICENSE
660 rm $RPM_BUILD_ROOT%{_docdir}/bacula/README
661 rm $RPM_BUILD_ROOT%{_docdir}/bacula/ReleaseNotes
662 rm $RPM_BUILD_ROOT%{_docdir}/bacula/VERIFYING
663 rm $RPM_BUILD_ROOT%{_docdir}/bacula/technotes
665 # startup scripts, those in /etc/rc.d/init.d are better
666 rm $RPM_BUILD_ROOT%{_sbindir}/bacula
667 rm $RPM_BUILD_ROOT%{_libexecdir}/%{name}/bacula-ctl-*
670 rm $RPM_BUILD_ROOT%{_libexecdir}/%{name}/btraceback.mdb
672 # rename to avoid possible conflicts
673 mv $RPM_BUILD_ROOT%{_sbindir}/{,bacula-}dbcheck
674 mv $RPM_BUILD_ROOT%{_mandir}/man8/{,bacula-}dbcheck.8.gz
676 # no -devel files packaged, so this is also useless
677 rm $RPM_BUILD_ROOT%{_libdir}/libbac{,cfg,find,py,sql}.{so,la}
680 install -d $RPM_BUILD_ROOT%{nagiosplugindir}
681 %{__make} -C examples/nagios/check_bacula install \
682 sbindir=%{nagiosplugindir} \
683 INSTALL_PROGRAM="libtool --mode=install install -p" \
684 DESTDIR=$RPM_BUILD_ROOT
688 rm -rf $RPM_BUILD_ROOT
691 %groupadd -P %{name}-common -g 136 -r -f bacula
692 %useradd -P %{name}-common -u 136 -r -d /var/lib/bacula -s /bin/false -c "Bacula User" -g bacula bacula
694 %define update_configs \
695 echo "Updating bacula passwords and names..." | %banner -a %{name} \
697 for f in *-password; do \
698 if [ ! -s $f ]; then \
699 openssl rand -base64 33 > $f \
702 for cf in *.conf *.conf.rpmnew; do \
703 [ -f $cf ] && sed -i -e"s:#FAKE-$f#:$p:" "$cf" || : \
706 for cf in *.conf *.conf.rpmnew; do \
707 [ -f $cf ] && sed -i -e"s:--hostname--:`hostname`:" "$cf" || : \
716 if [ "$1" = "0" ]; then
721 %triggerpostun dir -- %{name}-dir < 5.0
722 %banner bacula-dir -t3 <<EOF
723 You have upgraded from an older version of Bacula director.
725 You will probably need to call %{_libexecdir}/%{name}/update_bacula_tables
726 script to upgrade the database.
731 /sbin/chkconfig --add bacula-dir
732 %service bacula-dir restart "Bacula Director daemon"
735 if [ "$1" = "0" ]; then
736 %service bacula-dir stop
737 /sbin/chkconfig --del bacula-dir
742 /sbin/chkconfig --add bacula-fd
743 %service bacula-fd restart "Bacula File daemon"
746 if [ "$1" = "0" ]; then
747 %service bacula-fd stop
748 /sbin/chkconfig --del bacula-fd
753 /sbin/chkconfig --add bacula-sd
754 %service bacula-sd restart "Bacula Storage daemon"
757 if [ "$1" = "0" ]; then
758 %service bacula-sd stop
759 /sbin/chkconfig --del bacula-sd
763 if [ -e %{_sysconfdir}/console.conf -a ! -e %{_sysconfdir}/bconsole.conf ]; then
764 mv %{_sysconfdir}/console.conf %{_sysconfdir}/bconsole.conf
773 %triggerpostun common -- %{name}-common < 5.0.1-2
774 find %{_sysconfdir}/bat.conf* -perm /007 -print0 | xargs -0 -r chmod 600 || :
783 # link our current installed conf file to the rescue directory
784 ln -sf %{_sysconfdir}/bacula-fd.conf %{_sysconfdir}/rescue/bacula-fd.conf
787 echo "Creating rescue files for this system..."
788 cd %{_sysconfdir}/rescue
792 # remove the files created after the initial rpm installation
793 if [ "$1" = "0" ]; then
794 rm -f %{_sysconfdir}/rescue/bacula-fd.conf
795 rm -f %{_sysconfdir}/rescue/partition.*
796 rm -f %{_sysconfdir}/rescue/format.*
797 rm -f %{_sysconfdir}/rescue/mount_drives
798 rm -f %{_sysconfdir}/rescue/start_network
799 rm -f %{_sysconfdir}/rescue/sfdisk
800 rm -rf %{_sysconfdir}/rescue/diskinfo/*
805 for name in "create database" "drop tables" "drop database" "grant privileges" "make tables" "update tables"; do \
806 prefix="${name%% *}" \
807 suffix="${name#* }" \
808 ln -sf "${prefix}_%{1}_${suffix}" %{_libexecdir}/%{name}/"${prefix}_bacula_${suffix}" || : \
810 ln -sf "make_%{1}_catalog_backup" %{_libexecdir}/%{name}/make_catalog_backup || : \
811 %service bacula-dir restart "Bacula Director daemon"
816 %postun db-postgresql -p /sbin/ldconfig
821 %postun db-mysql -p /sbin/ldconfig
826 %postun db-sqlite3 -p /sbin/ldconfig
828 # dbi backend is different, as it is not bound with a specific db engine
831 %service bacula-dir restart "Bacula Director daemon"
833 %postun db-dbi -p /sbin/ldconfig
836 %defattr(644,root,root,755)
838 %{?with_python:%doc examples/python}
840 %attr(600,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/*-password
841 # do not remove bsmtp from files. Fix build if it is not installed.
842 %attr(755,root,root) %{_sbindir}/bsmtp
843 %attr(755,root,root) %{_sbindir}/btraceback
844 %attr(755,root,root) %{_libdir}/libbac-5*.so
845 %attr(755,root,root) %{_libdir}/libbaccfg-5*.so
846 %attr(755,root,root) %{_libdir}/libbacfind-5*.so
847 %attr(755,root,root) %{_libdir}/libbacpy-5*.so
848 %{_mandir}/man8/bacula.8*
849 %{_mandir}/man1/bsmtp.1*
850 %{_mandir}/man8/btraceback.8*
851 %dir %{_libexecdir}/%{name}
852 %{_libexecdir}/%{name}/btraceback.dbx
853 %{_libexecdir}/%{name}/btraceback.gdb
854 %{_libexecdir}/%{name}/bacula_config
855 %attr(770,root,bacula) %dir %{_localstatedir}
856 %attr(750,bacula,logs) %dir /var/log/bacula
857 %attr(640,bacula,logs) %ghost /var/log/bacula/log
860 %defattr(644,root,root,755)
861 %doc ChangeLog CheckList ReleaseNotes kernstodo LICENSE
862 #%doc examples %{name}-docs-%{version}/manual/{*.pdf,bacula}
863 %attr(640,root,bacula) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/bacula-dir.conf
864 %ghost %{_sysconfdir}/.pw.sed
865 %attr(640,root,root) %config(noreplace) /etc/logrotate.d/bacula-dir
866 %attr(754,root,root) /etc/rc.d/init.d/bacula-dir
867 %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/bacula-dir
868 %attr(755,root,root) %{_sbindir}/bacula-dir
869 %attr(755,root,root) %{_sbindir}/bregex
870 %attr(755,root,root) %{_sbindir}/bwild
871 %attr(755,root,root) %{_sbindir}/bacula-dbcheck
872 %{_mandir}/man8/bacula-dir.8*
873 %{_mandir}/man8/bacula-dbcheck.8*
874 %{_libexecdir}/%{name}/query.sql
875 %attr(755,root,root) %{_libexecdir}/%{name}/delete_catalog_backup
878 %defattr(644,root,root,755)
879 %attr(755,root,root) %{_libexecdir}/%{name}/fix_postgresql_tables
880 %attr(755,root,root) %{_libexecdir}/%{name}/create_postgresql_database
881 %attr(755,root,root) %{_libexecdir}/%{name}/drop_postgresql_database
882 %attr(755,root,root) %{_libexecdir}/%{name}/drop_postgresql_tables
883 %attr(755,root,root) %{_libexecdir}/%{name}/grant_postgresql_privileges
884 %attr(755,root,root) %{_libexecdir}/%{name}/make_postgresql_tables
885 %attr(755,root,root) %{_libexecdir}/%{name}/update_postgresql_*
886 %attr(755,root,root) %{_libexecdir}/%{name}/make_postgresql_catalog_backup
887 %attr(755,root,root) %{_libdir}/libbacsql-postgresql-5*.so
889 %ghost %attr(755,root,root) %{_libdir}/libbacsql-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_mysql_database
901 %attr(755,root,root) %{_libexecdir}/%{name}/drop_mysql_database
902 %attr(755,root,root) %{_libexecdir}/%{name}/drop_mysql_tables
903 %attr(755,root,root) %{_libexecdir}/%{name}/grant_mysql_privileges
904 %attr(755,root,root) %{_libexecdir}/%{name}/make_mysql_tables
905 %attr(755,root,root) %{_libexecdir}/%{name}/update_mysql_*
906 %attr(755,root,root) %{_libexecdir}/%{name}/make_mysql_catalog_backup
907 %attr(755,root,root) %{_libdir}/libbacsql-mysql-5*.so
909 %ghost %attr(755,root,root) %{_libdir}/libbacsql-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)
920 %attr(755,root,root) %{_libexecdir}/%{name}/create_sqlite3_database
921 %attr(755,root,root) %{_libexecdir}/%{name}/drop_sqlite3_database
922 %attr(755,root,root) %{_libexecdir}/%{name}/drop_sqlite3_tables
923 %attr(755,root,root) %{_libexecdir}/%{name}/grant_sqlite3_privileges
924 %attr(755,root,root) %{_libexecdir}/%{name}/make_sqlite3_tables
925 %attr(755,root,root) %{_libexecdir}/%{name}/update_sqlite3_*
926 %attr(755,root,root) %{_libexecdir}/%{name}/make_sqlite3_catalog_backup
927 %attr(755,root,root) %{_libdir}/libbacsql-sqlite3-5*.so
929 %ghost %attr(755,root,root) %{_libdir}/libbacsql-5*.so
930 %ghost %{_libexecdir}/%{name}/create_bacula_database
931 %ghost %{_libexecdir}/%{name}/drop_bacula_tables
932 %ghost %{_libexecdir}/%{name}/drop_bacula_database
933 %ghost %{_libexecdir}/%{name}/grant_bacula_privileges
934 %ghost %{_libexecdir}/%{name}/make_bacula_tables
935 %ghost %{_libexecdir}/%{name}/update_bacula_tables
936 %ghost %{_libexecdir}/%{name}/make_catalog_backup
940 %defattr(644,root,root,755)
941 %attr(755,root,root) %{_libexecdir}/%{name}/create_postgresql_database
942 %attr(755,root,root) %{_libexecdir}/%{name}/drop_postgresql_database
943 %attr(755,root,root) %{_libexecdir}/%{name}/drop_postgresql_tables
944 %attr(755,root,root) %{_libexecdir}/%{name}/grant_postgresql_privileges
945 %attr(755,root,root) %{_libexecdir}/%{name}/make_postgresql_tables
946 %attr(755,root,root) %{_libexecdir}/%{name}/make_postgresql_catalog_backup
947 %attr(755,root,root) %{_libexecdir}/%{name}/update_postgresql_*
948 %attr(755,root,root) %{_libexecdir}/%{name}/create_mysql_database
949 %attr(755,root,root) %{_libexecdir}/%{name}/drop_mysql_database
950 %attr(755,root,root) %{_libexecdir}/%{name}/drop_mysql_tables
951 %attr(755,root,root) %{_libexecdir}/%{name}/grant_mysql_privileges
952 %attr(755,root,root) %{_libexecdir}/%{name}/make_mysql_tables
953 %attr(755,root,root) %{_libexecdir}/%{name}/make_mysql_catalog_backup
954 %attr(755,root,root) %{_libexecdir}/%{name}/update_mysql_*
955 %attr(755,root,root) %{_libexecdir}/%{name}/create_sqlite3_database
956 %attr(755,root,root) %{_libexecdir}/%{name}/drop_sqlite3_database
957 %attr(755,root,root) %{_libexecdir}/%{name}/drop_sqlite3_tables
958 %attr(755,root,root) %{_libexecdir}/%{name}/grant_sqlite3_privileges
959 %attr(755,root,root) %{_libexecdir}/%{name}/make_sqlite3_tables
960 %attr(755,root,root) %{_libexecdir}/%{name}/update_sqlite3_*
961 %attr(755,root,root) %{_libexecdir}/%{name}/make_sqlite3_catalog_backup
962 %attr(755,root,root) %{_libdir}/libbacsql-dbi-5*.so
964 %ghost %attr(755,root,root) %{_libdir}/libbacsql-5*.so
968 %defattr(644,root,root,755)
970 %attr(600,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/bacula-fd.conf
971 %attr(754,root,root) /etc/rc.d/init.d/bacula-fd
972 %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/bacula-fd
973 %attr(755,root,root) %{_sbindir}/bacula-fd
974 %attr(755,root,root) %{_libdir}/bpipe-fd.so
975 %{_mandir}/man8/bacula-fd.8*
978 %defattr(644,root,root,755)
980 %attr(600,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/bacula-sd.conf
981 %attr(600,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/mtx-changer.conf
982 %attr(754,root,root) /etc/rc.d/init.d/bacula-sd
983 %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/bacula-sd
984 %attr(755,root,root) %{_sbindir}/bacula-sd
985 %attr(755,root,root) %{_sbindir}/bcopy
986 %attr(755,root,root) %{_sbindir}/bextract
987 %attr(755,root,root) %{_sbindir}/bls
988 %attr(755,root,root) %{_sbindir}/bscan
989 %attr(755,root,root) %{_sbindir}/btape
990 %attr(755,root,root) %{_libexecdir}/%{name}/mtx-changer
991 %attr(755,root,root) %{_libexecdir}/%{name}/disk-changer
992 %attr(755,root,root) %{_libexecdir}/%{name}/dvd-handler
993 %{_mandir}/man8/bacula-sd.8*
994 %{_mandir}/man8/bcopy.8*
995 %{_mandir}/man8/bextract.8*
996 %{_mandir}/man8/bls.8*
997 %{_mandir}/man8/bscan.8*
998 %{_mandir}/man8/btape.8*
1001 %defattr(644,root,root,755)
1003 %attr(600,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/bconsole.conf
1004 %attr(755,root,root) %{_sbindir}/bconsole
1005 %{_mandir}/man8/bconsole.8*
1007 %if %{with console_wx}
1009 %defattr(644,root,root,755)
1011 %{_pixmapsdir}/%{name}.png
1012 %{_desktopdir}/bacula-wx.desktop
1013 %attr(640,root,bacula) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/bwx-console.conf
1014 %attr(755,root,root) %{_sbindir}/bwx-console
1015 %{_mandir}/man1/bacula-bwxconsole.1*
1020 %defattr(644,root,root,755)
1022 %{_pixmapsdir}/%{name}.png
1023 %{_desktopdir}/bat.desktop
1024 # Do not make this file world-readable or any user will get full access to the
1026 %attr(640,root,bacula) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/bat.conf
1027 %attr(755,root,root) %{_bindir}/bat
1028 %{_mandir}/man1/bat.1*
1032 %if %{with console_wx}
1034 %defattr(644,root,root,755)
1036 %attr(755,root,root) %{_sbindir}/bacula-tray-monitor
1037 #%{_pixmapsdir}/%{name}-tray-monitor.xpm
1038 #%{_desktopdir}/%{name}-tray-monitor.desktop
1039 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/tray-monitor.conf
1040 %{_mandir}/man1/bacula-tray-monitor.1*
1045 %defattr(644,root,root,755)
1047 %dir %{_sysconfdir}/rescue
1048 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/rescue/backup.etc.list
1049 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/rescue/bacula-fd
1050 %attr(755,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/rescue/format_floppy
1051 %attr(755,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/rescue/getdiskinfo
1052 %attr(755,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/rescue/make_rescue_disk
1053 %attr(755,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/rescue/restore_bacula
1054 %attr(755,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/rescue/restore_etc
1055 %attr(755,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/rescue/run_grub
1056 %attr(755,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/rescue/run_lilo
1057 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/rescue/sfdisk.bz2
1061 %files -n nagios-plugin-check_bacula
1062 %defattr(644,root,root,755)
1063 %attr(755,root,root) %{nagiosplugindir}/check_bacula