2 # - update desktop files, think about su-wrappers for console (with .desktop files)
4 # - fix log file permissions
6 #make[1]: *** No rule to make target `../lib/libbac.la', needed by `bacula-dir'. Stop.
7 #make[1]: *** Waiting for unfinished jobs....
8 #make[1]: Leaving directory `/home/users/glen/rpm/BUILD.x86_64-linux/bacula-5.0.2/src/dird'
11 %bcond_without console_wx # wx-console program
12 %bcond_without bat # bat Qt4 GUI
13 %if "%{pld_release}" != "ac"
14 %bcond_without dbi # use Database Independent Abstraction Layer (libdbi)
16 %bcond_with dbi # use Database Independent Abstraction Layer (libdbi)
18 %bcond_without mysql # use MySQL
19 %bcond_without pgsql # use PostgreSQL
20 %bcond_without sqlite3 # use SQLite3
22 %bcond_without nagios # build nagios plugin
24 %bcond_with sqlite3_sync_off # makes SQLite3 backend much faster, but less reliable
26 %if %{without sqlite3}
27 %undefine with_sqlite3_sync_off
30 Summary: Bacula - The Network Backup Solution
31 Summary(pl.UTF-8): Bacula - rozwiązanie do wykonywania kopii zapasowych po sieci
35 License: extended GPL v2
36 Group: Networking/Utilities
37 Source0: http://downloads.sourceforge.net/bacula/%{name}-%{version}.tar.gz
38 # Source0-md5: 9de254ae39cab0587fdb2f5d8d90b03b
39 Source1: http://downloads.sourceforge.net/bacula/%{name}-docs-%{version}.tar.bz2
40 # Source1-md5: 7a00557dcf0dfa40de9e74176fefd1ae
41 Source2: http://downloads.sourceforge.net/bacula/%{name}-rescue-5.0.1.tar.gz
42 # Source2-md5: bb194aed8e204f54bf2f61d7e721f257
43 Source10: %{name}-dir.init
44 Source11: %{name}-fd.init
45 Source12: %{name}-sd.init
46 Source13: %{name}.logrotate
47 Source14: %{name}-dir.sysconfig
48 Source15: %{name}-fd.sysconfig
49 Source16: %{name}-sd.sysconfig
50 Patch0: %{name}-mtx-changer.patch
51 Patch1: %{name}-link.patch
52 Patch2: %{name}-tinfo-readline.patch
53 Patch3: %{name}-branding.patch
54 Patch4: %{name}-conf.patch
55 Patch5: %{name}-desktop.patch
56 Patch7: %{name}-dbi_fixes.patch
57 Patch8: %{name}-dbi_dbcheck.patch
58 Patch9: %{name}-openssl1.patch
59 Patch10: %{name}-dvd_rewind.patch
60 Patch11: qmake-bin.patch
61 URL: http://www.bacula.org/
62 BuildRequires: acl-devel
63 BuildRequires: autoconf
64 BuildRequires: automake
65 BuildRequires: gettext-devel
66 BuildRequires: gtk+2-devel
67 BuildRequires: libcap-devel
68 %{?with_dbi:BuildRequires: libdbi-devel >= 0.8.4}
69 BuildRequires: libtool >= 2:2.2
71 BuildRequires: fakeroot
73 BuildRequires: libwrap-devel
74 BuildRequires: ncurses-devel
75 BuildRequires: openssl-devel
76 BuildRequires: pkgconfig
78 BuildRequires: python-devel
79 BuildRequires: python-modules
82 BuildRequires: QtCore-devel
83 BuildRequires: QtGui-devel
84 BuildRequires: qt4-build >= 4.3.3-3
85 BuildRequires: qt4-qmake >= 4.3.3-3
86 #BuildRequires: qwt-devel >= 5.0.2-2
88 %{?with_mysql:BuildRequires: mysql-devel}
89 %{?with_pgsql:BuildRequires: postgresql-devel}
90 BuildRequires: readline-devel
91 BuildRequires: rpm-pythonprov
92 BuildRequires: rpmbuild(macros) >= 1.268
93 BuildRequires: sed >= 4.0
94 %{?with_sqlite3:BuildRequires: sqlite3-devel}
96 %if %{with console_wx}
97 BuildRequires: wxGTK2-unicode-devel >= 2.4.0
99 BuildRequires: zlib-devel
100 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
102 %define _sysconfdir /etc/%{name}
103 %define _localstatedir /var/lib/%{name}
104 %define nagiosplugindir %{_libdir}/nagios/plugins
106 # from 'the worst' to 'the best'
107 %define databases %{?with_dbi:dbi} %{?with_sqlite3:sqlite3} %{?with_mysql:mysql} %{?with_pgsql:postgresql}
109 # dependency section is broken. ccache usage is instead to makefiles
110 %undefine with_ccache
113 Bacula - It comes by night and sucks the vital essence from your
116 Bacula is a set of computer programs that permit you (or the system
117 administrator) to manage backup, recovery, and verification of
118 computer data across a network of computers of different kinds. In
119 technical terms, it is a network client/server based backup program.
120 Bacula is relatively easy to use and efficient, while offering many
121 advanced storage management features that make it easy to find and
122 recover lost or damaged files.
124 %description -l pl.UTF-8
125 Bacula - przychodzi nocą i wysysa żywotny ekstrakt z komputerów.
127 Bacula to zbiór programów umożliwiających administratorowi na
128 zarządzanie kopiami zapasowymi, odzyskiwaniem i weryfikacją danych w
129 sieci komputerów różnego rodzaju. W terminologii technicznej jest to
130 program do kopii zapasowych pracujący w architekturze klient-serwer.
131 Bacula jest stosunkowo łatwa w użyciu i wydajna, oferując przy tym
132 wiele zaawansowanych możliwości przy zarządzaniu nośnikami,
133 ułatwiających znalezienie i odzyskanie utraconych lub uszkodzonych
137 Summary: Common files for bacula package
138 Summary(pl.UTF-8): Pliki wspólne dla pakietu bacula
139 Group: Networking/Utilities
140 Requires(post): openssl-tools
141 Requires(post): sed >= 4.0
142 Requires(post,preun): /sbin/chkconfig
143 Requires(postun): /usr/sbin/groupdel
144 Requires(postun): /usr/sbin/userdel
145 Requires(pre): /usr/sbin/groupadd
146 Requires(pre): /usr/sbin/useradd
147 Conflicts: bacula-console < 0:1.34.6
148 Conflicts: bacula-dir < 0:1.34.6
149 Conflicts: bacula-fd < 0:1.34.6
150 Conflicts: bacula-sd < 0:1.34.6
153 Bacula - It comes by night and sucks the vital essence from your
156 Bacula is a set of computer programs that permit you (or the system
157 administrator) to manage backup, recovery, and verification of
158 computer data across a network of computers of different kinds. In
159 technical terms, it is a network client/server based backup program.
160 Bacula is relatively easy to use and efficient, while offering many
161 advanced storage management features that make it easy to find and
162 recover lost or damaged files.
164 %description common -l pl.UTF-8
165 Bacula - przychodzi nocą i wysysa żywotny ekstrakt z komputerów.
167 Bacula to zbiór programów umożliwiających administratorowi na
168 zarządzanie kopiami zapasowymi, odzyskiwaniem i weryfikacją danych w
169 sieci komputerów różnego rodzaju. W terminologii technicznej jest to
170 program do kopii zapasowych pracujący w architekturze klient-serwer.
171 Bacula jest stosunkowo łatwa w użyciu i wydajna, oferując przy tym
172 wiele zaawansowanych możliwości przy zarządzaniu nośnikami,
173 ułatwiających znalezienie i odzyskanie utraconych lub uszkodzonych
177 Summary: Bacula Director and Catalog services
178 Summary(pl.UTF-8): Usługi Bacula Director i Catalog
179 Group: Networking/Utilities
180 Requires(post): sed >= 4.0
181 Requires: %{name}-common = %{version}-%{release}
182 Requires: bacula(db) = %{version}-%{release}
183 Obsoletes: bacula-updatedb
186 Bacula - It comes by night and sucks the vital essence from your
189 Bacula Director is the program that supervises all the backup,
190 restore, verify and archive operations. The system administrator uses
191 the Bacula Director to schedule backups and to recover files. Catalog
192 services are comprised of the software programs responsible for
193 maintaining the file indexes and volume databases for all files backed
194 up. The Catalog services permit the System Administrator or user to
195 quickly locate and restore any desired file, since it maintains a
196 record of all Volumes used, all Jobs run, and all Files saved.
198 %description dir -l pl.UTF-8
199 Bacula - przychodzi nocą i wysysa żywotny ekstrakt z komputerów.
201 Bacula Director to program nadzorujący wszystkie operacje wykonywania
202 kopii zapasowych, odzyskiwania, weryfikacji i archiwizowania.
203 Administrator używa Bacula Directora do szeregowania kopii zapasowych
204 oraz odzyskiwania plików. Usługi katalogowe (Catalog services) są
205 używane przez programy odpowiedzialne za zarządzanie indeksami plików
206 i bazą danych wolumenów dla wszystkich kopiowanych plików. Usługi
207 katalogowe umożliwiają administratorowi lub użytkownikowi szybko
208 zlokalizować i odtworzyć dowolny plik, ponieważ utrzymują rekord ze
209 wszystkimi używanymi wolumenami, uruchomionymi zadaniami i zapisanymi
213 Summary: Bacula Console
214 Summary(pl.UTF-8): Konsola Baculi
215 Group: Networking/Utilities
216 Requires(post): sed >= 4.0
217 Requires: %{name}-common = %{version}-%{release}
220 Bacula - It comes by night and sucks the vital essence from your
223 Bacula Console is the program that allows the administrator or user to
224 communicate with the Bacula Director. This is the text only console
227 %description console -l pl.UTF-8
228 Bacula - przychodzi nocą i wysysa żywotny ekstrakt z komputerów.
230 Bacula Console to program umożliwiający administratorowi lub
231 użytkownikowi komunikowanie się z programem Bacula Director. To jest
232 interfejs czysto tekstowy.
235 Summary: Bacula wxWidgets Console
236 Summary(pl.UTF-8): Konsola Baculi oparta na wxWidgets
237 Group: Networking/Utilities
238 Requires(post): sed >= 4.0
239 Requires: %{name}-common = %{version}-%{release}
241 %description console-wx
242 Bacula - It comes by night and sucks the vital essence from your
245 Bacula Console is the program that allows the administrator or user to
246 communicate with the Bacula Director. This is the wxWidgets GUI
249 %description console-wx -l pl.UTF-8
250 Bacula - przychodzi nocą i wysysa żywotny ekstrakt z komputerów.
252 Bacula Console to program umożliwiający administratorowi lub
253 użytkownikowi komunikowanie się z programem Bacula Director. To jest
254 interfejs graficzny oparty na wxWidgets.
257 Summary: Bacula Qt4 Console
258 Summary(pl.UTF-8): Konsola Baculi oparta na Qt4
259 Group: Networking/Utilities
260 Requires(post): sed >= 4.0
261 Requires: %{name}-common = %{version}-%{release}
263 %description console-qt4
264 Bacula - It comes by night and sucks the vital essence from your
267 Bacula Console is the program that allows the administrator or user to
268 communicate with the Bacula Director. This is the Qt4 GUI interface.
270 %description console-qt4 -l pl.UTF-8
271 Bacula - przychodzi nocą i wysysa żywotny ekstrakt z komputerów.
273 Bacula Console to program umożliwiający administratorowi lub
274 użytkownikowi komunikowanie się z programem Bacula Director. To jest
275 interfejs graficzny oparty na Qt4.
277 %package tray-monitor
278 Summary: Bacula Tray Monitor
279 Group: Networking/Utilities
280 Requires(post): sed >= 4.0
281 Requires: %{name}-common = %{version}-%{release}
283 %description tray-monitor
284 Bacula - It comes by night and sucks the vital essence from your
287 The Monitor program is typically an icon in the system tray. However,
288 once the icon is expanded into a full window, the administrator or
289 user can obtain status information about the Director or the backup
290 status on the local workstation or any other Bacula daemon that is
294 Summary: Bacula File services (Client)
295 Summary(pl.UTF-8): Usługi Bacula File (klient)
296 Group: Networking/Utilities
297 Requires(post): sed >= 4.0
298 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: libdbi database driver for Bacula
405 Summary(pl.UTF-8): Sterownik bazy libdbi dla Baculi
406 Group: Networking/Utilities
407 Requires(post): /sbin/ldconfig
408 Requires: %{name}-common = %{version}-%{release}
409 Provides: bacula(db) = %{version}-%{release}
410 Obsoletes: bacula(db)
413 libdbi database driver for Bacula.
415 %description db-dbi -l pl.UTF-8
416 Sterownik baz libdbi dla Baculi.
419 Summary: Bacula - The Network Backup Solution
420 Summary(pl.UTF-8): Bacula - rozwiązanie do wykonywania kopii zapasowych po sieci
421 Group: Networking/Utilities
422 Requires: %{name}-fd = %{version}-%{release}
427 Bacula - It comes by night and sucks the vital essence from your
430 Bacula is a set of computer programs that permit you (or the system
431 administrator) to manage backup, recovery, and verification of
432 computer data across a network of computers of different kinds. In
433 technical terms, it is a network client/server based backup program.
434 Bacula is relatively easy to use and efficient, while offering many
435 advanced storage management features that make it easy to find and
436 recover lost or damaged files.
438 This package installs scripts for disaster recovery and builds rescue
439 floppy disk for bare metal recovery.
441 %description rescue -l pl.UTF-8
442 Bacula - przychodzi nocą i wysysa żywotny ekstrakt z komputerów.
444 Bacula to zbiór programów umożliwiających administratorowi na
445 zarządzanie kopiami zapasowymi, odzyskiwaniem i weryfikacją danych w
446 sieci komputerów różnego rodzaju. W terminologii technicznej jest to
447 program do kopii zapasowych pracujący w architekturze klient-serwer.
448 Bacula jest stosunkowo łatwa w użyciu i wydajna, oferując przy tym
449 wiele zaawansowanych możliwości przy zarządzaniu nośnikami,
450 ułatwiających znalezienie i odzyskanie utraconych lub uszkodzonych
453 Ten pakiet zawiera skrypty do odtwarzania po awarii i tworzy dyskietkę
454 ratunkowe do odtwarzania systemu od zera.
456 %package -n nagios-plugin-check_bacula
457 Summary: Nagios plugin to check bacula
459 Requires: nagios-common
461 %description -n nagios-plugin-check_bacula
462 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}
539 %{__make} -C src/cats libtool-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
585 # replace with empty file, replaced by ldconfig from each db-* package on intsall
586 rm -f $RPM_BUILD_ROOT%{_libdir}/libbacsql-%{version}.so
587 touch $RPM_BUILD_ROOT%{_libdir}/libbacsql-%{version}.so
589 install -p %{SOURCE10} $RPM_BUILD_ROOT/etc/rc.d/init.d/bacula-dir
590 install -p %{SOURCE11} $RPM_BUILD_ROOT/etc/rc.d/init.d/bacula-fd
591 install -p %{SOURCE12} $RPM_BUILD_ROOT/etc/rc.d/init.d/bacula-sd
592 cp -a %{SOURCE13} $RPM_BUILD_ROOT/etc/logrotate.d/%{name}-dir
593 cp -a %{SOURCE14} $RPM_BUILD_ROOT/etc/sysconfig/bacula-dir
594 cp -a %{SOURCE15} $RPM_BUILD_ROOT/etc/sysconfig/bacula-fd
595 cp -a %{SOURCE16} $RPM_BUILD_ROOT/etc/sysconfig/bacula-sd
597 %if %{with console_wx}
598 # tray-monitor is for regular users
599 #mv $RPM_BUILD_ROOT%{_sbindir}/bacula-tray-monitor $RPM_BUILD_ROOT%{_bindir}
601 cp -a scripts/bacula.png $RPM_BUILD_ROOT%{_pixmapsdir}/bacula.png
602 #install src/tray-monitor/generic.xpm $RPM_BUILD_ROOT%{_pixmapsdir}/bacula-tray-monitor.xpm
603 sed -e 's/gnome-console/wx-console/g;s/Console/Wx Console/g' \
604 scripts/bacula.desktop.gnome2 > $RPM_BUILD_ROOT%{_desktopdir}/bacula-wx.desktop
605 #sed -e 's#%{_sbindir}#%{_bindir}#' \
606 # scripts/bacula-tray-monitor.desktop > $RPM_BUILD_ROOT%{_desktopdir}/bacula-tray-monitor.desktop
610 # qmake somewhy does not always create install_bins target. install our own the bin
611 rm -f $RPM_BUILD_ROOT%{_sbindir}/bat
612 libtool --silent --mode=install install src/qt-console/bat $RPM_BUILD_ROOT%{_bindir}
613 cp -a scripts/bat.desktop $RPM_BUILD_ROOT%{_desktopdir}
617 # install the rescue stuff, these are the rescue scripts
618 cp -a rescue/linux/floppy/backup.etc.list $RPM_BUILD_ROOT%{_sysconfdir}/rescue
619 cp -a rescue/linux/floppy/sfdisk.bz2 $RPM_BUILD_ROOT%{_sysconfdir}/rescue
620 install -p rescue/linux/floppy/*_* $RPM_BUILD_ROOT%{_sysconfdir}/rescue
621 install -p rescue/linux/floppy/getdiskinfo $RPM_BUILD_ROOT%{_sysconfdir}/rescue
624 touch $RPM_BUILD_ROOT/var/log/bacula/log
626 # install the updatedb scripts for older versions that last full release
627 # 2.0 -> 3.0 : 10_to_11
628 install -p updatedb/update_*_tables_10_to_11 $RPM_BUILD_ROOT%{_libexecdir}/%{name}
630 # place for site passwords
631 touch $RPM_BUILD_ROOT%{_sysconfdir}/{dir-password,fd-password,sd-password}
632 touch $RPM_BUILD_ROOT%{_sysconfdir}/{mon-dir-password,mon-fd-password,mon-sd-password}
634 mv $RPM_BUILD_ROOT%{_libdir}/bacula/mtx-changer.conf $RPM_BUILD_ROOT/etc/bacula/mtx-changer.conf
637 rm -f $RPM_BUILD_ROOT%{_libexecdir}/%{name}/{gconsole,startmysql,stopmysql,bacula,bconsole,fd}
638 %if %{without console_wx}
639 rm -f $RPM_BUILD_ROOT%{_desktopdir}/bacula-wx.desktop
641 touch $RPM_BUILD_ROOT%{_sysconfdir}/.pw.sed
643 rm $RPM_BUILD_ROOT%{_docdir}/bacula/ChangeLog
644 rm $RPM_BUILD_ROOT%{_docdir}/bacula/INSTALL
645 rm $RPM_BUILD_ROOT%{_docdir}/bacula/LICENSE
646 rm $RPM_BUILD_ROOT%{_docdir}/bacula/README
647 rm $RPM_BUILD_ROOT%{_docdir}/bacula/ReleaseNotes
648 rm $RPM_BUILD_ROOT%{_docdir}/bacula/VERIFYING
649 rm $RPM_BUILD_ROOT%{_docdir}/bacula/technotes
651 # startup scripts, those in /etc/rc.d/init.d are better
652 rm $RPM_BUILD_ROOT%{_sbindir}/bacula
653 rm $RPM_BUILD_ROOT%{_libexecdir}/%{name}/bacula-ctl-*
656 rm $RPM_BUILD_ROOT%{_libexecdir}/%{name}/btraceback.mdb
658 # rename to avoid possible conflicts
659 mv $RPM_BUILD_ROOT%{_sbindir}/{,bacula-}dbcheck
660 mv $RPM_BUILD_ROOT%{_mandir}/man8/{,bacula-}dbcheck.8.gz
662 # no -devel files packaged, so this is also useless
663 rm $RPM_BUILD_ROOT%{_libdir}/libbac{,cfg,find,py,sql}.{so,la}
665 # placeholders for the symlinks set in %%post db-*
666 for f in create_bacula_database drop_bacula_database drop_bacula_tables \
667 grant_bacula_privileges make_bacula_tables update_bacula_tables ; do
669 touch $RPM_BUILD_ROOT%{_libexecdir}/%{name}/$f
673 install -d $RPM_BUILD_ROOT%{nagiosplugindir}
674 %{__make} -C examples/nagios/check_bacula install \
675 sbindir=%{nagiosplugindir} \
676 INSTALL_PROGRAM="libtool --mode=install install -p" \
677 DESTDIR=$RPM_BUILD_ROOT
681 rm -rf $RPM_BUILD_ROOT
684 %groupadd -P %{name}-common -g 136 -r -f bacula
685 %useradd -P %{name}-common -u 136 -r -d /var/lib/bacula -s /bin/false -c "Bacula User" -g bacula bacula
687 %define update_configs \
688 echo "Updating bacula passwords and names..." | %banner -a %{name} \
690 for f in *-password; do \
691 if [ ! -s $f ]; then \
692 openssl rand -base64 33 > $f \
695 for cf in *.conf *.conf.rpmnew; do \
696 [ -f $cf ] && sed -i -e"s:#FAKE-$f#:$p:" "$cf" || : \
699 for cf in *.conf *.conf.rpmnew; do \
700 [ -f $cf ] && sed -i -e"s:--hostname--:`hostname`:" "$cf" || : \
709 if [ "$1" = "0" ]; then
714 %triggerpostun dir -- %{name}-dir < 5.0
715 %banner bacula-dir -t3 <<EOF
716 You have upgraded from an older version of Bacula director.
718 You will probably need to call %{_libexecdir}/%{name}/update_bacula_tables
719 script to upgrade the database.
724 /sbin/chkconfig --add bacula-dir
725 %service bacula-dir restart "Bacula Director daemon"
728 if [ "$1" = "0" ]; then
729 %service bacula-dir stop
730 /sbin/chkconfig --del bacula-dir
735 /sbin/chkconfig --add bacula-fd
736 %service bacula-fd restart "Bacula File daemon"
739 if [ "$1" = "0" ]; then
740 %service bacula-fd stop
741 /sbin/chkconfig --del bacula-fd
746 /sbin/chkconfig --add bacula-sd
747 %service bacula-sd restart "Bacula Storage daemon"
750 if [ "$1" = "0" ]; then
751 %service bacula-sd stop
752 /sbin/chkconfig --del bacula-sd
756 if [ -e %{_sysconfdir}/console.conf -a ! -e %{_sysconfdir}/bconsole.conf ]; then
757 mv %{_sysconfdir}/console.conf %{_sysconfdir}/bconsole.conf
766 %triggerpostun common -- %{name}-common < 5.0.1-2
767 find /etc/bacula/bat.conf* -perm /007 -print0 | xargs -0 -r chmod 600 || :
776 # link our current installed conf file to the rescue directory
777 ln -sf %{_sysconfdir}/bacula-fd.conf %{_sysconfdir}/rescue/bacula-fd.conf
780 echo "Creating rescue files for this system..."
781 cd %{_sysconfdir}/rescue
785 # remove the files created after the initial rpm installation
786 if [ "$1" = "0" ]; then
787 rm -f %{_sysconfdir}/rescue/bacula-fd.conf
788 rm -f %{_sysconfdir}/rescue/partition.*
789 rm -f %{_sysconfdir}/rescue/format.*
790 rm -f %{_sysconfdir}/rescue/mount_drives
791 rm -f %{_sysconfdir}/rescue/start_network
792 rm -f %{_sysconfdir}/rescue/sfdisk
793 rm -rf %{_sysconfdir}/rescue/diskinfo/*
798 for name in "create database" "drop tables" "drop database" "grant privileges" "make tables" "update tables"; do \
799 prefix="${name%% *}" \
800 suffix="${name#* }" \
801 ln -sf "${prefix}_%{1}_${suffix}" %{_libexecdir}/%{name}/"${prefix}_bacula_${suffix}" || : \
803 %service bacula-dir restart "Bacula Director daemon"
805 %define db_postun() \
807 if [ "$1" = "0" ]; then \
808 for f in %{_libexecdir}/%{name}/*_bacula_*; do \
809 if [ -L "$f" -a ! -e "$f" ]; then \
818 %postun db-postgresql
819 %db_postun postgresql
833 # dbi backend is different, as it is not bound with a specific db engine
836 %service bacula-dir restart "Bacula Director daemon"
838 %postun db-dbi -p /sbin/ldconfig
841 %defattr(644,root,root,755)
844 %attr(600,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/*-password
845 # do not remove bsmtp from files. Fix build if it is not installed.
846 %attr(755,root,root) %{_sbindir}/bsmtp
847 %attr(755,root,root) %{_sbindir}/btraceback
848 %attr(755,root,root) %{_libdir}/libbac-5*.so
849 %attr(755,root,root) %{_libdir}/libbaccfg-5*.so
850 %attr(755,root,root) %{_libdir}/libbacfind-5*.so
851 %attr(755,root,root) %{_libdir}/libbacpy-5*.so
852 %{_mandir}/man8/bacula.8*
853 %{_mandir}/man1/bsmtp.1*
854 %{_mandir}/man8/btraceback.8*
855 %dir %{_libexecdir}/%{name}
856 %{_libexecdir}/%{name}/btraceback.dbx
857 %{_libexecdir}/%{name}/btraceback.gdb
858 %{_libexecdir}/%{name}/bacula_config
859 %attr(770,root,bacula) %dir %{_localstatedir}
860 %attr(750,bacula,logs) %dir /var/log/bacula
861 %attr(640,bacula,logs) %ghost /var/log/bacula/log
864 %defattr(644,root,root,755)
865 %doc ChangeLog CheckList ReleaseNotes kernstodo LICENSE
866 #%doc examples %{name}-docs-%{version}/manual/{*.pdf,bacula}
867 %attr(640,root,bacula) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/bacula-dir.conf
868 %ghost %{_sysconfdir}/.pw.sed
869 %attr(640,root,root) %config(noreplace) /etc/logrotate.d/bacula-dir
870 %attr(754,root,root) /etc/rc.d/init.d/bacula-dir
871 %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/bacula-dir
872 %attr(755,root,root) %{_sbindir}/bacula-dir
873 %attr(755,root,root) %{_sbindir}/bregex
874 %attr(755,root,root) %{_sbindir}/bwild
875 %attr(755,root,root) %{_sbindir}/bacula-dbcheck
876 %{_mandir}/man8/bacula-dir.8*
877 %{_mandir}/man8/bacula-dbcheck.8*
878 %{_libexecdir}/%{name}/query.sql
879 #%attr(755,root,root) %{_libexecdir}/%{name}/make_catalog_backup
880 #%attr(755,root,root) %{_libexecdir}/%{name}/delete_catalog_backup
883 %defattr(644,root,root,755)
884 %attr(755,root,root) %{_libexecdir}/%{name}/create_postgresql_database
885 %attr(755,root,root) %{_libexecdir}/%{name}/drop_postgresql_database
886 %attr(755,root,root) %{_libexecdir}/%{name}/drop_postgresql_tables
887 %attr(755,root,root) %{_libexecdir}/%{name}/grant_postgresql_privileges
888 %attr(755,root,root) %{_libexecdir}/%{name}/make_postgresql_tables
889 %attr(755,root,root) %{_libexecdir}/%{name}/update_postgresql_*
890 %attr(755,root,root) %{_libdir}/libbacsql-postgresql-5*.so
892 %ghost %attr(755,root,root) %{_libdir}/libbacsql-5*.so
893 %ghost %{_libexecdir}/%{name}/create_bacula_database
894 %ghost %{_libexecdir}/%{name}/drop_bacula_tables
895 %ghost %{_libexecdir}/%{name}/drop_bacula_database
896 %ghost %{_libexecdir}/%{name}/grant_bacula_privileges
897 %ghost %{_libexecdir}/%{name}/make_bacula_tables
898 %ghost %{_libexecdir}/%{name}/update_bacula_tables
901 %defattr(644,root,root,755)
902 %attr(755,root,root) %{_libexecdir}/%{name}/create_mysql_database
903 %attr(755,root,root) %{_libexecdir}/%{name}/drop_mysql_database
904 %attr(755,root,root) %{_libexecdir}/%{name}/drop_mysql_tables
905 %attr(755,root,root) %{_libexecdir}/%{name}/grant_mysql_privileges
906 %attr(755,root,root) %{_libexecdir}/%{name}/make_mysql_tables
907 %attr(755,root,root) %{_libexecdir}/%{name}/update_mysql_*
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
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) %{_libdir}/libbacsql-sqlite3-5*.so
928 %ghost %attr(755,root,root) %{_libdir}/libbacsql-5*.so
929 %ghost %{_libexecdir}/%{name}/create_bacula_database
930 %ghost %{_libexecdir}/%{name}/drop_bacula_tables
931 %ghost %{_libexecdir}/%{name}/drop_bacula_database
932 %ghost %{_libexecdir}/%{name}/grant_bacula_privileges
933 %ghost %{_libexecdir}/%{name}/make_bacula_tables
934 %ghost %{_libexecdir}/%{name}/update_bacula_tables
938 %defattr(644,root,root,755)
939 %attr(755,root,root) %{_libexecdir}/%{name}/create_postgresql_database
940 %attr(755,root,root) %{_libexecdir}/%{name}/drop_postgresql_database
941 %attr(755,root,root) %{_libexecdir}/%{name}/drop_postgresql_tables
942 %attr(755,root,root) %{_libexecdir}/%{name}/grant_postgresql_privileges
943 %attr(755,root,root) %{_libexecdir}/%{name}/make_postgresql_tables
944 %attr(755,root,root) %{_libexecdir}/%{name}/update_postgresql_*
945 %attr(755,root,root) %{_libexecdir}/%{name}/create_mysql_database
946 %attr(755,root,root) %{_libexecdir}/%{name}/drop_mysql_database
947 %attr(755,root,root) %{_libexecdir}/%{name}/drop_mysql_tables
948 %attr(755,root,root) %{_libexecdir}/%{name}/grant_mysql_privileges
949 %attr(755,root,root) %{_libexecdir}/%{name}/make_mysql_tables
950 %attr(755,root,root) %{_libexecdir}/%{name}/update_mysql_*
951 %attr(755,root,root) %{_libexecdir}/%{name}/create_sqlite3_database
952 %attr(755,root,root) %{_libexecdir}/%{name}/drop_sqlite3_database
953 %attr(755,root,root) %{_libexecdir}/%{name}/drop_sqlite3_tables
954 %attr(755,root,root) %{_libexecdir}/%{name}/grant_sqlite3_privileges
955 %attr(755,root,root) %{_libexecdir}/%{name}/make_sqlite3_tables
956 %attr(755,root,root) %{_libexecdir}/%{name}/update_sqlite3_*
957 %attr(755,root,root) %{_libdir}/libbacsql-dbi-5*.so
959 %ghost %attr(755,root,root) %{_libdir}/libbacsql-5*.so
963 %defattr(644,root,root,755)
965 %attr(600,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/bacula-fd.conf
966 %attr(754,root,root) /etc/rc.d/init.d/bacula-fd
967 %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/bacula-fd
968 %attr(755,root,root) %{_sbindir}/bacula-fd
969 %attr(755,root,root) %{_libdir}/bpipe-fd.so
970 %{_mandir}/man8/bacula-fd.8*
973 %defattr(644,root,root,755)
975 %attr(600,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/bacula-sd.conf
976 %attr(600,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/mtx-changer.conf
977 %attr(754,root,root) /etc/rc.d/init.d/bacula-sd
978 %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/bacula-sd
979 %attr(755,root,root) %{_sbindir}/bacula-sd
980 %attr(755,root,root) %{_sbindir}/bcopy
981 %attr(755,root,root) %{_sbindir}/bextract
982 %attr(755,root,root) %{_sbindir}/bls
983 %attr(755,root,root) %{_sbindir}/bscan
984 %attr(755,root,root) %{_sbindir}/btape
985 %attr(755,root,root) %{_libexecdir}/%{name}/mtx-changer
986 %attr(755,root,root) %{_libexecdir}/%{name}/disk-changer
987 %attr(755,root,root) %{_libexecdir}/%{name}/dvd-handler
988 %{_mandir}/man8/bacula-sd.8*
989 %{_mandir}/man8/bcopy.8*
990 %{_mandir}/man8/bextract.8*
991 %{_mandir}/man8/bls.8*
992 %{_mandir}/man8/bscan.8*
993 %{_mandir}/man8/btape.8*
996 %defattr(644,root,root,755)
998 %attr(600,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/bconsole.conf
999 %attr(755,root,root) %{_sbindir}/bconsole
1000 %{_mandir}/man8/bconsole.8*
1002 %if %{with console_wx}
1004 %defattr(644,root,root,755)
1006 %{_pixmapsdir}/%{name}.png
1007 %{_desktopdir}/bacula-wx.desktop
1008 %attr(640,root,bacula) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/bwx-console.conf
1009 %attr(755,root,root) %{_sbindir}/bwx-console
1010 %{_mandir}/man1/bacula-bwxconsole.1*
1015 %defattr(644,root,root,755)
1017 %{_pixmapsdir}/%{name}.png
1018 %{_desktopdir}/bat.desktop
1019 # Do not make this file world-readable or any user will get full access to the
1021 %attr(640,root,bacula) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/bat.conf
1022 %attr(755,root,root) %{_bindir}/bat
1023 %{_mandir}/man1/bat.1*
1027 %if %{with console_wx}
1029 %defattr(644,root,root,755)
1031 %attr(755,root,root) %{_sbindir}/bacula-tray-monitor
1032 #%{_pixmapsdir}/%{name}-tray-monitor.xpm
1033 #%{_desktopdir}/%{name}-tray-monitor.desktop
1034 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/tray-monitor.conf
1035 %{_mandir}/man1/bacula-tray-monitor.1*
1040 %defattr(644,root,root,755)
1042 %dir %{_sysconfdir}/rescue
1043 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/rescue/backup.etc.list
1044 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/rescue/bacula-fd
1045 %attr(755,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/rescue/format_floppy
1046 %attr(755,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/rescue/getdiskinfo
1047 %attr(755,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/rescue/make_rescue_disk
1048 %attr(755,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/rescue/restore_bacula
1049 %attr(755,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/rescue/restore_etc
1050 %attr(755,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/rescue/run_grub
1051 %attr(755,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/rescue/run_lilo
1052 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/rescue/sfdisk.bz2
1056 %files -n nagios-plugin-check_bacula
1057 %defattr(644,root,root,755)
1058 %attr(755,root,root) %{nagiosplugindir}/check_bacula