# Bacula RPM spec file
-# Copyright (C) 2000-2006 Kern Sibbald
+# Copyright (C) 2000-2008 Kern Sibbald
# Platform Build Configuration
# basic defines for every build
%define _version @VERSION@
%define _release 1
-%define depkgs_version 09Sep07
+%define depkgs_version 18Feb09
%define _rescuever @VERSION@
%define docs_version @VERSION@
# any patches for this release
# be sure to check the setup section for patch macros
-
#--------------------------------------------------------------------------
# it should not be necessary to change anything below here for a release
# except for patch macros in the setup section
#--------------------------------------------------------------------------
+%define single_dir 0
+%{?single_dir_install:%define single_dir 1}
+%if %{single_dir}
+%define _prefix /opt/bacula
+%else
+%define _prefix /usr
+%endif
+
# third party packagers
%define _packager D. Scott Barninger <barninger@fairfieldcomputers.com>
%{?contrib_packager:%define _packager %{contrib_packager}}
Source2: Release_Notes-%{version}-%{release}.tar.gz
Source3: http://www.prdownloads.sourceforge.net/bacula/%{name}-docs-%{docs_version}.tar.gz
Source4: http://www.prdownloads.sourceforge.net/bacula/%{name}-rescue-%{_rescuever}.tar.gz
+Source5: bacula-2.2.7-postgresql.patch
BuildRoot: %{_tmppath}/%{name}-root
URL: http://www.bacula.org/
Vendor: The Bacula Team
Packager: %{_packager}
+Prefix: %{_prefix}
# define the basic package description
%define blurb Bacula - It comes by night and sucks the vital essence from your computers.
%define blurb7 features that make it easy to find and recover lost or damaged files.
%define blurb8 Bacula source code has been released under the GPL version 2 license.
-# directory locations
-%define sqlite_bindir /usr/lib/bacula/sqlite
+# source directory locations
%define _docsrc ../%{name}-docs-%{docs_version}
%define _rescuesrc ../%{name}-rescue-%{_rescuever}
%define depkgs ../depkgs
-%define _mandir /usr/share/man
-# directory locations for FHS-compatibility
+# directory locations
+%if %{single_dir}
+%define _sbindir /opt/bacula
+%define _subsysdir /opt/bacula/working
+%define sqlite_bindir /opt/bacula/sqlite
+%define _mandir /usr/share/man
+%define sysconf_dir /opt/bacula
+%define script_dir /opt/bacula/scripts
+%define working_dir /opt/bacula/working
+%define pid_dir /opt/bacula/working
+%else
+%define _sbindir %_prefix/sbin
+%define _subsysdir /var/lock/subsys
+%define sqlite_bindir %_libdir/bacula/sqlite
+%define _mandir %_prefix/share/man
%define sysconf_dir /etc/bacula
-%define script_dir /etc/bacula
+%define script_dir %_libdir/bacula
%define working_dir /var/lib/bacula
%define pid_dir /var/run
+%endif
# NOTE these defines are used in some rather complex useradd and groupadd
# commands. If you change them examine the post scripts for consequences.
%{?build_fc6:%define fc6 1}
%define fc7 0
%{?build_fc7:%define fc7 1}
+%define fc8 0
+%{?build_fc8:%define fc8 1}
+%define fc9 0
+%{?build_fc9:%define fc9 1}
# Whitebox Enterprise build
%define wb3 0
%{?build_wb3:%define wb3 1}
%{?build_su10:%define su10 1}
%define su102 0
%{?build_su102:%define su102 1}
+%define su103 0
+%{?build_su103:%define su103 1}
+%define su110 0
+%{?build_su110:%define su110 1}
+%define su111 0
+%{?build_su111:%define su111 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} && ! %{fc6} && ! %{fc7} && ! %{wb3} && ! %{su9} && ! %{su10} && ! %{su102} && ! %{mdk}
+%if !%{rh7} && !%{rh8} && !%{rh9} && !%{fc1} && !%{fc3} && !%{fc4} && !%{fc5} && !%{fc6} && !%{fc7} && !%{fc8} && !%{fc9} && !%{wb3} && !%{su9} && !%{su10} && !%{su102} && !%{su103} && !%{su110} && !%{su111} && !%{mdk}
%{error: You must specify a platform. Please examine the spec file.}
exit 1
%endif
%define db_backend mysql
%endif
%if %{sqlite}
-%define db_backend sqlite
+%define db_backend sqlite3
%endif
%if %{postgresql}
%define db_backend postgresql
%if %{rh7} || %{rh8} || %{rh9} || %{rhel3} || %{rhel4} || %{rhel5}
%define _dist %(grep Red /etc/redhat-release)
%endif
-%if %{fc1} || %{fc4} || %{fc5} || %{fc6} || %{fc7}
+%if %{fc1} || %{fc4} || %{fc5} || %{fc7} || %{fc8} || %{fc9}
%define _dist %(grep Fedora /etc/redhat-release)
%endif
%if %{centos5} || %{centos4} || %{centos3}
%if %{fc3} && ! %{rhel4} && ! %{centos4} && ! %{sl4}
%define _dist %(grep Fedora /etc/redhat-release)
%endif
+%if %{fc6} && ! %{rhel5} && ! %{centos5} && ! %{sl5}
+%define _dist %(grep Fedora /etc/redhat-release)
+%endif
%if %{wb3} && ! %{rhel3} && ! %{centos3} && ! %{sl3}
%define _dist %(grep White /etc/whitebox-release)
%endif
-%if %{su9} || %{su10} || %{su102}
+%if %{su9} || %{su10} || %{su102} || %{su103} || %{su110} || %{su111}
%define _dist %(grep -i SuSE /etc/SuSE-release)
%endif
%if %{mdk}
%define _dist %(grep Mand /etc/mandrake-release)
%endif
+%{?DISTNAME:%define _dist %{DISTNAME}}
Distribution: %{_dist}
# Should we build gconsole, possible only if gtk= >= 2.4 available.
# specifically disallow gconsole if desired
%{?nobuild_gconsole:%define gconsole 0}
+# specifically disallow rescue files
+%define rescue 0
+%{?build_rescue:%define rescue 1}
+
# Should we build wxconsole, only wxWidgets >=2.6 is supported
-# currently only SuSE 10 and FC4/FC5
+# SuSE 10 and FC4 and newer
%define wxconsole 0
%{?build_wxconsole:%define wxconsole 1}
%define python 0
%{?build_python:%define python 1}
+# specifically disallow build of mtx package if desired
+%define mtx 1
+%{?nobuild_mtx:%define mtx 0}
+
+# do we need to patch for old postgresql version?
+%define old_pgsql 0
+%{?build_old_pgsql:%define old_pgsql 1}
+
# Mandriva somehow forces the manpage file extension to bz2 rather than gz
%if %{mdk}
%define manpage_ext bz2
BuildRequires: gcc, gcc-c++, make, autoconf
BuildRequires: ncurses-devel, perl
-BuildRequires: libstdc++-devel = %{gccver}-%{gccrel}, libxml2-devel, zlib-devel
+BuildRequires: libstdc++-devel = %{gccver}-%{gccrel}, zlib-devel
BuildRequires: openssl-devel
+%if ! %{rh7}
+BuildRequires: libxml2-devel
+%endif
%if %{python}
BuildRequires: python, python-devel
%{expand: %%define pyver %(python -c 'import sys;print(sys.version[0:3])')}
BuildRequires: pkgconfig, pango-devel, atk-devel
%endif
%if %{bat}
+BuildRequires: pkgconfig
+%endif
+
+# Rh qt4 packages don't have a provide for, guess what, qt!
+# still broken in fc8, ok in fc9
+# so fix for broken rh
+%define broken_rh 0
+%if %{rhel5} || %{centos5} || %{sl5} || %{fc5} || %{fc6} || %{fc7} || %{fc8}
+%define broken_rh 1
+%endif
+%if %{bat} && ! %{broken_rh}
BuildRequires: qt-devel >= 4.2
%endif
+%if %{bat} && %{broken_rh}
+BuildRequires: qt4-devel >= 4.2
+%endif
+
%if %{rh7}
BuildRequires: libtermcap-devel
BuildRequires: glibc-devel >= 2.2
+BuildRequires: libxml-devel
%endif
%if %{su9}
BuildRequires: termcap
BuildRequires: gnome-vfs2-devel >= 2.16
BuildRequires: libpng-devel
%endif
+%if %{su103}
+BuildRequires: termcap
+BuildRequires: glibc-devel >= 2.6
+%endif
+%if %{su103} && %{gconsole}
+BuildRequires: libgnome >= 2.20
+BuildRequires: gtk2-devel >= 2.12
+BuildRequires: libgnomeui-devel >= 2.20
+BuildRequires: ORBit2-devel
+BuildRequires: libart_lgpl-devel >= 2.3
+BuildRequires: libbonobo-devel >= 2.20
+BuildRequires: libbonoboui-devel >= 2.20
+BuildRequires: bonobo-activation-devel
+BuildRequires: gconf2-devel
+BuildRequires: freetype2-devel
+BuildRequires: cairo-devel
+BuildRequires: fontconfig-devel >= 2.4
+BuildRequires: gnome-vfs2-devel >= 2.20
+BuildRequires: libpng-devel
+%endif
+%if %{su110}
+BuildRequires: termcap
+BuildRequires: glibc-devel >= 2.8
+%endif
+%if %{su110} && %{gconsole}
+BuildRequires: libgnome >= 2.22
+BuildRequires: gtk2-devel >= 2.12
+BuildRequires: libgnomeui-devel >= 2.22
+BuildRequires: ORBit2-devel
+BuildRequires: libart_lgpl-devel >= 2.3
+BuildRequires: libbonobo-devel >= 2.22
+BuildRequires: libbonoboui-devel >= 2.22
+BuildRequires: bonobo-activation-devel
+BuildRequires: gconf2-devel
+BuildRequires: freetype2-devel
+BuildRequires: cairo-devel
+BuildRequires: fontconfig-devel >= 2.4
+BuildRequires: gnome-vfs2-devel >= 2.22
+BuildRequires: libpng-devel
+%endif
+%if %{su111}
+BuildRequires: termcap
+BuildRequires: glibc-devel >= 2.9
+%endif
+%if %{su111} && %{gconsole}
+BuildRequires: libgnome >= 2.24
+BuildRequires: gtk2-devel >= 2.14
+BuildRequires: libgnomeui-devel >= 2.24
+BuildRequires: ORBit2-devel
+BuildRequires: libart_lgpl-devel >= 2.3
+BuildRequires: libbonobo-devel >= 2.24
+BuildRequires: libbonoboui-devel >= 2.24
+BuildRequires: bonobo-activation-devel
+BuildRequires: gconf2-devel
+BuildRequires: freetype2-devel
+BuildRequires: cairo-devel
+BuildRequires: fontconfig-devel >= 2.6
+BuildRequires: gnome-vfs2-devel >= 2.24
+BuildRequires: libpng-devel
+%endif
%if %{mdk}
BuildRequires: libtermcap-devel
BuildRequires: libstdc++-static-devel
BuildRequires: GConf2-devel
BuildRequires: freetype-devel
%endif
-%if ! %{rh7} && ! %{su9} && ! %{su10} && ! %{su102} && ! %{mdk} && ! %{fc3} && ! %{fc4} && ! %{fc5} && ! %{fc6} && ! %{fc7}
+%if %{fc8}
+BuildRequires: libtermcap-devel
+BuildRequires: glibc-devel >= 2.7
+%endif
+%if %{fc8} && %{gconsole}
+BuildRequires: gtk2-devel >= 2.12
+BuildRequires: libgnomeui-devel >= 2.20
+BuildRequires: ORBit2-devel
+BuildRequires: libart_lgpl-devel >= 2.3
+BuildRequires: libbonobo-devel >= 2.20
+BuildRequires: libbonoboui-devel >= 2.20
+BuildRequires: GConf2-devel
+BuildRequires: freetype-devel
+%endif
+%if %{fc9}
+BuildRequires: glibc-devel >= 2.8
+BuildRequires: zlib-static
+%endif
+%if %{fc9} && %{gconsole}
+BuildRequires: gtk2-devel >= 2.12
+BuildRequires: libgnomeui-devel >= 2.22
+BuildRequires: ORBit2-devel
+BuildRequires: libart_lgpl-devel >= 2.3
+BuildRequires: libbonobo-devel >= 2.22
+BuildRequires: libbonoboui-devel >= 2.22
+BuildRequires: GConf2-devel
+BuildRequires: freetype-devel
+%endif
+%if !%{rh7} && !%{su9} && !%{su10} && !%{su102} && !%{su103} && !%{su110} && !%{su111} && !%{mdk} && !%{fc3} && !%{fc4} && !%{fc5} && !%{fc6} && !%{fc7} && !%{fc8} && !%{fc9}
BuildRequires: libtermcap-devel
BuildRequires: glibc-devel >= 2.3
%endif
-%if ! %{rh7} && ! %{su9} && ! %{su10} && ! %{su102} && ! %{mdk} && ! %{fc3} && ! %{fc4} && ! %{fc5} && ! %{fc6} && ! %{fc7} && %{gconsole}
+%if !%{rh7} && !%{su9} && !%{su10} && !%{su102} && !%{su103} && !%{su110} && !%{su111} && !%{mdk} && !%{fc3} && !%{fc4} && !%{fc5} && !%{fc6} && !%{fc7} && !%{fc8} && !%{fc9} && %{gconsole}
BuildRequires: gtk2-devel >= 2.0
BuildRequires: libgnomeui-devel >= 2.0
BuildRequires: ORBit2-devel
Conflicts: bacula-client
Obsoletes: bacula-rescue
-%if %{su9} || %{su10} || %{su102}
+%if %{su9} || %{su10} || %{su102} || %{su103} || %{su110} || %{su111}
Conflicts: bacula
%endif
Requires: glibc >= 2.5
Requires: termcap
%endif
-%if ! %{rh7} && ! %{su9} && ! %{su10} && ! %{su102} && ! %{fc5} && ! %{fc6} && ! %{fc7}
+%if %{su103}
+Requires: glibc >= 2.6
+Requires: termcap
+%endif
+%if %{su110}
+Requires: glibc >= 2.8
+Requires: termcap
+%endif
+%if %{su111}
+Requires: glibc >= 2.9
+Requires: termcap
+%endif
+%if ! %{rh7} && ! %{su9} && ! %{su10} && ! %{su102} && ! %{su103} && ! %{su110} && ! %{su111} && ! %{fc5} && ! %{fc6} && ! %{fc7} && ! %{fc8} && ! %{fc9}
Requires: glibc >= 2.3
Requires: libtermcap
%endif
Requires: glibc >= 2.5
Requires: libtermcap
%endif
+%if %{fc8}
+Requires: glibc >= 2.7
+Requires: libtermcap
+%endif
+%if %{fc9}
+Requires: glibc >= 2.8
+%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} && ! %{su102} && ! %{mdk} && %{mysql5}
+%if %{mysql} && ! %{su9} && ! %{su10} && ! %{su102} && ! %{su103} && ! %{su110} && ! %{su111} && ! %{mdk} && %{mysql5}
Requires: mysql >= 5.0
Requires: mysql-server >= 5.0
%endif
Requires: mysql >= 5.0
Requires: mysql-client >= 5.0
%endif
+%if %{mysql} && %{su103} && %{mysql5}
+Requires: mysql >= 5.0
+Requires: mysql-client >= 5.0
+%endif
+%if %{mysql} && %{su110} && %{mysql5}
+Requires: mysql >= 5.0
+Requires: mysql-client >= 5.0
+%endif
+%if %{mysql} && %{su111} && %{mysql5}
+Requires: mysql >= 5.0
+Requires: mysql-client >= 5.0
+%endif
%if %{mysql} && %{mdk} && ! %{mysql4}
Requires: mysql >= 3.23
This build requires PostgreSQL to be installed separately as the catalog database.
%endif
%if %{sqlite}
-This build incorporates sqlite as the catalog database, statically compiled.
+This build incorporates sqlite3 as the catalog database, statically compiled.
%endif
%if %{python}
This build includes python scripting support.
%endif
-%if ! %{client_only}
+%if ! %{client_only} && %{mtx}
%package mtx
Summary: Bacula - The Network Backup Solution
Group: System Environment/Daemons
Conflicts: bacula-postgresql
Obsoletes: bacula-rescue
-%if %{su9} || %{su10} || %{su102}
+%if %{su9} || %{su10} || %{su102} || %{su103} || %{su110} || %{su111}
Provides: bacula
%endif
Requires: glibc >= 2.5
Requires: termcap
%endif
-%if ! %{rh7} && ! %{su9} && ! %{su10} && ! %{su102} && ! %{fc5} && ! %{fc6}
+%if %{su103}
+Requires: glibc >= 2.6
+Requires: termcap
+%endif
+%if %{su110}
+Requires: glibc >= 2.8
+Requires: termcap
+%endif
+%if %{su111}
+Requires: glibc >= 2.9
+Requires: termcap
+%endif
+%if ! %{rh7} && ! %{su9} && ! %{su10} && ! %{su102} && ! %{su103} && ! %{su110} && ! %{su111} && ! %{fc5} && ! %{fc6} && ! %{fc7} && ! %{fc8} && ! %{fc9}
Requires: glibc >= 2.3
Requires: libtermcap
%endif
Requires: glibc >= 2.5
Requires: libtermcap
%endif
+%if %{fc8}
+Requires: glibc >= 2.7
+Requires: libtermcap
+%endif
+%if %{fc9}
+Requires: glibc >= 2.8
+%endif
%if %{python}
Requires: python >= %{pyver}
Requires: gnome-vfs2 >= 2.16
Requires: libpng
%endif
+%if %{gconsole} && %{su103}
+Requires: gtk2 >= 2.12
+Requires: libgnome >= 2.20
+Requires: libgnomeui >= 2.20
+Requires: glibc >= 2.6
+Requires: ORBit2
+Requires: libart_lgpl >= 2.3
+Requires: libbonobo >= 2.20
+Requires: libbonoboui >= 2.20
+Requires: bonobo-activation
+Requires: gconf2
+Requires: freetype2
+Requires: cairo
+Requires: fontconfig >= 2.4
+Requires: gnome-vfs2 >= 2.20
+Requires: libpng
+%endif
+%if %{gconsole} && %{su110}
+Requires: gtk2 >= 2.12
+Requires: libgnome >= 2.22
+Requires: libgnomeui >= 2.22
+Requires: glibc >= 2.8
+Requires: ORBit2
+Requires: libart_lgpl >= 2.3
+Requires: libbonobo >= 2.22
+Requires: libbonoboui >= 2.22
+Requires: bonobo-activation
+Requires: gconf2
+Requires: freetype2
+Requires: cairo
+Requires: fontconfig >= 2.4
+Requires: gnome-vfs2 >= 2.22
+Requires: libpng
+%endif
+%if %{gconsole} && %{su111}
+Requires: gtk2 >= 2.14
+Requires: libgnome >= 2.24
+Requires: libgnomeui >= 2.24
+Requires: glibc >= 2.9
+Requires: ORBit2
+Requires: libart_lgpl >= 2.3
+Requires: libbonobo >= 2.24
+Requires: libbonoboui >= 2.24
+Requires: bonobo-activation
+Requires: gconf2
+Requires: freetype2
+Requires: cairo
+Requires: fontconfig >= 2.6
+Requires: gnome-vfs2 >= 2.24
+Requires: libpng
+%endif
%if %{gconsole} && %{mdk} && !%{mdv}
Requires: gtk2 >= 2.0
Requires: libgnomeui2
Requires: GConf2
Requires: freetype
%endif
-%if %{gconsole} && ! %{su9} && ! %{su10} && ! %{su102} && ! %{mdk} && ! %{fc3} && ! %{fc4} && ! %{fc5} && ! %{fc6} && ! %{fc7}
+%if %{gconsole} && %{fc8}
+Requires: gtk2 >= 2.12
+Requires: libgnomeui >= 2.20
+Requires: glibc >= 2.7
+Requires: ORBit2
+Requires: libart_lgpl >= 2.3
+Requires: libbonobo >= 2.20
+Requires: libbonoboui >= 2.20
+Requires: GConf2
+Requires: freetype
+%endif
+%if %{gconsole} && %{fc9}
+Requires: gtk2 >= 2.12
+Requires: libgnomeui >= 2.22
+Requires: glibc >= 2.8
+Requires: ORBit2
+Requires: libart_lgpl >= 2.3
+Requires: libbonobo >= 2.22
+Requires: libbonoboui >= 2.22
+Requires: GConf2
+Requires: freetype
+%endif
+%if %{gconsole} && !%{su9} && !%{su10} && !%{su102} && !%{su103} && !%{su110} && !%{su111} && !%{mdk} && !%{fc3} && !%{fc4} && !%{fc5} && !%{fc6} && !%{fc7} && !%{fc8} && !%{fc9}
Requires: gtk2 >= 2.0
Requires: libgnomeui >= 2.0
Requires: glibc >= 2.3
%if %{gconsole} && %{su102}
Requires: xsu
%endif
-%if %{gconsole} && ! %{su9} && ! %{su10} && ! %{su102}
+%if %{gconsole} && %{su103}
+Requires: xsu
+%endif
+%if %{gconsole} && %{su110}
+Requires: xsu
+%endif
+%if %{gconsole} && %{su111}
+Requires: xsu
+%endif
+%if %{gconsole} && ! %{su9} && ! %{su10} && ! %{su102} && ! %{su103} && ! %{su110} && ! %{su111}
Requires: usermode
%endif
Requires: gtk2 >= 2.10
%endif
+%if %{wxconsole} && %{su103}
+Requires: gtk2 >= 2.12
+%endif
+
+%if %{wxconsole} && %{su110}
+Requires: gtk2 >= 2.12
+%endif
+
+%if %{wxconsole} && %{su111}
+Requires: gtk2 >= 2.14
+%endif
+
%if %{wxconsole} && %{fc3}
Requires: gtk2 >= 2.4
%endif
Requires: gtk2 >= 2.10
%endif
+%if %{wxconsole} && %{fc8}
+Requires: gtk2 >= 2.12
+%endif
+
+%if %{wxconsole} && %{fc9}
+Requires: gtk2 >= 2.12
+%endif
+
%if %{wxconsole}
%description wxconsole
%{blurb}
Requires: zlib
%endif
+%if %{bat} && %{su103}
+Requires: openssl
+Requires: glibc >= 2.6
+Requires: fontconfig
+Requires: freetype2
+Requires: libgcc
+Requires: libpng
+Requires: qt >= 4.2
+Requires: libstdc++
+Requires: zlib
+%endif
+
+%if %{bat} && %{su110}
+Requires: openssl
+Requires: glibc >= 2.8
+Requires: fontconfig
+Requires: freetype2
+Requires: libgcc
+Requires: libpng
+Requires: qt >= 4.2
+Requires: libstdc++
+Requires: zlib
+%endif
+
+%if %{bat} && %{su111}
+Requires: openssl
+Requires: glibc >= 2.9
+Requires: fontconfig
+Requires: freetype2
+Requires: libgcc
+Requires: libpng
+Requires: qt >= 4.2
+Requires: libstdc++
+Requires: zlib
+%endif
+
%if %{bat} && %{fc5}
Requires: openssl
Requires: glibc >= 2.4
Requires: freetype
Requires: libgcc
Requires: libpng
-Requires: qt >= 4.2
+Requires: qt4 >= 4.2
Requires: libstdc++
Requires: zlib
%endif
Requires: freetype
Requires: libgcc
Requires: libpng
-Requires: qt >= 4.2
+Requires: qt4 >= 4.2
Requires: libstdc++
Requires: zlib
%endif
Requires: freetype
Requires: libgcc
Requires: libpng
-Requires: qt >= 4.2
+Requires: qt4 >= 4.2
+Requires: libstdc++
+Requires: zlib
+%endif
+
+%if %{bat} && %{fc8}
+Requires: openssl
+Requires: glibc >= 2.7
+Requires: fontconfig
+Requires: freetype
+Requires: libgcc
+Requires: libpng
+Requires: qt4 >= 4.2
+Requires: libstdc++
+Requires: zlib
+%endif
+
+%if %{bat} && %{fc9}
+Requires: openssl
+Requires: glibc >= 2.8
+Requires: fontconfig
+Requires: freetype
+Requires: libgcc
+Requires: libpng
+Requires: qt4 >= 4.3
Requires: libstdc++
Requires: zlib
%endif
the client or server packages.
%endif
+# SuSE turns off stripping of binaries by default. In order to get
+# stripped packages we must generate debug package. RedHat and Mandriva
+# turn debug packages on by default but strip binaries regardless.
+%if %{su9} || %{su10} || %{su102} || %{su103} || %{su110} || %{su111}
+%debug_package
+%endif
+
%prep
%setup
%build
-%if %{su9} || %{su10} || %{su102}
+%if %{su9} || %{su10} || %{su102} || %{su103} || %{su110} || %{su111}
export LDFLAGS="${LDFLAGS} -L/usr/lib/termcap"
%endif
+%if %{bat}
+export QTDIR=$(pkg-config --variable=prefix QtCore)
+export QTINC=$(pkg-config --variable=includedir QtCore)
+export QTLIB=$(pkg-config --variable=libdir QtCore)
+export PATH=${QTDIR}/bin/:${PATH}
+%endif
+
cwd=${PWD}
cd %{depkgs}
%if %{sqlite}
-make sqlite
+make sqlite3
%endif
-%if ! %{client_only}
+%if ! %{client_only} && %{mtx}
make mtx
%endif
%if %{bat}
%endif
cd ${cwd}
+%if %{wb3} || %{old_pgsql}
+patch -p3 src/cats/postgresql.c < %SOURCE5
+%endif
+
# 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 src/cats/make_sqlite_tables.in src/cats/make_sqlite_tables.in.patch
+patch src/cats/make_sqlite3_tables.in src/cats/make_sqlite3_tables.in.patch
# patch the create_sqlite_database script for installation bindir
-# 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 src/cats/create_sqlite3_database.in src/cats/create_sqlite3_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
+#patch src/cats/update_sqlite_tables.in src/cats/update_sqlite_tables.in.patch
+patch src/cats/update_sqlite3_tables.in src/cats/update_sqlite3_tables.in.patch
# patch the bacula-dir init script to remove sqlite service
%if %{sqlite} && %{su9}
%if %{sqlite} && %{su102}
patch platforms/suse/bacula-dir.in platforms/suse/bacula-dir-suse-sqlite.patch
%endif
+%if %{sqlite} && %{su103}
+patch platforms/suse/bacula-dir.in platforms/suse/bacula-dir-suse-sqlite.patch
+%endif
+%if %{sqlite} && %{su110}
+patch platforms/suse/bacula-dir.in platforms/suse/bacula-dir-suse-sqlite.patch
+%endif
+%if %{sqlite} && %{su111}
+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
export LDFLAGS="${LDFLAGS} -L/usr/lib64/python%{pyver}"
%endif
+# Red Hat's 64 bit installation of QT4 appears to be broken so:
+%define qt_path 0
+%if %{rhel5} || %{centos5} || %{sl5}
+%define qt_path 1
+%endif
+%if %{bat} && %{qt_path} && %{x86_64}
+export PATH=/usr/lib64/qt4/bin/:$PATH
+export QTDIR=/usr/lib64/qt4/
+export QTINC=/usr/lib64/qt4/include/
+export QTLIB=/usr/lib64/qt4/
+%endif
+
+%if %{rescue}
%configure \
- --prefix=/usr \
- --sbindir=/usr/sbin \
+ --prefix=%{_prefix} \
+ --sbindir=%{_sbindir} \
--sysconfdir=%{sysconf_dir} \
--with-scriptdir=%{script_dir} \
--with-working-dir=%{working_dir} \
--enable-static-fd
make
+%endif
%configure \
- --prefix=/usr \
- --sbindir=/usr/sbin \
+ --prefix=%{_prefix} \
+ --sbindir=%{_sbindir} \
--sysconfdir=%{sysconf_dir} \
--with-scriptdir=%{script_dir} \
--with-working-dir=%{working_dir} \
--with-mysql \
%endif
%if %{sqlite}
- --with-sqlite=${cwd}/%{depkgs}/sqlite \
+ --with-sqlite3=${cwd}/%{depkgs}/sqlite3 \
%endif
%if %{postgresql}
--with-postgresql \
%endif
%if %{client_only}
--enable-client-only \
+%endif
%if %{rh7} || %{rh8} || %{rh9} || %{fc1} || %{fc3} || %{wb3}
--disable-batch-insert \
-%endif
%endif
--mandir=%{_mandir} \
- --with-subsys-dir=/var/lock/subsys \
+ --with-plugindir=%{script_dir} \
+ --with-subsys-dir=%{_subsysdir} \
--with-dir-user=%{director_daemon_user} \
--with-dir-group=%{daemon_group} \
--with-sd-user=%{storage_daemon_user} \
%define usermode_iftrick 0
%endif
-%if %{usermode_iftrick} && ! %{su9} && ! %{su10} && ! %{su102}
+%if %{usermode_iftrick} && ! %{su9} && ! %{su10} && ! %{su102} && ! %{su103} && ! %{su110} && ! %{su111}
mkdir -p $RPM_BUILD_ROOT/etc/pam.d
mkdir -p $RPM_BUILD_ROOT/etc/security/console.apps
mkdir -p $RPM_BUILD_ROOT/usr/bin
mkdir -p $RPM_BUILD_ROOT%{sqlite_bindir}
%endif
-make \
- prefix=$RPM_BUILD_ROOT/usr \
- sbindir=$RPM_BUILD_ROOT/usr/sbin \
- 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
+make DESTDIR=$RPM_BUILD_ROOT install
-%if ! %{client_only}
+%if ! %{client_only} && %{mtx}
cd %{depkgs}
make \
- prefix=$RPM_BUILD_ROOT/usr \
- sbindir=$RPM_BUILD_ROOT/usr/sbin \
+ prefix=$RPM_BUILD_ROOT%{_prefix} \
+ sbindir=$RPM_BUILD_ROOT%{_sbindir} \
sysconfdir=$RPM_BUILD_ROOT%{sysconf_dir} \
scriptdir=$RPM_BUILD_ROOT%{script_dir} \
working_dir=$RPM_BUILD_ROOT%{working_dir} \
rm -f $RPM_BUILD_ROOT%{script_dir}/gconsole
%endif
-rm -f $RPM_BUILD_ROOT/usr/sbin/static-bacula-fd
+rm -f $RPM_BUILD_ROOT%{_sbindir}/static-bacula-fd
# install the init scripts
-%if %{su9} || %{su10} || %{su102}
+%if %{su9} || %{su10} || %{su102} || %{su103} || %{su110} || %{su111}
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} && ! %{su102} && ! %{mdk}
+%if ! %{su9} && ! %{su10} && ! %{su102} && ! %{su103} && ! %{su110} && ! %{su111} && ! %{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} && %{su103}
+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 %{gconsole} && %{su110}
+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 %{gconsole} && %{su111}
+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
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} && %{su103}
+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} && %{su110}
+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} && %{su111}
+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} || %{fc6} || %{fc7} || %{mdk}
+%if %{bat} && %{su103}
+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 %{bat} && %{su110}
+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 %{bat} && %{su111}
+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} || %{fc6} || %{fc7} || %{fc8} || %{fc9} || %{mdk}
%define iftrick 1
%else
%define iftrick 0
# install sqlite
%if %{sqlite}
-cp -p %{depkgs}/sqlite/sqlite $RPM_BUILD_ROOT%{sqlite_bindir}/sqlite
-cp -p %{depkgs}/sqlite/sqlite.h $RPM_BUILD_ROOT%{sqlite_bindir}/sqlite.h
-cp -p %{depkgs}/sqlite/libsqlite.a $RPM_BUILD_ROOT%{sqlite_bindir}/libsqlite.a
+cp -p %{depkgs}/sqlite3/sqlite3 $RPM_BUILD_ROOT%{sqlite_bindir}/sqlite3
+cp -p %{depkgs}/sqlite3/sqlite3.h $RPM_BUILD_ROOT%{sqlite_bindir}/sqlite3.h
+cp -p %{depkgs}/sqlite3/libsqlite3.a $RPM_BUILD_ROOT%{sqlite_bindir}/libsqlite3.a
%endif
# install the logrotate file
%endif
# install the rescue files
-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
+%if %{rescue}
+mkdir $RPM_BUILD_ROOT%{script_dir}/rescue
+mkdir $RPM_BUILD_ROOT%{script_dir}/rescue/freebsd
+mkdir $RPM_BUILD_ROOT%{script_dir}/rescue/solaris
+cp -p %{_rescuesrc}/Makefile* $RPM_BUILD_ROOT%{script_dir}/rescue/
+cp -p %{_rescuesrc}/freebsd/Makefile* $RPM_BUILD_ROOT%{script_dir}/rescue/freebsd/
+cp -p %{_rescuesrc}/solaris/Makefile* $RPM_BUILD_ROOT%{script_dir}/rescue/solaris/
+cp -p %{_rescuesrc}/README $RPM_BUILD_ROOT%{script_dir}/rescue/
+cp -p %{_rescuesrc}/configure $RPM_BUILD_ROOT%{script_dir}/rescue/
+cp -p %{_rescuesrc}/version.h $RPM_BUILD_ROOT%{script_dir}/rescue/
+cp -pr %{_rescuesrc}/linux $RPM_BUILD_ROOT%{script_dir}/rescue/
+cp -pr %{_rescuesrc}/autoconf $RPM_BUILD_ROOT%{script_dir}/rescue/
+cp -pr %{_rescuesrc}/knoppix $RPM_BUILD_ROOT%{script_dir}/rescue/
+touch $RPM_BUILD_ROOT%{script_dir}/rescue/linux/cdrom/rpm_release
+cp -p src/filed/static-bacula-fd $RPM_BUILD_ROOT%{script_dir}/rescue/linux/cdrom/bacula/bin/bacula-fd
rm -f src/filed/static-bacula-fd
+%endif
# 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 $RPM_BUILD_ROOT%{_sbindir}/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%{script_dir}/query.sql
+# remove the docs installed by make
+%if ! %{single_dir}
+rm -rf $RPM_BUILD_ROOT/usr/share/doc
+%endif
+
+# install docs for single dir installation
+%if %{single_dir}
+mkdir $RPM_BUILD_ROOT%{_prefix}/doc
+cp COPYING $RPM_BUILD_ROOT%{_prefix}/doc/
+cp ChangeLog $RPM_BUILD_ROOT%{_prefix}/doc/
+cp ReleaseNotes $RPM_BUILD_ROOT%{_prefix}/doc/
+cp VERIFYING $RPM_BUILD_ROOT%{_prefix}/doc/
+cp LICENSE $RPM_BUILD_ROOT%{_prefix}/doc/
+cp kernstodo $RPM_BUILD_ROOT%{_prefix}/doc/
+cp -r %{_docsrc}/manuals/en/catalog/catalog $RPM_BUILD_ROOT%{_prefix}/doc/
+cp %{_docsrc}/manuals/en/catalog/catalog.pdf $RPM_BUILD_ROOT%{_prefix}/doc/
+cp -r %{_docsrc}/manuals/en/concepts/concepts $RPM_BUILD_ROOT%{_prefix}/doc/
+cp %{_docsrc}/manuals/en/concepts/concepts.pdf $RPM_BUILD_ROOT%{_prefix}/doc/
+cp -r %{_docsrc}/manuals/en/console/console $RPM_BUILD_ROOT%{_prefix}/doc/
+cp %{_docsrc}/manuals/en/console/console.pdf $RPM_BUILD_ROOT%{_prefix}/doc/
+cp -r %{_docsrc}/manuals/en/developers/developers $RPM_BUILD_ROOT%{_prefix}/doc/
+cp %{_docsrc}/manuals/en/developers/developers.pdf $RPM_BUILD_ROOT%{_prefix}/doc/
+cp -r %{_docsrc}/manuals/en/install/install $RPM_BUILD_ROOT%{_prefix}/doc/
+cp %{_docsrc}/manuals/en/install/install.pdf $RPM_BUILD_ROOT%{_prefix}/doc/
+cp -r %{_docsrc}/manuals/en/problems/problems $RPM_BUILD_ROOT%{_prefix}/doc/
+cp %{_docsrc}/manuals/en/problems/problems.pdf $RPM_BUILD_ROOT%{_prefix}/doc/
+cp -r %{_docsrc}/manuals/en/utility/utility $RPM_BUILD_ROOT%{_prefix}/doc/
+cp %{_docsrc}/manuals/en/utility/utility.pdf $RPM_BUILD_ROOT%{_prefix}/doc/
+cp ../Release_Notes-%{version}-%{release}.txt $RPM_BUILD_ROOT%{_prefix}/doc/
%endif
+
+# now clean up permissions that are left broken by the install
chmod o-rwx $RPM_BUILD_ROOT%{working_dir}
%if %{gconsole} && ! %{rh8}
-chmod 755 $RPM_BUILD_ROOT/usr/sbin/bacula-tray-monitor
+chmod 755 $RPM_BUILD_ROOT%{_sbindir}/bacula-tray-monitor
chmod 644 $RPM_BUILD_ROOT%{sysconf_dir}/tray-monitor.conf
%endif
rm -f $RPM_BUILD_ROOT%{script_dir}/startmysql
rm -f $RPM_BUILD_ROOT%{script_dir}/stopmysql
rm -rf $RPM_BUILD_ROOT%{script_dir}/updatedb
+rm -f $RPM_BUILD_ROOT%{script_dir}/bconsole
+rm -f $RPM_BUILD_ROOT%{script_dir}/bpipe-fd.so
+rm -f $RPM_BUILD_ROOT%{script_dir}/mtx-changer.conf
+rm -f $RPM_BUILD_ROOT%{_sbindir}/bacula
%endif
%clean
%if %{sqlite}
%files sqlite
%defattr(-,root,root)
-%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
+%attr(-, root, %{daemon_group}) %{script_dir}/create_sqlite3_database
+%attr(-, root, %{daemon_group}) %{script_dir}/drop_sqlite3_database
+%attr(-, root, %{daemon_group}) %{script_dir}/grant_sqlite3_privileges
+%attr(-, root, %{daemon_group}) %{script_dir}/make_sqlite3_tables
+%attr(-, root, %{daemon_group}) %{script_dir}/drop_sqlite3_tables
+%attr(-, root, %{daemon_group}) %{script_dir}/update_sqlite3_tables
+%{sqlite_bindir}/libsqlite3.a
+%{sqlite_bindir}/sqlite3.h
+%{sqlite_bindir}/sqlite3
%endif
%if %{postgresql}
%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}) %{script_dir}/bpipe-fd.so
%attr(-, root, %{daemon_group}) /etc/init.d/bacula-dir
%attr(-, root, %{daemon_group}) /etc/init.d/bacula-fd
%attr(-, root, %{storage_daemon_group}) %{script_dir}/dvd-handler
%attr(-, root, %{storage_daemon_group}) /etc/init.d/bacula-sd
%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
+%attr(-, root, %{storage_daemon_group}) %{script_dir}/mtx-changer.conf
/etc/logrotate.d/bacula
/etc/log.d/scripts/services/bacula
%attr(-, %{storage_daemon_user}, %{daemon_group}) %dir %{working_dir}
-/usr/sbin/bacula-dir
-/usr/sbin/bacula-fd
-/usr/sbin/bacula-sd
-/usr/sbin/bcopy
-/usr/sbin/bextract
-/usr/sbin/bls
-/usr/sbin/bscan
-/usr/sbin/btape
-/usr/sbin/btraceback
-/usr/sbin/bconsole
-/usr/sbin/dbcheck
-/usr/sbin/bsmtp
-/usr/sbin/bregex
-/usr/sbin/bwild
+%{_sbindir}/bacula-dir
+%{_sbindir}/bacula-fd
+%{_sbindir}/bacula-sd
+%{_sbindir}/bacula
+%{_sbindir}/bcopy
+%{_sbindir}/bextract
+%{_sbindir}/bls
+%{_sbindir}/bscan
+%{_sbindir}/btape
+%{_sbindir}/btraceback
+%{_sbindir}/bconsole
+%{_sbindir}/dbcheck
+%{_sbindir}/bsmtp
+%{_sbindir}/bregex
+%{_sbindir}/bwild
%{_mandir}/man8/bacula-fd.8.%{manpage_ext}
%{_mandir}/man8/bacula-dir.8.%{manpage_ext}
%{_mandir}/man8/bacula-sd.8.%{manpage_ext}
%{_mandir}/man8/btraceback.8.%{manpage_ext}
%{_mandir}/man8/dbcheck.8.%{manpage_ext}
%{_mandir}/man1/bsmtp.1.%{manpage_ext}
+%{_libdir}/libbac*
+%endif
+
+%if ! %{client_only} && %{rescue}
+%attr(-, root, %{daemon_group}) %{script_dir}/rescue
+%endif
+
+%if ! %{client_only} && ! %{single_dir}
+%doc COPYING ChangeLog ReleaseNotes LICENSE VERIFYING kernstodo ../Release_Notes-%{version}-%{release}.txt
+%doc %{_docsrc}/manuals/en/catalog/catalog %{_docsrc}/manuals/en/catalog/catalog.pdf
+%doc %{_docsrc}/manuals/en/concepts/concepts %{_docsrc}/manuals/en/concepts/concepts.pdf
+%doc %{_docsrc}/manuals/en/console/console %{_docsrc}/manuals/en/console/console.pdf
+%doc %{_docsrc}/manuals/en/developers/developers %{_docsrc}/manuals/en/developers/developers.pdf
+%doc %{_docsrc}/manuals/en/install/install %{_docsrc}/manuals/en/install/install.pdf
+%doc %{_docsrc}/manuals/en/problems/problems %{_docsrc}/manuals/en/problems/problems.pdf
+%doc %{_docsrc}/manuals/en/utility/utility %{_docsrc}/manuals/en/utility/utility.pdf
+%endif
+
+%if ! %{client_only} && %{single_dir}
+%{_prefix}/doc
%endif
%if %{mysql}
%pre mysql
-# test for bacula database older than version 9
+# test for bacula database older than version 10
# 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 9
+# are we upgrading from sqlite to sqlite3?
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`
+ echo "This version of bacula-sqlite involves an upgrade to sqlite3."
+ echo "Your catalog database file is not compatible with sqlite3, thus"
+ echo "you will need to dump the data, delete the old file, and re-run"
+ echo "this rpm upgrade."
+ echo ""
+ echo "Backing up your current database..."
+ echo ".dump" | %{sqlite_bindir}/sqlite %{working_dir}/bacula.db > %{working_dir}/bacula_backup.sql
+ mv %{working_dir}/bacula.db %{working_dir}/bacula.db.old
+ echo "Your catalog data has been saved in %{working_dir}/bacula_backup.sql and your"
+ echo "catalog file has been renamed %{working_dir}/bacula.db.old."
+ echo ""
+ echo "Please re-run this rpm package upgrade."
+ echo "After the upgrade is complete, restore your catalog"
+ echo "with the following commands:"
+ echo "%{script_dir}/drop_sqlite3_tables"
+ echo "cd %{working_dir}"
+ echo "%{sqlite_bindir}/sqlite3 $* bacula.db < bacula_backup.sql"
+ echo "chown bacula.bacula bacula.db"
+ exit 1
+fi
+# test for bacula database older than version 10 and sqlite3
+if [ -s %{working_dir}/bacula.db ] && [ -s %{sqlite_bindir}/sqlite3 ];then
+ DB_VER=`echo "select * from Version;" | %{sqlite_bindir}/sqlite3 2>/dev/null %{working_dir}/bacula.db | tail -n 1`
%endif
%if %{postgresql}
%endif
%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."
+if [ -n "$DB_VER" ] && [ "$DB_VER" -lt "10" ]; then
+ echo "This bacula upgrade will update a bacula database from version 10 to 11."
echo "You appear to be running database version $DB_VER. You must first update"
- echo "your database to version 9 and then install this upgrade. The alternative"
+ echo "your database to version 10 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 9 can be found in the release notes."
+ echo "database older than version 10 can be found in the release notes."
exit 1
fi
%endif
echo "Creating bacula tables..."
%{script_dir}/make_mysql_tables
-# check to see if we need to upgrade a 1.38 or lower database
-elif [ "$DB_VER" -lt "10" ]; then
+# check to see if we need to upgrade a 2.x database
+elif [ "$DB_VER" -lt "11" ]; 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
%if %{sqlite}
# 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.38 or lower database
- if [ "$DB_VER" -lt "10" ] && [ "$DB_VER" -ge "9" ]; then
+ DB_VER=`echo "select * from Version;" | %{sqlite_bindir}/sqlite3 2>/dev/null %{working_dir}/bacula.db | tail -n 1`
+ # check to see if we need to upgrade a 2.x database
+ if [ "$DB_VER" -lt "11" ] && [ "$DB_VER" -ge "10" ]; 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 ".dump" | %{sqlite_bindir}/sqlite3 %{working_dir}/bacula.db | bzip2 > %{working_dir}/bacula_backup.sql.bz2
echo "Upgrading bacula database ..."
- %{script_dir}/update_sqlite_tables
+ %{script_dir}/update_sqlite3_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..."
- %{script_dir}/create_sqlite_database
+ %{script_dir}/create_sqlite3_database
+ chown %{director_daemon_user}.%{daemon_group} %{working_dir}/bacula.db
echo "Creating the SQLite tables..."
- %{script_dir}/make_sqlite_tables
+ %{script_dir}/make_sqlite3_tables
fi
%endif
echo "Granting privileges for PostgreSQL user bacula..."
%{script_dir}/grant_postgresql_privileges
-# check to see if we need to upgrade a 1.38 or lower database
-elif [ "$DB_VER" -lt "10" ]; then
+# check to see if we need to upgrade a 2.x database
+elif [ "$DB_VER" -lt "11" ]; 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
done
done
fi
+/sbin/ldconfig
%endif
%if %{mysql}
fi
%endif
+%if %{mysql}
+%postun mysql
+/sbin/ldconfig
+%endif
+%if %{sqlite}
+%postun sqlite
+/sbin/ldconfig
+%endif
+%if %{postgresql}
+%postun postgresql
+/sbin/ldconfig
+%endif
-%if ! %{client_only}
+
+%if ! %{client_only} && %{mtx}
%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
-%attr(-, root, %{storage_daemon_group}) /usr/sbin/nsmhack
-%attr(-, root, %{storage_daemon_group}) /usr/sbin/scsieject
+%attr(-, root, %{storage_daemon_group}) %{_sbindir}/loaderinfo
+%attr(-, root, %{storage_daemon_group}) %{_sbindir}/mtx
+%attr(-, root, %{storage_daemon_group}) %{_sbindir}/scsitape
+%attr(-, root, %{storage_daemon_group}) %{_sbindir}/tapeinfo
+%attr(-, root, %{storage_daemon_group}) %{_sbindir}/scsieject
%{_mandir}/man1/loaderinfo.1.%{manpage_ext}
%{_mandir}/man1/mtx.1.%{manpage_ext}
%{_mandir}/man1/scsitape.1.%{manpage_ext}
%files client
%defattr(-,root,root)
%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}) %{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
+%if %{rescue}
+%attr(-, root, %{daemon_group}) %{script_dir}/rescue
+%endif
+
+%if ! %{single_dir}
+%doc COPYING ChangeLog ReleaseNotes LICENSE VERIFYING kernstodo ../Release_Notes-%{version}-%{release}.txt
+%doc %{_docsrc}/manuals/en/catalog/catalog %{_docsrc}/manuals/en/catalog/catalog.pdf
+%doc %{_docsrc}/manuals/en/concepts/concepts %{_docsrc}/manuals/en/concepts/concepts.pdf
+%doc %{_docsrc}/manuals/en/console/console %{_docsrc}/manuals/en/console/console.pdf
+%doc %{_docsrc}/manuals/en/developers/developers %{_docsrc}/manuals/en/developers/developers.pdf
+%doc %{_docsrc}/manuals/en/install/install %{_docsrc}/manuals/en/install/install.pdf
+%doc %{_docsrc}/manuals/en/problems/problems %{_docsrc}/manuals/en/problems/problems.pdf
+%doc %{_docsrc}/manuals/en/utility/utility %{_docsrc}/manuals/en/utility/utility.pdf
+%else
+%{_prefix}/doc
+%endif
/etc/logrotate.d/bacula
%attr(-, root, %{daemon_group}) %dir %{working_dir}
-/usr/sbin/bacula-fd
-/usr/sbin/btraceback
+%{_sbindir}/bacula-fd
+%{_sbindir}/btraceback
%attr(-, root, %{daemon_group}) %{script_dir}/btraceback.gdb
%attr(-, root, %{daemon_group}) %{script_dir}/btraceback.dbx
-/usr/sbin/bconsole
+%{_sbindir}/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}
+%{_libdir}/libbac.*
+%{_libdir}/libbaccfg.*
+%{_libdir}/libbacfind.*
+%{_libdir}/libbacpy.*
%pre client
done
fi
+/sbin/ldconfig
+
%preun client
# delete our link
if [ $1 = 0 ]; then
/sbin/chkconfig --del bacula-fd
fi
+%postun client
+/sbin/ldconfig
+
%if ! %{client_only}
%files updatedb
%defattr(-,root,%{daemon_group})
%if %{gconsole}
%files gconsole
%defattr(-,root,root)
-/usr/sbin/bgnome-console
+%{_sbindir}/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
%endif
%if %{gconsole} && ! %{rh8}
-/usr/sbin/bacula-tray-monitor
+%{_sbindir}/bacula-tray-monitor
%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} && ! %{su102}
+%if %{gconsole} && ! %{su9} && ! %{su10} && ! %{su102} && ! %{su103} && ! %{su110} && ! %{su111}
# add the console helper files
%config(noreplace,missingok) /etc/pam.d/bgnome-console
%config(noreplace,missingok) /etc/security/console.apps/bgnome-console
%if %{wxconsole}
%files wxconsole
%defattr(-,root,root)
-/usr/sbin/bwx-console
+%{_sbindir}/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
%{_mandir}/man1/bacula-bwxconsole.1.%{manpage_ext}
%endif
-%if %{wxconsole} && ! %{su9} && ! %{su10} && ! %{su102}
+%if %{wxconsole} && ! %{su9} && ! %{su10} && ! %{su102} && ! %{su103} && ! %{su110} && ! %{su111}
# add the console helper files
%config(noreplace,missingok) /etc/pam.d/bwx-console
%config(noreplace,missingok) /etc/security/console.apps/bwx-console
%if %{bat}
%files bat
%defattr(-,root,root)
-/usr/sbin/bat
+%{_sbindir}/bat
%attr(-, root, %{daemon_group}) %dir %{sysconf_dir}
%attr(-, root, %{daemon_group}) %config(noreplace) %{sysconf_dir}/bat.conf
/usr/share/pixmaps/bat_icon.png
%{_mandir}/man1/bat.1.%{manpage_ext}
%endif
-%if %{bat} && ! %{su9} && ! %{su10} && ! %{su102}
+%if %{bat} && ! %{su9} && ! %{su10} && ! %{su102} && ! %{su103} && ! %{su110} && ! %{su111}
# add the console helper files
%config(noreplace,missingok) /etc/pam.d/bat
%config(noreplace,missingok) /etc/security/console.apps/bat
%endif
%changelog
+* Sat May 16 2009 D. Scott Barninger <barninger@fairfieldcomputers.com>
+- fix libxml dependency for rh7 per Pasi Kärkkäinen <pasik@iki.fi>
+* Mon May 04 2009 D. Scott Barninger <barninger@fairfieldcomputers.com>
+- Fix post ldconfig problem in client only build
+* Sun May 03 2009 D. Scott Barninger <barninger@fairfieldcomputers.com>
+- remove more files installed by client-only build not needed by client package
+- remove libbacsql files from client package
+* Sat May 02 2009 D. Scott Barninger <barninger@fairfieldcomputers.com>
+- 3.0.1
+- update for new docs configuration
+* Sat Apr 25 2009 D. Scott Barninger <barninger@fairfieldcomputers.com>
+- add switch to pass Distribution tag
+* Sun Apr 5 2009 D. Scott Barninger <barninger@fairfieldcomputers.com>
+- 3.0.0 release
+- database update version 10 to 11
+- make now installs docs so we rm from buildroot
+- add shared libs in %_libdir and other misc new files
+* Wed Dec 31 2008 D. Scott Barninger <barninger@fairfieldcomputers.com>
+- add su111 target
+* Sat Nov 08 2008 D. Scott Barninger <barninger@fairfieldcomputers.com>
+- set paths for QT using pkgconfig
+* Sat Oct 11 2008 D. Scott Barninger <barninger@fairfieldcomputers.com>
+- release 2.4.3 update depkgs to 11Sep08 remove file nmshack from mtx package
+* Sun Sep 07 2008 D. Scott Barninger <barninger@fairfieldcomputers.com>
+- adjust /opt/bacula install
+- add build switch to supress rescue package
+* Sun Aug 24 2008 D. Scott Barninger <barninger@fairfieldcomputers.com>
+- add support for install to /opt/bacula
+* Sun Aug 17 2008 D. Scott Barninger <barninger@fairfieldcomputers.com>
+- remove libtermcap dependancy for FC9
+* Mon Aug 04 2008 D. Scott Barninger <barninger@fairfieldcomputers.com>
+- fix bat dependencies
+* Sat Jun 28 2008 D. Scott Barninger <barninger@fairfieldcomputers.com>
+- add su110 target
+* Sat May 24 2008 D. Scott Barninger <barninger@fairfieldcomputers.com>
+- add fc9 target
+* Sun Mar 30 2008 D. Scott Barninger <barninger@fairfieldcomputers.com>
+- FHS compatibility changes
+* Sat Feb 16 2008 D. Scott Barninger <barninger@fairfieldcomputers.com>
+- remove fix for false buffer overflow detection with glibc >= 2.7
+* Sat Feb 09 2008 D. Scott Barninger <barninger@fairfieldcomputers.com>
+- fix for false buffer overflow detection with glibc >= 2.7
+* Sun Jan 27 2008 D. Scott Barninger <barninger@fairfieldcomputers.com>
+- 2.2.8 release
+- add debug package for SuSE
+* Sat Jan 12 2008 D. Scott Barninger <barninger@fairfieldcomputers.com>
+- 2.2.8 beta release
+- fix bug 1037
+- add fc8 target
+* Sun Dec 30 2007 D. Scott Barninger <barninger@fairfieldcomputers.com>
+- fix typo on su103 client package requirements
+* Fri Dec 28 2007 D. Scott Barninger <barninger@fairfieldcomputers.com>
+- add nobuild_mtx switch
+- add patch for postgresql.c for old postgresql versions
+* Sat Nov 17 2007 D. Scott Barninger <barninger@fairfieldcomputers.com>
+- switch to sqlite3
+* Sun Nov 11 2007 D. Scott Barninger <barninger@fairfieldcomputers.com>
+- add new files required by rescue makefile
+* Sat Nov 10 2007 D. Scott Barninger <barninger@fairfieldcomputers.com>
+- add su103 build target
+* Sun Nov 04 2007 D. Scott Barninger <barninger@fairfieldcomputers.com>
+- fix dist defines for rhel5 and clones
+- fix rhel broken 64 bit QT4 paths
+- rh qt4 packages don't provide qt so fix that too
+* Mon Oct 29 2007 D. Scott Barninger <barninger@fairfieldcomputers.com>
+- correct ownership when creating sqlite db file in post script
+* Sun Sep 16 2007 D. Scott Barninger <barninger@fairfieldcomputers.com>
+- fix disable-batch-insert
* Fri Sep 14 2007 D. Scott Barninger <barninger@fairfieldcomputers.com>
- 2.2.4 release
- turn off gconsole build for fc3, tray monitor fails to build
-- C
+- add new files for mtx package (09Sep07 depkgs update)
* Sat Sep 08 2007 D. Scott Barninger <barninger@fairfieldcomputers.com>
- add --disable-batch-insert for older platforms
- add build targets for rhel5 and clones