# TODO:
-# - files section
-# - rpm scripts
+# - update desktop files, think about su-wrappers for console
+# - package web admin
+# - fix log file permissions
+#
+# Conditional build:
+%bcond_without console_wx # wx-console program
+%bcond_without gnome # gnome-console program
+%bcond_with python
+%bcond_with rescue
#
Summary: Bacula - The Network Backup Solution
+Summary(pl): Bacula - rozwi±zanie do wykonywania kopii zapasowych po sieci
Name: bacula
-Version: 1.34.6
+Version: 2.0.0
Release: 0.1
+Epoch: 0
+License: extended GPL v2
Group: Networking/Utilities
-License: GPL v2
Source0: http://dl.sourceforge.net/bacula/%{name}-%{version}.tar.gz
-# Source0-md5: c8aaef1429f9b37efce381f49f7bccb8
-Source1: http://www.tux.org/pub/distributions/tinylinux/tomsrtbt/tomsrtbt-2.0.103.tar.gz
-# Source1-md5: d5ee50efb28986d564547d5da5de2483
-Source2: %{name}-dir.init
-Source3: %{name}-fd.init
-Source4: %{name}-sd.init
-Source5: %{name}.logrotate
+# Source0-md5: fbf990e64eb895a674c52c0de5acf0cd
+Source1: %{name}-manpages.tar.bz2
+# Source1-md5: e4dae86d6574b360e831efd3913e7f4c
+Source2: http://dl.sourceforge.net/bacula/%{name}-docs-%{version}.tar.gz
+# Source2-md5: 9fe0efdf50c82f40f15b3ea6c7ad7ed6
+Source3: http://dl.sourceforge.net/bacula/%{name}-gui-%{version}.tar.gz
+# Source3-md5: c46b03dbdd9becfd56e109badcad3593
+Source4: http://dl.sourceforge.net/bacula/%{name}-rescue-%{version}.tar.gz
+# Source4-md5: 4a21381f16355193771a34fc2eb4e806
+Source10: %{name}-dir.init
+Source11: %{name}-fd.init
+Source12: %{name}-sd.init
+Source13: %{name}.logrotate
+Source14: %{name}-dir.sysconfig
+Source15: %{name}-fd.sysconfig
+Source16: %{name}-sd.sysconfig
+Patch0: %{name}-dvd-handler_path.patch
+Patch1: %{name}-dvd_append.patch
+Patch2: %{name}-link.patch
+Patch3: %{name}-compile.patch
+Patch4: %{name}-wx28.patch
URL: http://www.bacula.org/
+BuildRequires: acl-static
+BuildRequires: automake
+%{?with_rescue:BuildRequires: fakeroot}
+BuildRequires: glibc-static
+%if %{with gnome}
+BuildRequires: libgnome-devel >= 2.0
+BuildRequires: libgnomeui-devel >= 2.0
+%endif
+BuildRequires: libstdc++-static
+BuildRequires: libwrap-static
BuildRequires: mtx
-BuildRequires: wxGTK2-devel
+BuildRequires: ncurses-devel
BuildRequires: openssl-devel
+BuildRequires: openssl-static
BuildRequires: pkgconfig
-BuildRequires: ncurses-devel
+%{?with_python:BuildRequires: python-static}
BuildRequires: readline-devel
-BuildRequires: sqlite2-devel
-BuildRequires: libwrap-devel
+BuildRequires: rpmbuild(macros) >= 1.268
+BuildRequires: sed >= 4.0
+BuildRequires: sqlite-devel
+%if %{with console_wx}
+BuildRequires: wxGTK2-devel >= 2.4.0
+%endif
BuildRequires: zlib-devel
-BuildRequires: acl-devel
-BuildRequires: libstdc++-devel
-BuildRequires: glibc-static
-BuildRequires: acl-static
-BuildRequires: libwrap-static
-BuildRequires: libstdc++-static
-Provides: bacula-dir
-Provides: bacula-sd
-Provides: bacula-fd
-Provides: bacula-server
-Conflicts: bacula-client
+BuildRequires: zlib-static
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
%define _sysconfdir /etc/%{name}
+%define _localstatedir /var/lib/%{name}
+
+# dependency section is broken. ccache usage is instead to makefiles
+%undefine with_ccache
%description
Bacula - It comes by night and sucks the vital essence from your
technical terms, it is a network client/server based backup program.
Bacula is relatively easy to use and efficient, while offering many
advanced storage management features that make it easy to find and
-recover lost or damaged files. Bacula source code has been released
-under the GPL version 2 license.
-
-%package client
-Summary: Bacula - The Network Backup Solution
+recover lost or damaged files.
+
+%description -l pl
+Bacula - przychodzi noc± i wysysa ¿ywotny ekstrakt z komputerów.
+
+Bacula to zbiór programów umo¿liwiaj±cych administratorowi na
+zarz±dzanie kopiami zapasowymi, odzyskiwaniem i weryfikacj± danych w
+sieci komputerów ró¿nego rodzaju. W terminologii technicznej jest to
+program do kopii zapasowych pracuj±cy w architekturze klient-serwer.
+Bacula jest stosunkowo ³atwa w u¿yciu i wydajna, oferuj±c przy tym
+wiele zaawansowanych mo¿liwo¶ci przy zarz±dzaniu no¶nikami,
+u³atwiaj±cych znalezienie i odzyskanie utraconych lub uszkodzonych
+plików.
+
+%package common
+Summary: Common files for bacula package
+Summary(pl): Pliki wspólne dla pakietu bacula
Group: Networking/Utilities
-Provides: bacula-fd
-
-%description client
+Requires(post): openssl-tools
+Requires(post): sed >= 4.0
+Requires(post,preun): /sbin/chkconfig
+Requires(postun): /usr/sbin/groupdel
+Requires(postun): /usr/sbin/userdel
+Requires(pre): /usr/sbin/groupadd
+Requires(pre): /usr/sbin/useradd
+Conflicts: bacula-console < 0:1.34.6
+Conflicts: bacula-dir < 0:1.34.6
+Conflicts: bacula-fd < 0:1.34.6
+Conflicts: bacula-sd < 0:1.34.6
+
+%description common
Bacula - It comes by night and sucks the vital essence from your
computers.
technical terms, it is a network client/server based backup program.
Bacula is relatively easy to use and efficient, while offering many
advanced storage management features that make it easy to find and
-recover lost or damaged files. Bacula source code has been released
-under the GPL version 2 license.
+recover lost or damaged files.
+
+%description common -l pl
+Bacula - przychodzi noc± i wysysa ¿ywotny ekstrakt z komputerów.
+
+Bacula to zbiór programów umo¿liwiaj±cych administratorowi na
+zarz±dzanie kopiami zapasowymi, odzyskiwaniem i weryfikacj± danych w
+sieci komputerów ró¿nego rodzaju. W terminologii technicznej jest to
+program do kopii zapasowych pracuj±cy w architekturze klient-serwer.
+Bacula jest stosunkowo ³atwa w u¿yciu i wydajna, oferuj±c przy tym
+wiele zaawansowanych mo¿liwo¶ci przy zarz±dzaniu no¶nikami,
+u³atwiaj±cych znalezienie i odzyskanie utraconych lub uszkodzonych
+plików.
+
+%package dir
+Summary: Bacula Director and Catalog services
+Summary(pl): Us³ugi Bacula Director i Catalog
+Group: Networking/Utilities
+Requires(post): sed >= 4.0
+Requires: %{name}-common = %{epoch}:%{version}-%{release}
+Obsoletes: bacula-updatedb
-This is the File daemon (Client) only package. It includes the command
-line console program.
+%description dir
+Bacula - It comes by night and sucks the vital essence from your
+computers.
-%package rescue
+Bacula Director is the program that supervises all the backup,
+restore, verify and archive operations. The system administrator uses
+the Bacula Director to schedule backups and to recover files. Catalog
+services are comprised of the software programs responsible for
+maintaining the file indexes and volume databases for all files backed
+up. The Catalog services permit the System Administrator or user to
+quickly locate and restore any desired file, since it maintains a
+record of all Volumes used, all Jobs run, and all Files saved. This
+build requires sqlite to be installed separately as the catalog
+database.
+
+%description dir -l pl
+Bacula - przychodzi noc± i wysysa ¿ywotny ekstrakt z komputerów.
+
+Bacula Director to program nadzoruj±cy wszystkie operacje wykonywania
+kopii zapasowych, odzyskiwania, weryfikacji i archiwizowania.
+Administrator u¿ywa Bacula Directora do szeregowania kopii zapasowych
+oraz odzyskiwania plików. Us³ugi katalogowe (Catalog services) s±
+u¿ywane przez programy odpowiedzialne za zarz±dzanie indeksami plików
+i baz± danych wolumenów dla wszystkich kopiowanych plików. Us³ugi
+katalogowe umo¿liwiaj± administratorowi lub u¿ytkownikowi szybko
+zlokalizowaæ i odtworzyæ dowolny plik, poniewa¿ utrzymuj± rekord ze
+wszystkimi u¿ywanymi wolumenami, uruchomionymi zadaniami i zapisanymi
+plikami. Pakiet wymaga sqlite zainstalowanego oddzielnie jako bazy
+danych dla katalogu.
+
+%package console
+Summary: Bacula Console
+Summary(pl): Konsola Baculi
+Group: Networking/Utilities
+Requires(post): sed >= 4.0
+Requires: %{name}-common = %{epoch}:%{version}-%{release}
-Summary: Bacula - The Network Backup Solution
+%description console
+Bacula - It comes by night and sucks the vital essence from your
+computers.
+
+Bacula Console is the program that allows the administrator or user to
+communicate with the Bacula Director. This is the text only console
+interface.
+
+%description console -l pl
+Bacula - przychodzi noc± i wysysa ¿ywotny ekstrakt z komputerów.
+
+Bacula Console to program umo¿liwiaj±cy administratorowi lub
+u¿ytkownikowi komunikowanie siê z programem Bacula Director. To jest
+interfejs czysto tekstowy.
+
+%package console-wx
+Summary: Bacula wxWidgets Console
+Summary(pl): Konsola Baculi oparta na wxWidgets
Group: Networking/Utilities
-Requires: coreutils
-Requires: util-linux
-Requires: libc5
-Requires: bacula-fd
+Requires(post): sed >= 4.0
+Requires: %{name}-common = %{epoch}:%{version}-%{release}
-%description rescue
+%description console-wx
Bacula - It comes by night and sucks the vital essence from your
computers.
-Bacula is a set of computer programs that permit you (or the system
-administrator) to manage backup, recovery, and verification of
-computer data across a network of computers of different kinds. In
-technical terms, it is a network client/server based backup program.
-Bacula is relatively easy to use and efficient, while offering many
-advanced storage management features that make it easy to find and
-recover lost or damaged files. Bacula source code has been released
-under the GPL version 2 license.
+Bacula Console is the program that allows the administrator or user to
+communicate with the Bacula Director. This is the wxWidgets GUI
+interface.
-This package installs scripts for disaster recovery and builds rescue
-floppy disks for bare metal recovery. This package includes tomsrtbt
-(http://www.toms.net/rb/, by Tom Oehser, Tom@Toms.NET) to provide a
-tool to build a boot floppy disk.
-
-To create a boot disk run "./getdiskinfo" from the
-%{_sysconfdir}/rescue directory (this is done when the package is
-first installed), then run "./install.s" from the
-%{_sysconfdir}/rescue/tomsrtbt/ directory. To make the bacula rescue
-disk run "./make_rescue_disk --copy-static-bacula
-- --copy-etc-files" from the %{_sysconfdir}/rescue directory. To
- recreate the rescue information for this system run ./getdiskinfo
- again.
+%description console-wx -l pl
+Bacula - przychodzi noc± i wysysa ¿ywotny ekstrakt z komputerów.
-%package updatedb
-Summary: Bacula - The Network Backup Solution
+Bacula Console to program umo¿liwiaj±cy administratorowi lub
+u¿ytkownikowi komunikowanie siê z programem Bacula Director. To jest
+interfejs graficzny oparty na wxWidgets.
+
+%package console-gnome
+Summary: Bacula GNOME Console
+Summary(pl): Konsola Baculi oparta dla GNOME
Group: Networking/Utilities
+Requires(post): sed >= 4.0
+Requires: %{name}-common = %{epoch}:%{version}-%{release}
-%description updatedb
+%description console-gnome
Bacula - It comes by night and sucks the vital essence from your
computers.
-Bacula is a set of computer programs that permit you (or the system
-administrator) to manage backup, recovery, and verification of
-computer data across a network of computers of different kinds. In
-technical terms, it is a network client/server based backup program.
-Bacula is relatively easy to use and efficient, while offering many
-advanced storage management features that make it easy to find and
-recover lost or damaged files. Bacula source code has been released
-under the GPL version 2 license.
+Bacula Console is the program that allows the administrator or user to
+communicate with the Bacula Director. This is the GNOME GUI interface.
+
+%description console-gnome -l pl
+Bacula - przychodzi noc± i wysysa ¿ywotny ekstrakt z komputerów.
+
+Bacula Console to program umo¿liwiaj±cy administratorowi lub
+u¿ytkownikowi komunikowanie siê z programem Bacula Director. To jest
+interfejs graficzny oparty na GNOME.
+
+%package tray-monitor
+Summary: Bacula Tray Monitor
+Group: Networking/Utilities
+Requires(post): sed >= 4.0
+Requires: %{name}-common = %{epoch}:%{version}-%{release}
-This package installs scripts for updating older versions of the
-bacula database.
+%description tray-monitor
+Bacula - It comes by night and sucks the vital essence from your
+computers.
+
+The Monitor program is typically an icon in the system tray. However,
+once the icon is expanded into a full window, the administrator or
+user can obtain status information about the Director or the backup
+status on the local workstation or any other Bacula daemon that is
+configured.
+
+%package fd
+Summary: Bacula File services (Client)
+Summary(pl): Us³ugi Bacula File (klient)
+Group: Networking/Utilities
+Requires(post): sed >= 4.0
+Requires: %{name}-common = %{epoch}:%{version}-%{release}
-%package wxconsole
+%description fd
+Bacula - It comes by night and sucks the vital essence from your
+computers.
+
+Bacula File services (or Client program) is the software program that
+is installed on the machine to be backed up. It is specific to the
+operating system on which it runs and is responsible for providing the
+file attributes and data when requested by the Director. The File
+services are also responsible for the file system dependent part of
+restoring the file attributes and data during a recovery operation.
+This program runs as a daemon on the machine to be backed up, and in
+some of the documentation, the File daemon is referred to as the
+Client (for example in Bacula configuration file).
+
+%description fd -l pl
+Bacula - przychodzi noc± i wysysa ¿ywotny ekstrakt z komputerów.
+
+Us³ugi Bacula File (inaczej program kliencki) to oprogramowanie, które
+instaluje siê na maszynach, z których maj± byæ wykonywane kopie
+zapasowe. S± one specyficzne dla systemu operacyjnego, pod którym
+dzia³a dana maszyna i odpowiadaj± za dostarczanie atrybutów i danych
+plików na ¿±danie Directora. Us³ugi plikowe s± tak¿e odpowiedzialne za
+zale¿n± od systemu plików czê¶æ odzyskiwania atrybutów i danych plików
+podczas operacji odzyskiwania danych. Program dzia³a jako demon na
+maszynie, która ma byæ backupowana i w czê¶ci dokumentacji demon ten
+(File) jest nazywany klientem (na przyk³ad w pliku konfiguracyjnym
+Baculi).
+
+%package sd
+Summary: Bacula Storage services
+Summary(pl): Us³ugi Bacula Storage
+Group: Networking/Utilities
+Requires(post): sed >= 4.0
+Requires: %{name}-common = %{epoch}:%{version}-%{release}
+Conflicts: dvd+rw-tools <= 5.21.4.10.8-1
+
+%description sd
+Bacula - It comes by night and sucks the vital essence from your
+computers.
+
+Bacula Storage services consist of the software programs that perform
+the storage and recovery of the file attributes and data to the
+physical backup media or volumes. In other words, the Storage daemon
+is responsible for reading and writing your tapes (or other storage
+media, e.g. files). The Storage services runs as a daemon on the
+machine that has the backup device (usually a tape drive).
+
+%description sd -l pl
+Bacula - przychodzi noc± i wysysa ¿ywotny ekstrakt z komputerów.
+
+Us³ugi Bacula Storage sk³adaj± siê z programów obs³uguj±cych
+przechowywanie danych oraz odzyskiwanie atrybutów i danych na
+fizycznych no¶nikach lub wolumenach. Innymi s³owy, demon Storage jest
+odpowiedzialny za odczyt i zapis ta¶m (lub innych no¶ników do
+przechowywania danych, np. plików). Us³ugi Storage dzia³aj± jako demon
+na maszynie, która zawiera urz±dzenie backupowe (zwykle napêd
+ta¶mowy).
+
+%package rescue
Summary: Bacula - The Network Backup Solution
+Summary(pl): Bacula - rozwi±zanie do wykonywania kopii zapasowych po sieci
Group: Networking/Utilities
-Requires: bacula-fd
+Requires: %{name}-fd = %{epoch}:%{version}-%{release}
+Requires: coreutils
+Requires: util-linux
-%description wxconsole
+%description rescue
Bacula - It comes by night and sucks the vital essence from your
computers.
technical terms, it is a network client/server based backup program.
Bacula is relatively easy to use and efficient, while offering many
advanced storage management features that make it easy to find and
-recover lost or damaged files. Bacula source code has been released
-under the GPL version 2 license.
+recover lost or damaged files.
+
+This package installs scripts for disaster recovery and builds rescue
+floppy disk for bare metal recovery.
+
+To make the bacula rescue disk run "./make_rescue_disk
+--copy-static-bacula
+- --copy-etc-files" from the %{_sysconfdir}/rescue directory. To
+ recreate the rescue information for this system run ./getdiskinfo
+ again.
-This is the WX Console package. It is an add-on to the client or
-server packages.
+%description rescue -l pl
+Bacula - przychodzi noc± i wysysa ¿ywotny ekstrakt z komputerów.
+
+Bacula to zbiór programów umo¿liwiaj±cych administratorowi na
+zarz±dzanie kopiami zapasowymi, odzyskiwaniem i weryfikacj± danych w
+sieci komputerów ró¿nego rodzaju. W terminologii technicznej jest to
+program do kopii zapasowych pracuj±cy w architekturze klient-serwer.
+Bacula jest stosunkowo ³atwa w u¿yciu i wydajna, oferuj±c przy tym
+wiele zaawansowanych mo¿liwo¶ci przy zarz±dzaniu no¶nikami,
+u³atwiaj±cych znalezienie i odzyskanie utraconych lub uszkodzonych
+plików.
+
+Ten pakiet zawiera skrypty do odtwarzania po awarii i tworzy dyskietkê
+ratunkowe do odtwarzania systemu od zera.
+
+Aby stworzyæ dyskietkê ratunkow± Baculi, nale¿y uruchomiæ "./make_rescue_disk
+--copy-static-bacula - --copy-etc-files" z katalogu
+%{_sysconfdir}/rescue . Aby ponownie utworzyæ informacje ratunkowe dla
+danego systemu, nale¿y ponownie uruchomiæ ./getdiskinfo .
%prep
-%setup -q -a 1
-sed -i -e 's#wx-config#wxgtk2-2.4-config#g' configure*
-sed -i -e 's#-lreadline -ltermcap#-lreadline#g' configure*
+%setup -q -a 1 -a 2
+%patch0 -p1
+%patch1 -p1
+%patch2 -p1
+%patch3 -p1
+%patch4 -p1
+#tar -xf %{SOURCE3}
+tar -xf %{SOURCE4} && ln -s bacula-rescue-* rescue
+sed -i -e 's#wx-config#wx-gtk2-ansi-config#g' configure*
+sed -i -e 's#-lreadline -lhistory -ltermcap#-lreadline -lhistory#g' configure*
+sed -i -e 's#bindir=.*#bindir=%{_bindir}#g' \
+ src/cats/create_* src/cats/delete_* src/cats/drop_* \
+ src/cats/grant_* src/cats/make_* src/cats/update_*
+sed -i -e 's/@hostname@/--hostname--/' src/*/*.conf.in
%build
-# patches for the bundled sqlite scripts
-# patch the make_sqlite_tables script for installation bindir
-patch src/cats/make_sqlite_tables.in src/cats/make_sqlite_tables.in.patch
-# patch the create_sqlite_database script for installation bindir
-patch src/cats/create_sqlite_database.in src/cats/create_sqlite_database.in.patch
-# patch the make_catalog_backup script for installation bindir
-patch src/cats/make_catalog_backup.in src/cats/make_catalog_backup.in.patch
-# patch the update_sqlite_tables script for installation bindir
-patch src/cats/update_sqlite_tables.in src/cats/update_sqlite_tables.in.patch
-
-CPPFLAGS="-I%{_includedir}/ncurses -I%{_includedir}/readline"
+cp -f %{_datadir}/automake/config.sub autoconf
+CPPFLAGS="-I/usr/include/ncurses -I%{_includedir}/readline"
%configure \
- --disable-gnome \
+ --with-scriptdir=%{_libexecdir}/%{name} \
+ --%{!?with_gnome:dis}%{?with_gnome:en}able-gnome \
--disable-conio \
- --enable-wx-console \
+ --enable-smartalloc \
+ %{?with_console_wx:--enable-wx-console} \
+ --enable-tray-monitor \
+ %{?with_python:--with-python} \
--with-readline \
--with-tcp-wrappers \
--with-working-dir=%{_var}/lib/%{name} \
--with-pid-dir=/var/run \
--with-subsys-dir=/var/lock/subsys \
--with-sqlite \
- --enable-static-fd
+ --with-dir-password="#FAKE-dir-password#" \
+ --with-fd-password="#FAKE-fd-password#" \
+ --with-sd-password="#FAKE-sd-password#" \
+ --with-mon-dir-password="#FAKE-mon-dir-password#" \
+ --with-mon-fd-password="#FAKE-mon-fd-password#" \
+ --with-mon-sd-password="#FAKE-mon-sd-password#" \
+ --enable-static-fd \
+ --with-openssl
+
%{__make}
+%if %{with rescue}
+cd rescue
+%configure \
+ --with-bacula=../
+cd linux/cdrom
+fakeroot %{__make}
+%endif
+
%install
rm -rf $RPM_BUILD_ROOT
-install -d $RPM_BUILD_ROOT/etc/{rc.d/init.d,logrotate.d,pam.d,security/console.apps}
-install -d $RPM_BUILD_ROOT%{_sysconfdir}/{rescue/tomsrtbt,updatedb}
-install -d $RPM_BUILD_ROOT%{_pixmapsdir}
+install -d $RPM_BUILD_ROOT/etc/{rc.d/init.d,logrotate.d,pam.d,sysconfig}
+install -d $RPM_BUILD_ROOT%{_sysconfdir}/rescue
+install -d $RPM_BUILD_ROOT{%{_pixmapsdir},%{_desktopdir},%{_mandir},%{_bindir}}
%{__make} install \
DESTDIR=$RPM_BUILD_ROOT
# static daemon
-strip src/filed/static-bacula-fd
+strip -R.comment -R.note src/filed/static-bacula-fd
install src/filed/static-bacula-fd $RPM_BUILD_ROOT%{_sysconfdir}/rescue/bacula-fd
-install %{SOURCE2} $RPM_BUILD_ROOT/etc/rc.d/init.d/bacula-dir
-install %{SOURCE3} $RPM_BUILD_ROOT/etc/rc.d/init.d/bacula-fd
-install %{SOURCE4} $RPM_BUILD_ROOT/etc/rc.d/init.d/bacula-sd
-install %{SOURCE5} $RPM_BUILD_ROOT/etc/logrotate.d/%{name}
+install %{SOURCE10} $RPM_BUILD_ROOT/etc/rc.d/init.d/bacula-dir
+install %{SOURCE11} $RPM_BUILD_ROOT/etc/rc.d/init.d/bacula-fd
+install %{SOURCE12} $RPM_BUILD_ROOT/etc/rc.d/init.d/bacula-sd
+install %{SOURCE13} $RPM_BUILD_ROOT/etc/logrotate.d/%{name}-dir
+install %{SOURCE14} $RPM_BUILD_ROOT/etc/sysconfig/bacula-dir
+install %{SOURCE15} $RPM_BUILD_ROOT/etc/sysconfig/bacula-fd
+install %{SOURCE16} $RPM_BUILD_ROOT/etc/sysconfig/bacula-sd
-install scripts/bacula.png $RPM_BUILD_ROOT%{_pixmapsdir}/bacula.png
+%if %{with console_wx}
+# tray-monitor is for regular users
+mv $RPM_BUILD_ROOT%{_sbindir}/bacula-tray-monitor $RPM_BUILD_ROOT%{_bindir}
+install scripts/bacula.png $RPM_BUILD_ROOT%{_pixmapsdir}/bacula.png
+install src/tray-monitor/generic.xpm $RPM_BUILD_ROOT%{_pixmapsdir}/bacula-tray-monitor.xpm
+install scripts/bacula.desktop.gnome2 $RPM_BUILD_ROOT%{_desktopdir}/bacula.desktop
+sed -e 's/gnome-console/wx-console/g;s/Console/Wx Console/g' \
+ scripts/bacula.desktop.gnome2 > $RPM_BUILD_ROOT%{_desktopdir}/bacula-wx.desktop
+sed -e 's#%{_sbindir}#%{_bindir}#' \
+ scripts/bacula-tray-monitor.desktop > $RPM_BUILD_ROOT%{_desktopdir}/bacula-tray-monitor.desktop
+%endif
+
+%if %{with rescue}
# install the rescue stuff, these are the rescue scripts
-install rescue/linux/backup.etc.list $RPM_BUILD_ROOT%{_sysconfdir}/rescue/
-install rescue/linux/format_floppy $RPM_BUILD_ROOT%{_sysconfdir}/rescue/
-install rescue/linux/getdiskinfo $RPM_BUILD_ROOT%{_sysconfdir}/rescue/
-install rescue/linux/make_rescue_disk $RPM_BUILD_ROOT%{_sysconfdir}/rescue/
-install rescue/linux/restore_bacula $RPM_BUILD_ROOT%{_sysconfdir}/rescue/
-install rescue/linux/restore_etc $RPM_BUILD_ROOT%{_sysconfdir}/rescue/
-install rescue/linux/run_grub $RPM_BUILD_ROOT%{_sysconfdir}/rescue/
-install rescue/linux/run_lilo $RPM_BUILD_ROOT%{_sysconfdir}/rescue/
-install rescue/linux/sfdisk.bz2 $RPM_BUILD_ROOT%{_sysconfdir}/rescue/
-
-# this is the tom's root boot disk
-install tomsrtbt-*/* $RPM_BUILD_ROOT%{_sysconfdir}/rescue/tomsrtbt/
+install rescue/linux/floppy/backup.etc.list $RPM_BUILD_ROOT%{_sysconfdir}/rescue
+install rescue/linux/floppy/*_* $RPM_BUILD_ROOT%{_sysconfdir}/rescue
+install rescue/linux/floppy/getdiskinfo $RPM_BUILD_ROOT%{_sysconfdir}/rescue
+install rescue/linux/floppy/sfdisk.bz2 $RPM_BUILD_ROOT%{_sysconfdir}/rescue
+%endif
# install the updatedb scripts
-install updatedb/* $RPM_BUILD_ROOT%{_sysconfdir}/updatedb/
+install updatedb/update_sqlite* $RPM_BUILD_ROOT%{_libexecdir}/%{name}
# manual
-install -d html-manual
-cp -a doc/html-manual/*.{html,jpg,gif,css} html-manual/
-
-# drop some files
-rm -f $RPM_BUILD_ROOT%{_sysconfdir}/{gconsole,startmysql,stopmysql}
-
-%pre
-# test for bacula database older than version 6
-if [ -s %{_var}/lib/%{name}/bacula.db ];then
- DB_VER=`echo "select * from Version;" | %{_bindir}/sqlite %{_var}/lib/%{name}/bacula.db | tail -n 1 2>/dev/null`
- if [ -n "$DB_VER" ] && [ "$DB_VER" -lt "6" ]; then
- echo "This bacula upgrade will update a bacula database from version 6 to 7."
- echo "You appear to be running database version $DB_VER. You must first update"
- echo "your database to version 6 and then install this upgrade. The alternative"
- echo "is to use %{_sysconfdir}/drop_sqlite_tables to delete all your your current"
- echo "catalog information, then do the upgrade. Information on updating a"
- echo "database older than version 6 can be found in the release notes."
- exit 1
- fi
-fi
-# check for and copy %{_sysconfdir}/console.conf to bconsole.conf
-if [ -s %{_sysconfdir}/console.conf ];then
- cp -a %{_sysconfdir}/console.conf %{_sysconfdir}/bconsole.conf
-fi
+cp -a man1 man8 $RPM_BUILD_ROOT%{_mandir}
+
+# place for site passwords
+touch $RPM_BUILD_ROOT%{_sysconfdir}/{dir-password,fd-password,sd-password}
+touch $RPM_BUILD_ROOT%{_sysconfdir}/{mon-dir-password,mon-fd-password,mon-sd-password}
+
+# some file changes
+rm -f $RPM_BUILD_ROOT%{_libexecdir}/%{name}/{gconsole,startmysql,stopmysql,bacula,bconsole,fd}
+rm -f $RPM_BUILD_ROOT%{_sbindir}/static-bacula-fd
+rm -f $RPM_BUILD_ROOT%{_mandir}/man1/gnome*
+%if !%{with console_wx}
+rm -f $RPM_BUILD_ROOT%{_desktopdir}/bacula-wx.desktop
+rm -f $RPM_BUILD_ROOT%{_mandir}/man1/wx-console*
+%endif
+touch $RPM_BUILD_ROOT%{_sysconfdir}/.pw.sed
-%post
-# add our links
-if [ "$1" -ge 1 ] ; then
- /sbin/chkconfig --add bacula-dir
- /sbin/chkconfig --add bacula-fd
- /sbin/chkconfig --add bacula-sd
-fi
+%clean
+rm -rf $RPM_BUILD_ROOT
+
+%pre common
+%groupadd -P %{name}-common -g 136 -r -f bacula
+%useradd -P %{name}-common -u 136 -r -d /var/lib/bacula -s /bin/false -c "Bacula User" -g bacula bacula
-# test for an existing database
-if [ -s %{_var}/lib/%{name}/bacula.db ]; then
- DB_VER=`echo "select * from Version;" | %{_bindir}/sqlite %{_var}/lib/%{name}/bacula.db | tail -n 1 2>/dev/null`
- # check to see if we need to upgrade a 1.32 or lower database
- if [ "$DB_VER" -lt "7" ]; then
- echo "This release requires an upgrade to your bacula database."
- echo "Backing up your current database..."
- echo ".dump" | %{_bindir}/sqlite %{_var}/lib/%{name}/bacula.db | bzip2 > %{_var}/lib/%{name}/bacula_backup.sql.bz2
- echo "Upgrading bacula database ..."
- %{_sysconfdir}/update_sqlite_tables
- echo "If bacula works correctly you can remove the backup file %{_var}/lib/%{name}/bacula_backup.sql.bz2"
+%post common
+echo "Updating bacula passwords and names..."
+cd /etc/bacula
+for f in *-password ; do
+ if [ ! -s $f ] ; then
+ openssl rand -base64 33 > $f
fi
-else
- # create the database and tables
- echo "Hmm, doesn't look like you have an existing database."
- echo "Creating SQLite database..."
- %{_sysconfdir}/create_sqlite_database
- echo "Creating the SQLite tables..."
- %{_sysconfdir}/make_sqlite_tables
+ p=`cat $f`
+ for cf in *.conf *.conf.rpmnew ; do
+ [ -f $cf ] && sed -i -e"s:#FAKE-$f#:$p:" "$cf" || :
+ done
+done
+for cf in *.conf *.conf.rpmnew ; do
+ [ -f $cf ] && sed -i -e"s:--hostname--:`hostname`:" "$cf" || :
+done
+
+%postun common
+if [ "$1" = "0" ]; then
+ %userremove bacula
+ %groupremove bacula
fi
-%preun
-# delete our links
-if [ $1 = 0 ]; then
+%post dir
+umask 077
+[ -s %{_localstatedir}/bacula.db ] && \
+ DB_VER=`echo "select * from Version;" | \
+ %{_bindir}/sqlite %{_localstatedir}/bacula.db | tail -n 1 2>/dev/null`
+if [ -z "$DB_VER" ]; then
+# grant privileges and create tables
+ %{_libexecdir}/%{name}/grant_bacula_privileges > dev/null
+ %{_libexecdir}/%{name}/create_bacula_database > dev/null
+ %{_libexecdir}/%{name}/make_bacula_tables > dev/null
+elif [ "$DB_VER" -lt "9" ]; then
+ echo "Backing up bacula tables"
+ echo ".dump" | sqlite %{_localstatedir}/bacula.db | bzip2 > %{_localstatedir}/bacula_backup.sql.bz2
+ type=sqlite
+ echo "Upgrading bacula tables"
+ if [ "$DB_VER" -lt "9" ]; then
+ if [ "$DB_VER" -lt "8" ]; then
+ if [ "$DB_VER" -lt "7" ]; then
+ if [ "$DB_VER" -lt "6" ]; then
+ if [ "$DB_VER" -lt "5" ]; then
+ %{_libexecdir}/%{name}/update_${type}_tables_4_to_5
+ fi
+ %{_libexecdir}/%{name}/update_${type}_tables_5_to_6
+ fi
+ %{_libexecdir}/%{name}/update_${type}_tables_6_to_7
+ fi
+ %{_libexecdir}/%{name}/update_${type}_tables_7_to_8
+ fi
+ %{_libexecdir}/%{name}/update_${type}_tables_8_to_9
+ fi
+ %{_libexecdir}/%{name}/update_bacula_tables
+ echo "If bacula works correctly you can remove the backup file %{_localstatedir}/bacula_backup.sql.bz2"
+fi
+chown -R bacula:bacula %{_localstatedir}
+chmod -R u+rX,go-rwx %{_localstatedir}/*
+
+echo "Updating Bacula passwords and names..."
+cd /etc/bacula
+for f in *-password ; do
+ p=`cat $f`
+ sed -i -e"s:#FAKE-$f#:$p:" *.conf *.conf.rpmnew 2>/dev/null || :
+done
+sed -i -e"s:--hostname--:`hostname`:" *.conf *.conf.rpmnew 2>/dev/null || :
+
+/sbin/chkconfig --add bacula-dir
+%service bacula-dir restart "Bacula Director daemon"
+
+%preun dir
+if [ "$1" = "0" ]; then
+ %service bacula-dir stop
/sbin/chkconfig --del bacula-dir
- /sbin/chkconfig --del bacula-fd
- /sbin/chkconfig --del bacula-sd
fi
-%post client
-# add our link
-if [ "$1" -ge 1 ] ; then
- /sbin/chkconfig --add bacula-fd
+%post fd
+echo "Updating Bacula passwords and names..."
+cd /etc/bacula
+for f in *-password ; do
+ p=`cat $f`
+ sed -i -e"s:#FAKE-$f#:$p:" *.conf *.conf.rpmnew 2>/dev/null || :
+done
+sed -i -e"s:--hostname--:`hostname`:" *.conf *.conf.rpmnew 2>/dev/null || :
+
+/sbin/chkconfig --add bacula-fd
+%service bacula-fd restart "Bacula File daemon"
+
+%preun fd
+if [ "$1" = "0" ]; then
+ %service bacula-fd stop
+ /sbin/chkconfig --del bacula-fd
fi
-%preun client
-# delete our link
-if [ $1 = 0 ]; then
- /sbin/chkconfig --del bacula-fd
+%post sd
+echo "Updating Bacula passwords and names..."
+cd /etc/bacula
+for f in *-password ; do
+ p=`cat $f`
+ sed -i -e"s:#FAKE-$f#:$p:" *.conf *.conf.rpmnew 2>/dev/null || :
+done
+sed -i -e"s:--hostname--:`hostname`:" *.conf *.conf.rpmnew 2>/dev/null || :
+
+/sbin/chkconfig --add bacula-sd
+%service bacula-sd restart "Bacula Storage daemon"
+
+%preun sd
+if [ "$1" = "0" ]; then
+ %service bacula-sd stop
+ /sbin/chkconfig --del bacula-sd
fi
-%post updatedb
-echo "The database update scripts were installed to %{_sysconfdir}/updatedb"
+%pre console
+if [ -e %{_sysconfdir}/console.conf -a ! -e %{_sysconfdir}/bconsole.conf ]; then
+ mv %{_sysconfdir}/console.conf %{_sysconfdir}/bconsole.conf
+fi
-%clean
-rm -rf $RPM_BUILD_ROOT
+%post console
+echo "Updating Bacula passwords and names..."
+cd /etc/bacula
+for f in *-password ; do
+ p=`cat $f`
+ sed -i -e"s:#FAKE-$f#:$p:" *.conf *.conf.rpmnew 2>/dev/null || :
+done
+sed -i -e"s:--hostname--:`hostname`:" *.conf *.conf.rpmnew 2>/dev/null || :
+
+%post console-wx
+echo "Updating Bacula passwords and names..."
+cd /etc/bacula
+for f in *-password ; do
+ p=`cat $f`
+ sed -i -e"s:#FAKE-$f#:$p:" *.conf *.conf.rpmnew 2>/dev/null || :
+done
+sed -i -e"s:--hostname--:`hostname`:" *.conf *.conf.rpmnew 2>/dev/null || :
+
+%post console-gnome
+echo "Updating Bacula passwords and names..."
+cd /etc/bacula
+for f in *-password ; do
+ p=`cat $f`
+ sed -i -e"s:#FAKE-$f#:$p:" *.conf *.conf.rpmnew 2>/dev/null || :
+done
+sed -i -e"s:--hostname--:`hostname`:" *.conf *.conf.rpmnew 2>/dev/null || :
+
+%post tray-monitor
+echo "Updating Bacula passwords and names..."
+cd /etc/bacula
+for f in *-password ; do
+ p=`cat $f`
+ sed -i -e"s:#FAKE-$f#:$p:" *.conf *.conf.rpmnew 2>/dev/null || :
+done
+sed -i -e"s:--hostname--:`hostname`:" *.conf *.conf.rpmnew 2>/dev/null || :
%post rescue
# link our current installed conf file to the rescue directory
-ln -s %{_sysconfdir}/bacula-fd.conf %{_sysconfdir}/rescue/bacula-fd.conf
+ln -sf %{_sysconfdir}/bacula-fd.conf %{_sysconfdir}/rescue/bacula-fd.conf
# run getdiskinfo
echo "Creating rescue files for this system..."
%preun rescue
# remove the files created after the initial rpm installation
-rm -f %{_sysconfdir}/rescue/bacula-fd.conf
-rm -f %{_sysconfdir}/rescue/partition.*
-rm -f %{_sysconfdir}/rescue/format.*
-rm -f %{_sysconfdir}/rescue/mount_drives
-rm -f %{_sysconfdir}/rescue/start_network
-rm -f %{_sysconfdir}/rescue/sfdisk
-rm -rf %{_sysconfdir}/rescue/diskinfo/*
-
-%files
+if [ "$1" = "0" ]; then
+ rm -f %{_sysconfdir}/rescue/bacula-fd.conf
+ rm -f %{_sysconfdir}/rescue/partition.*
+ rm -f %{_sysconfdir}/rescue/format.*
+ rm -f %{_sysconfdir}/rescue/mount_drives
+ rm -f %{_sysconfdir}/rescue/start_network
+ rm -f %{_sysconfdir}/rescue/sfdisk
+ rm -rf %{_sysconfdir}/rescue/diskinfo/*
+fi
+
+%files common
%defattr(644,root,root,755)
-%doc COPYING ChangeLog ReleaseNotes VERIFYING kernstodo doc/bacula.pdf html-manual
+%doc LICENSE
+%dir %{_sysconfdir}
+%attr(600,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/*-password
+%attr(755,root,root) %{_sbindir}/btraceback
+%attr(755,root,root) %{_sbindir}/bsmtp
+%{_mandir}/man8/bacula.8*
+%dir %{_libexecdir}/%{name}
+%{_libexecdir}/%{name}/btraceback.dbx
+%{_libexecdir}/%{name}/btraceback.gdb
+%attr(770,root,bacula) %dir %{_localstatedir}
+
+%files dir
+%defattr(644,root,root,755)
+%doc ChangeLog CheckList ReleaseNotes kernstodo LICENSE
+%doc examples %{name}-docs-%{version}-1/manual/{*.pdf,bacula}
+%attr(600,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/bacula-dir.conf
+%ghost %{_sysconfdir}/.pw.sed
+%attr(640,root,root) %config(noreplace) /etc/logrotate.d/bacula-dir
+%attr(754,root,root) /etc/rc.d/init.d/bacula-dir
+%config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/bacula-dir
%attr(755,root,root) %{_sbindir}/bacula-dir
+%attr(755,root,root) %{_sbindir}/bregex
+%attr(755,root,root) %{_sbindir}/bwild
+%attr(755,root,root) %{_sbindir}/dbcheck
+%{_mandir}/man8/bacula-dir.8*
+%{_mandir}/man1/dbcheck.1*
+%{_libexecdir}/%{name}/query.sql
+%attr(755,root,root) %{_libexecdir}/%{name}/create_sqlite_database
+%attr(755,root,root) %{_libexecdir}/%{name}/drop_sqlite_database
+%attr(755,root,root) %{_libexecdir}/%{name}/drop_sqlite_tables
+%attr(755,root,root) %{_libexecdir}/%{name}/grant_sqlite_privileges
+%attr(755,root,root) %{_libexecdir}/%{name}/make_sqlite_tables
+%attr(755,root,root) %{_libexecdir}/%{name}/update_sqlite*
+%attr(755,root,root) %{_libexecdir}/%{name}/create_bacula_database
+%attr(755,root,root) %{_libexecdir}/%{name}/drop_bacula_database
+%attr(755,root,root) %{_libexecdir}/%{name}/drop_bacula_tables
+%attr(755,root,root) %{_libexecdir}/%{name}/grant_bacula_privileges
+%attr(755,root,root) %{_libexecdir}/%{name}/make_bacula_tables
+%attr(755,root,root) %{_libexecdir}/%{name}/update_bacula_tables
+%attr(755,root,root) %{_libexecdir}/%{name}/make_catalog_backup
+%attr(755,root,root) %{_libexecdir}/%{name}/delete_catalog_backup
+
+%files fd
+%defattr(644,root,root,755)
+%doc LICENSE
+%attr(600,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/bacula-fd.conf
+%attr(754,root,root) /etc/rc.d/init.d/bacula-fd
+%config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/bacula-fd
%attr(755,root,root) %{_sbindir}/bacula-fd
+%{_mandir}/man8/bacula-fd.8*
+
+%files sd
+%defattr(644,root,root,755)
+%doc LICENSE
+%dir %{_sysconfdir}
+%attr(600,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/bacula-sd.conf
+%attr(754,root,root) /etc/rc.d/init.d/bacula-sd
+%config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/bacula-sd
%attr(755,root,root) %{_sbindir}/bacula-sd
%attr(755,root,root) %{_sbindir}/bcopy
%attr(755,root,root) %{_sbindir}/bextract
%attr(755,root,root) %{_sbindir}/bls
%attr(755,root,root) %{_sbindir}/bscan
%attr(755,root,root) %{_sbindir}/btape
-%attr(755,root,root) %{_sbindir}/btraceback
-%attr(755,root,root) %{_sbindir}/bconsole
-%attr(755,root,root) %{_sbindir}/dbcheck
-%attr(755,root,root) %{_sbindir}/bsmtp
-%attr(755,root,root) %{_sbindir}/static-bacula-fd
-%dir %{_sysconfdir}
-%{_sysconfdir}/bacula
-%{_sysconfdir}/bconsole
-%{_sysconfdir}/fd
-%{_sysconfdir}/create_bacula_database
-%{_sysconfdir}/drop_bacula_database
-%{_sysconfdir}/grant_bacula_privileges
-%{_sysconfdir}/make_bacula_tables
-%{_sysconfdir}/drop_bacula_tables
-%{_sysconfdir}/update_bacula_tables
-%{_sysconfdir}/create_sqlite_database
-%{_sysconfdir}/drop_sqlite_database
-%{_sysconfdir}/grant_sqlite_privileges
-%{_sysconfdir}/make_sqlite_tables
-%{_sysconfdir}/drop_sqlite_tables
-%{_sysconfdir}/update_sqlite_tables
-%{_sysconfdir}/make_catalog_backup
-%{_sysconfdir}/delete_catalog_backup
-%{_sysconfdir}/mtx-changer
-%{_sysconfdir}/query.sql
-%{_sysconfdir}/btraceback.gdb
-%config(noreplace) %verify(not md5 size mtime) %{_sysconfdir}/bacula-dir.conf
-%config(noreplace) %verify(not md5 size mtime) %{_sysconfdir}/bacula-fd.conf
-%config(noreplace) %verify(not md5 size mtime) %{_sysconfdir}/bacula-sd.conf
-%config(noreplace) %verify(not md5 size mtime) %{_sysconfdir}/bconsole.conf
-%attr(754,root,root) /etc/rc.d/init.d/bacula-dir
-%attr(754,root,root) /etc/rc.d/init.d/bacula-fd
-%attr(754,root,root) /etc/rc.d/init.d/bacula-sd
-%attr(640,root,root) %config(noreplace) /etc/logrotate.d/bacula
-%dir %{_var}/lib/%{name}
-
-%files client
+%attr(755,root,root) %{_libexecdir}/%{name}/mtx-changer
+%attr(755,root,root) %{_libexecdir}/%{name}/disk-changer
+%attr(755,root,root) %{_libexecdir}/%{name}/dvd-handler
+%{_mandir}/man8/bacula-sd.8*
+%{_mandir}/man1/bcopy.1*
+%{_mandir}/man1/bextract.1*
+%{_mandir}/man1/bls.1*
+%{_mandir}/man1/bscan.1*
+%{_mandir}/man1/btape.1*
+
+%files console
%defattr(644,root,root,755)
-%attr(755,root,root) %{_sbindir}/bacula-fd
-%attr(755,root,root) %{_sbindir}/btraceback
-%attr(755,root,root) %{_sbindir}/bsmtp
+%doc LICENSE
+%attr(600,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/bconsole.conf
%attr(755,root,root) %{_sbindir}/bconsole
-%{_sysconfdir}/fd
-%{_sysconfdir}/bconsole
-%{_sysconfdir}/btraceback.gdb
-%config(noreplace) %verify(not md5 size mtime) %{_sysconfdir}/bacula-fd.conf
-%config(noreplace) %verify(not md5 size mtime) %{_sysconfdir}/bconsole.conf
-%attr(754,root,root) /etc/rc.d/init.d/bacula-fd
-%attr(640,root,root) %config(noreplace) /etc/logrotate.d/bacula
-%dir %{_var}/lib/%{name}
+%{_mandir}/man1/bconsole.1*
-%files rescue
+%if %{with console_wx}
+%files console-wx
%defattr(644,root,root,755)
-%{_sysconfdir}/rescue
+%doc LICENSE
+%{_pixmapsdir}/%{name}.png
+%{_desktopdir}/bacula-wx.desktop
+%attr(600,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/wx-console.conf
+%attr(755,root,root) %{_sbindir}/wx-console
+%{_mandir}/man1/wx-console.1*
+%endif
-%files updatedb
+%if %{with gnome}
+%files console-gnome
%defattr(644,root,root,755)
-%{_sysconfdir}/updatedb
-
-%files wxconsole
+%doc LICENSE
+%{_pixmapsdir}/%{name}.png
+%{_desktopdir}/bacula.desktop
+%attr(600,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/gnome-console.conf
+%attr(755,root,root) %{_sbindir}/gnome-console
+#%{_mandir}/man1/gnome-console.1*
+%endif
+
+%if %{with console_wx}
+%files tray-monitor
%defattr(644,root,root,755)
-%attr(755,root,root) %{_sbindir}/wx-console
-%config(noreplace) %{_sysconfdir}/wx-console.conf
-%{_pixmapsdir}/bacula.png
+%doc LICENSE
+%{_pixmapsdir}/%{name}-tray-monitor.xpm
+%{_desktopdir}/%{name}-tray-monitor.desktop
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/tray-monitor.conf
+%attr(755,root,root) %{_bindir}/bacula-tray-monitor
+#%{_mandir}/man1/bacula-tray-monitor.1*
+%endif
+
+%if %{with rescue}
+%files rescue
+%defattr(644,root,root,755)
+%doc LICENSE
+%dir %{_sysconfdir}/rescue
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/rescue/backup.etc.list
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/rescue/bacula-fd
+%attr(755,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/rescue/format_floppy
+%attr(755,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/rescue/getdiskinfo
+%attr(755,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/rescue/make_rescue_disk
+%attr(755,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/rescue/restore_bacula
+%attr(755,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/rescue/restore_etc
+%attr(755,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/rescue/run_grub
+%attr(755,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/rescue/run_lilo
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/rescue/sfdisk.bz2
+%endif