2 # - update desktop files, think about su-wrappers for console
4 # - fix log file permissions
7 %bcond_without console_wx # wx-console program
8 %bcond_without gnome # gnome-console program
9 %bcond_without bat # bat Qt4 GUI
10 %bcond_without dbi # use Database Independent Abstraction Layer (libdbi)
11 %bcond_with mysql # use MySQL
12 %bcond_with pgsql # use PostgreSQL
15 %bcond_with sqlite # use SQLite
16 %bcond_with sqlite3 # use SQLite3 instead of SQLite 2
17 %bcond_with sqlite3_sync_off # makes SQLite3 backend much faster, but less reliable
23 %undefine with_sqlite3
26 %define database sqlite
30 %undefine with_sqlite3
33 %define database sqlite3
40 %define database postgresql
44 %undefine with_sqlite3
47 %define database mysql
51 %undefine with_sqlite3
54 %undefine with_sqlite3_sync_off
57 Summary: Bacula - The Network Backup Solution
58 Summary(pl.UTF-8): Bacula - rozwiązanie do wykonywania kopii zapasowych po sieci
63 License: extended GPL v2
64 Group: Networking/Utilities
65 Source0: http://dl.sourceforge.net/bacula/%{name}-%{version}.tar.gz
66 # Source0-md5: 52f4bc25d8988dffcff429bb5e1ee81b
67 Source1: http://dl.sourceforge.net/bacula/%{name}-docs-%{version}.tar.bz2
68 # Source1-md5: 456ec1f95a4fad967fdb32609f9d2490
69 Source2: http://dl.sourceforge.net/bacula/%{name}-rescue-%{version}.tar.gz
70 # Source2-md5: 9cc1e8d2f1a93468c071bdafa343e710
71 Source10: %{name}-dir.init
72 Source11: %{name}-fd.init
73 Source12: %{name}-sd.init
74 Source13: %{name}.logrotate
75 Source14: %{name}-dir.sysconfig
76 Source15: %{name}-fd.sysconfig
77 Source16: %{name}-sd.sysconfig
78 Patch0: %{name}-mtx-changer.patch
79 Patch1: %{name}-link.patch
80 Patch2: %{name}-tinfo-readline.patch
81 Patch3: %{name}-branding.patch
82 Patch4: %{name}-conf.patch
83 Patch5: %{name}-desktop.patch
84 Patch6: %{name}-64bitbuild_fix.patch
85 Patch7: %{name}-dbi_fixes.patch
86 URL: http://www.bacula.org/
87 BuildRequires: automake
88 %{?with_dbi:BuildRequires: libdbi-devel >= 0.8.4}
90 BuildRequires: fakeroot
93 BuildRequires: libgnome-devel >= 2.0
94 BuildRequires: libgnomeui-devel >= 2.0
96 BuildRequires: libwrap-devel
98 BuildRequires: ncurses-devel
99 BuildRequires: openssl-devel
100 BuildRequires: pkgconfig
102 BuildRequires: python-static
105 BuildRequires: QtCore-devel
106 BuildRequires: QtGui-devel
107 BuildRequires: qt4-build >= 4.3.3-3
108 BuildRequires: qt4-qmake >= 4.3.3-3
109 BuildRequires: qwt-devel >= 5.0.2-2
111 %{?with_mysql:BuildRequires: mysql-devel}
112 %{?with_pgsql:BuildRequires: postgresql-devel}
113 BuildRequires: readline-devel
114 BuildRequires: rpmbuild(macros) >= 1.268
115 BuildRequires: sed >= 4.0
116 %{?with_sqlite:BuildRequires: sqlite-devel}
117 %{?with_sqlite3:BuildRequires: sqlite3-devel}
118 %if %{with console_wx}
119 BuildRequires: wxGTK2-unicode-devel >= 2.4.0
121 BuildRequires: zlib-devel
122 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
124 %define _sysconfdir /etc/%{name}
125 %define _localstatedir /var/lib/%{name}
127 # dependency section is broken. ccache usage is instead to makefiles
128 %undefine with_ccache
131 Bacula - It comes by night and sucks the vital essence from your
134 Bacula is a set of computer programs that permit you (or the system
135 administrator) to manage backup, recovery, and verification of
136 computer data across a network of computers of different kinds. In
137 technical terms, it is a network client/server based backup program.
138 Bacula is relatively easy to use and efficient, while offering many
139 advanced storage management features that make it easy to find and
140 recover lost or damaged files.
142 %description -l pl.UTF-8
143 Bacula - przychodzi nocą i wysysa żywotny ekstrakt z komputerów.
145 Bacula to zbiór programów umożliwiających administratorowi na
146 zarządzanie kopiami zapasowymi, odzyskiwaniem i weryfikacją danych w
147 sieci komputerów różnego rodzaju. W terminologii technicznej jest to
148 program do kopii zapasowych pracujący w architekturze klient-serwer.
149 Bacula jest stosunkowo łatwa w użyciu i wydajna, oferując przy tym
150 wiele zaawansowanych możliwości przy zarządzaniu nośnikami,
151 ułatwiających znalezienie i odzyskanie utraconych lub uszkodzonych
155 Summary: Common files for bacula package
156 Summary(pl.UTF-8): Pliki wspólne dla pakietu bacula
157 Group: Networking/Utilities
158 Requires(post): openssl-tools
159 Requires(post): sed >= 4.0
160 Requires(post,preun): /sbin/chkconfig
161 Requires(postun): /usr/sbin/groupdel
162 Requires(postun): /usr/sbin/userdel
163 Requires(pre): /usr/sbin/groupadd
164 Requires(pre): /usr/sbin/useradd
165 Conflicts: bacula-console < 0:1.34.6
166 Conflicts: bacula-dir < 0:1.34.6
167 Conflicts: bacula-fd < 0:1.34.6
168 Conflicts: bacula-sd < 0:1.34.6
171 Bacula - It comes by night and sucks the vital essence from your
174 Bacula is a set of computer programs that permit you (or the system
175 administrator) to manage backup, recovery, and verification of
176 computer data across a network of computers of different kinds. In
177 technical terms, it is a network client/server based backup program.
178 Bacula is relatively easy to use and efficient, while offering many
179 advanced storage management features that make it easy to find and
180 recover lost or damaged files.
182 %description common -l pl.UTF-8
183 Bacula - przychodzi nocą i wysysa żywotny ekstrakt z komputerów.
185 Bacula to zbiór programów umożliwiających administratorowi na
186 zarządzanie kopiami zapasowymi, odzyskiwaniem i weryfikacją danych w
187 sieci komputerów różnego rodzaju. W terminologii technicznej jest to
188 program do kopii zapasowych pracujący w architekturze klient-serwer.
189 Bacula jest stosunkowo łatwa w użyciu i wydajna, oferując przy tym
190 wiele zaawansowanych możliwości przy zarządzaniu nośnikami,
191 ułatwiających znalezienie i odzyskanie utraconych lub uszkodzonych
195 Summary: Bacula Director and Catalog services
196 Summary(pl.UTF-8): Usługi Bacula Director i Catalog
197 Group: Networking/Utilities
198 Requires(post): sed >= 4.0
199 Requires: %{name}-common = %{epoch}:%{version}-%{release}
200 Obsoletes: bacula-updatedb
203 Bacula - It comes by night and sucks the vital essence from your
206 Bacula Director is the program that supervises all the backup,
207 restore, verify and archive operations. The system administrator uses
208 the Bacula Director to schedule backups and to recover files. Catalog
209 services are comprised of the software programs responsible for
210 maintaining the file indexes and volume databases for all files backed
211 up. The Catalog services permit the System Administrator or user to
212 quickly locate and restore any desired file, since it maintains a
213 record of all Volumes used, all Jobs run, and all Files saved.
215 %description dir -l pl.UTF-8
216 Bacula - przychodzi nocą i wysysa żywotny ekstrakt z komputerów.
218 Bacula Director to program nadzorujący wszystkie operacje wykonywania
219 kopii zapasowych, odzyskiwania, weryfikacji i archiwizowania.
220 Administrator używa Bacula Directora do szeregowania kopii zapasowych
221 oraz odzyskiwania plików. Usługi katalogowe (Catalog services) są
222 używane przez programy odpowiedzialne za zarządzanie indeksami plików
223 i bazą danych wolumenów dla wszystkich kopiowanych plików. Usługi
224 katalogowe umożliwiają administratorowi lub użytkownikowi szybko
225 zlokalizować i odtworzyć dowolny plik, ponieważ utrzymują rekord ze
226 wszystkimi używanymi wolumenami, uruchomionymi zadaniami i zapisanymi
230 Summary: Bacula Console
231 Summary(pl.UTF-8): Konsola Baculi
232 Group: Networking/Utilities
233 Requires(post): sed >= 4.0
234 Requires: %{name}-common = %{epoch}:%{version}-%{release}
237 Bacula - It comes by night and sucks the vital essence from your
240 Bacula Console is the program that allows the administrator or user to
241 communicate with the Bacula Director. This is the text only console
244 %description console -l pl.UTF-8
245 Bacula - przychodzi nocą i wysysa żywotny ekstrakt z komputerów.
247 Bacula Console to program umożliwiający administratorowi lub
248 użytkownikowi komunikowanie się z programem Bacula Director. To jest
249 interfejs czysto tekstowy.
252 Summary: Bacula wxWidgets Console
253 Summary(pl.UTF-8): Konsola Baculi oparta na wxWidgets
254 Group: Networking/Utilities
255 Requires(post): sed >= 4.0
256 Requires: %{name}-common = %{epoch}:%{version}-%{release}
258 %description console-wx
259 Bacula - It comes by night and sucks the vital essence from your
262 Bacula Console is the program that allows the administrator or user to
263 communicate with the Bacula Director. This is the wxWidgets GUI
266 %description console-wx -l pl.UTF-8
267 Bacula - przychodzi nocą i wysysa żywotny ekstrakt z komputerów.
269 Bacula Console to program umożliwiający administratorowi lub
270 użytkownikowi komunikowanie się z programem Bacula Director. To jest
271 interfejs graficzny oparty na wxWidgets.
273 %package console-gnome
274 Summary: Bacula GNOME Console
275 Summary(pl.UTF-8): Konsola Baculi oparta dla GNOME
276 Group: Networking/Utilities
277 Requires(post): sed >= 4.0
278 Requires: %{name}-common = %{epoch}:%{version}-%{release}
280 %description console-gnome
281 Bacula - It comes by night and sucks the vital essence from your
284 Bacula Console is the program that allows the administrator or user to
285 communicate with the Bacula Director. This is the GNOME GUI interface.
287 %description console-gnome -l pl.UTF-8
288 Bacula - przychodzi nocą i wysysa żywotny ekstrakt z komputerów.
290 Bacula Console to program umożliwiający administratorowi lub
291 użytkownikowi komunikowanie się z programem Bacula Director. To jest
292 interfejs graficzny oparty na GNOME.
295 Summary: Bacula Qt4 Console
296 Summary(pl.UTF-8): Konsola Baculi oparta na Qt4
297 Group: Networking/Utilities
298 Requires(post): sed >= 4.0
299 Requires: %{name}-common = %{epoch}:%{version}-%{release}
301 %description console-qt4
302 Bacula - It comes by night and sucks the vital essence from your
305 Bacula Console is the program that allows the administrator or user to
306 communicate with the Bacula Director. This is the Qt4 GUI interface.
308 %description console-qt4 -l pl.UTF-8
309 Bacula - przychodzi nocą i wysysa żywotny ekstrakt z komputerów.
311 Bacula Console to program umożliwiający administratorowi lub
312 użytkownikowi komunikowanie się z programem Bacula Director. To jest
313 interfejs graficzny oparty na Qt4.
315 %package tray-monitor
316 Summary: Bacula Tray Monitor
317 Group: Networking/Utilities
318 Requires(post): sed >= 4.0
319 Requires: %{name}-common = %{epoch}:%{version}-%{release}
321 %description tray-monitor
322 Bacula - It comes by night and sucks the vital essence from your
325 The Monitor program is typically an icon in the system tray. However,
326 once the icon is expanded into a full window, the administrator or
327 user can obtain status information about the Director or the backup
328 status on the local workstation or any other Bacula daemon that is
332 Summary: Bacula File services (Client)
333 Summary(pl.UTF-8): Usługi Bacula File (klient)
334 Group: Networking/Utilities
335 Requires(post): sed >= 4.0
336 Requires: %{name}-common = %{epoch}:%{version}-%{release}
339 Bacula - It comes by night and sucks the vital essence from your
342 Bacula File services (or Client program) is the software program that
343 is installed on the machine to be backed up. It is specific to the
344 operating system on which it runs and is responsible for providing the
345 file attributes and data when requested by the Director. The File
346 services are also responsible for the file system dependent part of
347 restoring the file attributes and data during a recovery operation.
348 This program runs as a daemon on the machine to be backed up, and in
349 some of the documentation, the File daemon is referred to as the
350 Client (for example in Bacula configuration file).
352 %description fd -l pl.UTF-8
353 Bacula - przychodzi nocą i wysysa żywotny ekstrakt z komputerów.
355 Usługi Bacula File (inaczej program kliencki) to oprogramowanie, które
356 instaluje się na maszynach, z których mają być wykonywane kopie
357 zapasowe. Są one specyficzne dla systemu operacyjnego, pod którym
358 działa dana maszyna i odpowiadają za dostarczanie atrybutów i danych
359 plików na żądanie Directora. Usługi plikowe są także odpowiedzialne za
360 zależną od systemu plików część odzyskiwania atrybutów i danych plików
361 podczas operacji odzyskiwania danych. Program działa jako demon na
362 maszynie, która ma być backupowana i w części dokumentacji demon ten
363 (File) jest nazywany klientem (na przykład w pliku konfiguracyjnym
367 Summary: Bacula Storage services
368 Summary(pl.UTF-8): Usługi Bacula Storage
369 Group: Networking/Utilities
370 Requires(post): sed >= 4.0
371 Requires: %{name}-common = %{epoch}:%{version}-%{release}
372 Conflicts: dvd+rw-tools <= 5.21.4.10.8-1
375 Bacula - It comes by night and sucks the vital essence from your
378 Bacula Storage services consist of the software programs that perform
379 the storage and recovery of the file attributes and data to the
380 physical backup media or volumes. In other words, the Storage daemon
381 is responsible for reading and writing your tapes (or other storage
382 media, e.g. files). The Storage services runs as a daemon on the
383 machine that has the backup device (usually a tape drive).
385 %description sd -l pl.UTF-8
386 Bacula - przychodzi nocą i wysysa żywotny ekstrakt z komputerów.
388 Usługi Bacula Storage składają się z programów obsługujących
389 przechowywanie danych oraz odzyskiwanie atrybutów i danych na
390 fizycznych nośnikach lub wolumenach. Innymi słowy, demon Storage jest
391 odpowiedzialny za odczyt i zapis taśm (lub innych nośników do
392 przechowywania danych, np. plików). Usługi Storage działają jako demon
393 na maszynie, która zawiera urządzenie backupowe (zwykle napęd
397 Summary: Bacula - The Network Backup Solution
398 Summary(pl.UTF-8): Bacula - rozwiązanie do wykonywania kopii zapasowych po sieci
399 Group: Networking/Utilities
400 Requires: %{name}-fd = %{epoch}:%{version}-%{release}
405 Bacula - It comes by night and sucks the vital essence from your
408 Bacula is a set of computer programs that permit you (or the system
409 administrator) to manage backup, recovery, and verification of
410 computer data across a network of computers of different kinds. In
411 technical terms, it is a network client/server based backup program.
412 Bacula is relatively easy to use and efficient, while offering many
413 advanced storage management features that make it easy to find and
414 recover lost or damaged files.
416 This package installs scripts for disaster recovery and builds rescue
417 floppy disk for bare metal recovery.
419 To make the bacula rescue disk run "./make_rescue_disk
421 - --copy-etc-files" from the %{_sysconfdir}/rescue directory. To
422 recreate the rescue information for this system run ./getdiskinfo
425 %description rescue -l pl.UTF-8
426 Bacula - przychodzi nocą i wysysa żywotny ekstrakt z komputerów.
428 Bacula to zbiór programów umożliwiających administratorowi na
429 zarządzanie kopiami zapasowymi, odzyskiwaniem i weryfikacją danych w
430 sieci komputerów różnego rodzaju. W terminologii technicznej jest to
431 program do kopii zapasowych pracujący w architekturze klient-serwer.
432 Bacula jest stosunkowo łatwa w użyciu i wydajna, oferując przy tym
433 wiele zaawansowanych możliwości przy zarządzaniu nośnikami,
434 ułatwiających znalezienie i odzyskanie utraconych lub uszkodzonych
437 Ten pakiet zawiera skrypty do odtwarzania po awarii i tworzy dyskietkę
438 ratunkowe do odtwarzania systemu od zera.
440 Aby stworzyć dyskietkę ratunkową Baculi, należy uruchomić "./make_rescue_disk
441 --copy-static-bacula - --copy-etc-files" z katalogu
442 %{_sysconfdir}/rescue . Aby ponownie utworzyć informacje ratunkowe dla
443 danego systemu, należy ponownie uruchomić ./getdiskinfo .
454 %{?with_dbi:%patch7 -p1}
456 tar -xf %{SOURCE2} && ln -s bacula-rescue-* rescue
458 sed -i -e 's#bindir=.*#bindir=%{_bindir}#g' \
459 src/cats/create_* src/cats/delete_* src/cats/drop_* \
460 src/cats/grant_* src/cats/make_* src/cats/update_*
461 sed -i -e 's/@hostname@/--hostname--/' src/*/*.conf.in
464 for dbtype in bdb mysql postgresql sqlite3 sqlite; do
465 sed -i -e "s,@DB_TYPE@,$dbtype,g" src/cats/*_${dbtype}_*
470 cp -f %{_datadir}/automake/config.sub autoconf
471 cd autoconf && %{__aclocal} -I bacula-macros -I gettext-macros && cd ..
472 %{__autoconf} --prepend-include=$(pwd)/autoconf autoconf/configure.in > configure
474 CPPFLAGS="-I/usr/include/ncurses -I%{_includedir}/readline"
475 WXCONFIG=%{_bindir}/wx-gtk2-unicode-config \
477 --with-scriptdir=%{_libexecdir}/%{name} \
478 --%{!?with_gnome:dis}%{?with_gnome:en}able-gnome \
479 %{?with_bat:--enable-bat} \
481 --enable-smartalloc \
482 %{?with_console_wx:--enable-bwx-console} \
483 --enable-tray-monitor \
484 %{?with_python:--with-python} \
486 --with-tcp-wrappers \
487 --with-working-dir=%{_var}/lib/%{name} \
488 --with-dump-email="root@localhost" \
489 --with-job-email="root@localhost" \
490 --with-smtp-host=localhost \
491 --with-pid-dir=/var/run \
492 --with-subsys-dir=/var/lock/subsys \
493 --enable-batch-insert \
495 %{?with_sqlite3_sync_off:--enable-extra-sqlite3-init="pragma synchronous=0;"} \
496 --with-dir-password="#FAKE-dir-password#" \
497 --with-fd-password="#FAKE-fd-password#" \
498 --with-sd-password="#FAKE-sd-password#" \
499 --with-mon-dir-password="#FAKE-mon-dir-password#" \
500 --with-mon-fd-password="#FAKE-mon-fd-password#" \
501 --with-mon-sd-password="#FAKE-mon-sd-password#" \
521 rm -rf $RPM_BUILD_ROOT
523 install -d $RPM_BUILD_ROOT/etc/{rc.d/init.d,logrotate.d,pam.d,sysconfig}
524 install -d $RPM_BUILD_ROOT%{_sysconfdir}/rescue
525 install -d $RPM_BUILD_ROOT{%{_pixmapsdir},%{_desktopdir},%{_mandir},%{_bindir},/var/log/bacula}
528 DESTDIR=$RPM_BUILD_ROOT
530 install %{SOURCE10} $RPM_BUILD_ROOT/etc/rc.d/init.d/bacula-dir
531 install %{SOURCE11} $RPM_BUILD_ROOT/etc/rc.d/init.d/bacula-fd
532 install %{SOURCE12} $RPM_BUILD_ROOT/etc/rc.d/init.d/bacula-sd
533 install %{SOURCE13} $RPM_BUILD_ROOT/etc/logrotate.d/%{name}-dir
534 install %{SOURCE14} $RPM_BUILD_ROOT/etc/sysconfig/bacula-dir
535 install %{SOURCE15} $RPM_BUILD_ROOT/etc/sysconfig/bacula-fd
536 install %{SOURCE16} $RPM_BUILD_ROOT/etc/sysconfig/bacula-sd
538 %if %{with console_wx}
539 # tray-monitor is for regular users
540 mv $RPM_BUILD_ROOT%{_sbindir}/bacula-tray-monitor $RPM_BUILD_ROOT%{_bindir}
542 install scripts/bacula.png $RPM_BUILD_ROOT%{_pixmapsdir}/bacula.png
543 install src/tray-monitor/generic.xpm $RPM_BUILD_ROOT%{_pixmapsdir}/bacula-tray-monitor.xpm
544 install scripts/bacula.desktop.gnome2 $RPM_BUILD_ROOT%{_desktopdir}/bacula.desktop
545 sed -e 's/gnome-console/wx-console/g;s/Console/Wx Console/g' \
546 scripts/bacula.desktop.gnome2 > $RPM_BUILD_ROOT%{_desktopdir}/bacula-wx.desktop
547 sed -e 's#%{_sbindir}#%{_bindir}#' \
548 scripts/bacula-tray-monitor.desktop > $RPM_BUILD_ROOT%{_desktopdir}/bacula-tray-monitor.desktop
552 install src/qt-console/.libs/bat $RPM_BUILD_ROOT%{_sbindir}
553 install scripts/bat.desktop $RPM_BUILD_ROOT%{_desktopdir}
557 # install the rescue stuff, these are the rescue scripts
558 install rescue/linux/floppy/backup.etc.list $RPM_BUILD_ROOT%{_sysconfdir}/rescue
559 install rescue/linux/floppy/*_* $RPM_BUILD_ROOT%{_sysconfdir}/rescue
560 install rescue/linux/floppy/getdiskinfo $RPM_BUILD_ROOT%{_sysconfdir}/rescue
561 install rescue/linux/floppy/sfdisk.bz2 $RPM_BUILD_ROOT%{_sysconfdir}/rescue
564 touch $RPM_BUILD_ROOT/var/log/bacula/log
566 # install the updatedb scripts
567 install updatedb/update_sqlite* $RPM_BUILD_ROOT%{_libexecdir}/%{name}
569 # place for site passwords
570 touch $RPM_BUILD_ROOT%{_sysconfdir}/{dir-password,fd-password,sd-password}
571 touch $RPM_BUILD_ROOT%{_sysconfdir}/{mon-dir-password,mon-fd-password,mon-sd-password}
573 install scripts/mtx-changer.conf $RPM_BUILD_ROOT%{_sysconfdir}/
576 rm -f $RPM_BUILD_ROOT%{_libexecdir}/%{name}/{gconsole,startmysql,stopmysql,bacula,bconsole,fd}
577 %if !%{with console_wx}
578 rm -f $RPM_BUILD_ROOT%{_desktopdir}/bacula-wx.desktop
580 touch $RPM_BUILD_ROOT%{_sysconfdir}/.pw.sed
583 rm -rf $RPM_BUILD_ROOT
586 %groupadd -P %{name}-common -g 136 -r -f bacula
587 %useradd -P %{name}-common -u 136 -r -d /var/lib/bacula -s /bin/false -c "Bacula User" -g bacula bacula
591 echo "Updating bacula passwords and names..."
593 for f in *-password ; do
594 if [ ! -s $f ] ; then
595 openssl rand -base64 33 > $f
598 for cf in *.conf *.conf.rpmnew ; do
599 [ -f $cf ] && sed -i -e"s:#FAKE-$f#:$p:" "$cf" || :
602 for cf in *.conf *.conf.rpmnew ; do
603 [ -f $cf ] && sed -i -e"s:--hostname--:`hostname`:" "$cf" || :
608 if [ "$1" = "0" ]; then
616 # XXX: Most of this upgrade procedure is safe for sqlite only. Other databases would require knowledge
617 # about currently used version so we can't easily support these :(
619 %if %{with sqlite} || %{with sqlite3}
620 [ -s %{_localstatedir}/bacula.db ] && \
621 DB_VER=`echo "select * from Version;" | \
622 %{_bindir}/sqlite%{?with_sqlite3:3} %{_localstatedir}/bacula.db | tail -n 1 2>/dev/null`
624 if [ -z "$DB_VER" ]; then
625 # grant privileges and create tables
626 %{_libexecdir}/%{name}/grant_bacula_privileges > dev/null
627 %{_libexecdir}/%{name}/create_bacula_database > dev/null
628 %{_libexecdir}/%{name}/make_bacula_tables > dev/null
630 echo "Backing up bacula tables"
631 echo ".dump" | sqlite%{?with_sqlite3:3} %{_localstatedir}/bacula.db | bzip2 > %{_localstatedir}/bacula_backup.sql.bz2
633 db_type="%{database}"
635 next_ver=$(($DB_VER + 1))
636 # support up to version 30; increase this if needed
637 for ver in $(seq $next_ver 30); do
638 prev_ver=$(($ver - 1))
640 if [ -x %{_libexecdir}/%{name}/update_${type}_tables_${prev_ver}_to_${ver} ]; then
641 echo "Upgrading bacula database: db=${db_type} from ${prev_ver} to ${ver}..."
642 %{_libexecdir}/%{name}/update_${type}_tables_${prev_ver}_to_${ver}
646 %{_libexecdir}/%{name}/update_bacula_tables
647 echo "If bacula works correctly you can remove the backup file %{_localstatedir}/bacula_backup.sql.bz2"
649 chown -R bacula:bacula %{_localstatedir}
650 chmod -R u+rX,go-rwx %{_localstatedir}/*
653 echo "Updating Bacula passwords and names..."
655 for f in *-password; do
657 sed -i -e"s:#FAKE-$f#:$p:" *.conf *.conf.rpmnew 2>/dev/null || :
659 sed -i -e"s:--hostname--:`hostname`:" *.conf *.conf.rpmnew 2>/dev/null || :
661 /sbin/chkconfig --add bacula-dir
662 %service bacula-dir restart "Bacula Director daemon"
665 if [ "$1" = "0" ]; then
666 %service bacula-dir stop
667 /sbin/chkconfig --del bacula-dir
671 echo "Updating Bacula passwords and names..."
673 for f in *-password; do
675 sed -i -e"s:#FAKE-$f#:$p:" *.conf *.conf.rpmnew 2>/dev/null || :
677 sed -i -e"s:--hostname--:`hostname`:" *.conf *.conf.rpmnew 2>/dev/null || :
679 /sbin/chkconfig --add bacula-fd
680 %service bacula-fd restart "Bacula File daemon"
683 if [ "$1" = "0" ]; then
684 %service bacula-fd stop
685 /sbin/chkconfig --del bacula-fd
689 echo "Updating Bacula passwords and names..."
691 for f in *-password; do
693 sed -i -e"s:#FAKE-$f#:$p:" *.conf *.conf.rpmnew 2>/dev/null || :
695 sed -i -e"s:--hostname--:`hostname`:" *.conf *.conf.rpmnew 2>/dev/null || :
697 /sbin/chkconfig --add bacula-sd
698 %service bacula-sd restart "Bacula Storage daemon"
701 if [ "$1" = "0" ]; then
702 %service bacula-sd stop
703 /sbin/chkconfig --del bacula-sd
707 if [ -e %{_sysconfdir}/console.conf -a ! -e %{_sysconfdir}/bconsole.conf ]; then
708 mv %{_sysconfdir}/console.conf %{_sysconfdir}/bconsole.conf
712 echo "Updating Bacula passwords and names..."
714 for f in *-password; do
716 sed -i -e"s:#FAKE-$f#:$p:" *.conf *.conf.rpmnew 2>/dev/null || :
718 sed -i -e"s:--hostname--:`hostname`:" *.conf *.conf.rpmnew 2>/dev/null || :
721 echo "Updating Bacula passwords and names..."
723 for f in *-password; do
725 sed -i -e"s:#FAKE-$f#:$p:" *.conf *.conf.rpmnew 2>/dev/null || :
727 sed -i -e"s:--hostname--:`hostname`:" *.conf *.conf.rpmnew 2>/dev/null || :
730 echo "Updating Bacula passwords and names..."
732 for f in *-password; do
734 sed -i -e"s:#FAKE-$f#:$p:" *.conf *.conf.rpmnew 2>/dev/null || :
736 sed -i -e"s:--hostname--:`hostname`:" *.conf *.conf.rpmnew 2>/dev/null || :
739 echo "Updating Bacula passwords and names..."
741 for f in *-password; do
743 sed -i -e"s:#FAKE-$f#:$p:" *.conf *.conf.rpmnew 2>/dev/null || :
745 sed -i -e"s:--hostname--:`hostname`:" *.conf *.conf.rpmnew 2>/dev/null || :
748 echo "Updating Bacula passwords and names..."
750 for f in *-password; do
752 sed -i -e"s:#FAKE-$f#:$p:" *.conf *.conf.rpmnew 2>/dev/null || :
754 sed -i -e"s:--hostname--:`hostname`:" *.conf *.conf.rpmnew 2>/dev/null || :
757 # link our current installed conf file to the rescue directory
758 ln -sf %{_sysconfdir}/bacula-fd.conf %{_sysconfdir}/rescue/bacula-fd.conf
761 echo "Creating rescue files for this system..."
762 cd %{_sysconfdir}/rescue
766 # remove the files created after the initial rpm installation
767 if [ "$1" = "0" ]; then
768 rm -f %{_sysconfdir}/rescue/bacula-fd.conf
769 rm -f %{_sysconfdir}/rescue/partition.*
770 rm -f %{_sysconfdir}/rescue/format.*
771 rm -f %{_sysconfdir}/rescue/mount_drives
772 rm -f %{_sysconfdir}/rescue/start_network
773 rm -f %{_sysconfdir}/rescue/sfdisk
774 rm -rf %{_sysconfdir}/rescue/diskinfo/*
778 %defattr(644,root,root,755)
781 %attr(600,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/*-password
782 %attr(755,root,root) %{_sbindir}/bsmtp
783 %attr(755,root,root) %{_sbindir}/btraceback
784 %attr(755,root,root) /%{_libdir}/libbac.so.1.*.*
785 %attr(755,root,root) %ghost /%{_libdir}/libbac.so.1
786 %attr(755,root,root) /%{_libdir}/libbaccfg.so.1.*.*
787 %attr(755,root,root) %ghost /%{_libdir}/libbaccfg.so.1
788 %attr(755,root,root) /%{_libdir}/libbacfind.so.1.*.*
789 %attr(755,root,root) %ghost /%{_libdir}/libbacfind.so.1
790 %attr(755,root,root) /%{_libdir}/libbacpy.so.1.*.*
791 %attr(755,root,root) %ghost /%{_libdir}/libbacpy.so.1
792 %attr(755,root,root) /%{_libdir}/libbacsql.so.1.*.*
793 %attr(755,root,root) %ghost /%{_libdir}/libbacsql.so.1
794 %{_mandir}/man8/bacula.8*
795 %{_mandir}/man1/bsmtp.1*
796 %{_mandir}/man8/btraceback.8*
797 %dir %{_libexecdir}/%{name}
798 %{_libexecdir}/%{name}/btraceback.dbx
799 %{_libexecdir}/%{name}/btraceback.gdb
800 %attr(770,root,bacula) %dir %{_localstatedir}
801 %attr(750,bacula,logs) %dir /var/log/bacula
802 %attr(640,bacula,logs) %ghost /var/log/bacula/log
805 %defattr(644,root,root,755)
806 %doc ChangeLog CheckList ReleaseNotes kernstodo LICENSE
807 #%doc examples %{name}-docs-%{version}/manual/{*.pdf,bacula}
808 %attr(640,root,bacula) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/bacula-dir.conf
809 %ghost %{_sysconfdir}/.pw.sed
810 %attr(640,root,root) %config(noreplace) /etc/logrotate.d/bacula-dir
811 %attr(754,root,root) /etc/rc.d/init.d/bacula-dir
812 %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/bacula-dir
813 %attr(755,root,root) %{_sbindir}/bacula-dir
814 %attr(755,root,root) %{_sbindir}/bregex
815 %attr(755,root,root) %{_sbindir}/bwild
816 %attr(755,root,root) %{_sbindir}/dbcheck
817 %{_mandir}/man8/bacula-dir.8*
818 %{_mandir}/man8/dbcheck.8*
819 %{_libexecdir}/%{name}/query.sql
820 %if %{with bdb} || %{with dbi}
821 %attr(755,root,root) %{_libexecdir}/%{name}/create_bdb_database
822 %attr(755,root,root) %{_libexecdir}/%{name}/drop_bdb_database
823 %attr(755,root,root) %{_libexecdir}/%{name}/drop_bdb_tables
824 %attr(755,root,root) %{_libexecdir}/%{name}/grant_bdb_privileges
825 %attr(755,root,root) %{_libexecdir}/%{name}/make_bdb_tables
826 %attr(755,root,root) %{_libexecdir}/%{name}/update_bdb_*
828 %if %{with sqlite3} || %{with dbi}
829 %attr(755,root,root) %{_libexecdir}/%{name}/create_sqlite3_database
830 %attr(755,root,root) %{_libexecdir}/%{name}/drop_sqlite3_database
831 %attr(755,root,root) %{_libexecdir}/%{name}/drop_sqlite3_tables
832 %attr(755,root,root) %{_libexecdir}/%{name}/grant_sqlite3_privileges
833 %attr(755,root,root) %{_libexecdir}/%{name}/make_sqlite3_tables
834 %attr(755,root,root) %{_libexecdir}/%{name}/update_sqlite3_*
836 %if %{with sqlite} || %{with dbi}
837 %attr(755,root,root) %{_libexecdir}/%{name}/create_sqlite_database
838 %attr(755,root,root) %{_libexecdir}/%{name}/drop_sqlite_database
839 %attr(755,root,root) %{_libexecdir}/%{name}/drop_sqlite_tables
840 %attr(755,root,root) %{_libexecdir}/%{name}/grant_sqlite_privileges
841 %attr(755,root,root) %{_libexecdir}/%{name}/make_sqlite_tables
842 %attr(755,root,root) %{_libexecdir}/%{name}/update_sqlite_*
844 %if %{with mysql} || %{with dbi}
845 %attr(755,root,root) %{_libexecdir}/%{name}/create_mysql_database
846 %attr(755,root,root) %{_libexecdir}/%{name}/drop_mysql_database
847 %attr(755,root,root) %{_libexecdir}/%{name}/drop_mysql_tables
848 %attr(755,root,root) %{_libexecdir}/%{name}/grant_mysql_privileges
849 %attr(755,root,root) %{_libexecdir}/%{name}/make_mysql_tables
850 %attr(755,root,root) %{_libexecdir}/%{name}/update_mysql_*
852 %if %{with pgsql} || %{with dbi}
853 %attr(755,root,root) %{_libexecdir}/%{name}/create_postgresql_database
854 %attr(755,root,root) %{_libexecdir}/%{name}/drop_postgresql_database
855 %attr(755,root,root) %{_libexecdir}/%{name}/drop_postgresql_tables
856 %attr(755,root,root) %{_libexecdir}/%{name}/grant_postgresql_privileges
857 %attr(755,root,root) %{_libexecdir}/%{name}/make_postgresql_tables
858 %attr(755,root,root) %{_libexecdir}/%{name}/update_postgresql_*
861 %attr(755,root,root) %{_libexecdir}/%{name}/create_bacula_database
862 %attr(755,root,root) %{_libexecdir}/%{name}/drop_bacula_database
863 %attr(755,root,root) %{_libexecdir}/%{name}/drop_bacula_tables
864 %attr(755,root,root) %{_libexecdir}/%{name}/grant_bacula_privileges
865 %attr(755,root,root) %{_libexecdir}/%{name}/make_bacula_tables
866 %attr(755,root,root) %{_libexecdir}/%{name}/update_bacula_tables
868 %attr(755,root,root) %{_libexecdir}/%{name}/make_catalog_backup
869 %attr(755,root,root) %{_libexecdir}/%{name}/delete_catalog_backup
872 %defattr(644,root,root,755)
874 %attr(600,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/bacula-fd.conf
875 %attr(754,root,root) /etc/rc.d/init.d/bacula-fd
876 %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/bacula-fd
877 %attr(755,root,root) %{_sbindir}/bacula-fd
878 %{_mandir}/man8/bacula-fd.8*
881 %defattr(644,root,root,755)
883 %attr(600,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/bacula-sd.conf
884 %attr(600,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/mtx-changer.conf
885 %attr(754,root,root) /etc/rc.d/init.d/bacula-sd
886 %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/bacula-sd
887 %attr(755,root,root) %{_sbindir}/bacula-sd
888 %attr(755,root,root) %{_sbindir}/bcopy
889 %attr(755,root,root) %{_sbindir}/bextract
890 %attr(755,root,root) %{_sbindir}/bls
891 %attr(755,root,root) %{_sbindir}/bscan
892 %attr(755,root,root) %{_sbindir}/btape
893 %attr(755,root,root) %{_libexecdir}/%{name}/mtx-changer
894 %attr(755,root,root) %{_libexecdir}/%{name}/disk-changer
895 %attr(755,root,root) %{_libexecdir}/%{name}/dvd-handler
896 %{_mandir}/man8/bacula-sd.8*
897 %{_mandir}/man8/bcopy.8*
898 %{_mandir}/man8/bextract.8*
899 %{_mandir}/man8/bls.8*
900 %{_mandir}/man8/bscan.8*
901 %{_mandir}/man8/btape.8*
904 %defattr(644,root,root,755)
906 %attr(600,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/bconsole.conf
907 %attr(755,root,root) %{_sbindir}/bconsole
908 %{_mandir}/man8/bconsole.8*
910 %if %{with console_wx}
912 %defattr(644,root,root,755)
914 %{_pixmapsdir}/%{name}.png
915 %{_desktopdir}/bacula-wx.desktop
916 %attr(600,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/bwx-console.conf
917 %attr(755,root,root) %{_sbindir}/bwx-console
918 %{_mandir}/man1/bacula-bwxconsole.1*
923 %defattr(644,root,root,755)
925 %{_pixmapsdir}/%{name}.png
926 %{_desktopdir}/bacula.desktop
927 %attr(600,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/bgnome-console.conf
928 %attr(755,root,root) %{_sbindir}/bgnome-console
929 %{_mandir}/man1/bacula-bgnome-console.1*
934 %defattr(644,root,root,755)
936 %{_pixmapsdir}/%{name}.png
937 %{_desktopdir}/bat.desktop
938 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/bat.conf
939 %attr(755,root,root) %{_sbindir}/bat
940 %{_mandir}/man1/bat.1*
943 %if %{with console_wx}
945 %defattr(644,root,root,755)
947 %{_pixmapsdir}/%{name}-tray-monitor.xpm
948 %{_desktopdir}/%{name}-tray-monitor.desktop
949 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/tray-monitor.conf
950 %attr(755,root,root) %{_bindir}/bacula-tray-monitor
951 %{_mandir}/man1/bacula-tray-monitor.1*
956 %defattr(644,root,root,755)
958 %dir %{_sysconfdir}/rescue
959 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/rescue/backup.etc.list
960 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/rescue/bacula-fd
961 %attr(755,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/rescue/format_floppy
962 %attr(755,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/rescue/getdiskinfo
963 %attr(755,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/rescue/make_rescue_disk
964 %attr(755,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/rescue/restore_bacula
965 %attr(755,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/rescue/restore_etc
966 %attr(755,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/rescue/run_grub
967 %attr(755,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/rescue/run_lilo
968 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/rescue/sfdisk.bz2