]> git.pld-linux.org Git - packages/bacula.git/blobdiff - bacula.spec
- Version: 1.38.6
[packages/bacula.git] / bacula.spec
index 6b8cd0bd357592592d33aa6769d97d0ebd62fa42..c50046b997ad576326191ac604c2e2293977368c 100644 (file)
@@ -1,41 +1,66 @@
+#
 # TODO:
-# - files section
-# - rpm scripts
+#      - update desktop files, think about su-wrappers for console
+#      - package web admin
+#
+# 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
-Release:       2
+Version:       1.38.6
+Release:       0.1
 Epoch:         0
 Group:         Networking/Utilities
-License:       GPL v2
+License:       extended GPL v2
 Source0:       http://dl.sourceforge.net/bacula/%{name}-%{version}.tar.gz
-# Source0-md5: 9de593cb206df126a8e27774281c5bf6
-Source1:       http://www.tux.org/pub/distributions/tinylinux/tomsrtbt/tomsrtbt-2.0.103.tar.gz
-# Source1-md5: d5ee50efb28986d564547d5da5de2483
-Source2:       %{name}-manpages.tar.bz2
-# Source2-md5: e4dae86d6574b360e831efd3913e7f4c
+# Source0-md5: 219382ae85671c8ff13f375b6d9aa079
+Source1:       %{name}-manpages.tar.bz2
+# Source1-md5: e4dae86d6574b360e831efd3913e7f4c
+Source2:       http://dl.sourceforge.net/bacula/%{name}-docs-%{version}.tar.gz
+# Source2-md5: 1d62608a1a0d2fa7776277f80fa29c61
+#Source3:      http://dl.sourceforge.net/bacula/%{name}-gui-%{version}.tar.gz
+## Source3-md5:        5fb575ceed9dee0cdf8bc7f81ef60f54
+Source4:       http://dl.sourceforge.net/bacula/%{name}-rescue-1.8.2.tar.gz
+# Source4-md5: f43bf291f6b8296593f27022e5373d18
 Source10:      %{name}-dir.init
 Source11:      %{name}-fd.init
 Source12:      %{name}-sd.init
 Source13:      %{name}.logrotate
-Patch0:                %{name}-pidfile.patch
+Source14:      %{name}-dir.sysconfig
+Source15:      %{name}-fd.sysconfig
+Source16:      %{name}-sd.sysconfig
+Patch0:                %{name}-dvd-handler_path.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: ncurses-devel
 BuildRequires: openssl-devel
+BuildRequires: openssl-static
 BuildRequires: pkgconfig
+%{?with_python:BuildRequires:  python-static}
 BuildRequires: readline-devel
+BuildRequires: rpmbuild(macros) >= 1.202
 BuildRequires: sed >= 4.0
 BuildRequires: sqlite-devel
-BuildRequires: wxGTK2-devel
+%if %{with console_wx}
+BuildRequires: wxGTK2-devel >= 2.4.0
+%endif
 BuildRequires: zlib-devel
+BuildRequires: zlib-static
 BuildRoot:     %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
 
 %define                _sysconfdir     /etc/%{name}
@@ -57,8 +82,8 @@ recover lost or damaged files.
 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
-sieci komputerów ró¿nego rodzaju. W terminologii technicznej jest to
+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,
@@ -69,10 +94,15 @@ plik
 Summary:       Common files for bacula package
 Summary(pl):   Pliki wspólne dla pakietu bacula
 Group:         Networking/Utilities
+Requires(post):        openssl-tools
+Requires(post):        sed >= 4.0
+Requires(post,preun):  /sbin/chkconfig
+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
-Conflicts:     bacula-console < 0:1.34.6
 
 %description common
 Bacula - It comes by night and sucks the vital essence from your
@@ -90,8 +120,8 @@ recover lost or damaged files.
 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
-sieci komputerów ró¿nego rodzaju. W terminologii technicznej jest to
+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,
@@ -102,7 +132,9 @@ plik
 Summary:       Bacula Director and Catalog services
 Summary(pl):   Us³ugi Bacula Director i Catalog
 Group:         Networking/Utilities
-PreReq:                bacula-common = %{epoch}:%{version}-%{release}
+Requires(post):        sed >= 4.0
+Requires:      %{name}-common = %{epoch}:%{version}-%{release}
+Obsoletes:     bacula-updatedb
 
 %description dir
 Bacula - It comes by night and sucks the vital essence from your
@@ -138,7 +170,8 @@ danych dla katalogu.
 Summary:       Bacula Console
 Summary(pl):   Konsola Baculi
 Group:         Networking/Utilities
-PreReq:                bacula-common = %{epoch}:%{version}-%{release}
+Requires(post):        sed >= 4.0
+Requires:      %{name}-common = %{epoch}:%{version}-%{release}
 
 %description console
 Bacula - It comes by night and sucks the vital essence from your
@@ -159,7 +192,8 @@ interfejs czysto tekstowy.
 Summary:       Bacula wxWidgets Console
 Summary(pl):   Konsola Baculi oparta na wxWidgets
 Group:         Networking/Utilities
-PreReq:                bacula-common = %{epoch}:%{version}-%{release}
+Requires(post):        sed >= 4.0
+Requires:      %{name}-common = %{epoch}:%{version}-%{release}
 
 %description console-wx
 Bacula - It comes by night and sucks the vital essence from your
@@ -176,11 +210,49 @@ Bacula Console to program umo
 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 console-gnome
+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 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}
+
+%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
-PreReq:                bacula-common = %{epoch}:%{version}-%{release}
+Requires(post):        sed >= 4.0
+Requires:      %{name}-common = %{epoch}:%{version}-%{release}
 
 %description fd
 Bacula - It comes by night and sucks the vital essence from your
@@ -214,7 +286,9 @@ Baculi).
 Summary:       Bacula Storage services
 Summary(pl):   Us³ugi Bacula Storage
 Group:         Networking/Utilities
-PreReq:                bacula-common = %{epoch}:%{version}-%{release}
+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
@@ -259,17 +333,11 @@ advanced storage management features that make it easy to find and
 recover lost or damaged files.
 
 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.
+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.
 
 %description rescue -l pl
 Bacula - przychodzi noc± i wysysa ¿ywotny ekstrakt z komputerów.
@@ -283,73 +351,36 @@ wiele zaawansowanych mo
 u³atwiaj±cych znalezienie i odzyskanie utraconych lub uszkodzonych
 plików.
 
-Ten pakiet zawiera skrypty do odtwarzania po awarii i tworzy dyskietki
-ratunkowe do odtwarzania systemu od zera. Ten pakiet zawiera tomsrtbt
-(http://www.toms.net/rb/ Toma Oehsera, Tom@Toms.NET), aby dostarczyæ
-narzêdzie do tworzenia bootowalnych dyskietek.
+Ten pakiet zawiera skrypty do odtwarzania po awarii i tworzy dyskietkê
+ratunkowe do odtwarzania systemu od zera.
 
-Aby utworzyæ bootowaln± dyskietkê nale¿y uruchomiæ "./getdiskinfo" z
-katalogu %{_sysconfdir}/rescue (jest to wykonywane kiedy pakiet jest
-po raz pierwszy instalowany), a nastêpnie uruchomiæ "./install.s" z
-katalogu %{_sysconfdir}/rescue/tomsrtbt. Aby stworzyæ dyskietkê
-ratunkow± Baculi, nale¿y uruchomiæ "./make_rescue_disk
+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 .
 
-%package updatedb
-Summary:       Bacula - The Network Backup Solution
-Summary(pl):   Bacula - rozwi±zanie do wykonywania kopii zapasowych po sieci
-Group:         Networking/Utilities
-
-%description updatedb
-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.
-
-This package installs scripts for updating older versions of the
-bacula database.
-
-%description updatedb -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 instaluje skrypty do uaktualniania starszych wersji bazy
-danych Baculi.
-
 %prep
 %setup -q -a 1 -a 2
 %patch0 -p1
-sed -i -e 's#wx-config#wxgtk2-2.4-config#g' configure*
-sed -i -e 's#-lreadline -ltermcap#-lreadline#g' configure*
+#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
 cp -f %{_datadir}/automake/config.sub autoconf
-CPPFLAGS="-I%{_includedir}/ncurses -I%{_includedir}/readline"
+CPPFLAGS="-I/usr/include/ncurses -I%{_includedir}/readline"
 %configure \
        --with-scriptdir=%{_libexecdir}/%{name} \
-       --disable-gnome \
+       --%{!?with_gnome:dis}%{?with_gnome:en}able-gnome \
        --disable-conio \
        --enable-smartalloc \
-       --enable-wx-console \
+       %{?with_console_wx:--enable-wx-console} \
+       --enable-tray-monitor \
        --with-readline \
        --with-tcp-wrappers \
        --with-working-dir=%{_var}/lib/%{name} \
@@ -359,19 +390,31 @@ CPPFLAGS="-I%{_includedir}/ncurses -I%{_includedir}/readline"
        --with-pid-dir=/var/run \
        --with-subsys-dir=/var/lock/subsys \
        --with-sqlite \
+       --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-dir-password="#FAKE#DIR#PASSWORD#PLD#" \
-       --with-fd-password="#FAKE#FD#PASSWORD#PLD#" \
-       --with-sd-password="#FAKE#SD#PASSWORD#PLD#"
+       --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},%{_mandir},%{_bindir}}
+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
@@ -380,80 +423,75 @@ install -d $RPM_BUILD_ROOT{%{_pixmapsdir},%{_mandir},%{_bindir}}
 strip -R.comment -R.note src/filed/static-bacula-fd
 install src/filed/static-bacula-fd $RPM_BUILD_ROOT%{_sysconfdir}/rescue/bacula-fd
 
+# tray-monitor is for regular users
+mv $RPM_BUILD_ROOT%{_sbindir}/bacula-tray-monitor $RPM_BUILD_ROOT%{_bindir}
+
 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
-
+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
+
+%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
-
-%ifarch %{ix86}
-# 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
 cp -a man1 man8 $RPM_BUILD_ROOT%{_mandir}
 
-install -d html-manual
-cp -a doc/html-manual/*.{html,jpg,gif,css} html-manual
+# 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 %{without 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
 
-cat << EOF > $RPM_BUILD_ROOT/etc/security/console.apps/bconsole
-USER=root
-PROGRAM=%{_sbindir}/bconsole
-SESSION=true
-EOF
-install scripts/gnome-console.pamd $RPM_BUILD_ROOT/etc/pam.d/bconsole
-ln -s consolehelper $RPM_BUILD_ROOT%{_bindir}/bconsole
-
-cat << EOF > $RPM_BUILD_ROOT/etc/security/console.apps/wx-console
-USER=root
-PROGRAM=%{_sbindir}/wx-console
-SESSION=true
-EOF
-cp -p scripts/gnome-console.pamd $RPM_BUILD_ROOT/etc/pam.d/wx-console
-ln -s consolehelper $RPM_BUILD_ROOT%{_bindir}/wx-console
-
 %clean
 rm -rf $RPM_BUILD_ROOT
 
 %pre common
-if [ -n "`getgid bacula`" ]; then
-       if [ "`getgid bacula`" != "136" ]; then
-               echo "Error: group bacula doesn't have gid=136. Correct this before installing bacula." 1>&2
-               exit 1
-       fi
-else
-       /usr/sbin/groupadd -g 136 -r -f bacula
-fi
-if [ -n "`id -u bacula 2>/dev/null`" ]; then
-       if [ "`id -u bacula`" != "136" ]; then
-               echo "Error: user bacula doesn't have uid=136. Correct this before installing bacula." 1>&2
-               exit 1
+%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
+
+%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
-       /usr/sbin/useradd -u 136 -r -d /var/lib/bacula -s /bin/false -c "Bacula User" -g bacula bacula 1>&2
-fi
+       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
@@ -471,16 +509,22 @@ if [ -z "$DB_VER" ]; then
        %{_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 "7" ]; then
+elif [ "$DB_VER" -lt "8" ]; 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 "6" ]; then
-               if [ "$DB_VER" -lt "5" ]; then
-                       %{_libexecdir}/%{name}/update_${type}_tables_4_to_5
+       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_5_to_6
+               %{_libexecdir}/%{name}/update_${type}_tables_7_to_8
        fi
        %{_libexecdir}/%{name}/update_bacula_tables
        echo "If bacula works correctly you can remove the backup file %{_localstatedir}/bacula_backup.sql.bz2"
@@ -488,6 +532,14 @@ 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
 if [ -f /var/lock/subsys/bacula-dir ]; then
        /etc/rc.d/init.d/bacula-dir restart 1>&2
@@ -504,6 +556,14 @@ if [ "$1" = "0" ]; then
 fi
 
 %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
 if [ -f /var/lock/subsys/bacula-fd ]; then
        /etc/rc.d/init.d/bacula-fd restart 1>&2
@@ -520,6 +580,14 @@ if [ "$1" = "0" ]; then
 fi
 
 %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
 if [ -f /var/lock/subsys/bacula-sd ]; then
        /etc/rc.d/init.d/bacula-sd restart 1>&2
@@ -540,8 +608,41 @@ if [ -e %{_sysconfdir}/console.conf -a ! -e %{_sysconfdir}/bconsole.conf ]; then
        mv %{_sysconfdir}/console.conf %{_sysconfdir}/bconsole.conf
 fi
 
-%post updatedb
-echo "The database update scripts were installed to %{_sysconfdir}/updatedb"
+%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
@@ -566,61 +667,71 @@ fi
 
 %files common
 %defattr(644,root,root,755)
+%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(700,bacula,bacula) %dir %{_localstatedir}
+%attr(770,root,bacula) %dir %{_localstatedir}
 
 %files dir
 %defattr(644,root,root,755)
-%doc ChangeLog CheckList ReleaseNotes kernstodo
-%doc doc/*.pdf html-manual examples
-%attr(600,root,root) %config(noreplace) %verify(not md5 size mtime) %{_sysconfdir}/bacula-dir.conf
+%doc ChangeLog CheckList ReleaseNotes kernstodo LICENSE
+%doc examples %{name}-docs-%{version}/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
+%attr(644,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/bacula-dir
 %attr(755,root,root) %{_sbindir}/bacula-dir
 %attr(755,root,root) %{_sbindir}/dbcheck
 %{_mandir}/man8/bacula-dir.8*
 %{_mandir}/man1/dbcheck.1*
 %{_libexecdir}/%{name}/query.sql
-%defattr(755,root,root)
-%{_libexecdir}/%{name}/create_sqlite_database
-%{_libexecdir}/%{name}/drop_sqlite_database
-%{_libexecdir}/%{name}/drop_sqlite_tables
-%{_libexecdir}/%{name}/grant_sqlite_privileges
-%{_libexecdir}/%{name}/make_sqlite_tables
-%{_libexecdir}/%{name}/update_sqlite_tables*
-%{_libexecdir}/%{name}/create_bacula_database
-%{_libexecdir}/%{name}/drop_bacula_database
-%{_libexecdir}/%{name}/drop_bacula_tables
-%{_libexecdir}/%{name}/grant_bacula_privileges
-%{_libexecdir}/%{name}/make_bacula_tables
-%{_libexecdir}/%{name}/update_bacula_tables
-%{_libexecdir}/%{name}/make_catalog_backup
-%{_libexecdir}/%{name}/delete_catalog_backup
+%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)
-%attr(600,root,root) %config(noreplace) %verify(not md5 size mtime) %{_sysconfdir}/bacula-fd.conf
+%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
+%attr(644,root,root) %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 size mtime) %{_sysconfdir}/bacula-sd.conf
+%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
+%attr(644,root,root) %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
-%{_libexecdir}/%{name}/mtx-changer
+%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*
@@ -630,27 +741,55 @@ fi
 
 %files console
 %defattr(644,root,root,755)
-%attr(600,root,root) %config(noreplace) %verify(not md5 size mtime) %{_sysconfdir}/bconsole.conf
+%doc LICENSE
+%attr(600,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/bconsole.conf
 %attr(755,root,root) %{_sbindir}/bconsole
-%config(noreplace) /etc/security/console.apps/bconsole
-%config(noreplace) /etc/pam.d/bconsole
-%verify(link) %{_bindir}/bconsole
 %{_mandir}/man1/bconsole.1*
 
+%if %{with console_wx}
 %files console-wx
 %defattr(644,root,root,755)
+%doc LICENSE
 %{_pixmapsdir}/%{name}.png
-%attr(600,root,root) %config(noreplace) %verify(not md5 size mtime) %{_sysconfdir}/wx-console.conf
+%{_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
-%config(noreplace) /etc/security/console.apps/wx-console
-%config(noreplace) %verify(not md5 size mtime) /etc/pam.d/wx-console
-%verify(link) %{_bindir}/wx-console
 %{_mandir}/man1/wx-console.1*
+%endif
 
-%files rescue
+%if %{with gnome}
+%files console-gnome
 %defattr(644,root,root,755)
-%{_sysconfdir}/rescue
+%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
 
-%files updatedb
+%files tray-monitor
+%defattr(644,root,root,755)
+%doc LICENSE
+%{_pixmapsdir}/%{name}-tray-monitor.xpm
+%{_desktopdir}/%{name}-tray-monitor.desktop
+%attr(644,root,root) %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*
+
+%if %{with rescue}
+%files rescue
 %defattr(644,root,root,755)
-%{_sysconfdir}/updatedb
+%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
This page took 0.141819 seconds and 4 git commands to generate.