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 Patch13: make_catalog_backup-setup-home.patch
58 Patch14: %{name}-mysql_thread.patch
59 URL: http://www.bacula.org/
60 BuildRequires: acl-devel
61 BuildRequires: autoconf
62 BuildRequires: automake
63 BuildRequires: gettext-devel
64 %{?with_console_wx: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
484 sed -i -e 's/@basename@/--hostname--/' src/*/*.conf.in
487 for dbtype in mysql postgresql sqlite3; do
488 sed -i -e "s,@DB_TYPE@,$dbtype,g" src/cats/*_${dbtype}_*
494 %{__aclocal} -I bacula-macros -I gettext-macros
495 # $BUILD_DIR not seen by libtoolize, export it
496 BUILD_DIR=.. %{__libtoolize}
498 %{__autoconf} --prepend-include=$(pwd)/autoconf autoconf/configure.in > configure
500 CPPFLAGS="-I/usr/include/ncurses -I%{_includedir}/readline"
502 # we wan't the 'base' build built with the last database in the list,
503 # to make sure it is full-featured
504 for database in %{databases}; do
505 WXCONFIG=%{_bindir}/wx-gtk2-unicode-config \
506 QMAKE=%{_bindir}/qt4-qmake \
508 --with-scriptdir=%{_libexecdir}/%{name} \
509 %{?with_bat:--enable-bat} \
511 --enable-smartalloc \
512 %{?with_console_wx:--enable-bwx-console} \
513 --enable-tray-monitor \
514 %{?with_python:--with-python} \
516 --with-tcp-wrappers \
517 --with-working-dir=%{_var}/lib/%{name} \
518 --with-dump-email="root@localhost" \
519 --with-job-email="root@localhost" \
520 --with-smtp-host=localhost \
521 --with-pid-dir=/var/run \
522 --with-subsys-dir=/var/lock/subsys \
523 --enable-batch-insert \
525 %{?with_sqlite3_sync_off:--enable-extra-sqlite3-init="pragma synchronous=0;"} \
526 --with-dir-password="#FAKE-dir-password#" \
527 --with-fd-password="#FAKE-fd-password#" \
528 --with-sd-password="#FAKE-sd-password#" \
529 --with-mon-dir-password="#FAKE-mon-dir-password#" \
530 --with-mon-fd-password="#FAKE-mon-fd-password#" \
531 --with-mon-sd-password="#FAKE-mon-sd-password#" \
534 # build the database library
535 %{__make} -C src/cats clean
536 %{__make} -C src/cats
538 # install the database library in a temporary location
539 install -d libbacsql/$database%{_libdir}/%{name}
540 %{__make} -C src/cats install DESTDIR=$PWD/libbacsql/$database
553 %{__make} -C examples/nagios/check_bacula
565 rm -rf $RPM_BUILD_ROOT
566 install -d $RPM_BUILD_ROOT/etc/{rc.d/init.d,logrotate.d,pam.d,sysconfig}
567 install -d $RPM_BUILD_ROOT%{_sysconfdir}/rescue
568 install -d $RPM_BUILD_ROOT{%{_pixmapsdir},%{_desktopdir},%{_mandir},%{_bindir},/var/log/bacula}
571 DESTDIR=$RPM_BUILD_ROOT
573 # install libraries for all the database backends
574 # ldconfig will add the soname symlinks when one of the packages is installed
575 for database in %{databases}; do
576 for libfile in libbacsql/$database%{_libdir}/lib*-*.so; do
577 orig_name=${libfile##*/}
578 file_prefix=${orig_name%%-*.so}
579 file_suffix=${orig_name#*-}
580 file_name=$file_prefix-$database-$file_suffix
581 install -p $libfile $RPM_BUILD_ROOT%{_libdir}/$file_name
582 touch $RPM_BUILD_ROOT%{_libdir}/$orig_name
585 install -p libbacsql/$database%{_libdir}/%{name}/make_catalog_backup \
586 $RPM_BUILD_ROOT%{_libdir}/%{name}/make_${database}_catalog_backup
589 # placeholders for the symlinks set in %%post db-*
590 for f in create_bacula_database drop_bacula_database drop_bacula_tables \
591 grant_bacula_privileges make_bacula_tables update_bacula_tables make_catalog_backup; do
592 > $RPM_BUILD_ROOT%{_libexecdir}/%{name}/$f
595 # we use db dependant (at compile time) shell script only
596 rm -f $RPM_BUILD_ROOT%{_libexecdir}/%{name}/make_catalog_backup.pl
597 # dbi is not actual dbtype
598 rm -f $RPM_BUILD_ROOT%{_libexecdir}/%{name}/make_dbi_catalog_backup
600 # replace with empty file, replaced by ldconfig from each db-* package on intsall
601 rm -f $RPM_BUILD_ROOT%{_libdir}/libbacsql-%{version}.so
602 touch $RPM_BUILD_ROOT%{_libdir}/libbacsql-%{version}.so
604 install -p %{SOURCE10} $RPM_BUILD_ROOT/etc/rc.d/init.d/bacula-dir
605 install -p %{SOURCE11} $RPM_BUILD_ROOT/etc/rc.d/init.d/bacula-fd
606 install -p %{SOURCE12} $RPM_BUILD_ROOT/etc/rc.d/init.d/bacula-sd
607 cp -a %{SOURCE13} $RPM_BUILD_ROOT/etc/logrotate.d/%{name}-dir
608 cp -a %{SOURCE14} $RPM_BUILD_ROOT/etc/sysconfig/bacula-dir
609 cp -a %{SOURCE15} $RPM_BUILD_ROOT/etc/sysconfig/bacula-fd
610 cp -a %{SOURCE16} $RPM_BUILD_ROOT/etc/sysconfig/bacula-sd
612 %if %{with console_wx}
613 # tray-monitor is for regular users
614 #mv $RPM_BUILD_ROOT%{_sbindir}/bacula-tray-monitor $RPM_BUILD_ROOT%{_bindir}
616 cp -a scripts/bacula.png $RPM_BUILD_ROOT%{_pixmapsdir}/bacula.png
617 #install src/tray-monitor/generic.xpm $RPM_BUILD_ROOT%{_pixmapsdir}/bacula-tray-monitor.xpm
618 sed -e 's/gnome-console/wx-console/g;s/Console/Wx Console/g' \
619 scripts/bacula.desktop.gnome2 > $RPM_BUILD_ROOT%{_desktopdir}/bacula-wx.desktop
620 #sed -e 's#%{_sbindir}#%{_bindir}#' \
621 # scripts/bacula-tray-monitor.desktop > $RPM_BUILD_ROOT%{_desktopdir}/bacula-tray-monitor.desktop
625 # qmake somewhy does not always create install_bins target. install our own the bin
626 rm -f $RPM_BUILD_ROOT%{_sbindir}/bat
627 libtool --silent --mode=install install src/qt-console/bat $RPM_BUILD_ROOT%{_bindir}
628 cp -a scripts/bat.desktop $RPM_BUILD_ROOT%{_desktopdir}
632 # install the rescue stuff, these are the rescue scripts
633 cp -a rescue/linux/floppy/backup.etc.list $RPM_BUILD_ROOT%{_sysconfdir}/rescue
634 cp -a rescue/linux/floppy/sfdisk.bz2 $RPM_BUILD_ROOT%{_sysconfdir}/rescue
635 install -p rescue/linux/floppy/*_* $RPM_BUILD_ROOT%{_sysconfdir}/rescue
636 install -p rescue/linux/floppy/getdiskinfo $RPM_BUILD_ROOT%{_sysconfdir}/rescue
639 touch $RPM_BUILD_ROOT/var/log/bacula/log
641 # install the updatedb scripts for older versions that last full release
642 # 2.0 -> 3.0 : 10_to_11
643 install -p updatedb/update_*_tables_10_to_11 $RPM_BUILD_ROOT%{_libexecdir}/%{name}
645 # place for site passwords
646 touch $RPM_BUILD_ROOT%{_sysconfdir}/{dir-password,fd-password,sd-password}
647 touch $RPM_BUILD_ROOT%{_sysconfdir}/{mon-dir-password,mon-fd-password,mon-sd-password}
649 mv $RPM_BUILD_ROOT%{_libexecdir}/%{name}/mtx-changer.conf $RPM_BUILD_ROOT%{_sysconfdir}/mtx-changer.conf
652 rm -f $RPM_BUILD_ROOT%{_libexecdir}/%{name}/{gconsole,startmysql,stopmysql,bacula,bconsole,fd}
653 %if %{without console_wx}
654 rm -f $RPM_BUILD_ROOT%{_desktopdir}/bacula-wx.desktop
656 touch $RPM_BUILD_ROOT%{_sysconfdir}/.pw.sed
658 rm $RPM_BUILD_ROOT%{_docdir}/bacula/ChangeLog
659 rm $RPM_BUILD_ROOT%{_docdir}/bacula/INSTALL
660 rm $RPM_BUILD_ROOT%{_docdir}/bacula/LICENSE
661 rm $RPM_BUILD_ROOT%{_docdir}/bacula/README
662 rm $RPM_BUILD_ROOT%{_docdir}/bacula/ReleaseNotes
663 rm $RPM_BUILD_ROOT%{_docdir}/bacula/VERIFYING
664 rm $RPM_BUILD_ROOT%{_docdir}/bacula/technotes
666 # startup scripts, those in /etc/rc.d/init.d are better
667 rm $RPM_BUILD_ROOT%{_sbindir}/bacula
668 rm $RPM_BUILD_ROOT%{_libexecdir}/%{name}/bacula-ctl-*
671 rm $RPM_BUILD_ROOT%{_libexecdir}/%{name}/btraceback.mdb
673 # rename to avoid possible conflicts
674 mv $RPM_BUILD_ROOT%{_sbindir}/{,bacula-}dbcheck
675 mv $RPM_BUILD_ROOT%{_mandir}/man8/{,bacula-}dbcheck.8.gz
677 # no -devel files packaged, so this is also useless
678 rm $RPM_BUILD_ROOT%{_libdir}/libbac{,cfg,find,py,sql}.{so,la}
681 install -d $RPM_BUILD_ROOT%{nagiosplugindir}
682 %{__make} -C examples/nagios/check_bacula install \
683 sbindir=%{nagiosplugindir} \
684 INSTALL_PROGRAM="libtool --mode=install install -p" \
685 DESTDIR=$RPM_BUILD_ROOT
689 rm -rf $RPM_BUILD_ROOT
692 %groupadd -P %{name}-common -g 136 -r -f bacula
693 %useradd -P %{name}-common -u 136 -r -d /var/lib/bacula -s /bin/false -c "Bacula User" -g bacula bacula
695 %define update_configs \
696 echo "Updating bacula passwords and names..." | %banner -a %{name} \
698 for f in *-password; do \
699 if [ ! -s $f ]; then \
700 openssl rand -base64 33 > $f \
703 for cf in *.conf *.conf.rpmnew; do \
704 [ -f $cf ] && sed -i -e"s:#FAKE-$f#:$p:" "$cf" || : \
707 for cf in *.conf *.conf.rpmnew; do \
708 [ -f $cf ] && sed -i -e"s:--hostname--:`hostname`:" "$cf" || : \
717 if [ "$1" = "0" ]; then
722 %triggerpostun dir -- %{name}-dir < 5.0
723 %banner bacula-dir -t3 <<EOF
724 You have upgraded from an older version of Bacula director.
726 You will probably need to call %{_libexecdir}/%{name}/update_bacula_tables
727 script to upgrade the database.
732 /sbin/chkconfig --add bacula-dir
733 %service bacula-dir restart "Bacula Director daemon"
736 if [ "$1" = "0" ]; then
737 %service bacula-dir stop
738 /sbin/chkconfig --del bacula-dir
743 /sbin/chkconfig --add bacula-fd
744 %service bacula-fd restart "Bacula File daemon"
747 if [ "$1" = "0" ]; then
748 %service bacula-fd stop
749 /sbin/chkconfig --del bacula-fd
754 /sbin/chkconfig --add bacula-sd
755 %service bacula-sd restart "Bacula Storage daemon"
758 if [ "$1" = "0" ]; then
759 %service bacula-sd stop
760 /sbin/chkconfig --del bacula-sd
764 if [ -e %{_sysconfdir}/console.conf -a ! -e %{_sysconfdir}/bconsole.conf ]; then
765 mv %{_sysconfdir}/console.conf %{_sysconfdir}/bconsole.conf
774 %triggerpostun common -- %{name}-common < 5.0.1-2
775 find %{_sysconfdir}/bat.conf* -perm /007 -print0 2>/dev/null | xargs -0 -r chmod 600 || :
784 # link our current installed conf file to the rescue directory
785 ln -sf %{_sysconfdir}/bacula-fd.conf %{_sysconfdir}/rescue/bacula-fd.conf
788 echo "Creating rescue files for this system..."
789 cd %{_sysconfdir}/rescue
793 # remove the files created after the initial rpm installation
794 if [ "$1" = "0" ]; then
795 rm -f %{_sysconfdir}/rescue/bacula-fd.conf
796 rm -f %{_sysconfdir}/rescue/partition.*
797 rm -f %{_sysconfdir}/rescue/format.*
798 rm -f %{_sysconfdir}/rescue/mount_drives
799 rm -f %{_sysconfdir}/rescue/start_network
800 rm -f %{_sysconfdir}/rescue/sfdisk
801 rm -rf %{_sysconfdir}/rescue/diskinfo/*
806 for name in "create database" "drop tables" "drop database" "grant privileges" "make tables" "update tables"; do \
807 prefix="${name%% *}" \
808 suffix="${name#* }" \
809 ln -sf "${prefix}_%{1}_${suffix}" %{_libexecdir}/%{name}/"${prefix}_bacula_${suffix}" || : \
811 ln -sf "make_%{1}_catalog_backup" %{_libexecdir}/%{name}/make_catalog_backup || : \
812 %service bacula-dir restart "Bacula Director daemon"
817 %postun db-postgresql -p /sbin/ldconfig
822 %postun db-mysql -p /sbin/ldconfig
827 %postun db-sqlite3 -p /sbin/ldconfig
829 # dbi backend is different, as it is not bound with a specific db engine
832 %service bacula-dir restart "Bacula Director daemon"
834 %postun db-dbi -p /sbin/ldconfig
837 %defattr(644,root,root,755)
839 %{?with_python:%doc examples/python}
841 %attr(600,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/*-password
842 # do not remove bsmtp from files. Fix build if it is not installed.
843 %attr(755,root,root) %{_sbindir}/bsmtp
844 %attr(755,root,root) %{_sbindir}/btraceback
845 %attr(755,root,root) %{_libdir}/libbac-5*.so
846 %attr(755,root,root) %{_libdir}/libbaccfg-5*.so
847 %attr(755,root,root) %{_libdir}/libbacfind-5*.so
848 %attr(755,root,root) %{_libdir}/libbacpy-5*.so
849 %{_mandir}/man8/bacula.8*
850 %{_mandir}/man1/bsmtp.1*
851 %{_mandir}/man8/btraceback.8*
852 %dir %{_libexecdir}/%{name}
853 %{_libexecdir}/%{name}/btraceback.dbx
854 %{_libexecdir}/%{name}/btraceback.gdb
855 %{_libexecdir}/%{name}/bacula_config
856 %attr(770,root,bacula) %dir %{_localstatedir}
857 %attr(750,bacula,logs) %dir /var/log/bacula
858 %attr(640,bacula,logs) %ghost /var/log/bacula/log
861 %defattr(644,root,root,755)
862 %doc ChangeLog CheckList ReleaseNotes kernstodo LICENSE
863 #%doc examples %{name}-docs-%{version}/manual/{*.pdf,bacula}
864 %attr(640,root,bacula) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/bacula-dir.conf
865 %ghost %{_sysconfdir}/.pw.sed
866 %attr(640,root,root) %config(noreplace) /etc/logrotate.d/bacula-dir
867 %attr(754,root,root) /etc/rc.d/init.d/bacula-dir
868 %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/bacula-dir
869 %attr(755,root,root) %{_sbindir}/bacula-dir
870 %attr(755,root,root) %{_sbindir}/bregex
871 %attr(755,root,root) %{_sbindir}/bwild
872 %attr(755,root,root) %{_sbindir}/bacula-dbcheck
873 %{_mandir}/man8/bacula-dir.8*
874 %{_mandir}/man8/bacula-dbcheck.8*
875 %{_libexecdir}/%{name}/query.sql
876 %attr(755,root,root) %{_libexecdir}/%{name}/delete_catalog_backup
879 %defattr(644,root,root,755)
880 %attr(755,root,root) %{_libexecdir}/%{name}/fix_postgresql_tables
881 %attr(755,root,root) %{_libexecdir}/%{name}/create_postgresql_database
882 %attr(755,root,root) %{_libexecdir}/%{name}/drop_postgresql_database
883 %attr(755,root,root) %{_libexecdir}/%{name}/drop_postgresql_tables
884 %attr(755,root,root) %{_libexecdir}/%{name}/grant_postgresql_privileges
885 %attr(755,root,root) %{_libexecdir}/%{name}/make_postgresql_tables
886 %attr(755,root,root) %{_libexecdir}/%{name}/update_postgresql_*
887 %attr(755,root,root) %{_libexecdir}/%{name}/make_postgresql_catalog_backup
888 %attr(755,root,root) %{_libdir}/libbacsql-postgresql-5*.so
890 %ghost %attr(755,root,root) %{_libdir}/libbacsql-5*.so
891 %ghost %{_libexecdir}/%{name}/create_bacula_database
892 %ghost %{_libexecdir}/%{name}/drop_bacula_tables
893 %ghost %{_libexecdir}/%{name}/drop_bacula_database
894 %ghost %{_libexecdir}/%{name}/grant_bacula_privileges
895 %ghost %{_libexecdir}/%{name}/make_bacula_tables
896 %ghost %{_libexecdir}/%{name}/update_bacula_tables
897 %ghost %{_libexecdir}/%{name}/make_catalog_backup
900 %defattr(644,root,root,755)
901 %attr(755,root,root) %{_libexecdir}/%{name}/create_mysql_database
902 %attr(755,root,root) %{_libexecdir}/%{name}/drop_mysql_database
903 %attr(755,root,root) %{_libexecdir}/%{name}/drop_mysql_tables
904 %attr(755,root,root) %{_libexecdir}/%{name}/grant_mysql_privileges
905 %attr(755,root,root) %{_libexecdir}/%{name}/make_mysql_tables
906 %attr(755,root,root) %{_libexecdir}/%{name}/update_mysql_*
907 %attr(755,root,root) %{_libexecdir}/%{name}/make_mysql_catalog_backup
908 %attr(755,root,root) %{_libdir}/libbacsql-mysql-5*.so
910 %ghost %attr(755,root,root) %{_libdir}/libbacsql-5*.so
911 %ghost %{_libexecdir}/%{name}/create_bacula_database
912 %ghost %{_libexecdir}/%{name}/drop_bacula_tables
913 %ghost %{_libexecdir}/%{name}/drop_bacula_database
914 %ghost %{_libexecdir}/%{name}/grant_bacula_privileges
915 %ghost %{_libexecdir}/%{name}/make_bacula_tables
916 %ghost %{_libexecdir}/%{name}/update_bacula_tables
917 %ghost %{_libexecdir}/%{name}/make_catalog_backup
920 %defattr(644,root,root,755)
921 %attr(755,root,root) %{_libexecdir}/%{name}/create_sqlite3_database
922 %attr(755,root,root) %{_libexecdir}/%{name}/drop_sqlite3_database
923 %attr(755,root,root) %{_libexecdir}/%{name}/drop_sqlite3_tables
924 %attr(755,root,root) %{_libexecdir}/%{name}/grant_sqlite3_privileges
925 %attr(755,root,root) %{_libexecdir}/%{name}/make_sqlite3_tables
926 %attr(755,root,root) %{_libexecdir}/%{name}/update_sqlite3_*
927 %attr(755,root,root) %{_libexecdir}/%{name}/make_sqlite3_catalog_backup
928 %attr(755,root,root) %{_libdir}/libbacsql-sqlite3-5*.so
930 %ghost %attr(755,root,root) %{_libdir}/libbacsql-5*.so
931 %ghost %{_libexecdir}/%{name}/create_bacula_database
932 %ghost %{_libexecdir}/%{name}/drop_bacula_tables
933 %ghost %{_libexecdir}/%{name}/drop_bacula_database
934 %ghost %{_libexecdir}/%{name}/grant_bacula_privileges
935 %ghost %{_libexecdir}/%{name}/make_bacula_tables
936 %ghost %{_libexecdir}/%{name}/update_bacula_tables
937 %ghost %{_libexecdir}/%{name}/make_catalog_backup
941 %defattr(644,root,root,755)
942 %attr(755,root,root) %{_libexecdir}/%{name}/create_postgresql_database
943 %attr(755,root,root) %{_libexecdir}/%{name}/drop_postgresql_database
944 %attr(755,root,root) %{_libexecdir}/%{name}/drop_postgresql_tables
945 %attr(755,root,root) %{_libexecdir}/%{name}/grant_postgresql_privileges
946 %attr(755,root,root) %{_libexecdir}/%{name}/make_postgresql_tables
947 %attr(755,root,root) %{_libexecdir}/%{name}/make_postgresql_catalog_backup
948 %attr(755,root,root) %{_libexecdir}/%{name}/update_postgresql_*
949 %attr(755,root,root) %{_libexecdir}/%{name}/create_mysql_database
950 %attr(755,root,root) %{_libexecdir}/%{name}/drop_mysql_database
951 %attr(755,root,root) %{_libexecdir}/%{name}/drop_mysql_tables
952 %attr(755,root,root) %{_libexecdir}/%{name}/grant_mysql_privileges
953 %attr(755,root,root) %{_libexecdir}/%{name}/make_mysql_tables
954 %attr(755,root,root) %{_libexecdir}/%{name}/make_mysql_catalog_backup
955 %attr(755,root,root) %{_libexecdir}/%{name}/update_mysql_*
956 %attr(755,root,root) %{_libexecdir}/%{name}/create_sqlite3_database
957 %attr(755,root,root) %{_libexecdir}/%{name}/drop_sqlite3_database
958 %attr(755,root,root) %{_libexecdir}/%{name}/drop_sqlite3_tables
959 %attr(755,root,root) %{_libexecdir}/%{name}/grant_sqlite3_privileges
960 %attr(755,root,root) %{_libexecdir}/%{name}/make_sqlite3_tables
961 %attr(755,root,root) %{_libexecdir}/%{name}/update_sqlite3_*
962 %attr(755,root,root) %{_libexecdir}/%{name}/make_sqlite3_catalog_backup
963 %attr(755,root,root) %{_libdir}/libbacsql-dbi-5*.so
965 %ghost %attr(755,root,root) %{_libdir}/libbacsql-5*.so
969 %defattr(644,root,root,755)
971 %attr(640,root,bacula) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/bacula-fd.conf
972 %attr(754,root,root) /etc/rc.d/init.d/bacula-fd
973 %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/bacula-fd
974 %attr(755,root,root) %{_sbindir}/bacula-fd
975 %attr(755,root,root) %{_libdir}/bpipe-fd.so
976 %{_mandir}/man8/bacula-fd.8*
979 %defattr(644,root,root,755)
981 %attr(640,root,bacula) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/bacula-sd.conf
982 %attr(640,root,bacula) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/mtx-changer.conf
983 %attr(754,root,root) /etc/rc.d/init.d/bacula-sd
984 %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/bacula-sd
985 %attr(755,root,root) %{_sbindir}/bacula-sd
986 %attr(755,root,root) %{_sbindir}/bcopy
987 %attr(755,root,root) %{_sbindir}/bextract
988 %attr(755,root,root) %{_sbindir}/bls
989 %attr(755,root,root) %{_sbindir}/bscan
990 %attr(755,root,root) %{_sbindir}/btape
991 %attr(755,root,root) %{_libexecdir}/%{name}/mtx-changer
992 %attr(755,root,root) %{_libexecdir}/%{name}/disk-changer
993 %attr(755,root,root) %{_libexecdir}/%{name}/dvd-handler
994 %{_mandir}/man8/bacula-sd.8*
995 %{_mandir}/man8/bcopy.8*
996 %{_mandir}/man8/bextract.8*
997 %{_mandir}/man8/bls.8*
998 %{_mandir}/man8/bscan.8*
999 %{_mandir}/man8/btape.8*
1002 %defattr(644,root,root,755)
1004 %attr(640,root,bacula) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/bconsole.conf
1005 %attr(755,root,root) %{_sbindir}/bconsole
1006 %{_mandir}/man8/bconsole.8*
1008 %if %{with console_wx}
1010 %defattr(644,root,root,755)
1012 %{_pixmapsdir}/%{name}.png
1013 %{_desktopdir}/bacula-wx.desktop
1014 %attr(640,root,bacula) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/bwx-console.conf
1015 %attr(755,root,root) %{_sbindir}/bwx-console
1016 %{_mandir}/man1/bacula-bwxconsole.1*
1021 %defattr(644,root,root,755)
1023 %{_pixmapsdir}/%{name}.png
1024 %{_desktopdir}/bat.desktop
1025 # Do not make this file world-readable or any user will get full access to the
1027 %attr(640,root,bacula) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/bat.conf
1028 %attr(755,root,root) %{_bindir}/bat
1029 %{_mandir}/man1/bat.1*
1033 %if %{with console_wx}
1035 %defattr(644,root,root,755)
1037 %attr(755,root,root) %{_sbindir}/bacula-tray-monitor
1038 #%{_pixmapsdir}/%{name}-tray-monitor.xpm
1039 #%{_desktopdir}/%{name}-tray-monitor.desktop
1040 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/tray-monitor.conf
1041 %{_mandir}/man1/bacula-tray-monitor.1*
1046 %defattr(644,root,root,755)
1048 %dir %{_sysconfdir}/rescue
1049 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/rescue/backup.etc.list
1050 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/rescue/bacula-fd
1051 %attr(755,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/rescue/format_floppy
1052 %attr(755,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/rescue/getdiskinfo
1053 %attr(755,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/rescue/make_rescue_disk
1054 %attr(755,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/rescue/restore_bacula
1055 %attr(755,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/rescue/restore_etc
1056 %attr(755,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/rescue/run_grub
1057 %attr(755,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/rescue/run_lilo
1058 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/rescue/sfdisk.bz2
1062 %files -n nagios-plugin-check_bacula
1063 %defattr(644,root,root,755)
1064 %attr(755,root,root) %{nagiosplugindir}/check_bacula