# basic defines for every build
%define _version @VERSION@
%define _release 1
-%define depkgs_version 25Jun06
-%define _rescuever 1.8.6
+%define depkgs_version 04Jan07
+%define _rescuever 2.0.0
%define docs_version @VERSION@
# any patches for this release
# directory locations
%define sqlite_bindir /usr/lib/bacula/sqlite
-%define working_dir /var/bacula
%define _docsrc ../%{name}-docs-%{docs_version}
%define _rescuesrc ../%{name}-rescue-%{_rescuever}
%define depkgs ../depkgs
+%define _mandir /usr/share/man
+
+# directory locations for FHS-compatibility
+%define sysconf_dir /etc/bacula
+%define script_dir /etc/bacula
+%define working_dir /var/lib/bacula
+%define pid_dir /var/run
# NOTE these defines are used in some rather complex useradd and groupadd
# commands. If you change them examine the post scripts for consequences.
%{?build_fc4:%define fc4 1}
%define fc5 0
%{?build_fc5:%define fc5 1}
+%define fc6 0
+%{?build_fc6:%define fc6 1}
# Whitebox Enterprise build
%define wb3 0
%{?build_wb3:%define wb3 1}
%define centos4 0
%{?build_centos4:%define centos4 1}
%{?build_centos4:%define fc3 1}
+# SL build
+%define sl3 0
+%{?build_sl3:%define sl3 1}
+%{?build_sl3:%define wb3 1}
+%define sl4 0
+%{?build_sl4:%define sl4 1}
+%{?build_sl4:%define fc3 1}
# SuSE build
%define su9 0
%{?build_su9:%define su9 1}
%define su10 0
%{?build_su10:%define su10 1}
+%define su102 0
+%{?build_su102:%define su102 1}
# Mandrake builds
%define mdk 0
%{?build_mdk:%define mdk 1}
%{?build_client_only:%define client_only 1}
# test for a platform definition
-%if ! %{rh7} && ! %{rh8} && ! %{rh9} && ! %{fc1} && ! %{fc3} && ! %{fc4} && ! %{fc5} && ! %{wb3} && ! %{su9} && ! %{su10} && ! %{mdk}
+%if ! %{rh7} && ! %{rh8} && ! %{rh9} && ! %{fc1} && ! %{fc3} && ! %{fc4} && ! %{fc5} && ! %{fc6} && ! %{wb3} && ! %{su9} && ! %{su10} && ! %{su102} && ! %{mdk}
%{error: You must specify a platform. Please examine the spec file.}
exit 1
%endif
%if %{rh7} || %{rh8} || %{rh9} || %{rhel3} || %{rhel4}
%define _dist %(grep Red /etc/redhat-release)
%endif
-%if %{fc1} || %{fc4} || %{fc5}
+%if %{fc1} || %{fc4} || %{fc5} || %{fc6}
%define _dist %(grep Fedora /etc/redhat-release)
%endif
%if %{centos4} || %{centos3}
%define _dist %(grep CentOS /etc/redhat-release)
%endif
-%if %{fc3} && ! %{rhel4} && ! %{centos4}
+%if %{sl4} || %{sl3}
+%define _dist %(grep 'Scientific Linux' /etc/redhat-release)
+%endif
+%if %{fc3} && ! %{rhel4} && ! %{centos4} && ! %{sl4}
%define _dist %(grep Fedora /etc/redhat-release)
%endif
-%if %{wb3} && ! %{rhel3} && ! %{centos3}
+%if %{wb3} && ! %{rhel3} && ! %{centos3} && ! %{sl3}
%define _dist %(grep White /etc/whitebox-release)
%endif
-%if %{su9} || %{su10}
+%if %{su9} || %{su10} || %{su102}
%define _dist %(grep -i SuSE /etc/SuSE-release)
%endif
%if %{mdk}
%endif
Distribution: %{_dist}
-# Should we build gconsole, possible only if gnome >= 2.0 available
-%if %{rh7}
-%define gconsole 0
-%else
+# Should we build gconsole, possible only if gtk= >= 2.4 available.
+# leaving all the BuildRequires and Requires in place below for now.
+
%define gconsole 1
+%if %{rh7} || %{rh8} || %{rh9} || %{wb3} || %{fc1} || %{su9}
+%define gconsole 0
+%endif
+%if %{mdk} && ! %{mdv}
+%define gconsole 0
%endif
+
# specifically disallow gconsole if desired
%{?nobuild_gconsole:%define gconsole 0}
%define wxconsole 0
%{?build_wxconsole:%define wxconsole 1}
+# Should we build bat
+# requires QT4
+%define bat 0
+%{?build_bat:%define bat 1}
+
# should we turn on python support
%define python 0
%{?build_python:%define python 1}
+# Mandriva somehow forces the manpage file extension to bz2 rather than gz
+%if %{mdk}
+%define manpage_ext bz2
+%else
+%define manpage_ext gz
+%endif
+
# for client only build
%if %{client_only}
%define mysql 0
%define wxconsole 0
%endif
-%{expand: %%define gccver %(rpm -q gcc | cut -d - -f 2)}
-%{expand: %%define gccrel %(rpm -q gcc | cut -d - -f 3)}
+%{expand: %%define gccver %(rpm -q --queryformat %%{version} gcc)}
+%{expand: %%define gccrel %(rpm -q --queryformat %%{release} gcc)}
BuildRequires: gcc, gcc-c++, make, autoconf
-BuildRequires: atk-devel, ncurses-devel, perl
+BuildRequires: ncurses-devel, perl
BuildRequires: libstdc++-devel = %{gccver}-%{gccrel}, libxml2-devel, zlib-devel
BuildRequires: openssl-devel
%if %{python}
%{expand: %%define pyver %(python -c 'import sys;print(sys.version[0:3])')}
%endif
%if %{gconsole}
-BuildRequires: pkgconfig, pango-devel
+BuildRequires: pkgconfig, pango-devel, atk-devel
+%endif
+%if %{bat}
+BuildRequires: qt-devel >= 4
%endif
%if %{rh7}
BuildRequires: libtermcap-devel
BuildRequires: gnome-vfs2-devel >= 2.12
BuildRequires: libpng-devel
%endif
+%if %{su102}
+BuildRequires: termcap
+BuildRequires: glibc-devel >= 2.5
+%endif
+%if %{su102} && %{gconsole}
+BuildRequires: libgnome >= 2.16
+BuildRequires: gtk2-devel >= 2.10
+BuildRequires: libgnomeui-devel >= 2.16
+BuildRequires: ORBit2-devel
+BuildRequires: libart_lgpl-devel >= 2.3
+BuildRequires: libbonobo-devel >= 2.16
+BuildRequires: libbonoboui-devel >= 2.16
+BuildRequires: bonobo-activation-devel
+BuildRequires: gconf2-devel
+BuildRequires: freetype2-devel
+BuildRequires: cairo-devel
+BuildRequires: fontconfig-devel >= 2.4
+BuildRequires: gnome-vfs2-devel >= 2.16
+BuildRequires: libpng-devel
+%endif
%if %{mdk}
BuildRequires: libtermcap-devel
BuildRequires: libstdc++-static-devel
BuildRequires: GConf2-devel
BuildRequires: freetype-devel
%endif
-%if ! %{rh7} && ! %{su9} && ! %{su10} && ! %{mdk} && ! %{fc3} && ! %{fc4} && ! %{fc5}
+%if %{fc6}
+BuildRequires: libtermcap-devel
+BuildRequires: glibc-devel >= 2.5
+%endif
+%if %{fc6} && %{gconsole}
+BuildRequires: gtk2-devel >= 2.10
+BuildRequires: libgnomeui-devel >= 2.16
+BuildRequires: ORBit2-devel
+BuildRequires: libart_lgpl-devel >= 2.3
+BuildRequires: libbonobo-devel >= 2.16
+BuildRequires: libbonoboui-devel >= 2.16
+BuildRequires: GConf2-devel
+BuildRequires: freetype-devel
+%endif
+%if ! %{rh7} && ! %{su9} && ! %{su10} && ! %{su102} && ! %{mdk} && ! %{fc3} && ! %{fc4} && ! %{fc5} && ! %{fc6}
BuildRequires: libtermcap-devel
BuildRequires: glibc-devel >= 2.3
%endif
-%if ! %{rh7} && ! %{su9} && ! %{su10} && ! %{mdk} && ! %{fc3} && ! %{fc4} && ! %{fc5} && %{gconsole}
+%if ! %{rh7} && ! %{su9} && ! %{su10} && ! %{su102} && ! %{mdk} && ! %{fc3} && ! %{fc4} && ! %{fc5} && ! %{fc6} && %{gconsole}
BuildRequires: gtk2-devel >= 2.0
BuildRequires: libgnomeui-devel >= 2.0
BuildRequires: ORBit2-devel
Conflicts: bacula-client
Obsoletes: bacula-rescue
-%if %{su9} || %{su10}
+%if %{su9} || %{su10} || %{su102}
Conflicts: bacula
%endif
Requires: glibc >= 2.3
Requires: termcap
%endif
-%if ! %{rh7} && ! %{su9} && ! %{su10} && ! %{fc5}
+%if %{su102}
+Requires: glibc >= 2.5
+Requires: termcap
+%endif
+%if ! %{rh7} && ! %{su9} && ! %{su10} && ! %{su102} && ! %{fc5} && ! %{fc6}
Requires: glibc >= 2.3
Requires: libtermcap
%endif
Requires: glibc >= 2.4
Requires: libtermcap
%endif
+%if %{fc6}
+Requires: glibc >= 2.5
+Requires: libtermcap
+%endif
%if %{mysql} && ! %{su9} && ! %{mdk} && ! %{mysql4} && ! %{mysql5}
Requires: mysql >= 3.23
Requires: mysql >= 4.0
Requires: mysql-server >= 4.0
%endif
-%if %{mysql} && ! %{su9} && ! %{su10} && ! %{mdk} && %{mysql5}
+%if %{mysql} && ! %{su9} && ! %{su10} && ! %{su102} && ! %{mdk} && %{mysql5}
Requires: mysql >= 5.0
Requires: mysql-server >= 5.0
%endif
Requires: mysql >= 5.0
Requires: mysql-client >= 5.0
%endif
+%if %{mysql} && %{su102} && %{mysql5}
+Requires: mysql >= 5.0
+Requires: mysql-client >= 5.0
+%endif
%if %{mysql} && %{mdk} && ! %{mysql4}
Requires: mysql >= 3.23
Conflicts: bacula-postgresql
Obsoletes: bacula-rescue
-%if %{su9} || %{su10}
+%if %{su9} || %{su10} || %{su102}
Provides: bacula
%endif
Requires: glibc >= 2.3
Requires: termcap
%endif
-%if ! %{rh7} && ! %{su9} && ! %{su10} && ! %{fc5}
+%if %{su102}
+Requires: glibc >= 2.5
+Requires: termcap
+%endif
+%if ! %{rh7} && ! %{su9} && ! %{su10} && ! %{su102} && ! %{fc5} && ! %{fc6}
Requires: glibc >= 2.3
Requires: libtermcap
%endif
Requires: glibc >= 2.4
Requires: libtermcap
%endif
+%if %{fc6}
+Requires: glibc >= 2.5
+Requires: libtermcap
+%endif
%if %{python}
Requires: python >= %{pyver}
Requires: gnome-vfs2 >= 2.12
Requires: libpng
%endif
+%if %{gconsole} && %{su102}
+Requires: gtk2 >= 2.10
+Requires: libgnome >= 2.16
+Requires: libgnomeui >= 2.16
+Requires: glibc >= 2.5
+Requires: ORBit2
+Requires: libart_lgpl >= 2.3
+Requires: libbonobo >= 2.16
+Requires: libbonoboui >= 2.16
+Requires: bonobo-activation
+Requires: gconf2
+Requires: freetype2
+Requires: cairo
+Requires: fontconfig >= 2.4
+Requires: gnome-vfs2 >= 2.16
+Requires: libpng
+%endif
%if %{gconsole} && %{mdk} && !%{mdv}
Requires: gtk2 >= 2.0
Requires: libgnomeui2
Requires: GConf2
Requires: freetype
%endif
-%if %{gconsole} && ! %{su9} && ! %{su10} && ! %{mdk} && ! %{fc3} && ! %{fc4} && ! %{fc5}
+%if %{gconsole} && %{fc6}
+Requires: gtk2 >= 2.10
+Requires: libgnomeui >= 2.16
+Requires: glibc >= 2.5
+Requires: ORBit2
+Requires: libart_lgpl >= 2.3
+Requires: libbonobo >= 2.16
+Requires: libbonoboui >= 2.16
+Requires: GConf2
+Requires: freetype
+%endif
+%if %{gconsole} && ! %{su9} && ! %{su10} && ! %{su102} && ! %{mdk} && ! %{fc3} && ! %{fc4} && ! %{fc5} && ! %{fc6}
Requires: gtk2 >= 2.0
Requires: libgnomeui >= 2.0
Requires: glibc >= 2.3
%if %{gconsole} && %{su10}
Requires: xsu
%endif
-%if %{gconsole} && ! %{su9} && ! %{su10}
+%if %{gconsole} && %{su102}
+Requires: xsu
+%endif
+%if %{gconsole} && ! %{su9} && ! %{su10} && ! %{su102}
Requires: usermode
%endif
Requires: gtk2 >= 2.8
%endif
+%if %{wxconsole} && %{su102}
+Requires: gtk2 >= 2.10
+%endif
+
%if %{wxconsole} && %{fc3}
Requires: gtk2 >= 2.4
%endif
Requires: gtk2 >= 2.8
%endif
+%if %{wxconsole} && %{fc6}
+Requires: gtk2 >= 2.10
+%endif
+
%if %{wxconsole}
%description wxconsole
%{blurb}
server packages.
%endif
+%if %{bat}
+%package bat
+Summary: Bacula - The Network Backup Solution
+Group: System Environment/Daemons
+%endif
+
+%if %{bat} && %{su102}
+Requires: openssl
+Requires: glibc >= 2.5
+Requires: fontconfig
+Requires: freetype2
+Requires: libgcc
+Requires: libpng
+Requires: qt >= 4
+Requires: libstdc++
+Requires: zlib
+%endif
+
+%if %{bat} && %{fc6}
+Requires: openssl
+Requires: glibc >= 2.5
+Requires: fontconfig
+Requires: freetype
+Requires: libgcc
+Requires: libpng
+Requires: qt >= 4
+Requires: libstdc++
+Requires: zlib
+%endif
+
+%if %{bat}
+%description bat
+%{blurb}
+
+%{blurb2}
+%{blurb3}
+%{blurb4}
+%{blurb5}
+%{blurb6}
+%{blurb7}
+%{blurb8}
+
+This is the Bacula Administration Tool package. It is an add-on to
+the client or server packages.
+%endif
+
%prep
%setup
%build
-%if %{su9} || %{su10}
+%if %{su9} || %{su10} || %{su102}
export LDFLAGS="${LDFLAGS} -L/usr/lib/termcap"
%endif
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
+# not necessary after 1.39.26 no longer references sqlite binary
+#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
%if %{sqlite} && %{su10}
patch platforms/suse/bacula-dir.in platforms/suse/bacula-dir-suse-sqlite.patch
%endif
+%if %{sqlite} && %{su102}
+patch platforms/suse/bacula-dir.in platforms/suse/bacula-dir-suse-sqlite.patch
+%endif
# 64 bit lib location hacks
+# as of 1.39.18 it should not be necessary to enable x86_64 as configure is
+# reported to be fixed to properly detect lib locations.
%if %{x86_64}
export LDFLAGS="${LDFLAGS} -L/usr/lib64"
%endif
%if %{mysql} && %{x86_64}
export LDFLAGS="${LDFLAGS} -L/usr/lib64/mysql"
%endif
-# this MAY be necessary for python support - waiting for feedback to enable
-#%if %{python} && %{x86_64}
-#export LDFLAGS="${LDFLAGS} -L/usr/lib64/python%{pyver}"
-#%endif
+%if %{python} && %{x86_64}
+export LDFLAGS="${LDFLAGS} -L/usr/lib64/python%{pyver}"
+%endif
%configure \
--prefix=/usr \
--sbindir=/usr/sbin \
- --sysconfdir=/etc/bacula \
- --with-scriptdir=/etc/bacula \
+ --sysconfdir=%{sysconf_dir} \
+ --with-scriptdir=%{script_dir} \
+ --with-working-dir=%{working_dir} \
+ --with-pid-dir=%{pid_dir} \
--enable-smartalloc \
--enable-client-only \
%if %{mdk}
%configure \
--prefix=/usr \
--sbindir=/usr/sbin \
- --sysconfdir=/etc/bacula \
- --with-scriptdir=/etc/bacula \
+ --sysconfdir=%{sysconf_dir} \
+ --with-scriptdir=%{script_dir} \
+ --with-working-dir=%{working_dir} \
+ --with-pid-dir=%{pid_dir} \
--enable-smartalloc \
%if %{gconsole}
--enable-gnome \
--with-postgresql \
%endif
%if %{wxconsole}
- --enable-wx-console \
+ --enable-bwx-console \
+%endif
+%if %{bat}
+ --enable-bat \
%endif
%if %{python}
--with-python \
%if %{client_only}
--enable-client-only \
%endif
- --with-working-dir=%{working_dir} \
- --with-pid-dir=/var/run \
+ --mandir=%{_mandir} \
--with-subsys-dir=/var/lock/subsys \
--with-dir-user=%{director_daemon_user} \
--with-dir-group=%{daemon_group} \
mkdir -p $RPM_BUILD_ROOT/etc/log.d/conf/logfiles
mkdir -p $RPM_BUILD_ROOT/etc/log.d/conf/services
mkdir -p $RPM_BUILD_ROOT/etc/log.d/scripts/services
-mkdir -p $RPM_BUILD_ROOT/etc/bacula/updatedb
+mkdir -p $RPM_BUILD_ROOT%{script_dir}/updatedb
-%if %{gconsole} || %{wxconsole}
+%if %{gconsole} || %{wxconsole} || %{bat}
mkdir -p $RPM_BUILD_ROOT/usr/share/applications
mkdir -p $RPM_BUILD_ROOT/usr/share/pixmaps
%endif
-%if %{gconsole} || %{wxconsole}
+%if %{gconsole} || %{wxconsole} || %{bat}
%define usermode_iftrick 1
%else
%define usermode_iftrick 0
%endif
-%if %{usermode_iftrick} && ! %{su9} && ! %{su10}
+%if %{usermode_iftrick} && ! %{su9} && ! %{su10} && ! %{su102}
mkdir -p $RPM_BUILD_ROOT/etc/pam.d
mkdir -p $RPM_BUILD_ROOT/etc/security/console.apps
mkdir -p $RPM_BUILD_ROOT/usr/bin
make \
prefix=$RPM_BUILD_ROOT/usr \
sbindir=$RPM_BUILD_ROOT/usr/sbin \
- sysconfdir=$RPM_BUILD_ROOT/etc/bacula \
- scriptdir=$RPM_BUILD_ROOT/etc/bacula \
+ sysconfdir=$RPM_BUILD_ROOT%{sysconf_dir} \
+ scriptdir=$RPM_BUILD_ROOT%{script_dir} \
working_dir=$RPM_BUILD_ROOT%{working_dir} \
+ piddir=$RPM_BUILD_ROOT%{pid_dir} \
+ mandir=$RPM_BUILD_ROOT%{_mandir} \
install
%if ! %{client_only}
make \
prefix=$RPM_BUILD_ROOT/usr \
sbindir=$RPM_BUILD_ROOT/usr/sbin \
- sysconfdir=$RPM_BUILD_ROOT/etc/bacula \
+ sysconfdir=$RPM_BUILD_ROOT%{sysconf_dir} \
+ scriptdir=$RPM_BUILD_ROOT%{script_dir} \
working_dir=$RPM_BUILD_ROOT%{working_dir} \
- mandir=$RPM_BUILD_ROOT/usr/man \
+ piddir=$RPM_BUILD_ROOT%{pid_dir} \
+ mandir=$RPM_BUILD_ROOT%{_mandir} \
mtx-install
cd ${cwd}
%endif
+# make install in manpages installs _everything_ shotgun style
+# so now delete what we will not be packaging
+%if ! %{wxconsole}
+rm -f $RPM_BUILD_ROOT%{_mandir}/man1/bacula-bwxconsole.1.%{manpage_ext}
+%endif
+%if ! %{bat}
+rm -f $RPM_BUILD_ROOT%{_mandir}/man1/bat.1.%{manpage_ext}
+%endif
+%if ! %{gconsole}
+rm -f $RPM_BUILD_ROOT%{_mandir}/man1/bacula-bgnome-console.1.%{manpage_ext}
+rm -f $RPM_BUILD_ROOT%{_mandir}/man1/bacula-tray-monitor.1.%{manpage_ext}
+%endif
+%if %{client_only}
+rm -f $RPM_BUILD_ROOT%{_mandir}/man1/bsmtp.1.%{manpage_ext}
+rm -f $RPM_BUILD_ROOT%{_mandir}/man8/bacula-dir.8.%{manpage_ext}
+rm -f $RPM_BUILD_ROOT%{_mandir}/man8/bacula-sd.8.%{manpage_ext}
+rm -f $RPM_BUILD_ROOT%{_mandir}/man8/bcopy.8.%{manpage_ext}
+rm -f $RPM_BUILD_ROOT%{_mandir}/man8/bextract.8.%{manpage_ext}
+rm -f $RPM_BUILD_ROOT%{_mandir}/man8/bls.8.%{manpage_ext}
+rm -f $RPM_BUILD_ROOT%{_mandir}/man8/bscan.8.%{manpage_ext}
+rm -f $RPM_BUILD_ROOT%{_mandir}/man8/btape.8.%{manpage_ext}
+rm -f $RPM_BUILD_ROOT%{_mandir}/man8/dbcheck.8.%{manpage_ext}
+%endif
+
# fixme - make installs the mysql scripts for sqlite build
%if %{sqlite}
-rm -f $RPM_BUILD_ROOT/etc/bacula/startmysql
-rm -f $RPM_BUILD_ROOT/etc/bacula/stopmysql
-rm -f $RPM_BUILD_ROOT/etc/bacula/grant_mysql_privileges
+rm -f $RPM_BUILD_ROOT%{script_dir}/startmysql
+rm -f $RPM_BUILD_ROOT%{script_dir}/stopmysql
+rm -f $RPM_BUILD_ROOT%{script_dir}/grant_mysql_privileges
%endif
# fixme - make installs the mysql scripts for postgresql build
%if %{postgresql}
-rm -f $RPM_BUILD_ROOT/etc/bacula/startmysql
-rm -f $RPM_BUILD_ROOT/etc/bacula/stopmysql
+rm -f $RPM_BUILD_ROOT%{script_dir}/startmysql
+rm -f $RPM_BUILD_ROOT%{script_dir}/stopmysql
%endif
# fixme - make installs gconsole script for build without gconsole
%if ! %{gconsole}
-rm -f $RPM_BUILD_ROOT/etc/bacula/gconsole
+rm -f $RPM_BUILD_ROOT%{script_dir}/gconsole
%endif
rm -f $RPM_BUILD_ROOT/usr/sbin/static-bacula-fd
# install the init scripts
-%if %{su9} || %{su10}
+%if %{su9} || %{su10} || %{su102}
cp -p platforms/suse/bacula-dir $RPM_BUILD_ROOT/etc/init.d/bacula-dir
cp -p platforms/suse/bacula-fd $RPM_BUILD_ROOT/etc/init.d/bacula-fd
cp -p platforms/suse/bacula-sd $RPM_BUILD_ROOT/etc/init.d/bacula-sd
cp -p platforms/mandrake/bacula-fd $RPM_BUILD_ROOT/etc/init.d/bacula-fd
cp -p platforms/mandrake/bacula-sd $RPM_BUILD_ROOT/etc/init.d/bacula-sd
%endif
-%if ! %{su9} && ! %{su10} && ! %{mdk}
+%if ! %{su9} && ! %{su10} && ! %{su102} && ! %{mdk}
cp -p platforms/redhat/bacula-dir $RPM_BUILD_ROOT/etc/init.d/bacula-dir
cp -p platforms/redhat/bacula-fd $RPM_BUILD_ROOT/etc/init.d/bacula-fd
cp -p platforms/redhat/bacula-sd $RPM_BUILD_ROOT/etc/init.d/bacula-sd
cp -p src/tray-monitor/generic.xpm $RPM_BUILD_ROOT/usr/share/pixmaps/bacula-tray-monitor.xpm
cp -p scripts/bacula-tray-monitor.desktop $RPM_BUILD_ROOT/usr/share/applications/bacula-tray-monitor.desktop
%endif
+%if %{gconsole} && %{su102}
+cp -p scripts/bacula.png $RPM_BUILD_ROOT/usr/share/pixmaps/bacula.png
+cp -p scripts/bacula.desktop.gnome2.xsu $RPM_BUILD_ROOT/usr/share/applications/bacula.desktop
+cp -p src/tray-monitor/generic.xpm $RPM_BUILD_ROOT/usr/share/pixmaps/bacula-tray-monitor.xpm
+cp -p scripts/bacula-tray-monitor.desktop $RPM_BUILD_ROOT/usr/share/applications/bacula-tray-monitor.desktop
+%endif
%if %{wxconsole} && %{su10}
cp -p src/wx-console/wxwin16x16.xpm $RPM_BUILD_ROOT/usr/share/pixmaps/wxwin16x16.xpm
cp -p scripts/wxconsole.desktop.xsu $RPM_BUILD_ROOT/usr/share/applications/wxconsole.desktop
%endif
+%if %{wxconsole} && %{su102}
+cp -p src/wx-console/wxwin16x16.xpm $RPM_BUILD_ROOT/usr/share/pixmaps/wxwin16x16.xpm
+cp -p scripts/wxconsole.desktop.xsu $RPM_BUILD_ROOT/usr/share/applications/wxconsole.desktop
+%endif
+%if %{bat} && %{su102}
+cp -p src/qt-console/images/bat_icon.png $RPM_BUILD_ROOT/usr/share/pixmaps/bat_icon.png
+cp -p scripts/bat.desktop.xsu $RPM_BUILD_ROOT/usr/share/applications/bat.desktop
+%endif
%if %{rh8} || %{rh9} || %{wb3} || %{fc1} || %{fc3} || %{fc4} || %{fc5} || %{mdk}
%define iftrick 1
%else
%if %{gconsole} && %{iftrick}
cp -p scripts/bacula.png $RPM_BUILD_ROOT/usr/share/pixmaps/bacula.png
cp -p scripts/bacula.desktop.gnome2.consolehelper $RPM_BUILD_ROOT/usr/share/applications/bacula.desktop
-cp -p scripts/gnome-console.console_apps $RPM_BUILD_ROOT/etc/security/console.apps/gnome-console
-cp -p scripts/gnome-console.pamd $RPM_BUILD_ROOT/etc/pam.d/gnome-console
-ln -sf consolehelper $RPM_BUILD_ROOT/usr/bin/gnome-console
+cp -p scripts/bgnome-console.console_apps $RPM_BUILD_ROOT/etc/security/console.apps/bgnome-console
+cp -p scripts/bgnome-console.pamd $RPM_BUILD_ROOT/etc/pam.d/bgnome-console
+ln -sf consolehelper $RPM_BUILD_ROOT/usr/bin/bgnome-console
%endif
%if %{gconsole} && ! %{rh8}
cp -p src/tray-monitor/generic.xpm $RPM_BUILD_ROOT/usr/share/pixmaps/bacula-tray-monitor.xpm
%if %{wxconsole} && %{iftrick}
cp -p src/wx-console/wxwin16x16.xpm $RPM_BUILD_ROOT/usr/share/pixmaps/wxwin16x16.xpm
cp -p scripts/wxconsole.desktop.consolehelper $RPM_BUILD_ROOT/usr/share/applications/wxconsole.desktop
-cp -p scripts/wxconsole.console_apps $RPM_BUILD_ROOT/etc/security/console.apps/wxconsole
-cp -p scripts/wxconsole.pamd $RPM_BUILD_ROOT/etc/pam.d/wxconsole
-ln -sf consolehelper $RPM_BUILD_ROOT/usr/bin/wxconsole
+cp -p scripts/wxconsole.console_apps $RPM_BUILD_ROOT/etc/security/console.apps/bwx-console
+cp -p scripts/wxconsole.pamd $RPM_BUILD_ROOT/etc/pam.d/bwx-console
+ln -sf consolehelper $RPM_BUILD_ROOT/usr/bin/bwx-console
+%endif
+%if %{bat} && %{iftrick}
+cp -p src/qt-console/images/bat_icon.png $RPM_BUILD_ROOT/usr/share/pixmaps/bat_icon.png
+cp -p scripts/bat.desktop.consolehelper $RPM_BUILD_ROOT/usr/share/applications/bat.desktop
+cp -p scripts/bat.console_apps $RPM_BUILD_ROOT/etc/security/console.apps/bat
+cp -p scripts/bat.pamd $RPM_BUILD_ROOT/etc/pam.d/bat
+ln -sf consolehelper $RPM_BUILD_ROOT/usr/bin/bat
%endif
# install sqlite
cp -p scripts/logrotate $RPM_BUILD_ROOT/etc/logrotate.d/bacula
# install the updatedb scripts
-cp -p updatedb/* $RPM_BUILD_ROOT/etc/bacula/updatedb/
+cp -p updatedb/* $RPM_BUILD_ROOT%{script_dir}/updatedb/
# install the logwatch scripts
%if ! %{client_only}
%endif
# install the rescue files
-mkdir $RPM_BUILD_ROOT/etc/bacula/rescue
-cp -p %{_rescuesrc}/Makefile* $RPM_BUILD_ROOT/etc/bacula/rescue/
-cp -p %{_rescuesrc}/README $RPM_BUILD_ROOT/etc/bacula/rescue/
-cp -p %{_rescuesrc}/configure $RPM_BUILD_ROOT/etc/bacula/rescue/
-cp -p %{_rescuesrc}/version.h $RPM_BUILD_ROOT/etc/bacula/rescue/
-cp -pr %{_rescuesrc}/linux $RPM_BUILD_ROOT/etc/bacula/rescue/
-cp -pr %{_rescuesrc}/autoconf $RPM_BUILD_ROOT/etc/bacula/rescue/
-touch $RPM_BUILD_ROOT/etc/bacula/rescue/linux/cdrom/rpm_release
-cp -p src/filed/static-bacula-fd $RPM_BUILD_ROOT/etc/bacula/rescue/linux/cdrom/bacula/bin/bacula-fd
+mkdir $RPM_BUILD_ROOT%{sysconf_dir}/rescue
+cp -p %{_rescuesrc}/Makefile* $RPM_BUILD_ROOT%{sysconf_dir}/rescue/
+cp -p %{_rescuesrc}/README $RPM_BUILD_ROOT%{sysconf_dir}/rescue/
+cp -p %{_rescuesrc}/configure $RPM_BUILD_ROOT%{sysconf_dir}/rescue/
+cp -p %{_rescuesrc}/version.h $RPM_BUILD_ROOT%{sysconf_dir}/rescue/
+cp -pr %{_rescuesrc}/linux $RPM_BUILD_ROOT%{sysconf_dir}/rescue/
+cp -pr %{_rescuesrc}/autoconf $RPM_BUILD_ROOT%{sysconf_dir}/rescue/
+touch $RPM_BUILD_ROOT%{sysconf_dir}/rescue/linux/cdrom/rpm_release
+cp -p src/filed/static-bacula-fd $RPM_BUILD_ROOT%{sysconf_dir}/rescue/linux/cdrom/bacula/bin/bacula-fd
rm -f src/filed/static-bacula-fd
-%if %{wxconsole}
-mv $RPM_BUILD_ROOT/usr/sbin/wx-console $RPM_BUILD_ROOT/usr/sbin/wxconsole
-mv $RPM_BUILD_ROOT/etc/bacula/wx-console.conf $RPM_BUILD_ROOT/etc/bacula/wxconsole.conf
+# install bat since make doesn't at the moment
+%if %{bat}
+cp -p src/qt-console/bat $RPM_BUILD_ROOT/usr/sbin/bat
+cp -p src/qt-console/bat.conf $RPM_BUILD_ROOT%{sysconf_dir}/bat.conf
%endif
# now clean up permissions that are left broken by the install
%if ! %{client_only}
-chmod o-r $RPM_BUILD_ROOT/etc/bacula/query.sql
+chmod o-r $RPM_BUILD_ROOT%{script_dir}/query.sql
%endif
-chmod o-rwx $RPM_BUILD_ROOT/var/bacula
+chmod o-rwx $RPM_BUILD_ROOT%{working_dir}
%if %{gconsole} && ! %{rh8}
chmod 755 $RPM_BUILD_ROOT/usr/sbin/bacula-tray-monitor
-chmod 644 $RPM_BUILD_ROOT/etc/bacula/tray-monitor.conf
+chmod 644 $RPM_BUILD_ROOT%{sysconf_dir}/tray-monitor.conf
%endif
# fix me - building enable-client-only installs files not included in bacula-client package
%if %{client_only}
-rm -f $RPM_BUILD_ROOT/etc/bacula/bacula
-rm -f $RPM_BUILD_ROOT/etc/bacula/bacula-ctl-dir
-rm -f $RPM_BUILD_ROOT/etc/bacula/bacula-ctl-sd
-rm -f $RPM_BUILD_ROOT/etc/bacula/disk-changer
-rm -f $RPM_BUILD_ROOT/etc/bacula/dvd-handler
-rm -f $RPM_BUILD_ROOT/etc/bacula/mtx-changer
-rm -f $RPM_BUILD_ROOT/etc/bacula/startmysql
-rm -f $RPM_BUILD_ROOT/etc/bacula/stopmysql
-rm -rf $RPM_BUILD_ROOT/etc/bacula/updatedb
+rm -f $RPM_BUILD_ROOT%{script_dir}/bacula
+rm -f $RPM_BUILD_ROOT%{script_dir}/bacula-ctl-dir
+rm -f $RPM_BUILD_ROOT%{script_dir}/bacula-ctl-sd
+rm -f $RPM_BUILD_ROOT%{script_dir}/disk-changer
+rm -f $RPM_BUILD_ROOT%{script_dir}/dvd-handler
+rm -f $RPM_BUILD_ROOT%{script_dir}/mtx-changer
+rm -f $RPM_BUILD_ROOT%{script_dir}/startmysql
+rm -f $RPM_BUILD_ROOT%{script_dir}/stopmysql
+rm -rf $RPM_BUILD_ROOT%{script_dir}/updatedb
%endif
%clean
[ "$RPM_BUILD_ROOT" != "/" ] && rm -rf "$RPM_BUILD_ROOT"
+rm -rf $RPM_BUILD_DIR/%{name}-docs-%{docs_version}
+rm -rf $RPM_BUILD_DIR/%{name}-rescue-%{_rescuever}
+rm -rf $RPM_BUILD_DIR/depkgs
+rm -f $RPM_BUILD_DIR/Release_Notes-%{version}-%{release}.txt
%if %{mysql}
# MySQL specific files
%files mysql
%defattr(-, root, root)
-%attr(-, root, %{daemon_group}) /etc/bacula/create_mysql_database
-%attr(-, root, %{daemon_group}) /etc/bacula/drop_mysql_database
-%attr(-, root, %{daemon_group}) /etc/bacula/make_mysql_tables
-%attr(-, root, %{daemon_group}) /etc/bacula/drop_mysql_tables
-%attr(-, root, %{daemon_group}) /etc/bacula/update_mysql_tables
-%attr(-, root, %{daemon_group}) /etc/bacula/grant_mysql_privileges
-%attr(-, root, %{daemon_group}) /etc/bacula/startmysql
-%attr(-, root, %{daemon_group}) /etc/bacula/stopmysql
+%attr(-, root, %{daemon_group}) %{script_dir}/create_mysql_database
+%attr(-, root, %{daemon_group}) %{script_dir}/drop_mysql_database
+%attr(-, root, %{daemon_group}) %{script_dir}/make_mysql_tables
+%attr(-, root, %{daemon_group}) %{script_dir}/drop_mysql_tables
+%attr(-, root, %{daemon_group}) %{script_dir}/update_mysql_tables
+%attr(-, root, %{daemon_group}) %{script_dir}/grant_mysql_privileges
+%attr(-, root, %{daemon_group}) %{script_dir}/startmysql
+%attr(-, root, %{daemon_group}) %{script_dir}/stopmysql
%endif
%if %{sqlite}
%files sqlite
%defattr(-,root,root)
-%attr(-, root, %{daemon_group}) /etc/bacula/create_sqlite_database
-%attr(-, root, %{daemon_group}) /etc/bacula/drop_sqlite_database
-%attr(-, root, %{daemon_group}) /etc/bacula/grant_sqlite_privileges
-%attr(-, root, %{daemon_group}) /etc/bacula/make_sqlite_tables
-%attr(-, root, %{daemon_group}) /etc/bacula/drop_sqlite_tables
-%attr(-, root, %{daemon_group}) /etc/bacula/update_sqlite_tables
+%attr(-, root, %{daemon_group}) %{script_dir}/create_sqlite_database
+%attr(-, root, %{daemon_group}) %{script_dir}/drop_sqlite_database
+%attr(-, root, %{daemon_group}) %{script_dir}/grant_sqlite_privileges
+%attr(-, root, %{daemon_group}) %{script_dir}/make_sqlite_tables
+%attr(-, root, %{daemon_group}) %{script_dir}/drop_sqlite_tables
+%attr(-, root, %{daemon_group}) %{script_dir}/update_sqlite_tables
%{sqlite_bindir}/libsqlite.a
%{sqlite_bindir}/sqlite.h
%{sqlite_bindir}/sqlite
%if %{postgresql}
%files postgresql
%defattr(-,root,root)
-%attr(-, root, %{daemon_group}) /etc/bacula/create_postgresql_database
-%attr(-, root, %{daemon_group}) /etc/bacula/drop_postgresql_database
-%attr(-, root, %{daemon_group}) /etc/bacula/make_postgresql_tables
-%attr(-, root, %{daemon_group}) /etc/bacula/drop_postgresql_tables
-%attr(-, root, %{daemon_group}) /etc/bacula/update_postgresql_tables
-%attr(-, root, %{daemon_group}) /etc/bacula/grant_postgresql_privileges
+%attr(-, root, %{daemon_group}) %{script_dir}/create_postgresql_database
+%attr(-, root, %{daemon_group}) %{script_dir}/drop_postgresql_database
+%attr(-, root, %{daemon_group}) %{script_dir}/make_postgresql_tables
+%attr(-, root, %{daemon_group}) %{script_dir}/drop_postgresql_tables
+%attr(-, root, %{daemon_group}) %{script_dir}/update_postgresql_tables
+%attr(-, root, %{daemon_group}) %{script_dir}/grant_postgresql_privileges
%endif
# The rest is DB backend independent
%if ! %{client_only}
-%attr(-, root, %{daemon_group}) %dir /etc/bacula
-%attr(-, root, %{daemon_group}) /etc/bacula/bacula
-%attr(-, root, %{daemon_group}) /etc/bacula/bconsole
-%attr(-, root, %{daemon_group}) /etc/bacula/create_bacula_database
-%attr(-, root, %{daemon_group}) /etc/bacula/drop_bacula_database
-%attr(-, root, %{daemon_group}) /etc/bacula/grant_bacula_privileges
-%attr(-, root, %{daemon_group}) /etc/bacula/make_bacula_tables
-%attr(-, root, %{daemon_group}) /etc/bacula/drop_bacula_tables
-%attr(-, root, %{daemon_group}) /etc/bacula/update_bacula_tables
-%attr(-, root, %{daemon_group}) /etc/bacula/make_catalog_backup
-%attr(-, root, %{daemon_group}) /etc/bacula/delete_catalog_backup
-%attr(-, root, %{daemon_group}) /etc/bacula/btraceback.dbx
-%attr(-, root, %{daemon_group}) /etc/bacula/btraceback.gdb
-%attr(-, root, %{daemon_group}) /etc/bacula/rescue
-%attr(-, root, %{daemon_group}) /etc/bacula/disk-changer
-%attr(-, root, %{daemon_group}) /etc/bacula/bacula-ctl-dir
-%attr(-, root, %{daemon_group}) /etc/bacula/bacula-ctl-fd
-%attr(-, root, %{daemon_group}) /etc/bacula/bacula-ctl-sd
+%attr(-, root, %{daemon_group}) %dir %{script_dir}
+%attr(-, root, %{daemon_group}) %{script_dir}/bacula
+%attr(-, root, %{daemon_group}) %{script_dir}/bconsole
+%attr(-, root, %{daemon_group}) %{script_dir}/create_bacula_database
+%attr(-, root, %{daemon_group}) %{script_dir}/drop_bacula_database
+%attr(-, root, %{daemon_group}) %{script_dir}/grant_bacula_privileges
+%attr(-, root, %{daemon_group}) %{script_dir}/make_bacula_tables
+%attr(-, root, %{daemon_group}) %{script_dir}/drop_bacula_tables
+%attr(-, root, %{daemon_group}) %{script_dir}/update_bacula_tables
+%attr(-, root, %{daemon_group}) %{script_dir}/make_catalog_backup
+%attr(-, root, %{daemon_group}) %{script_dir}/delete_catalog_backup
+%attr(-, root, %{daemon_group}) %{script_dir}/btraceback.dbx
+%attr(-, root, %{daemon_group}) %{script_dir}/btraceback.gdb
+%attr(-, root, %{daemon_group}) %{sysconf_dir}/rescue
+%attr(-, root, %{daemon_group}) %{script_dir}/disk-changer
+%attr(-, root, %{daemon_group}) %{script_dir}/bacula-ctl-dir
+%attr(-, root, %{daemon_group}) %{script_dir}/bacula-ctl-fd
+%attr(-, root, %{daemon_group}) %{script_dir}/bacula-ctl-sd
%attr(-, root, %{daemon_group}) /etc/init.d/bacula-dir
%attr(-, root, %{daemon_group}) /etc/init.d/bacula-fd
-%attr(-, root, %{storage_daemon_group}) /etc/bacula/dvd-handler
+%attr(-, root, %{storage_daemon_group}) %{script_dir}/dvd-handler
%attr(-, root, %{storage_daemon_group}) /etc/init.d/bacula-sd
-%attr(-, root, %{storage_daemon_group}) /etc/bacula/mtx-changer
+%attr(-, root, %{storage_daemon_group}) %{script_dir}/mtx-changer
%doc COPYING ChangeLog ReleaseNotes VERIFYING kernstodo
%doc %{_docsrc}/manual/bacula.pdf %{_docsrc}/developers/developers.pdf %{_docsrc}/manual/bacula ../Release_Notes-%{version}-%{release}.txt
/etc/logrotate.d/bacula
/etc/log.d/scripts/services/bacula
-%attr(-, root, %{daemon_group}) %config(noreplace) /etc/bacula/bacula-dir.conf
-%attr(-, root, %{daemon_group}) %config(noreplace) /etc/bacula/bacula-fd.conf
-%attr(-, root, %{storage_daemon_group}) %config(noreplace) /etc/bacula/bacula-sd.conf
-%attr(-, root, %{daemon_group}) %config(noreplace) /etc/bacula/bconsole.conf
+%attr(-, root, %{daemon_group}) %config(noreplace) %{sysconf_dir}/bacula-dir.conf
+%attr(-, root, %{daemon_group}) %config(noreplace) %{sysconf_dir}/bacula-fd.conf
+%attr(-, root, %{storage_daemon_group}) %config(noreplace) %{sysconf_dir}/bacula-sd.conf
+%attr(-, root, %{daemon_group}) %config(noreplace) %{sysconf_dir}/bconsole.conf
%attr(-, root, %{daemon_group}) %config(noreplace) /etc/log.d/conf/logfiles/bacula.conf
%attr(-, root, %{daemon_group}) %config(noreplace) /etc/log.d/conf/services/bacula.conf
-%attr(-, root, %{daemon_group}) /etc/bacula/query.sql
-%attr(-, root, %{daemon_group}) %dir %{working_dir}
+%attr(-, root, %{daemon_group}) %config(noreplace) %{script_dir}/query.sql
+
+%attr(-, %{storage_daemon_user}, %{daemon_group}) %dir %{working_dir}
/usr/sbin/bacula-dir
/usr/sbin/bacula-fd
/usr/sbin/bsmtp
/usr/sbin/bregex
/usr/sbin/bwild
+%{_mandir}/man8/bacula-fd.8.%{manpage_ext}
+%{_mandir}/man8/bacula-dir.8.%{manpage_ext}
+%{_mandir}/man8/bacula-sd.8.%{manpage_ext}
+%{_mandir}/man8/bacula.8.%{manpage_ext}
+%{_mandir}/man8/bconsole.8.%{manpage_ext}
+%{_mandir}/man8/bcopy.8.%{manpage_ext}
+%{_mandir}/man8/bextract.8.%{manpage_ext}
+%{_mandir}/man8/bls.8.%{manpage_ext}
+%{_mandir}/man8/bscan.8.%{manpage_ext}
+%{_mandir}/man8/btape.8.%{manpage_ext}
+%{_mandir}/man8/btraceback.8.%{manpage_ext}
+%{_mandir}/man8/dbcheck.8.%{manpage_ext}
+%{_mandir}/man1/bsmtp.1.%{manpage_ext}
%endif
%if %{mysql}
%pre mysql
-# test for bacula database older than version 8
+# test for bacula database older than version 9
# note: this ASSUMES no password has been set for bacula database
DB_VER=`mysql 2>/dev/null bacula -e 'select * from Version;'|tail -n 1`
%endif
%if %{sqlite}
%pre sqlite
-# test for bacula database older than version 8
+# test for bacula database older than version 9
if [ -s %{working_dir}/bacula.db ] && [ -s %{sqlite_bindir}/sqlite ];then
DB_VER=`echo "select * from Version;" | %{sqlite_bindir}/sqlite 2>/dev/null %{working_dir}/bacula.db | tail -n 1`
%endif
DB_VER=`echo 'select * from Version;' | psql bacula 2>/dev/null | tail -3 | head -1`
%endif
-if [ -n "$DB_VER" ] && [ "$DB_VER" -lt "8" ]; then
- echo "This bacula upgrade will update a bacula database from version 8 to 9."
+%if ! %{client_only}
+if [ -n "$DB_VER" ] && [ "$DB_VER" -lt "9" ]; then
+ echo "This bacula upgrade will update a bacula database from version 9 to 10."
echo "You appear to be running database version $DB_VER. You must first update"
- echo "your database to version 8 and then install this upgrade. The alternative"
- echo "is to use /etc/bacula/drop_%{db_backend}_tables to delete all your your current"
+ echo "your database to version 9 and then install this upgrade. The alternative"
+ echo "is to use %{script_dir}/drop_%{db_backend}_tables to delete all your your current"
echo "catalog information, then do the upgrade. Information on updating a"
- echo "database older than version 8 can be found in the release notes."
+ echo "database older than version 9 can be found in the release notes."
exit 1
fi
+%endif
%if %{sqlite}
fi
%endif
%if ! %{client_only}
-# check for and copy /etc/bacula/console.conf to bconsole.conf
-if [ -s /etc/bacula/console.conf ];then
- cp -p /etc/bacula/console.conf /etc/bacula/bconsole.conf
+# check for and copy %{sysconf_dir}/console.conf to bconsole.conf
+if [ -s %{sysconf_dir}/console.conf ];then
+ cp -p %{sysconf_dir}/console.conf %{sysconf_dir}/bconsole.conf
fi
# create the daemon users and groups
if [ -z "$DB_VER" ]; then
echo "Hmm, doesn't look like you have an existing database."
echo "Granting privileges for MySQL user bacula..."
- /etc/bacula/grant_mysql_privileges
+ %{script_dir}/grant_mysql_privileges
echo "Creating MySQL bacula database..."
- /etc/bacula/create_mysql_database
+ %{script_dir}/create_mysql_database
echo "Creating bacula tables..."
- /etc/bacula/make_mysql_tables
+ %{script_dir}/make_mysql_tables
-# check to see if we need to upgrade a 1.36 or lower database
-elif [ "$DB_VER" -lt "9" ]; then
+# check to see if we need to upgrade a 1.38 or lower database
+elif [ "$DB_VER" -lt "10" ]; then
echo "This release requires an upgrade to your bacula database."
echo "Backing up your current database..."
mysqldump -f --opt bacula | bzip2 > %{working_dir}/bacula_backup.sql.bz2
echo "Upgrading bacula database ..."
- /etc/bacula/update_mysql_tables
+ %{script_dir}/update_mysql_tables
echo "If bacula works correctly you can remove the backup file %{working_dir}/bacula_backup.sql.bz2"
fi
# test for an existing database
if [ -s %{working_dir}/bacula.db ]; then
DB_VER=`echo "select * from Version;" | %{sqlite_bindir}/sqlite 2>/dev/null %{working_dir}/bacula.db | tail -n 1`
- # check to see if we need to upgrade a 1.36 or lower database
- if [ "$DB_VER" -lt "9" ] && [ "$DB_VER" -ge "8" ]; then
+ # check to see if we need to upgrade a 1.38 or lower database
+ if [ "$DB_VER" -lt "10" ] && [ "$DB_VER" -ge "9" ]; then
echo "This release requires an upgrade to your bacula database."
echo "Backing up your current database..."
echo ".dump" | %{sqlite_bindir}/sqlite %{working_dir}/bacula.db | bzip2 > %{working_dir}/bacula_backup.sql.bz2
echo "Upgrading bacula database ..."
- /etc/bacula/update_sqlite_tables
+ %{script_dir}/update_sqlite_tables
echo "If bacula works correctly you can remove the backup file %{working_dir}/bacula_backup.sql.bz2"
fi
else
# create the database and tables
echo "Hmm, doesn't look like you have an existing database."
echo "Creating SQLite database..."
- /etc/bacula/create_sqlite_database
+ %{script_dir}/create_sqlite_database
echo "Creating the SQLite tables..."
- /etc/bacula/make_sqlite_tables
+ %{script_dir}/make_sqlite_tables
fi
%endif
if [ -z "$DB_VER" ]; then
echo "Hmm, doesn't look like you have an existing database."
echo "Creating PostgreSQL bacula database..."
- /etc/bacula/create_postgresql_database
+ %{script_dir}/create_postgresql_database
echo "Creating bacula tables..."
- /etc/bacula/make_postgresql_tables
+ %{script_dir}/make_postgresql_tables
echo "Granting privileges for PostgreSQL user bacula..."
- /etc/bacula/grant_postgresql_privileges
+ %{script_dir}/grant_postgresql_privileges
-# check to see if we need to upgrade a 1.36 or lower database
-elif [ "$DB_VER" -lt "9" ]; then
+# check to see if we need to upgrade a 1.38 or lower database
+elif [ "$DB_VER" -lt "10" ]; then
echo "This release requires an upgrade to your bacula database."
echo "Backing up your current database..."
pg_dump bacula | bzip2 > %{working_dir}/bacula_backup.sql.bz2
echo "Upgrading bacula database ..."
- /etc/bacula/update_postgresql_tables
+ %{script_dir}/update_postgresql_tables
echo "If bacula works correctly you can remove the backup file %{working_dir}/bacula_backup.sql.bz2"
fi
%if ! %{client_only}
# generate passwords if needed
-if [ -d /etc/bacula ]; then
- cd /etc/bacula
+if [ -d %{sysconf_dir} ]; then
+ cd %{sysconf_dir}
for file in *.conf; do
for string in XXX_REPLACE_WITH_DIRECTOR_PASSWORD_XXX XXX_REPLACE_WITH_CLIENT_PASSWORD_XXX XXX_REPLACE_WITH_STORAGE_PASSWORD_XXX XXX_REPLACE_WITH_DIRECTOR_MONITOR_PASSWORD_XXX XXX_REPLACE_WITH_CLIENT_MONITOR_PASSWORD_XXX XXX_REPLACE_WITH_STORAGE_MONITOR_PASSWORD_XXX; do
need_password=`grep $string $file 2>/dev/null`
%if ! %{client_only}
%files mtx
+%defattr(-,root,root)
%attr(-, root, %{storage_daemon_group}) /usr/sbin/loaderinfo
%attr(-, root, %{storage_daemon_group}) /usr/sbin/mtx
%attr(-, root, %{storage_daemon_group}) /usr/sbin/scsitape
%attr(-, root, %{storage_daemon_group}) /usr/sbin/tapeinfo
-/usr/man/man1/*
+%{_mandir}/man1/loaderinfo.1.%{manpage_ext}
+%{_mandir}/man1/mtx.1.%{manpage_ext}
+%{_mandir}/man1/scsitape.1.%{manpage_ext}
+%{_mandir}/man1/tapeinfo.1.%{manpage_ext}
%endif
-
%files client
%defattr(-,root,root)
-%attr(-, root, %{daemon_group}) %dir /etc/bacula
-%attr(-, root, %{daemon_group}) /etc/bacula/bconsole
-/etc/bacula/bacula-ctl-fd
+%attr(-, root, %{daemon_group}) %dir %{script_dir}
+%attr(-, root, %{daemon_group}) %{script_dir}/bconsole
+%{script_dir}/bacula-ctl-fd
/etc/init.d/bacula-fd
-%attr(-, root, %{daemon_group}) /etc/bacula/rescue
+%attr(-, root, %{daemon_group}) %{sysconf_dir}/rescue
%doc COPYING ChangeLog ReleaseNotes VERIFYING kernstodo
%doc %{_docsrc}/manual/bacula.pdf %{_docsrc}/developers/developers.pdf %{_docsrc}/manual/bacula ../Release_Notes-%{version}-%{release}.txt
/etc/logrotate.d/bacula
-%attr(-, root, %{daemon_group}) %config(noreplace) /etc/bacula/bacula-fd.conf
-%attr(-, root, %{daemon_group}) %config(noreplace) /etc/bacula/bconsole.conf
+%attr(-, root, %{daemon_group}) %config(noreplace) %{sysconf_dir}/bacula-fd.conf
+%attr(-, root, %{daemon_group}) %config(noreplace) %{sysconf_dir}/bconsole.conf
+
%attr(-, root, %{daemon_group}) %dir %{working_dir}
/usr/sbin/bacula-fd
/usr/sbin/btraceback
-%attr(-, root, %{daemon_group}) /etc/bacula/btraceback.gdb
-%attr(-, root, %{daemon_group}) /etc/bacula/btraceback.dbx
+%attr(-, root, %{daemon_group}) %{script_dir}/btraceback.gdb
+%attr(-, root, %{daemon_group}) %{script_dir}/btraceback.dbx
/usr/sbin/bconsole
+%{_mandir}/man8/bacula-fd.8.%{manpage_ext}
+%{_mandir}/man8/bacula.8.%{manpage_ext}
+%{_mandir}/man8/bconsole.8.%{manpage_ext}
+%{_mandir}/man8/btraceback.8.%{manpage_ext}
%pre client
fi
# generate passwords if needed
-if [ -d /etc/bacula ]; then
- cd /etc/bacula
+if [ -d %{sysconf_dir} ]; then
+ cd %{sysconf_dir}
for file in *.conf; do
for string in XXX_REPLACE_WITH_DIRECTOR_PASSWORD_XXX XXX_REPLACE_WITH_CLIENT_PASSWORD_XXX XXX_REPLACE_WITH_STORAGE_PASSWORD_XXX XXX_REPLACE_WITH_DIRECTOR_MONITOR_PASSWORD_XXX XXX_REPLACE_WITH_CLIENT_MONITOR_PASSWORD_XXX XXX_REPLACE_WITH_STORAGE_MONITOR_PASSWORD_XXX; do
need_password=`grep $string $file 2>/dev/null`
%if ! %{client_only}
%files updatedb
%defattr(-,root,%{daemon_group})
-/etc/bacula/updatedb/*
+%{script_dir}/updatedb/*
%pre updatedb
# create the daemon group
fi
%post updatedb
-echo "The database update scripts were installed to /etc/bacula/updatedb"
+echo "The database update scripts were installed to %{script_dir}/updatedb"
%endif
%if %{gconsole}
%files gconsole
%defattr(-,root,root)
-/usr/sbin/gnome-console
-%attr(-, root, %{daemon_group}) %dir /etc/bacula
-%attr(-, root, %{daemon_group}) /etc/bacula/gconsole
-%attr(-, root, %{daemon_group}) %config(noreplace) /etc/bacula/gnome-console.conf
+/usr/sbin/bgnome-console
+%attr(-, root, %{daemon_group}) %dir %{script_dir}
+%attr(-, root, %{daemon_group}) %{script_dir}/gconsole
+%attr(-, root, %{daemon_group}) %config(noreplace) %{sysconf_dir}/bgnome-console.conf
/usr/share/pixmaps/bacula.png
/usr/share/applications/bacula.desktop
+%{_mandir}/man1/bacula-bgnome-console.1.%{manpage_ext}
%endif
%if %{gconsole} && ! %{rh8}
/usr/sbin/bacula-tray-monitor
-%config(noreplace) /etc/bacula/tray-monitor.conf
+%config(noreplace) %{sysconf_dir}/tray-monitor.conf
/usr/share/pixmaps/bacula-tray-monitor.xpm
/usr/share/applications/bacula-tray-monitor.desktop
+%{_mandir}/man1/bacula-tray-monitor.1.%{manpage_ext}
%endif
-%if %{gconsole} && ! %{su9} && ! %{su10}
+%if %{gconsole} && ! %{su9} && ! %{su10} && ! %{su102}
# add the console helper files
-%config(noreplace,missingok) /etc/pam.d/gnome-console
-%config(noreplace,missingok) /etc/security/console.apps/gnome-console
-/usr/bin/gnome-console
+%config(noreplace,missingok) /etc/pam.d/bgnome-console
+%config(noreplace,missingok) /etc/security/console.apps/bgnome-console
+/usr/bin/bgnome-console
%endif
%if %{gconsole}
%post gconsole
# generate passwords if needed
-if [ -d /etc/bacula ]; then
- cd /etc/bacula
+if [ -d %{sysconf_dir} ]; then
+ cd %{sysconf_dir}
for file in *.conf; do
for string in XXX_REPLACE_WITH_DIRECTOR_PASSWORD_XXX XXX_REPLACE_WITH_CLIENT_PASSWORD_XXX XXX_REPLACE_WITH_STORAGE_PASSWORD_XXX XXX_REPLACE_WITH_DIRECTOR_MONITOR_PASSWORD_XXX XXX_REPLACE_WITH_CLIENT_MONITOR_PASSWORD_XXX XXX_REPLACE_WITH_STORAGE_MONITOR_PASSWORD_XXX; do
need_password=`grep $string $file 2>/dev/null`
%if %{wxconsole}
%files wxconsole
%defattr(-,root,root)
-/usr/sbin/wxconsole
-%attr(-, root, %{daemon_group}) %dir /etc/bacula
-%attr(-, root, %{daemon_group}) %config(noreplace) /etc/bacula/wxconsole.conf
+/usr/sbin/bwx-console
+%attr(-, root, %{daemon_group}) %dir %{sysconf_dir}
+%attr(-, root, %{daemon_group}) %config(noreplace) %{sysconf_dir}/bwx-console.conf
/usr/share/pixmaps/wxwin16x16.xpm
/usr/share/applications/wxconsole.desktop
+%{_mandir}/man1/bacula-bwxconsole.1.%{manpage_ext}
%endif
-%if %{wxconsole} && ! %{su9} && ! %{su10}
+%if %{wxconsole} && ! %{su9} && ! %{su10} && ! %{su102}
# add the console helper files
-%config(noreplace,missingok) /etc/pam.d/wxconsole
-%config(noreplace,missingok) /etc/security/console.apps/wxconsole
-/usr/bin/wxconsole
+%config(noreplace,missingok) /etc/pam.d/bwx-console
+%config(noreplace,missingok) /etc/security/console.apps/bwx-console
+/usr/bin/bwx-console
%endif
%if %{wxconsole}
%post wxconsole
# generate passwords if needed
-if [ -d /etc/bacula ]; then
- cd /etc/bacula
+if [ -d %{sysconf_dir} ]; then
+ cd %{sysconf_dir}
+ for file in *.conf; do
+ for string in XXX_REPLACE_WITH_DIRECTOR_PASSWORD_XXX XXX_REPLACE_WITH_CLIENT_PASSWORD_XXX XXX_REPLACE_WITH_STORAGE_PASSWORD_XXX XXX_REPLACE_WITH_DIRECTOR_MONITOR_PASSWORD_XXX XXX_REPLACE_WITH_CLIENT_MONITOR_PASSWORD_XXX XXX_REPLACE_WITH_STORAGE_MONITOR_PASSWORD_XXX; do
+ need_password=`grep $string $file 2>/dev/null`
+ if [ -n "$need_password" ]; then
+ pass=`openssl rand -base64 33`
+ sed "s-$string-$pass-g" $file > $file.new
+ cp -f $file.new $file; rm -f $file.new
+ fi
+ done
+ done
+fi
+%endif
+
+%if %{bat}
+%files bat
+%defattr(-,root,root)
+/usr/sbin/bat
+%attr(-, root, %{daemon_group}) %dir %{sysconf_dir}
+%attr(-, root, %{daemon_group}) %config(noreplace) %{sysconf_dir}/bat.conf
+/usr/share/pixmaps/bat_icon.png
+/usr/share/applications/bat.desktop
+%{_mandir}/man1/bat.1.%{manpage_ext}
+%endif
+
+%if %{bat} && ! %{su9} && ! %{su10} && ! %{su102}
+# add the console helper files
+%config(noreplace,missingok) /etc/pam.d/bat
+%config(noreplace,missingok) /etc/security/console.apps/bat
+/usr/bin/bat
+%endif
+
+%if %{bat}
+%pre bat
+# create the daemon group
+HAVE_BACULA=`grep %{daemon_group} %{group_file} 2>/dev/null`
+if [ -z "$HAVE_BACULA" ]; then
+ %{groupadd} -r %{daemon_group} > /dev/null 2>&1
+ echo "The group %{daemon_group} has been added to %{group_file}."
+ echo "See the manual chapter \"Running Bacula\" for details."
+fi
+
+%post bat
+# generate passwords if needed
+if [ -d %{sysconf_dir} ]; then
+ cd %{sysconf_dir}
for file in *.conf; do
for string in XXX_REPLACE_WITH_DIRECTOR_PASSWORD_XXX XXX_REPLACE_WITH_CLIENT_PASSWORD_XXX XXX_REPLACE_WITH_STORAGE_PASSWORD_XXX XXX_REPLACE_WITH_DIRECTOR_MONITOR_PASSWORD_XXX XXX_REPLACE_WITH_CLIENT_MONITOR_PASSWORD_XXX XXX_REPLACE_WITH_STORAGE_MONITOR_PASSWORD_XXX; do
need_password=`grep $string $file 2>/dev/null`
%endif
%changelog
+* Sun Apr 29 2007 D. Scott Barninger <barninger@fairfieldcomputers.com>
+- 2.1.8
+- gnome-console now bgnome-console
+- wxconsole now bwx-console
+- add build option for bat
+* Sat Apr 08 2007 D. Scott Barninger <barninger@fairfieldcomputers.com>
+- merge Otto Mueller's patch but keep script dir set to /etc/bacula
+- add build tag for Scientific Linux per Jon Peatfield <J.S.Peatfield@damtp.cam.ac.uk>
+* Tue Mar 27 2007 Otto Mueller <otto.mueller@bundestag.de>
+- adjust directory locations for FHS-compatibility
+ sysconf_dir (/etc/bacula), script_dir (/usr/lib/bacula),
+ working_dir (/var/lib/bacula) and pid_dir (/var/run)
+* Mon Feb 26 2007 D. Scott Barninger <barninger@fairfieldcomputers.com>
+- add SuSE 10.2 target
+* Sat Jan 20 2007 D. Scott Barninger <barninger@fairfieldcomputers.com>
+- correct bug 752
+- set query.sql as config file
+- correct bug 754
+* Sun Jan 14 2007 D. Scott Barninger <barninger@fairfieldcomputers.com>
+- 2.0.1 release
+- change determination of gcc version per patch from Marc Hennes
+- move BuildRequire for atk-devel to gnome only builds
+- add fc6 build tag
+* Sat Jan 06 2007 D. Scott Barninger <barninger@fairfieldcomputers.com>
+- 2.0.0 release
+* Sun Oct 15 2006 D. Scott Barninger <barninger@fairfieldcomputers.com>
+- 1.39.26 remove create_sqlite_database.in.patch
+* Sun Sep 24 2006 D. Scott Barninger <barninger@fairfieldcomputers.com>
+- change ownership of working_dir on server packages to bacula.bacula so that
+- bacula-sd can create bootstrap files
+* Sat Sep 02 2006 D. Scott Barninger <barninger@fairfieldcomputers.com>
+- 1.39.22 remove separate cd and make of manpages the main Makefile does it now
+* Sun Aug 06 2006 D. Scott Barninger <barninger@fairfieldcomputers.com>
+- fix manpages file extension for mdk
* Sat Aug 05 2006 D. Scott Barninger <barninger@fairfieldcomputers.com>
-- bug 648 renable and update sqlite patches
+- bug 648 re-enable and update sqlite patches
+- 1.39.18 changes
+- updatedb 9 to 10
+- install man pages
+- lock out gconsole build for gtk+ < 2.4
* Mon Jul 17 2006 D. Scott Barninger <barninger@fairfieldcomputers.com>
- move pango-devel BuildRequires into gconsole only build
* Sat Jul 15 2006 D. Scott Barninger <barninger@fairfieldcomputers.com>